How to Set Up Geyser and Floodgate for Crossplay
Get Java and Bedrock players onto one GuavaHost server: find your Bedrock port, check Floodgate is doing its job, and handle Bedrock usernames and updates.
5 min read · Updated Sep 23, 2026 · By GuavaHost Team
On GuavaHost's Minecraft Geyser plan, Geyser and Floodgate are installed for you, so crossplay mostly works from the first start. This guide walks through the few things worth checking: which port Bedrock players use, that Geyser is using Floodgate, what key.pem is for, and how Bedrock usernames work with your admin commands. For what crossplay can and cannot do, read Geyser explained first.
What your crossplay server actually runs
A Minecraft Geyser server is a Paper server with two plugins added in the plugins folder when it is installed:
- Geyser, which translates between Bedrock and Java so Bedrock players can connect.
- Floodgate, which lets Bedrock players join with just their Microsoft account, no Java account needed.
Because it is Paper underneath, Java players join normally and you can add any Paper plugin alongside. Both plugins are downloaded fresh at install time, so a new server starts on current builds.
Step 1: Start the server once
Press Start on the Console tab and let it finish loading. On the first start the two plugins create their folders:
plugins/Geyser-Spigot/holding Geyser'sconfig.ymlplugins/floodgate/holding Floodgate'sconfig.ymlandkey.pem
Watch the console as it boots. Geyser prints its own startup lines, and an error there is the first thing to look for if Bedrock players cannot connect later.
Step 2: Find your two ports
Your server listens on two ports on the same IP address:
- Java port: the port in the address at the top of the server view. Java players use this.
- Bedrock port: a separate port. Bedrock players use this one, and only this one.
To find the Bedrock port, open the Network tab. It lists every port on your server: the primary one is Java, and the other one is Bedrock. Your Startup tab may also show it as a Geyser Port setting. Finding your server IP and port explains the Network tab.
Two things to know here. Bedrock traffic uses UDP, and the panel opens your ports for UDP as well, so there is nothing to forward. And the server's startup command hands the Bedrock port to Geyser directly, which overrides the port line in Geyser's config.yml. Editing that line does nothing, so leave the port settings alone.
Step 3: Check Geyser is using Floodgate
- Open the Files tab and go to
plugins/Geyser-Spigot/. - Open
config.ymland find theauth-typeline. Current Geyser versions keep it in thejava:section; older versions call that sectionremote:. - It should say
auth-type: floodgate. If it saysonline, change it tofloodgateand press Save Content. - Leave the Java
addresssetting as it is. On a plugin setup like this one, Geyser works out the address itself. - Restart the server from the Console tab.
With floodgate set, Bedrock players get straight in. With online, Geyser asks them to sign in to a Java account, which most of them do not have.
Step 4: Understand key.pem (then leave it alone)
Floodgate creates plugins/floodgate/key.pem on its first start. It is a shared secret: Geyser uses it to vouch for each Bedrock player, and Floodgate uses it to check that vouch is genuine.
- You do not need to copy it anywhere. When Geyser and Floodgate run on the same server, as they do here, Geyser reads Floodgate's key automatically. Copying
key.pemis only needed on networks where Geyser runs on a separate proxy. - Keep it private. Anyone with your
key.pemcould run their own Geyser and join your server pretending to be any Bedrock player. Never post it in Discord or share it in a screenshot. - Do not delete it. If it changes, restart the server so both plugins load the same key.
Step 5: Test both editions
- On Java, add the server with the address from the top of the server view. See Join your Minecraft Java server.
- On Bedrock, add the server with the same IP and the Bedrock port in the Port field, replacing the
19132Minecraft fills in. See Join your Minecraft Bedrock server. - Console players cannot type an address directly; see Play Bedrock on console.
- Once a Bedrock player is in, run
geyser listin the Console to see everyone connected through Geyser.
Bedrock usernames and admin commands
Floodgate adds a prefix to Bedrock names so they cannot clash with Java names. The default prefix is a dot, and spaces become underscores, so the Bedrock player Steve Plays appears as .Steve_Plays. Both settings are in plugins/floodgate/config.yml as username-prefix and replace-spaces. Pick your prefix before launch and avoid an empty one, which lets Bedrock and Java names collide.
Use the full prefixed name in normal commands:
op .Steve_Plays
ban .Steve_Plays
Whitelisting is the exception. A normal whitelist add cannot find Bedrock players, so Floodgate has its own command, used without the prefix:
fwhitelist add Steve_Plays
fwhitelist remove Steve_Plays
See Set up a Minecraft whitelist without locking yourself out and Ban, kick and unban players.
Floodgate's global linking is on by default. It lets a player who owns both editions link their accounts through GeyserMC's linking service, so they are the same player on either device. GeyserMC's own documentation covers how players link.
Keeping Geyser up to date
Bedrock updates often, and after a big Bedrock update, Bedrock players may not be able to join until Geyser supports the new version.
- Run
geyser versionin the Console. It shows your version and checks for updates. - If one is available, download the Spigot builds of Geyser and Floodgate from GeyserMC's official download page.
- On the Files tab, replace the old
.jarfiles inpluginswith the new ones. Keep one copy of each; two Geyser jars will conflict. - Restart the server.
Geyser is built for current Java versions of Minecraft. If you keep your Paper server on an older version, check GeyserMC's documentation for what that version needs.
Troubleshooting
Bedrock says "Unable to connect to world". Almost always the port. Use the Bedrock port from the Network tab, not 19132 and not the Java port. Then check the console for Geyser errors on startup.
Bedrock players are asked to sign in to a Java account. auth-type is not floodgate, or Floodgate did not load. Run plugins in the Console; both Geyser and Floodgate should be listed as enabled.
Bedrock players are kicked with "Please connect through the official Geyser". Floodgate could not verify Geyser's key. On a single server this usually follows a changed or replaced key.pem, so restart the server so both plugins load the same key. If it keeps happening, bring the console log to us.
A whitelisted Bedrock player still cannot join. They were added with whitelist add. Use fwhitelist add instead.
Still stuck? Jump into our Discord at discord.gg/GuavaHost and the team will help you out.
- geyser
- floodgate
- crossplay
- bedrock
- java
- key.pem
- udp
- minecraft
Host a Minecraft Geyser server From $3.99/mo, with instant setup and DDoS protection.
Still need help? Our team is online 24/7 to answer questions.