How to Let Bedrock and Java Players Play Together with GeyserMC

Published on

Your friends play on Xbox and mobile. You run a Java server. GeyserMC bridges the gap so Bedrock and Java players can play on the same server. Here is the full setup guide.

Written by Jochem Wassenaar – CEO of Space-Node – 15+ years combined experience in game server hosting, VPS infrastructure, and 24/7 streaming solutions. Read author bio →

geyser java bedrock crossplay setup guide 2026

Your Java server works great. But half your friends play on Xbox, Switch, or their phone. They use Bedrock Edition and cannot connect to Java servers. GeyserMC fixes this by translating between the two protocols in real time.


What GeyserMC Actually Does

Java Edition and Bedrock Edition are completely different games under the hood. Different networking protocols, different inventory systems, different combat mechanics. GeyserMC sits between Bedrock players and your Java server, translating every packet so both sides understand each other.

Bedrock players connect to Geyser. Geyser converts their packets into Java format. The Java server thinks everyone is a Java player. When the server sends data back, Geyser converts it to Bedrock format.


What You Need

  1. A Java server running Paper, Spigot, or similar (Paper recommended)
  2. GeyserMC plugin
  3. Floodgate plugin (lets Bedrock players join without a Java account)
  4. UDP port 19132 open on your host

Step 1: Download Geyser and Floodgate

Download both plugins from geysermc.org/download

  • Geyser-Spigot.jar (for Paper/Spigot servers)
  • floodgate-spigot.jar

Place both .jar files in your plugins/ folder.


Step 2: Start the Server

Restart the server. Geyser and Floodgate generate their config folders. You will see messages in the console like:

[GeyserMC] Started Geyser on 0.0.0.0:19132

This means Geyser is listening for Bedrock connections on port 19132.


Step 3: Open the UDP Port

Bedrock uses UDP port 19132 by default. On most hosting panels:

  1. Go to your server's Network/Ports section
  2. Add port 19132 with UDP protocol
  3. Save

If your host does not support adding UDP ports through the panel, contact their support. This step is required. Without it, Bedrock players cannot connect.


Step 4: Configure Geyser

Edit plugins/Geyser-Spigot/config.yml:

bedrock:
  address: 0.0.0.0
  port: 19132
  motd1: "My Server"
  motd2: "Bedrock + Java Crossplay"

remote:
  address: auto
  port: auto
  auth-type: floodgate

Setting auth-type to floodgate means Bedrock players do not need a Java account. They authenticate through their Xbox/Microsoft account.


Step 5: Configure Floodgate

Edit plugins/floodgate/config.yml:

username-prefix: "."

This adds a dot before Bedrock player names. A Bedrock player named "Steve" appears as ".Steve" in-game. This prevents name conflicts between Java and Bedrock accounts with the same name.


Step 6: Connect from Bedrock

Xbox / Switch / Mobile

  1. Open Minecraft Bedrock Edition
  2. Go to Play > Servers
  3. Scroll to the bottom and click "Add Server"
  4. Enter your server IP and port 19132
  5. Connect

Windows 10/11 Bedrock

Same process: Play > Servers > Add Server > Enter IP:19132


Known Limitations

GeyserMC is not perfect. Bedrock and Java have fundamental differences that cannot be fully bridged:

| Feature | Java | Bedrock via Geyser | |---|---|---| | Combat | 1.9+ cooldown system | Works but timing feels different | | Redstone | Standard Java behavior | Some piston/redstone differences | | Custom maps | Full support | Some textures render differently | | Enchantment UI | Normal | Bedrock UI used (looks different) | | Skins | Standard | May show default skin (see fix below) | | Inventory | Normal | Slight differences in crafting UI |

Fixing Bedrock Skin Issues

Bedrock player skins sometimes appear as default Steve/Alex on Java clients. This is because Bedrock stores skins differently than Java.

Fix: Install SkinsRestorer alongside Geyser or configure Floodgate skin forwarding. See our Bedrock skin fix guide for detailed steps.


Permissions for Bedrock Players

Bedrock player names have the prefix (dot by default). When setting up permissions in LuckPerms:

/lp user .BedrockPlayer parent set vip

Include the prefix in the username. Plugin commands that reference player names must also include the prefix.


Troubleshooting

"Unable to connect to world"

  • Check that UDP port 19132 is open on your host
  • Verify Geyser is running by checking the console for the startup message
  • Make sure the player is connecting to the right IP and port 19132 (not the Java port 25565)

"Disconnected" immediately after joining

  • Check that Floodgate is installed and loaded
  • Verify auth-type is set to floodgate in Geyser config
  • Make sure server.properties has online-mode=true (Floodgate handles Bedrock auth separately)

Players stuck on loading screen

  • This can happen with ViaVersion installed. Make sure Geyser, ViaVersion, and your server JAR are all on compatible versions
  • Update all three to their latest builds

Performance Impact

Geyser adds moderate CPU and RAM overhead. Each connected Bedrock player uses roughly 50-100 MB more RAM than a Java player because Geyser must translate every packet.

For a server with 10 Bedrock players, add about 500 MB to 1 GB to your RAM requirement. A 4 GB plan handles 5-10 Java + 5-10 Bedrock players comfortably.

Space-Node servers support Geyser and Floodgate on all plans with UDP port allocation available. Get started here.

Jochem Wassenaar

About the Author

Jochem Wassenaar – CEO of Space-Node – Experts in game server hosting, VPS infrastructure, and 24/7 streaming solutions with 15+ years combined experience.

Since 2023
500+ servers hosted
4.8/5 avg rating

Our team specializes in Minecraft, FiveM, Rust, and 24/7 streaming infrastructure, operating enterprise-grade AMD Ryzen 9 hardware in Netherlands datacenters. We maintain GDPR compliance and ISO 27001-aligned security standards.

View Space-Node's full team bio and credentials →

Launch Your VPS Today

Get started with professional VPS hosting powered by enterprise hardware. Instant deployment and 24/7 support included.

How to Let Bedrock and Java Players Play Together with GeyserMC