How to Let Bedrock Players Join Your Java Server (Geyser and Floodgate)

Server Software

Set up Geyser and Floodgate so phone, console and Windows Bedrock players can join your Java server, including the new NetherNet port rules from October 2026.

Some of your friends probably play Minecraft on a phone, a console or the Windows Bedrock version. Normally they cannot join a Java server at all. With Geyser and Floodgate, they can, and they play in the same world as your Java players.

In this guide, we will cover what Geyser does, the different ways to install it, the port it needs (and the big NetherNet change from October 2026), what Floodgate adds, the limits you should know about, and a step-by-step setup on a Paper server.

By the end of this guide, you will have Bedrock players joining your Java server, and you will know how to fix the most common reasons they cannot connect.

Geyser logo What Geyser Does

Java Edition and Bedrock Edition speak different network languages. Geyser is a translator that sits in the middle. Bedrock players connect to Geyser, and Geyser talks to your Java server as if they were Java players.

Your server stays a normal Java server. Your world, plugins and settings do not change. You only add a way in for Bedrock players.

As of November 2026, Geyser supports Bedrock 26.40 to 26.60 and Java 26.3 (source: Geyser supported versions). If your Java server runs an older version, you also need the ViaVersion plugin, because Geyser joins as a 26.3 client.

Note: Bedrock updates automatically on almost every device, so keep Geyser updated too. When a new Bedrock version comes out, an old Geyser build will stop letting players in.

Plugin, Mod, Proxy or Standalone

Geyser comes in several versions. Pick the one that matches where you want it to run.

Install typeWhere it goesUse it when
Paper logo Plugin (Geyser-Spigot)plugins folder of a Paper serverYou run one Paper server on 1.20.5 or newer. The easiest option.
Fabric logo Mod (Geyser-Fabric, Geyser-NeoForge)mods folderYour modded server is on the latest Java version (26.3) and only uses server-side mods.
Velocity logo Proxy (Geyser-Velocity)plugins folder of the proxy onlyYou run a network. One Geyser on the proxy covers every backend.
StandaloneIts own folder, runs as a separate programYou want Geyser to run as its own program next to the server. Needs Java 21 or newer.

Modded servers come with a big catch: mods that players also need on their client will not work for Bedrock players, because Bedrock cannot install Java mods. Geyser works best on plugin servers.

If you run a network, read our Velocity guide first, then install Geyser and Floodgate on the proxy.

The Geyser Port (and the NetherNet Change)

Java players use your normal server port, usually 25565 over TCP. Bedrock players need a second port for Geyser. The default is 19132.

For years, Bedrock only needed this port open for UDP. That changed in 2026. Mojang has moved Bedrock to a new connection method called NetherNet, and GeyserMC says that from Bedrock 26.60 (released October 27, 2026), Bedrock clients stop connecting the old way (source: GeyserMC blog).

With NetherNet, a Bedrock player first asks your server how to connect over TCP, then plays over UDP. So:

  • The Geyser port must be open for both TCP and UDP. Without TCP, your server will not even show up for Bedrock players.
  • The Geyser port cannot be the same as your Java server port, because the Java server already uses that port for TCP.
  • No other program can use that port. Watch out for voice chat mods, Query, web maps and websites.
  • You need Geyser build 1237 or newer. Always grab the latest build.

Many hosts used a Geyser setting called clone-remote-port to share the Java port. That trick no longer works with Geyser's built-in signaling. If Geyser sees the port is taken, it falls back to Warden, a free external signaling service, and the console shows the address players should use instead.

At home, forward the Geyser port in your router for both TCP and UDP. If you cannot open ports, GeyserMC suggests playit.gg. Ngrok does not work, because it does not support UDP.

On EternalZero, open the Network page, add an extra port, and use that number as your Geyser port. That keeps your Java port and your Bedrock port separate, which is exactly what NetherNet needs.

What Floodgate Adds

Geyser on its own expects every Bedrock player to also own a Java account and log in with it. Most Bedrock players do not have one.

Floodgate fixes that. It lets Bedrock players join your online-mode server using only their Xbox (Microsoft) account. Your server stays in online mode, so Java players are still checked normally.

