Minecraft crossplay with Geyser: what works and what breaks

Key takeaways

Running one server for both editions is the most requested thing a small Minecraft community ever asks for, and for years the answer was that you could not. Java and Bedrock use different network protocols, different world formats and different feature sets. Two editions meant two servers and two worlds.

Geyser changed that by sitting between the two and translating. It is not a Bedrock server and it does not convert your world – it speaks Bedrock to the Bedrock client and Java to your Java server, in both directions, live. This is a practical guide to what that actually means for a server you run: how it installs, what it costs, and the specific things that stop working.

What Geyser and Floodgate each do

Geyser is the protocol translator. A Bedrock player connects to your server address on the Bedrock port, Geyser accepts that connection, and from the Java server’s point of view a normal Java client has joined. Everything the Bedrock player does is translated into Java protocol packets and everything the server sends back is translated into Bedrock packets.

Floodgate is optional and solves the account problem. Without it, a Bedrock player needs to own a Java account to authenticate, which defeats most of the point. With Floodgate installed and Geyser’s auth-type set to floodgate, Bedrock players join using their Bedrock account. It also handles Bedrock skins and Bedrock allowlisting.

You almost always want both. Geyser alone is useful for a server where everyone happens to own both editions, which is rare.

Shared build on a Minecraft survival server

Where it can run

Geyser supports several deployment shapes, and picking the right one matters more than any config setting:

Our server software comparison covers which of those bases you should be on in the first place, and our plugins versus mods explainer covers why the plugin and mod paths are not interchangeable.

The install, in order

The sequence that works:

That UDP port is the most common failure point. Bedrock uses UDP and a lot of hosting panels only expose TCP ports by default, so the plugin loads cleanly, the logs look fine, and nobody can connect. If you are on managed hosting, check whether the provider supports Bedrock ports before you start. Our hosting guide covers what to ask.

Server spawn hub with signs and portals in Minecraft

What changes about administration

Three operational differences that catch server owners out.

Allowlisting is separate. Bedrock players are added with Floodgate’s own allowlist command rather than the standard one, and the username is entered without the Floodgate prefix. If a Bedrock player cannot join a whitelisted server, this is almost always why. Our whitelist and vetting guide covers the process you should have around that.

UUIDs are different. Floodgate derives a UUID for Bedrock players from their Bedrock account identifier, which means it is not a normal Java UUID. Anything that stores player data by UUID – permissions, land claims, economy plugins – will work, but a player who later switches from Bedrock to Java arrives as a different person. Our permissions and ranks guide covers where that bites.

Version checking is awkward. Neither download includes its version number in the filename, so you check with the in-game version commands rather than by looking at the jar. Keep a note of what you installed, because mismatched Geyser and Floodgate builds produce confusing authentication errors.

What does not translate

This is the section to read before promising your community crossplay.

Minecraft landscape on a long running survival server

Should you run it

Yes, if you run a vanilla or lightly-plugged survival server for friends. This is the case Geyser is best at, and the cost is one plugin, one config line and one open port. Bringing in the people who only own Bedrock is usually the difference between a server with six players and one with twelve. Our SMP guide covers the rest of the setup.

Probably, if you run a plugin-based network. Deploy on the proxy rather than per server, keep custom-model-dependent features to a minimum, and accept that Bedrock players will have a slightly different experience.

Reluctantly, if you run a heavy modpack. It works, but the translation gaps scale with how much of your content is non-vanilla. Our server performance mod stack guide covers what else is already competing for your tick budget – adding a protocol translator on top of a heavy pack is not free, even though Geyser itself is light.

One last operational note: add this to a test server first, not your live one. Geyser touches the login path, and a misconfigured auth-type is the kind of change that locks everyone out rather than failing quietly. Our backup routine guide covers having a way back.

Images: Sildur’s Vibrant Shaders project gallery.