Want your Java friends and your Bedrock friends (phone, Xbox, Switch, PlayStation) playing in the same world? Here's how to make a crossplay Minecraft server, and it's simpler than it sounds: you don't need a special server type. You run a normal Java server, usually on Paper, and add Geyser, a free open-source translator that lets Bedrock players join it. Add Floodgate on top and they don't even need a Java account.
That's the whole idea. The fiddly bits are the ports, version lag and getting consoles in the door, so that's where most of this page goes. Looking for a server to join instead of host? That's my list of Minecraft crossplay servers. Everything below is for the person running one. Version numbers below are as of November 2026 and they move fast, so check Geyser's download and supported-versions pages before you start.
What Geyser does (and doesn't)
Geyser sits between the two editions. It translates packets between Bedrock and Java and acts like a Java client, so your Java server thinks the Bedrock player joined from Java. Redstone, commands and farms all behave the Java way, because the server itself isn't modified. Plugins generally work too. The exceptions are mostly offline-mode login and auth plugins such as FastLogin and JPremium.
- It only goes one way. Bedrock players can join a Java server. Java players can't join a Bedrock server with it.
- Mods are tricky. If a vanilla client can join your server, Geyser can handle it. If players need client-side mods to connect, Geyser can't support that.
- Bedrock packs go in their own folder. Bedrock resource packs go in Geyser's
packsfolder. There's no automatic Java-to-Bedrock conversion.
Which Geyser: Paper plugin, standalone or proxy
GeyserMC says to use a plugin version over standalone where you can. It connects directly, loads faster, has lower latency and translates more accurately. Pick by your setup:
| Your setup | Which Geyser | Notes |
|---|---|---|
| Paper or Spigot server | Geyser-Spigot (plugin) | Needs Spigot/Paper 1.20.5 or above and Java 21+. Paper is the one I'd use. |
| Fabric or NeoForge server | Geyser-Fabric / Geyser-NeoForge | Only works with server-side mods. Supports only the latest Minecraft Java version. |
| Velocity or BungeeCord network | Geyser on the proxy only | Floodgate can go on the backend servers too, for skins and the API. |
| Older server, or a separate machine | Standalone | A separate Java program (Java 21+) next to your server. Point it at your Java server in its config. |
Not sure Paper is the right base? Minecraft server software compared walks through the options. Don't have a Java server yet? Start with how to make a Minecraft server, then come back.
GeyserMC setup on Paper
- Match the Java version. As of November 2026 Geyser emulates Java 26.3. If your server runs something else, install ViaVersion too.
- Add Geyser. Download Geyser-Spigot.jar from geysermc.org/download and drop it in
plugins. It works like any other plugin, so my plugin install guide applies. Restart. - Edit the config. Open
plugins/Geyser-Spigot/config.ymland find thebedrock:section. Setport: 19132andtransport: nethernet. Restart again. - Check the port. Geyser's port can't match your Java server's port, and nothing else can use it. That includes voice chat mods, Query and web maps.
Bedrock players join with your server's Java address and the Geyser port, 19132 by default. On the same network, localhost or your LAN IP works.
Floodgate: let Bedrock players in without a Java account
Without Floodgate, Geyser checks a player against Mojang, so they'd need a Java account. Floodgate removes that. Your Bedrock friends sign in with their own accounts and nothing else. The alternative is running offline mode, which GeyserMC calls unsupportable and dangerous, and says goes against Mojang's EULA. Skip it.
- Drop Floodgate-Spigot into
pluginsand restart. - In Geyser's
config.yml, setauth-type: floodgate. Restart.
On a proxy, install Floodgate on the proxy. Floodgate also generates a key.pem. Never share it. It lets Bedrock accounts bypass Java authentication.
The username prefix
Floodgate gives Bedrock players a prefix, set under username-prefix: in Floodgate's config.yml. GeyserMC recommends leaving it on, so a Bedrock "JohnDoe" and a Java "JohnDoe" never collide. Spaces in Bedrock names turn into underscores. The prefix is part of the name, so include it in commands and quote the name if needed. Whitelisting is the easy trip-up. /fwhitelist add <bedrock_username> works once the player has joined a Geyser server before. Otherwise switch the whitelist off, let them join, add them with /whitelist add using the prefixed name in quotes, then switch the whitelist back on.
Skins need Floodgate (or GeyserSkinRestorer) too, or Java players won't see Bedrock skins.
Ports: where the old tutorials are wrong
Java uses TCP port 25565. Bedrock's default is 19132. Most older guides say forward UDP 19132 and you're done. GeyserMC's setup page now says that with NetherNet you forward the Geyser port for both TCP and UDP. Players use TCP to find the server and UDP to play. Forward UDP only and your server won't show up. As of November 2026, NetherNet is fully supported on Bedrock 26.50 and up, and connecting works from 26.40.
Geyser's built-in signaling runs over plain HTTP, so Minecraft asks players "Trust on First Use?" the first time they join. GeyserMC recommends serving it over HTTPS to avoid the prompt, and has a page on that.
Can't open ports at all? A playit.gg tunnel is the usual workaround, and GeyserMC links playit's own Geyser guide. Ngrok doesn't work for this, because it lacks UDP. My server without port forwarding page covers the tunnel options.
How to make a crossplay Minecraft server on Aternos
Aternos is the easy route, and it's free. Install the Geyser plugin from the panel (Paper is recommended) or the Geyser-Fabric mod if you're on server-side Fabric mods. Aternos installs Floodgate automatically and pre-configures Geyser, so it should work without any changes.
- Connecting: Bedrock players use the same address as Java, with port 19132. That may differ from the port on your Aternos server page. There's also a share link,
https://add.aternos.org/<your server address>, that adds the server in Bedrock. - Old Java version? Aternos only lets you download the latest Geyser. If your Java version is too old for it, add ViaVersion, and sometimes ViaBackwards.
- Voice chat: a voice chat mod and Geyser can't share an Aternos server. Each wants its own UDP port and you only get one.
Weighing Aternos against other free hosts? See free Minecraft server hosting and Aternos alternatives.
Paid hosts
It's the same Paper plus Geyser plus Floodgate setup. GeyserMC's setup page lists over 100 hosts, and plenty of them have their own Geyser guide, so check yours first. Otherwise upload the jars to plugins from the panel. Your host needs to give you a port for Geyser, since it can't share the Java one.
Getting console players in
Xbox, PlayStation and Switch can't join third-party servers out of the box. GeyserMC lists three workarounds. Treat them as options to try, not guarantees: what works depends on the console and can change.
- BedrockConnect. Not made by GeyserMC. The console player changes their DNS, and joining a featured server opens a menu where they enter your address. GeyserMC warns its main IP is often blocked on consoles, so community instances may work better.
- MCXboxBroadcast. You run it, and it uses a bot Xbox account whose friends list advertises your server on the Worlds tab. Players add that account as a friend, with no DNS change.
- LAN-emulation apps. Apps like MCCompanion, BridgePlay, BedrockTogether and the BedrockConnect app run on a phone, tablet or PC and make your server appear as a LAN game on the Worlds tab.
If your friends are on Xbox, my guide to adding servers on Minecraft Xbox covers the player side.
What breaks
- Version lag. Bedrock updates itself everywhere. When it jumps ahead of Geyser's range, players on the new version can't join until Geyser catches up. As of November 2026 Geyser supports Bedrock 26.40 to 26.62 and Java 26.3, and older Bedrock versions aren't supported. On Aternos, server software updates itself but plugins don't, so reinstall Geyser once a compatible build is out.
- "Trouble establishing a connection to multiplayer services." Aternos lists these causes: wrong IP or port, Geyser missing or crashed, a version mismatch, or Microsoft account privacy and crossplay settings.
- Java features with no Bedrock equivalent. Geyser can't fix clickable chat links, the glowing effect, tab complete, banners with more than 6 layers, custom anvil and smithing recipes, or world height beyond -512 to 512 in the overworld. Check Geyser's current-limitations page for the full list.
- Offhand. Bedrock players can swap hands with
/geyser offhand. - Anti-cheat plugins. Geyser has an anti-cheat compatibility page. Read it before you add one.
Is Geyser bannable?
It's your server, so you make the rules. Other servers set their own, and a server a Bedrock player can join through Geyser is one whose owner chose to run it. Anything beyond that is the server's call. If you're deciding between editions for your group, Minecraft Java vs Bedrock lays out the differences.
Hosting your own, someday
Folly is a free multiplayer voxel game for PC, coming soon in early access. Player-hosted servers are planned for early access, but nothing has shipped yet. The plan is on the hosting and creators page.