Geyser and Floodgate: Let Bedrock Players Join Your Java Server

How to set up crossplay with Geyser and Floodgate - the UDP port everyone forgets, the right auth type, what Bedrock players do not get, and why console players are their own problem.


What the two pieces do

You need both, and each solves half the problem:

What it does
Geyser Translates between Bedrock and Java so a Bedrock client can talk to your Java server
Floodgate Lets Bedrock players in without owning the Java edition, while your server stays in online mode

Geyser can run without Floodgate - but then every single Bedrock player has to own a Java account and log in with it. That is rarely what you want.

With Floodgate you keep online-mode=true in server.properties. Your Java players are still verified as normal. That is the whole point of Floodgate, and it is why you should not turn online mode off.

If you are unsure what the difference between the two editions even is, start with Minecraft Java vs. Bedrock Edition Explained.


Step 1 - Install both as plugins

On Paper, Spigot or Purpur you want the plugin builds. They are faster, have lower latency, and detect your server's address and port themselves.

  1. Stop the server in the Potionhost control panel.
  2. Download Geyser-Spigot and Floodgate from geysermc.org.
  3. Put both .jar files in plugins/.
  4. Start the server so they create their folders, then stop it again.

You now have:

plugins/
├── Geyser-Spigot/config.yml
└── floodgate/
    ├── config.yml
    └── key.pem

Do not touch key.pem. With Geyser and Floodgate on the same server, Geyser finds the key itself. A spare copy of the key in Geyser's own folder is itself a documented cause of failures.

You only need to copy the key around if you run a proxy network - then every server needs the same key.pem. Transfer it in binary mode, not ASCII, or it will be corrupted.

And never share it with anyone. It is what lets Bedrock accounts bypass Java's login.


Step 2 - Set auth-type to floodgate

Open plugins/Geyser-Spigot/config.yml and find:

java:
  auth-type: floodgate

The three options:

Value When
floodgate What you want. Bedrock players get in without a Java account, the server stays in online mode
online Without Floodgate. Every Bedrock player must own a Java account and log in with it
offline Only behind a proxy that handles login itself. Never as a shortcut

offline is not a shortcut for letting Bedrock players in. With that setting nobody is verified - anyone can join under any name, including yours, and inherit your permissions and your items. That is exactly what Floodgate exists to prevent.

Note that the configuration was restructured. The section used to be called remote: and is now java:. MOTD settings live under motd:, and server-name moved to gameplay:. Geyser rewrites old files itself, but many guides still show the old paths.


Step 3 - Open the UDP port

This is the most common reason nothing works.

Who Port Protocol
Java players 25565 TCP
Bedrock players 19132 UDP

The Bedrock port is in addition - it does not replace the Java port. Both have to be open at the same time.

Bedrock uses UDP. Open 19132 as TCP and absolutely nothing happens. It is the single mistake behind most "Unable to connect to world" reports.

If your plan only gives you one port, there is a setting for that:

bedrock:
  clone-remote-port: true

It makes Geyser use the same port number as the Java server. If you were assigned a separate UDP port, do not use this - just set bedrock.port to the port you were given.


Step 4 - Start and test

Start the server and check Console. Geyser prints that it is listening on the Bedrock port.

How a Bedrock player joins:

  1. Play → Servers tab. Not Friends
  2. Scroll past the featured servers to Add Server
  3. Address: your server address. Port: 19132
  4. Save, then join

Bedrock does not support SRV records. If your Java server runs without a port number via an SRV record, that address will not work for Bedrock players. Give them the IP address or a name with a normal A record.

Console players

Xbox, PlayStation and Switch cannot add third-party servers on their own. That is a restriction from Microsoft and Sony, not something you or we can change.

Third-party workarounds exist - BedrockConnect via a DNS change on the console, or an app that makes the server appear as a LAN game. They work, but they are not something we can support. Tell your players honestly up front and save yourself the tickets.


What Bedrock players do not get

Worth knowing in advance so you can answer straight away:

  • Client mods do not work. GeyserMC's own rule of thumb: if a plain vanilla client can join your server, so can Bedrock. If your server requires a mod on the player's side, Bedrock is out
  • Resource packs are not converted automatically. To have your pack on Bedrock you have to supply a Bedrock version in .mcpack format
  • Chest menus behave differently. Geyser cannot distinguish right-click from left-click in inventories, which breaks some GUI plugins
  • Clickable chat links do not work, and command autocompletion is limited
  • Combat feels different - Bedrock has no Java-style weapon cooldown
  • A few visual things are missing: the glowing effect, banner layers past six, invisible item frames

Versions - the thing to watch

Geyser does not automatically follow new Bedrock versions. It supports a fixed list, and a version is only supported once a new Geyser build adds it.

Combined with the fact that Bedrock updates itself automatically on every platform, that means your Bedrock players are locked out the moment Mojang ships an update your Geyser predates.

Keep Geyser updated, and do it promptly after every Bedrock update. Leave the new-version warning enabled so the console tells you.

The error Outdated client! Please use <version> on a Bedrock player almost always means Geyser needs updating - not the server.


Troubleshooting

Symptom Likely cause Fix
Unable to connect to world The port was opened as TCP instead of UDP Open 19132 as UDP
Unable to connect to world (2) The player is using the Java port They need the Bedrock port
Works on the same network but not from outside UDP not open externally Check the firewall and the port
Invalid IP address! The address uses an SRV record Give them the IP or an A record
Please connect through the official Geyser key.pem does not match between Floodgate and Geyser Use the same key everywhere and delete spare copies
Cannot reply to EncryptionRequestPacket A spare key.pem in Geyser's folder, or auth-type not matching the server's online mode Delete the spare key and restart
Tag mismatch The key was corrupted in transfer Delete the Floodgate folder, restart so the key is regenerated, and transfer in binary
Bedrock players have default skins Floodgate is missing on the server that sees logins Install Floodgate
MOTD and player counts are wrong motd.passthrough-motd or passthrough-player-counts Both default to true - check they were not changed
A name change does not take effect Old cache Delete usercache.json and restart
Paper rejects the Bedrock name The dot in front of the name Disable username validation in Paper's config
Commands fail on Bedrock names The prefix The default prefix is a dot. Do not use * - it breaks commands
The Bedrock client freezes on the command list Too many commands Turn off gameplay.command-suggestions

Bedrock players get a dot in front of their name by default - for example .Player123. That is deliberate, so they cannot collide with real Java usernames. To change it, look in plugins/floodgate/config.yml under username-prefix. Keep it to something that is not a letter.


Good advice

  • Install Floodgate from day one. Running Geyser alone and switching later leaves you with a UUID mess.
  • Leave online-mode on true. Floodgate is built precisely so you can.
  • Test from an actual Bedrock device yourself before telling your players it works.
  • State clearly that console players need a third-party workaround - preferably before they ask.
  • Update Geyser immediately after a Bedrock update. It is the only maintenance this needs.

Can your Bedrock players not get in? Send us the error from their screen along with a section of the server console from startup.

MinecraftOrder now

Guide Information

Published
September 6, 2026
Last Updated
September 8, 2026
Views
22