Back to Blog
geysermccrossplaybedrocknetworkingminecraft

Fix GeyserMC 'Unable to Connect to World': Bedrock-Java Crossplay Guide

December 2, 20245 min read
Fix GeyserMC 'Unable to Connect to World': Bedrock-Java Crossplay Guide

# Fix GeyserMC 'Unable to Connect to World': Bedrock-Java Crossplay Guide

The "Unable to connect to world" error occurs when GeyserMC cannot establish a UDP connection between Bedrock and Java Edition servers. Fix it by opening UDP port 19132, setting Floodgate auth-type to "floodgate", and ensuring your firewall allows bidirectional UDP traffic. This guide shows the complete crossplay setup.

Understanding the Error

GeyserMC acts as a translation proxy between Bedrock Edition (UDP protocol) and Java Edition (TCP protocol). When Bedrock players see "Unable to connect to world," the server failed to establish the UDP handshake on port 19132.

Common Causes:

  • Port 19132 opened for TCP instead of UDP
  • Firewall blocking UDP traffic
  • Floodgate auth-type misconfigured
  • Router NAT issues with UDP forwarding
  • Server binding to incorrect network interface

Step-by-Step Fix

Step 1: Verify Port Configuration

GeyserMC requires UDP port 19132 (Bedrock default). Java Edition uses TCP port 25565. These are separate protocols.

bash
# Check if port 19132 is listening (UDP)
netstat -tulnp | grep 19132

# Expected output (if GeyserMC is running):
# udp    0  0 0.0.0.0:19132    0.0.0.0:*    LISTEN    12345/java

If you see nothing, GeyserMC isn't binding to the port. Check config.yml.

Step 2: Configure GeyserMC Port Binding

Edit plugins/Geyser-Spigot/config.yml:

yaml
# GeyserMC config.yml - bedrock section
bedrock:
  # Port for Bedrock players (must be UDP)
  port: 19132
  # Bind to all network interfaces
  address: 0.0.0.0

Critical: The address: 0.0.0.0 setting allows connections from any network interface. If set to 127.0.0.1, only local connections work.

Step 3: Open UDP Port 19132

Most port forwarding guides assume TCP. Bedrock requires UDP.

Linux/VPS Firewall (ufw):

bash
# Allow UDP traffic on port 19132
sudo ufw allow 19132/udp

# Verify rule exists
sudo ufw status | grep 19132
# Output: 19132/udp    ALLOW    Anywhere

Router Port Forwarding:

  • Protocol: UDP (not TCP, not Both)
  • External Port: 19132
  • Internal Port: 19132
  • Internal IP: Your server's LAN IP

Common Router Mistake: Some routers have separate fields for TCP and UDP. You must configure UDP specifically. Setting "Both" sometimes only opens TCP.

Step 4: Configure Floodgate Authentication

Floodgate allows Bedrock players to join without a Java account. Edit plugins/floodgate/config.yml:

yaml
# Floodgate config.yml
# Set auth-type to bypass Java authentication for Bedrock players
auth-type: floodgate

Authentication Types:

  • online: Bedrock players need a Java account (defeats the purpose)
  • floodgate: Bedrock players join directly (recommended)
  • offline: Server in offline mode (insecure, not recommended)

Step 5: Whitelist Bedrock Players Correctly

Bedrock player usernames are prefixed with a period when whitelisted.

bash
# WRONG - Java whitelist command (won't work for Bedrock)
/whitelist add PlayerName

# CORRECT - Bedrock whitelist (note the period prefix)
/fwhitelist add .PlayerName

Alternatively, edit whitelist.json manually:

json
[
  {
    "uuid": "00000000-0000-0000-0009-01234567890a",
    "name": ".PlayerName"
  }
]

The period prefix distinguishes Bedrock players from Java players in the server's player database.

Step 6: Test UDP Connectivity

From a Bedrock device, test the connection:

Add Server:

  • Server Name: Your server
  • Server Address: your-server-ip
  • Port: 19132

Connection Test:

If you see "Locating server" for more than 10 seconds, UDP traffic isn't reaching GeyserMC. Check:

  • Firewall rules (UDP, not TCP)
  • Router port forwarding (UDP protocol selected)
  • Server logs: plugins/Geyser-Spigot/logs/latest.log

Expected Log Output (Success):

text
[Geyser-Spigot] Player connected with username .PlayerName from /192.168.1.50:54321
[Floodgate] Floodgate player .PlayerName has UUID 00000000-0000-0000-0009-01234567890a

The MANAfuel Difference

The manual fix above works, but requires networking knowledge, firewall configuration, and router access. On MANAfuel, crossplay is pre-configured.

You: "Bob, enable crossplay for Bedrock players."

Bob: "Enabling GeyserMC with Floodgate authentication. I've configured UDP port 19132 on The Grid's network layer, set Floodgate auth-type to 'floodgate', and verified bidirectional UDP traffic. Bedrock players can now connect to your server without port forwarding. Share this address: your-server.manafuel.com:19132"

The Grid's network infrastructure handles UDP port allocation automatically. No router configuration. No firewall rules. Bob provisions the network resources and validates connectivity.

Claim Your Founder Spot →

Frequently Asked Questions

Yes. GeyserMC translates packets in real-time. Java players connect to port 25565 (TCP), Bedrock players to port 19132 (UDP). Both see each other in-game.
Bedrock Edition supports different Unicode characters than Java. GeyserMC translates most characters, but some emojis or special symbols may not render correctly. This is a protocol limitation.
No. With Floodgate, Bedrock players join using their Bedrock account. They do not need to purchase Java Edition.
No. Mods run client-side on Java Edition. Bedrock players see the vanilla Bedrock experience. However, server-side plugins (like custom items, commands) work for all players.
Some consumer routers hide UDP configuration. Look for "Port Range Forwarding" instead of "Single Port Forwarding." If unavailable, consider: 1. Upgrading router firmware 2. Using a VPS (cloud server) where you control the firewall 3. Using MANAfuel where network configuration is automated
Another process is using port 19132. Check for:
bash
# Find what's using port 19132
sudo lsof -i :19132

# If another Java process is listed, kill it:
sudo kill -9 <PID>
Common culprits: another Minecraft server, another GeyserMC instance, or a system service.

Share this article

Limited Founder Spots

BECOME A FOUNDER

Early Access members lock in exclusive pricing, get priority launch access, and join our founding community. Once we launch publicly, these perks are gone forever.

Priority Launch Access

Be among the first to deploy when we launch in January 2026

Exclusive Pricing

42% off your first 3 months, then 25% off for life

Founding Community

Direct access to our team and exclusive founder-only perks