Setting up CrossPlay for Minecraft
Add Geyser and Floodgate to Paper servers, allocate UDP ports, and allow Bedrock, console, and mobile users to join Java worlds.
Geyser lets Bedrock Edition clients (console, mobile, Windows 10/11) connect to a Java Edition server. This is the most popular way to run a single server that both editions can join, so you do not have to maintain two separate worlds.
Geyser ships first-party builds for Paper/Spigot, BungeeCord, Velocity, Fabric, NeoForge, ViaProxy and standalone. This guide walks through the most common setup — Geyser as a plugin on Paper or Spigot — and flags the modded differences where they matter. See Java: Getting Started and Java: Plugins first.
How Geyser Works
Geyser is a protocol translator. It runs alongside your Java server (as a plugin or standalone proxy) and listens for Bedrock connections on a UDP port. When a Bedrock player connects, Geyser translates their Bedrock protocol packets into Java protocol packets the server understands, and vice versa.
The result: Bedrock players appear on your Java server as if they were Java players, sharing the same world, chat, and gameplay.
Installing Geyser as a Plugin
The simplest setup runs Geyser as a plugin on your Paper or Spigot server.
Download the Geyser plugin (
Geyser-Spigot.jar) fromgeysermc.org/download.Upload it to your
plugins/folder via the File Manager or SFTP.Restart the server.
Geyser generates a config at
plugins/Geyser-Spigot/config.ymlon first load.
Point Geyser at a port you actually own
Out of the box, Geyser is configured to listen on UDP 19132, the standard Bedrock port. On your managed Minecraft server that exact port is usually not available, so you point Geyser at a port you actually own: grab an extra UDP allocation from the panel's Network tab and set it in
plugins/Geyser-Spigot/config.ymlunderbedrock:>port:. Bedrock players then connect to your server's IP on that port.
Running Fabric or NeoForge instead
Geyser has a first-party build for both. Drop
Geyser-Fabric.jarorGeyser-NeoForge.jarintomods/rather thanplugins/— Fabric servers also need Fabric API — and the config appears atconfig/Geyser-Fabric/config.ymlorconfig/Geyser-NeoForge/config.yml. There is no build for classic Forge. One catch: the Fabric and NeoForge builds only support the latest Java Edition release, so if your pack is pinned to an older version, run Geyser on a ViaProxy instance in front of the server instead.
Installing Floodgate (Recommended)
By default, Geyser requires Bedrock players to own a Java account to authenticate. Floodgate removes that requirement, letting Bedrock players join with just their Bedrock account.
Download Floodgate (
floodgate-spigot.jar) fromgeysermc.org/download. On Fabric or NeoForge, Floodgate ships as a mod from its Modrinth page instead, and goes inmods/.Upload it to
plugins/alongside Geyser.In
plugins/Geyser-Spigot/config.yml, set the auth type to floodgate:remote: auth-type: floodgateRestart.
Bedrock usernames get a dot prefix
With Floodgate, Bedrock players are prefixed with a dot (
.) in their username by default to avoid collisions with Java usernames. You can customize this prefix in the Floodgate config.
Verifying Cross-Play
After installing Geyser (and optionally Floodgate) and restarting:
From a Bedrock client, add a server with your Java server's IP and the Geyser port you configured.
Connect.
The Bedrock player should appear in-world alongside Java players.
If the connection fails, check the server console for Geyser startup messages and any errors.
Port Considerations
- Java players connect on your server's Java port (TCP), the one shown in the Address at the top left of the panel. The game default is 25565, but on our plans the assigned port is often different
- Bedrock players connect on the Geyser port (UDP), the extra allocation you set in Geyser's config
- Both ports must exist in the panel's Network tab. If you need an additional allocation for Geyser, request one there or open a ticket
Limitations of Cross-Play
Geyser does an impressive job, but the two editions are not identical:
- Some Java mechanics do not translate perfectly to Bedrock controls
- Bedrock UI for certain inventory-heavy interactions can be awkward
- Geyser itself runs fine on Fabric and NeoForge, but it only bridges server-side mods. Anything that needs a matching client-side install — custom blocks, items, entities, dimensions or GUIs — never reaches a Bedrock player, because Bedrock clients cannot load Java mods. A pack of server-side quality-of-life mods cross-plays well; a content pack does not
- Some plugins that rely on Java-specific client behavior may behave oddly for Bedrock players
For a vanilla-plus survival server running Paper and quality-of-life plugins, Geyser works very well. For a 300-mod content pack, cross-play is not realistic today. GeyserMC is building a companion mod, Hydraulic, aimed at exactly that gap, but its own README calls it very early development and warns against production use — so treat it as something to watch, not to deploy.
Common Issues
- Bedrock players cannot connect: Geyser not installed, the wrong Geyser build for your server software, or the wrong port. Confirm Geyser loaded in the console and that the UDP port in Geyser's config matches an allocation in the Network tab.
- "Could not authenticate": Bedrock player does not own a Java account and Floodgate is not installed or configured. Install Floodgate and set
auth-type: floodgate. - Bedrock player names look odd (leading dot): That is Floodgate's default prefix to prevent username collisions. Customize or remove it in the Floodgate config if you prefer.
- Geyser works but modded content is missing for Bedrock: Expected. Geyser bridges server-side behaviour only, so anything that needs a client-side mod install cannot render on a Bedrock client. Running Geyser on Fabric or NeoForge does not change that.
What to Read Next
- Java: Plugins since Geyser pairs with a Paper/Spigot plugin server
- Bedrock if you decide to run a standalone Bedrock server instead
- Performance and Backups for keeping the combined server healthy
- Minecraft Server Commands for op, whitelist and moderation commands
Made with 💜 by GameServerKings

Playing with friends?
Your own Minecraft server is a world that stays up when you log off — nobody has to host it from their own PC, and it's there whenever your group wants to play.
From $4.80 /month