A Minecraft Java and Bedrock crossplay server is a Java server with two plugins added: Geyser and Floodgate. Java players join as usual. Bedrock players on phones, tablets and Windows join the same world through a second port. You need a Paper server, access to its files, and a port that accepts UDP.
How Java and Bedrock crossplay works
The two editions cannot talk to each other directly. Geyser is a proxy that sits in front of a Java server and translates the Bedrock game’s network traffic into Java’s. To the server, each Bedrock player looks like a Java player.
Two things follow from that:
- The world is a Java world. Plugins generally work for Bedrock players too. A few Java features cannot be translated, and they are listed further down.
- There are two doors. Java players connect over TCP, on port 25565 by default. Bedrock players connect over UDP, on port 19132 by default.
Floodgate is Geyser’s companion plugin. It lets Bedrock accounts join without a paid Java Edition account, while online-mode stays true for Java players.
What you need before you start
- A Paper server. Geyser’s plugin runs on Paper and Spigot 1.20.5 or newer. Purpur runs the same plugins as Paper.
- A Java version Geyser supports. As of October 2026, Geyser’s supported versions page lists Bedrock 26.30 to 26.52 and Java 26.2. Paper’s newest version is 26.3, which is not listed yet. Create the server on Paper 26.2, which needs Java 25.
- A UDP port for Bedrock players. More on that below.
- Access to the server’s files and console, through your host’s control panel or SFTP.
Set up Geyser and Floodgate on a Paper server
-
Open geysermc.org/download. Download the Spigot build of Geyser, which is the one Paper uses:
Geyser-Spigot.jar. Then download the Spigot build of Floodgate:floodgate-spigot.jar. -
Put both files in the server’s
pluginsfolder, through the file manager or SFTP, whichever your host offers. -
Restart the server. Do not use
/reload. Geyser creates its config file on this first start. -
Open
plugins/Geyser-Spigot/config.ymland find thebedrock:section:bedrock: address: 0.0.0.0 port: 19132 clone-remote-port: falseLeave
addressalone. Setportas described in the next section. -
In the same file, find
auth-typein thejava:section and change its value tofloodgate:java: auth-type: floodgateChange only that line. The rest of the section stays as it is.
-
Leave
online-mode=trueinserver.properties. -
Restart the server again, then run
pluginsin the console. Both plugins should show in green. Red means a plugin failed to load.
The official versions of these steps are Geyser’s setup page, which also has instructions for specific hosts, and Floodgate’s setup page. New to plugins? Read how to install plugins on a Minecraft server first.
The Bedrock port, and what to do when your host gives you a different one
Geyser listens on port 19132 over UDP by default. That port has to accept UDP traffic. A port that is open for TCP only will not work.
- You host on your own PC. Forward UDP port 19132 on your router and allow it through the computer’s firewall. Our guide to hosting a Minecraft server on your PC covers port forwarding.
- Your host gives you a second port. Set
portto that number. Bedrock players use it in place of 19132. - Your host gives you one port only. Set
clone-remote-port: true. Geyser then uses the Java port number for Bedrock as well, every time the server starts. Java uses it over TCP and Bedrock over UDP. This works only if your host lets UDP through on that port, so ask if you are not sure.
Nothing else that uses UDP can share the port. Geyser’s documentation names voice chat plugins and Query as examples.
Severoo supports Java and Bedrock crossplay on the free plan. As on any host, use the port your server has been given. See free Minecraft Bedrock server hosting for what the plan includes.
Check that it works
Run Geyser’s own test in the server console, with your server’s public address and Bedrock port:
geyser connectiontest <ip> <port>
It reports whether a connection from outside is possible. You can also open the server status checker, choose Bedrock Edition, and enter the same address and port.
How Bedrock players connect
- Open Minecraft and select Play.
- Open the Servers tab and select Add Server.
- Type any name. In Server Address, enter the same address Java players use, without a port.
- In Port, enter the Bedrock port from the Geyser config.
- Save, then select the server in the list to join.
Players use the Bedrock account they already have. On the server, Floodgate puts a dot in front of their name, so a player called Alex shows up as .Alex. By default, spaces in a name become underscores. To add a Bedrock player to the whitelist, run fwhitelist add Alex. The dot is not needed there.
Java players join the usual way: see how to join a Minecraft server.
Consoles. Geyser’s console page says all consoles can join third-party servers “with workarounds”. It names Xbox One, Nintendo Switch and PS4, which join through a third-party program called BedrockConnect or a LAN proxy app. We could not confirm a built-in way to add a server by address on consoles, so do not count on one.
What Bedrock players cannot do
These come from Geyser’s list of current limitations, which marks them as unfixable. For Bedrock players:
- Links in chat cannot be clicked.
- The glowing effect is not shown.
- Tab-complete does not work, so plugin features that rely on it do not work either.
- A left click and a right click in an inventory count as the same click.
- Custom enchantments are not shown, and neither are enchantment levels above the vanilla ones.
- Banner layers past the sixth are not shown.
- Heights below -512 or above 512 in the Overworld are out of reach. A normal world never gets that tall or deep.
Java mods are not translated either. And Geyser does not convert a Java resource pack: its FAQ says you can add a Bedrock resource pack to Geyser for Bedrock players.
When Bedrock players cannot join
- Java players get in, Bedrock players do not. Check the port first: that Bedrock players typed the Bedrock port, that it matches
portin the Geyser config, and that it is open for UDP. Then run the connection test again. - The Bedrock game just updated. Geyser needs an update to match a new Bedrock version. Check the supported versions page, then stop the server, replace
Geyser-Spigot.jarwith the new download and start it again. - The server runs a Java version Geyser does not list. As of October 2026 that means 26.3. Geyser acts as a 26.2 player, and the server has to accept that version. The ViaBackwards plugin, which needs ViaVersion, exists to let older game versions join a newer server. Geyser’s documentation does not cover that setup for 26.3, so treat it as an experiment and back up first.
- A Bedrock player is asked for a Java account. Floodgate is missing or
auth-typeis not set tofloodgate. Fix it and restart. - A Bedrock player is told they are not whitelisted. Add them with
fwhitelist addand their name. - Geyser is red in the plugin list. Open
logs/latest.logand read the error from startup. - Only console players fail. Geyser’s troubleshooting page says the cause is probably the console’s connection method, not your server.
For anything else, see Geyser’s connection troubleshooting page and our guide to when you can’t connect to a Minecraft server.