Skip to content
Back to Blog
Minecraft world showing Bedrock and Java players together on the same server

Geyser: Playing Java Servers from Bedrock Edition

ice
ice
@ice
Updated
133 views
TL;DR:Geyser is a translation bridge that lets Minecraft Bedrock Edition players join Java Edition servers. If you want cross-edition play on your server, this is the community's most mature solution.

"A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition."

GeyserMC/Geyser · github.com
⭐ 5,521 stars💻 Java📜 MIT

Ever wanted to hop on a Java Edition server but only own Bedrock? Geyser is a translation layer that lets Bedrock players join Java servers, converting the protocol differences on the fly. It's not pixel-perfect, but for cross-edition play, it's the closest thing to magic the community's built.

What This Project Does

Geyser sits between your Bedrock client and a Java server, translating packets in real time. Bedrock sends its protocol version, Geyser converts it to what Java servers understand, and then converts the server's responses back for Bedrock. It sounds simple, but the two editions are architecturally different enough that this is genuinely impressive engineering work.

The MIT-licensed project has over 5500 stars on GitHub, which tells you it's not some fringe experiment. It's actively maintained and works well enough that thousands of players use it daily.


Why You'd Want This

Your friends on Bedrock can't play your Java server. That's been the frustrating reality for years. Geyser closes that gap without making anyone buy different hardware or switch editions.

You've got a few real use cases here:

  • Running a server where Bedrock and Java players mix together
  • Testing servers on a device that only supports Bedrock
  • Accessing Java servers from PlayStation, Nintendo Switch, or mobile without needing a PC
  • Developing and testing network changes that affect both editions

If you're running a public server, this is genuinely valuable. You're not locked to one edition.


Getting Geyser Running

Installation depends on what you're doing. Most people run Geyser as a standalone proxy that sits in front of their Java server.

Clone the repo and build it:

bash
git clone https://github.com/GeyserMC/Geyser.git
cd Geyser
git submodule update - init - recursive./gradlew build

The built JAR ends up in the bootstrap/build folder. Then you configure it to point to your Java server, start the proxy, and tell Bedrock players to connect to your proxy's IP and port 19132 (Bedrock's default).

Your Java server keeps running on its normal Java port (25565). Geyser just sits in front and translates. Simple setup, honestly.

There's a test server at test.geysermc.org if you want to see it working without building anything: Java players connect to port 25565, Bedrock players connect to port 19132.


What Works

Core gameplay translates really well. Block placement, mining, movement, inventory, crafting. You won't notice anything wrong for basic survival play.

Chat works. Your Bedrock friends see Java player messages, and vice versa. Commands are mostly supported. Enchanting works. Brewing stands work.

The project supports Bedrock versions 1.21.130 through 1.21.132, and Java 1.21.11. Those aren't the absolute latest snapshots, but they're current enough for real servers.

One genuinely neat feature: Geyser translates skins. Bedrock players see Java skins on the server (converted to Bedrock format), and Java players see Bedrock skins. Not perfectly, but well enough that you're not staring at Steve clones.


Where It Gets Messy

Here's the caveat: Geyser isn't a perfect translation. Some things just don't work the same way between editions.

Movement detection is the big one. Java has more stringent anticheat checks, and Bedrock movement is slightly different by design. Large servers with strict anticheat might flag Bedrock players as suspicious. Geyser can't fix this - it's a fundamental difference in how the clients move in-game.

Some entity animations don't translate perfectly. Bedrock and Java have slightly different interpretations of how mobs and players move. On your screen it might look fine, but the translation layer can introduce weird movement artifacts if you're watching closely.

Certain features just won't work. Bedrock doesn't have the same redstone system as Java, so complex redstone contraptions might not behave identically. Mods and plugins that expect Java-specific mechanics won't translate. Some rare blocks or items have no Bedrock equivalent.

The project documentation is honest about this: don't expect everything to work perfectly. But for survival play, creative mode, and most vanilla features, you'll be fine.


Tips and Common Gotchas

Most issues come down to configuration. Your proxy port needs to be accessible from the internet if you're doing this across networks. Make sure your firewall allows both 25565 (Java) and 19132 (Bedrock).

Bedrock players often get confused about "realm" versus "server" terminology. Make sure they understand they're connecting to a proxy, not a realm. The address might look weird to them (IP:port instead of a realm code).

Performance can degrade if you're translating for too many players at once. The proxy needs CPU power to handle the packet translation for dozens of simultaneous connections. On a beefy box it's fine, but on shared hosting it might struggle.

Test with just one Bedrock player first. Get them to run basic commands, mine a few blocks, place something, chat. If all that works, add more. Jumping straight to "bring 30 Bedrock friends" is how you debug mysteriously broken servers.


Other Ways to Cross-Play

If Geyser isn't your thing, there are alternatives, though they're more limited. Some server hosting providers offer "Bedrock Plus" features that let console players on Java servers, but this is usually vendor-specific and not portable. You're locked into their infrastructure.

Building a custom plugin layer is theoretically possible, but you'd be reimplementing a lot of what Geyser already does. Not worth the effort for most servers.

For smaller communities, just running separate Bedrock and Java servers and coordinating manually is sometimes simpler than managing a proxy. But if you want true cross-edition play, Geyser is genuinely your best option.

If you're running a Minecraft server yourself, you might also want to check out our Minecraft Votifier Tester to validate voting plugins. And if you're working with skins across editions, browsing what's available at minecraft.how skins can give you an idea of what translates well between the two formats.

GeyserMC/Geyser - MIT, ★5521

Frequently Asked Questions

Is Geyser free to use?
Yes, Geyser is MIT-licensed and completely free. You can download it from GitHub, compile it yourself, or use it on any server setup. No paywalls or premium features. The community also hosts a test server if you want to try it before setting up your own.
Can Bedrock console players (PS5, Switch, Xbox) use Geyser servers?
Yes, that's one of Geyser's main strengths. Bedrock players on any platform—mobile, Switch, PlayStation, Xbox—can connect to Java servers through a Geyser proxy, as long as the proxy is network-accessible. This is how many cross-platform servers work.
Will mods work with Geyser?
Not reliably. Mods are Java-specific, and Geyser doesn't translate mod content to Bedrock. If your Java server uses heavy mods, Bedrock players will see vanilla-only blocks and items. Simple servers with just plugins work much better than heavily modded ones.
What Minecraft versions does Geyser support?
Geyser supports Bedrock 1.21.130 through 1.21.132 and Java 1.21.11. Older Java versions are supported with separate builds. Check the project's GitHub for the latest supported versions, as these change with new releases.
Can I use Geyser with Minecraft realms?
No, Geyser is for connecting to standard Java servers, not official realms. Realms have their own infrastructure, and Geyser can't proxy through them. You need to run your own Java server or use a hosting provider that supports proxy setups.