A few things to know:

  • Username prefix: Bedrock names get a dot in front by default, so Steve on Bedrock becomes .Steve. This stops a Bedrock player from taking a Java player's name. You can change username-prefix in Floodgate's config.yml, but GeyserMC does not recommend removing it.
  • Spaces: Xbox gamertags can contain spaces. Floodgate replaces them with _ by default.
  • Whitelist: use fwhitelist add Name for Bedrock players. You do not need to type the prefix.
  • key.pem: Floodgate creates this key. It is what lets Bedrock players skip Java login. Never share it. On a network, you copy it from the proxy to the backends that run Floodgate, and keep it away from anyone else.
  • Linking: players who own both editions can link their accounts and keep the same inventory and progress.

Read our Whitelist, Ops and Permissions guide to control who can join from both editions.

Step by Step: Geyser and Floodgate on a Paper Server

This is the most common setup: one Paper server, Geyser and Floodgate as plugins.

  1. Back up your server. It only takes a minute. See our backup guide.
  2. Check your version and Java. Geyser-Spigot needs Paper 1.20.5 or newer and Java 21 or newer. If you are not on 26.3, add ViaVersion too.
  3. Download both plugins from geysermc.org/download: Geyser-Spigot and Floodgate-Spigot.
  4. Put both jars in the plugins folder, then start the server once so they create their config files. Stop it again.
  5. Edit plugins/Geyser-Spigot/config.yml. In the bedrock section, set your Geyser port and make sure the transport is NetherNet. In the java section, set auth-type to floodgate.
  6. Start the server and read the console. Geyser prints its port and any NetherNet problems there.
  7. Join from Bedrock: open Play, go to the Servers tab, choose Add Server, and enter your server address and the Geyser port.

The parts of the Geyser config you change look like this:

bedrock:
  port: 19132
  transport: nethernet

java:
  auth-type: floodgate

Example: if your host gave you 203.0.113.20:25565 for Java and you added port 25570 for Geyser, Java players join 203.0.113.20:25565 and Bedrock players add 203.0.113.20 with port 25570.

Tip: The first time a Bedrock player joins, Minecraft may show a "Trust on First Use?" prompt. That is normal when signaling runs over plain HTTP. GeyserMC has a guide for serving it over HTTPS if you want to remove the prompt.

Console players (Xbox, PlayStation, Switch) cannot add custom servers the normal way. GeyserMC's wiki has a page on using Geyser with consoles.

Known Limitations

Geyser translates between two different games, so a few things cannot be perfect. GeyserMC lists these as not fixable on their side (source: Current Limitations):

  • No difference between left and right clicks in inventories, which affects some plugin menus
  • No clickable links in chat, and no tab-complete for commands
  • No glowing effect, and banners show at most 6 layers
  • Custom enchantments and custom anvil or smithing recipes do not work properly for Bedrock players
  • Overworld build heights beyond -512 or 512 are not supported

Inventories also look different. Bedrock players see Bedrock-style menus, not the Java layout. Geyser includes a resource pack that brings some screens closer to Java, but expect small differences.

Gameplay that depends on Java client mods will not work for Bedrock players at all. If your server needs a client mod to play, Geyser is not a good fit.

Common Problems and Fixes

  • Bedrock players cannot see the server → the Geyser port is not open for TCP, or you are still on an old Geyser build. Update Geyser and open the port for TCP and UDP.
  • "Built-in signaling cannot use port … because the Java server already uses it" → Geyser and Java share a port. Use a separate port for Geyser.
  • "… is a loopback address" → the Bedrock address is set to 127.0.0.1. Set it to 0.0.0.0.
  • Players are asked to log in to a Java account → Floodgate is missing, or auth-type is not set to floodgate.
  • "Outdated client" or "Outdated server" → update Geyser. Bedrock updates on its own, so Geyser has to keep up.

If none of these fit, run /geyser dump in the console and share the link in the GeyserMC Discord.

Conclusion

Geyser and Floodgate are the easiest way to have phone, console and Java players in one world. For most servers, the plugin version on Paper is all you need.

The main thing that changed in 2026 is the port: give Geyser its own port, open it for both TCP and UDP, and keep Geyser updated. Start with a small test with one Bedrock friend, then invite everyone. If you are still deciding which edition to build your server around, read our Bedrock or Java guide.