How to add Floodgate so Bedrock players don't need Java
Install Floodgate next to Geyser on your Paper server so Bedrock players can join with only their Microsoft or Xbox account.
Updated · 2 min read
Install the Spigot build of Floodgate in the same plugins folder as Geyser and restart. Geyser detects Floodgate automatically and switches to Floodgate authentication, so Bedrock players no longer need to own Java Edition.
Why you need it
Geyser on its own authenticates Bedrock players against a Java Edition account (auth-type: online). Most console and mobile players do not own Java, so they get stuck at a Java login prompt or are kicked. Floodgate verifies them using their Xbox/Microsoft sign-in instead and gives them a Java-side name and UUID.
Install steps
- Download the Spigot build of Floodgate from geysermc.org/download. The file is named like
floodgate-spigot.jar. - In the file manager, upload it to the
pluginsfolder alongsideGeyser-Spigot.jar. - Restart the server.
- Check the console for Floodgate loading without errors.
Floodgate creates plugins/floodgate/ containing config.yml and a key.pem file.
Check Geyser is using Floodgate
Open plugins/Geyser-Spigot/config.yml and look at the auth type for the Java server connection (in the remote section in most Geyser versions):
remote:
address: auto
port: 25565
auth-type: floodgate
On the Spigot/Paper build, Geyser switches to Floodgate automatically when the Floodgate plugin is installed on the same server, so you usually do not need to edit this. If you are troubleshooting, make sure it is not forced to online.
The key.pem file
key.pem is the shared secret Geyser and Floodgate use to trust each other. On a single Paper server both plugins read the same file, so there is nothing to do. Never share this file publicly. If you later move Geyser to a BungeeCord proxy, every server needs the same key.pem; see Geyser on a BungeeCord network.
Useful Floodgate settings
plugins/floodgate/config.yml contains, among others:
# Added in front of every Bedrock player's name
username-prefix: "."
# Gamertags can contain spaces; Java names cannot
replace-spaces: true
Changing the prefix is covered in Bedrock player names and the Floodgate prefix. Restart the server after editing.
What Bedrock players look like on the server
A Bedrock player with the gamertag Steve Builder appears to Java players and plugins as .Steve_Builder. Their UUID starts with a run of zeros, which is how plugins can tell Floodgate players apart.
After installing
- Whitelisting works differently for Bedrock players: see whitelist Bedrock players.
- Permissions plugins need the prefixed name: see LuckPerms permissions for Bedrock players.
- Want one identity across both editions? See link Java and Bedrock accounts.