Your Java Minecraft server can accept connections from Bedrock players on mobile, console, and Windows 10. GeyserMC translates between the two protocols in real time, so everyone plays together without separate servers.
What You Need
- A Java Edition Minecraft server (Paper, Purpur, or Spigot recommended)
- GeyserMC plugin (the translator)
- Floodgate plugin (optional but recommended for authentication)
- Port 19132 open for UDP traffic (Bedrock uses this)
Installing GeyserMC
Download the GeyserMC plugin for your server type from geysermc.org. Drop it into your /plugins/ folder and restart the server.
Your server will generate a Geyser-Spigot/config.yml file. The important settings:
bedrock:
port: 19132
clone-remote-port: false
motd1: "Your Server Name"
motd2: "Java + Bedrock"
remote:
address: auto
port: 25565
auth-type: floodgate
Set auth-type to floodgate if you're using the Floodgate plugin (recommended). This lets Bedrock players join without a Java account.
Installing Floodgate
Without Floodgate, Bedrock players need to own a Java Edition account and authenticate through it. Most Bedrock players don't have a Java account, so Floodgate solves this by creating a bridge authentication.
Download Floodgate from the same GeyserMC website and place it in your plugins folder. Restart the server. Bedrock players will now join with a . prefix before their name (like .Steve).
Port Configuration
This is where most people get stuck. Java Minecraft uses TCP port 25565. Bedrock uses UDP port 19132. You need both ports open.
| Port | Protocol | Purpose | |------|----------|---------| | 25565 | TCP | Java Edition connections | | 19132 | UDP | Bedrock Edition connections |
On Space-Node hosting, both ports are available through the control panel. For VPS users, you'll need to configure your firewall:
ufw allow 19132/udp
Common Issues and Fixes
"Unable to connect to world" on Bedrock
This usually means port 19132 isn't accessible. Check that:
- The port is open in your firewall
- GeyserMC started without errors (check the server log)
- You're connecting to the correct IP and port
Bedrock players see ghost blocks
Some blocks in Java Edition don't have Bedrock equivalents. GeyserMC substitutes the closest match, but this can cause visual glitches. Updating to the latest GeyserMC version fixes most of these.
Skin issues
Bedrock skins don't always render correctly on Java servers. GeyserMC converts them, but custom skins may appear as Steve/Alex. This is a protocol limitation.
Inventory differences
Some items exist in Java but not Bedrock (and vice versa). GeyserMC handles most conversions, but modded items won't translate. GeyserMC works best with vanilla or lightly modded servers.
Performance Impact
GeyserMC adds a small overhead for each Bedrock player connected. The translation process uses some CPU and RAM, but on modern hardware like the Ryzen 9 7950X3D, this is negligible for up to 20 Bedrock players.
| Bedrock Players | Additional RAM Usage | CPU Impact | |----------------|---------------------|------------| | 1-5 | ~50MB | < 1% | | 5-15 | ~150MB | 2-3% | | 15-30 | ~300MB | 4-6% |
Recommended Server Configuration
For a mixed Java/Bedrock community, we recommend:
- Paper or Purpur as the server software (best GeyserMC compatibility)
- At least 4GB RAM (add 1GB on top of your Java-only requirement)
- View distance 8 or lower (Bedrock clients are more sensitive to lag)
- GeyserMC, Floodgate, and ViaVersion for maximum compatibility
Cross-platform play is one of the best ways to grow your Minecraft community. Mobile players make up a huge portion of the Minecraft playerbase, and letting them join your Java server opens up your community to a much larger audience.
