Bedrock vs Java: can they play on the same server?

Bedrock and Java are different games under the hood. Here's why, and how Geyser and Floodgate actually let both play together.

Omne Team2 min read

Quick answer Bedrock Edition and Java Edition are two different games built on different code, and they can’t connect to each other’s servers on their own. Geyser is a free, open tool that sits in front of a Java server and translates Bedrock’s protocol into something the Java server understands, letting both play together on one server.

Why they can’t just connect directly

It’s a common assumption that “Minecraft is Minecraft,” but Bedrock and Java are separately developed, with different networking protocols, different rendering, and differences in mechanics. A Bedrock client has no native way to speak to a Java server, and Mojang doesn’t provide a first-party bridge between them.

What Geyser actually does

Geyser sits between a Bedrock client and a Java server and translates in both directions in real time: Bedrock’s protocol turns into what the Java server expects, and the Java server’s responses turn back into what the Bedrock client can render. From the Bedrock player’s side, it looks like a normal server they can just join.

Geyser installs on the Java server side: officially as a plugin on Bukkit/Spigot/Paper, or as a mod on Fabric or NeoForge servers [2] (Forge specifically isn’t on that list). It’s never something the Bedrock player has to install themselves.

What Floodgate adds on top

Geyser alone still generally expects a Bedrock player to have a linked Java account to authenticate. Floodgate removes that requirement: it handles Bedrock’s own Xbox/Microsoft authentication directly, so a Bedrock player with a valid Xbox account can join without owning Java Edition at all. It also fixes some cross-play rough edges, like making Bedrock player skins render correctly for the Java players who see them, and lets players who own both editions optionally link their accounts so progress and permissions stay unified.

What doesn’t translate perfectly

This is real-time translation between two different games, not one shared codebase, so a few things don’t map cleanly: some advanced redstone behavior, certain menu and UI interactions, and any plugin built assuming a Java-only client can behave slightly differently for Bedrock players. For a normal survival or community server, this is a minor rough edge, not a dealbreaker.

The short version for setting it up

Install Geyser (and Floodgate if you want Bedrock players to skip the Java-account requirement) on a Paper or Spigot server, same as installing any other plugin: drop the jar in the plugins folder and restart. Bedrock players then connect using your server’s address and Geyser’s port, same as any Bedrock server. Both groups end up in the same world at the same time.

Questions people ask

Do Bedrock players need to buy Java Edition too?

Not with Floodgate installed. Floodgate handles the login for Bedrock players directly, so they can join without a separate Java account. Without Floodgate, Bedrock players typically need a linked Java account to connect through Geyser.

Does this work with mods or just plugins?

Geyser officially supports Bukkit/Spigot/Paper, Fabric, and NeoForge, not Forge [2]. It translates protocol and controls; it doesn't make Bedrock able to use Java-only mod content that has no Bedrock equivalent, since Bedrock's game code is simply different.

Is there a downside?

Some Java-only interactions don't translate perfectly (advanced redstone, certain UI, some plugin-added mechanics), since Geyser is translating between two different games in real time, not merging them into one.

Sources

  1. Geyser (GeyserMC)
  2. Geyser downloads and supported platforms (GeyserMC)