Play Java and Bedrock on the same Minecraft server with GeyserMC
Install GeyserMC and Floodgate to welcome Bedrock players on your Minecraft Java server: UDP port 19132, configuration and troubleshooting tips.
Your friends play Bedrock Edition on mobile, console or Windows, while you play Java? Good news: with GeyserMC, everyone can meet on the same Minecraft server. This guide shows you how to install it, configure it and fix the most common problems.
What is GeyserMC?
Minecraft Java Edition and Minecraft Bedrock Edition do not use the same network protocol: by default, a Bedrock player cannot join a Java server. Geyser acts as a translator: it receives Bedrock connections and converts them into Java connections your server understands.
Geyser usually comes with Floodgate, a second plugin that lets Bedrock players join with only their Microsoft/Xbox account, without owning a Minecraft Java account.
| Component | Role | Required? |
|---|---|---|
| Geyser-Spigot | Translates the Bedrock protocol to Java | ✅ Yes |
| Floodgate | Lets Bedrock players join without a Java account | ✅ Highly recommended |
| ViaVersion | Accepts client versions different from the server's | Optional |
Requirements
- A Paper, Spigot or Purpur server (Geyser also exists for Velocity and BungeeCord proxies, but this guide covers the Spigot plugin).
- The Java version required by your Minecraft version (Java 25 since Minecraft 26.1, Java 21 for versions 1.20.5 to 1.21.11).
- An up-to-date server: Geyser follows the latest Minecraft Java version. If your server runs an older version, install ViaVersion.
- The ability to open an additional UDP port, or to use the same port as Java (see below).
Installing Geyser and Floodgate
Step 1: download the plugins
Only download from the official GeyserMC project website, in the Download section. Choose the Spigot version of Geyser (compatible with Paper and Purpur), then the Floodgate one.
⚠️ Warning: avoid unofficial download sites, which may offer modified or outdated versions.
Step 2: install the files
1. Stop your server
2. Put Geyser-Spigot.jar and floodgate-spigot.jar in the /plugins/ folder
3. Start the server
4. Configuration files are generated automatically
Step 3: check that they load
/plugins
/geyser version
Geyser and floodgate should appear in green in the plugin list.
Configuring Geyser
The main file is located at plugins/Geyser-Spigot/config.yml. Here are the key settings (names may vary slightly depending on your Geyser version, check the comments in the file):
bedrock:
# Address Bedrock players connect to
address: 0.0.0.0
# Bedrock port (UDP), 19132 by default
port: 19132
# true = use the same port as the Java server
clone-remote-port: false
remote:
With the Spigot plugin, keep "auto"
address: auto
port: 25565
"floodgate" = join without a Java account
auth-type: floodgate
The auth-type setting
| Value | Effect |
|---|---|
floodgate | Bedrock players join with their Xbox account, no Java account needed (recommended with Floodgate) |
online | Bedrock players must link a valid Java account |
offline | No verification: avoid on a public server |
When Geyser and Floodgate are installed on the same server, Floodgate automatically shares its encryption key with Geyser: there is nothing to copy.
The Bedrock player prefix
To prevent a Bedrock player from having the same name as a Java player, Floodgate adds a prefix: a dot by default. The Bedrock player Steve will therefore appear as .Steve. You can change it in plugins/floodgate/config.yml:
username-prefix: "."
Keep this in mind when you give permissions or whitelist a Bedrock player: use their name with the prefix.
Opening the Bedrock port
Bedrock players connect over UDP, on port 19132 by default. This is the step that causes the most problems.
Option 1: a dedicated port
If your host lets you add a port, open it in UDP and set it in bedrock.port. On a machine you manage yourself, allow it in the firewall:
# Example with UFW on Linux
sudo ufw allow 19132/udp
Option 2: share the Java port
Many hosts only provide one port. In that case, set clone-remote-port to true: Geyser will listen on the same port number as the Java server. Java uses TCP and Bedrock uses UDP, so both can coexist, as long as the port is also open in UDP at your host.
bedrock:
clone-remote-port: true
Then restart the server to apply the changes.
Joining from Bedrock
Mobile and Windows
- Open Minecraft Bedrock and go to the Servers tab.
- Click Add Server.
- Enter your server's IP address (or domain name) and the Bedrock port.
- Save and join the server.
Consoles (Xbox, PlayStation, Switch)
On consoles, Minecraft does not let you freely add an external server. Community solutions such as BedrockConnect work around this limit, usually by changing the console's DNS settings. They are not official and may change over time: read their documentation before using them.
Known limitations
Geyser does a remarkable job, but Java and Bedrock remain two different games:
- Game mechanics: some subtleties (advanced redstone, combat, movement) do not behave exactly the same way.
- Resource packs: a Java pack is not converted automatically. Packs in Bedrock format can be added to Geyser's
packsfolder. - Commands and menus: tab completion and some plugin menus look different for Bedrock players.
- Anti-cheat plugins: some may wrongly flag Bedrock players; make sure yours is compatible with Geyser.
Troubleshooting
"Unable to connect to world"
- Check that the Bedrock port is open in UDP (opening it in TCP is not enough).
- Make sure the port entered in the game matches
bedrock.port. - Look at the server console at startup: Geyser shows the port it is listening on.
"Outdated server" or incompatible version
- Update Geyser and Floodgate: each new Bedrock release often requires a Geyser update.
- If your Java server is old, install ViaVersion.
Bedrock players are asked to log in with a Java account
- Check that Floodgate is installed and loaded.
- Check that
auth-typeis set tofloodgate, then restart.
Diagnostic commands
/geyser version # Installed version
/geyser list # Connected Bedrock players
/geyser reload # Reload the configuration
/geyser dump # Full report for support
Whitelist and Bedrock players
If your server uses a whitelist, add Bedrock players with the Floodgate command, which handles the prefix for you:
/fwhitelist add <bedrock_name>
Conclusion
With GeyserMC and Floodgate, your Minecraft server becomes open to all your friends, whatever their platform. In short:
- Install Geyser-Spigot and Floodgate from the official GeyserMC website.
- Set
auth-type: floodgatein the Geyser configuration. - Open port 19132 in UDP, or share the Java port with
clone-remote-port. - Keep Geyser and Floodgate up to date with every new Minecraft release.
Your community now has no excuse not to play together!