How to Set Up Cross-Play Between Java & Bedrock
Connect Java and Bedrock players on the same server using GeyserMC and Floodgate — a complete step-by-step guide.
By Lodgichost Team · Last updated: August 19, 2026
One of the most common requests we get from server owners is how to let their friends on Xbox, PlayStation, Nintendo Switch, mobile, or the Windows 10/11 Bedrock edition play on the same server as Java Edition players. Thanks to GeyserMC and Floodgate, this is not only possible but straightforward to set up.
On the server side, GeyserMC listens for Bedrock connections on a separate port (19132 by default), while Floodgate handles Bedrock-only authentication so players do not need a Java Edition account. By the end of this guide you will have two connection strings to share with your community: one for Java players and one for Bedrock players.
One important note up front: GeyserMC does not turn your Java server into a separate Bedrock server. It translates Bedrock network traffic into Java protocol in real time, which means most (but not all) Java mechanics behave identically for Bedrock players. The limitations section below covers the few things that do not translate perfectly.
What You'll Need
- A Lodgichost Minecraft server (Java Edition)
- GeyserMC plugin or mod
- Floodgate plugin (for authenticating Bedrock players without a Microsoft account on Java)
- Optional: ViaVersion for clients on different Java versions
Step 1: Install GeyserMC
GeyserMC acts as a proxy that translates Bedrock Edition network traffic into Java Edition protocol. It's available as a plugin for Bukkit/Spigot/Paper servers, a mod for Fabric or Forge, and as a standalone proxy (similar to BungeeCord).
- Download the latest GeyserMC jar from geysermc.org/download. Choose the version that matches your server type (Spigot/Paper, Fabric, or BungeeCord/Velocity).
- Upload the jar to your server's plugins folder (or mods folder for Fabric/Forge). You can do this through the Lodgichost portal file manager or via FTP.
- Restart your server. GeyserMC will generate a config.yml file in a new Geyser-Spigot (or similar) folder.
Step 2: Configure GeyserMC
Open the generated config.yml file. The defaults work for most servers, but here are the important settings to check:
- bedrock-port: Set this to a different port from your Java server port. Default is 19132 (UDP). Make sure this port is open in your firewall — Lodgichost servers have this pre-configured.
- bedrock-address: Set to 0.0.0.0 to listen on all interfaces.
- motd1: This is the MOTD Bedrock players will see in their server list. Set it to something welcoming.
- passthrough-motd: Set to true if you want Bedrock players to see your Java server's MOTD.
Step 3: Install Floodgate
Floodgate allows Bedrock players to join your Java server without needing a Microsoft (Java Edition) account. It generates a unique identifier (XUID) for each Bedrock player so the server recognises them across sessions.
- Download Floodgate from the GeyserMC downloads page. Choose the version matching your GeyserMC installation.
- Upload the Floodgate jar to your plugins (or mods) folder alongside GeyserMC.
- Restart the server again. Floodgate will generate its own config.yml.
- Enable Floodgate in GeyserMC's config: In the GeyserMC config.yml, find the auth-type: setting and change it from online to floodgate. Restart the server one more time.
Step 4: Connecting Bedrock Players
Bedrock players connect to a different address and port than your Java players. Here's what to give them:
- Address: Your server's IP or domain (same as Java players use)
- Port (Bedrock): 19132 (or whatever you set in GeyserMC config)
- Port (Java): 25565 (your standard Java port)
On Xbox, PlayStation, Switch, or mobile, players add your server using the Bedrock port (19132). On Java Edition, they use the standard Java port as usual. Both groups will play together in the same world.
Limitations and Things to Know
- Bedrock and Java players share the same world, but their clients render it slightly differently — resource pack support in particular differs between editions
- GeyserMC must stay up to date with the latest Bedrock release; Mojang can change the Bedrock protocol at any time, breaking older builds
- Some anti-cheat plugins treat Bedrock clients as suspicious because their behaviour differs from native Java clients — add the Floodgate allowlist integration to avoid false positives
- Bedrock players cannot use Java-exclusive mechanics such as detailed custom potion effects, though the overwhelming majority of commands and features work fine
Port Forwarding and Firewall Notes
If you host GeyserMC on your own hardware rather than through a hosting provider, your firewall needs two ports open — one for each edition:
- Java Edition: TCP 25565 (or your custom server port)
- Bedrock Edition: UDP 19132 (GeyserMC's default bedrock-port)
- On Lodgichost servers both ports are already open and mapped automatically, so no router configuration is needed
What's New in GeyserMC
Recent GeyserMC releases have kept pace with Minecraft's rapid update schedule, adding support for new content like trial chambers and the mace within days of release. Performance on Fabric and Forge has also improved significantly thanks to the unified network handler, and the project continues to close the gap between what Bedrock and Java clients can do.
Frequently Asked Questions
Will Bedrock players see my Java server in their server list?
Only if you additionally run a Bedrock-visible listing. In practice, players add your server manually using your IP address and the Bedrock port (19132).
Do Bedrock players need a Microsoft account to join?
Only if you run in online mode without Floodgate. With Floodgate enabled, Bedrock players authenticate using their Xbox Live identifier, so no separate Java Edition account is needed.
Can Java and Bedrock players play on the same server simultaneously?
Yes — that is the entire point of this setup. Both groups connect on the same address using their own port and play together in the same world.
Does GeyserMC work with modded servers?
GeyserMC supports Fabric and Forge modded servers, as long as the mods do not rely on Java-only protocol features. Content mods that add blocks and items work, though custom item data can display differently for Bedrock clients.
Does GeyserMC add lag for Bedrock players?
Protocol translation adds a small amount of per-connection overhead. For most worlds this is negligible, but servers with many concurrent Bedrock players benefit from extra RAM and CPU headroom.
Troubleshooting Tips
- Bedrock players can't connect: Make sure port 19132 (UDP) is open. Lodgichost servers have this pre-configured, but double-check your firewall settings.
- "Outdated server" error: Bedrock clients may be on a different version than your server. Update GeyserMC to the latest build — it usually supports the latest Bedrock version within days of a Minecraft release.
- Skin not showing: Floodgate handles Bedrock skins. Make sure floodgate auth-type is set correctly in GeyserMC config.
- Lag when Bedrock players join: GeyserMC performs protocol translation in real-time. If you have many Bedrock players, consider allocating more RAM to your server through the Lodgichost portal.
Lodgichost Makes It Easy
All Lodgichost Minecraft plans are compatible with GeyserMC and Floodgate. You can install both plugins through the Lodgichost plugin manager with a single click. If you run into any issues, our support team can help you get cross-play up and running. Log in to your portal to get started.
Sources: GeyserMC Documentation — wiki.geysermc.org; Floodgate Setup Guide — wiki.geysermc.org/floodgate
