Setting Up Geyser and Floodgate for Bedrock Cross-Play

ZCraft Studios

Bedrock players use a different protocol entirely — Geyser is the translation layer that lets them join a Java server at all.

Setting Up Geyser and Floodgate for Bedrock Cross-Play

Bedrock Edition (mobile, console, Windows 10/11) and Java Edition don't speak the same network protocol — Geyser is what bridges that gap.

Without Geyser, a Java server is simply invisible to Bedrock clients — they're not using an incompatible version, they're using an entirely different protocol that a Java server has no native way to understand.

What Geyser and Floodgate Each Do

Geyser translates the Bedrock protocol into something the Java server understands in real time — blocks, items, and movement get converted on the fly.

Floodgate handles authentication for Bedrock players, letting them join without needing a linked Java (Microsoft) account — without Floodgate, Bedrock players would need a premium Java account specifically, which most of them don't have.

Installing Both

Download Geyser-Spigot.jar and floodgate-spigot.jar from geysermc.org/download and drop both into plugins/, then restart.

Configuring Geyser

plugins/Geyser-Spigot/config.yml has a few settings worth checking:

bedrock:
  port: 19132
  motd1: "Your Server Name"

remote:
  address: 127.0.0.1
  port: 25565
  auth-type: floodgate

auth-type: floodgate is what actually connects the two plugins — without it, Geyser won't use Floodgate's authentication even if both are installed.

Opening the Bedrock Port

Geyser listens on a separate port from the Java server — 19132 by default, and it's UDP, not TCP:

sudo ufw allow 19132/udp

Forgetting this is the single most common reason Bedrock players can't connect even after both plugins are correctly installed — Java's port being open doesn't cover it.

Letting Players Connect

Bedrock players add the server using the same IP as the Java server, but with port 19132 instead of the Java port — this goes in Minecraft's "Servers" tab on Bedrock, the same way a Java player would add a server IP.

Handling Username Collisions

Floodgate prefixes Bedrock usernames (with a . by default) to avoid collisions with Java players using the same name. Some plugins that aren't Floodgate-aware may display this prefix in chat or scoreboards — Floodgate includes an API other plugins can use to strip it for display purposes, which some popular plugins already support natively.

A Few Things That Commonly Break

  • Command blocks and advanced redstone don't always translate perfectly — Bedrock and Java have real mechanical differences the protocol bridge can't fully erase.
  • Custom resource packs built for Java won't automatically work for Bedrock players — a separate Bedrock-format pack is needed if visual parity matters.
  • Forgetting the UDP vs. TCP distinction when opening firewall rules is the most common setup failure after installation itself.
Share: