Java vs Bedrock: Which Minecraft Edition Should Your Server Target?
The two editions cannot talk to each other without a bridge — decide before you invite players.
By Lodgichost Team · Last updated: August 19, 2026
The divide between Java Edition and Bedrock Edition is the first decision every server owner must make, because the two use completely different protocols and a normal server accepts players from one edition only. Java Edition is the native PC version: it supports mods, data packs, plugin servers like Paper, and deep community tooling such as GeyserMC. Bedrock Edition is the unified build for consoles, mobile, and Windows, signed in through a Microsoft account, and built around add-ons and a marketplace instead of a mod ecosystem. The two editions do not interoperate. Ask your community which edition they own before you pay for hosting, and let that answer pick your server type.
What Each Edition Actually Is
Java Edition runs on desktop operating systems, is built on the Java codebase, gives direct access to the official server jar, and is where custom servers, plugin networks, and hardcore community tooling live. Bedrock Edition is a single modern codebase deployed across Windows, iOS, Android, Xbox, PlayStation, and Nintendo Switch, signed in with a Microsoft account, and distributed with add-ons and Marketplace content rather than classic mods. Java players authenticate with a Mojang or Microsoft account; Bedrock players always use a Microsoft account. A plain server cannot accept both editions at once.
Edition Codebase Platforms Account Mods Plugins Java Java PC/Mac/Linux Mojang/Microsoft Yes Yes Bedrock C++ consoles, mobile, Windows Microsoft add-ons No Bridge GeyserMC adds Bedrock to a Java server; Floodgate maps Xbox identities
Where the Modding and Server Community Lives
Java Edition is the platform the server community actually maintains: Paper, Spigot, Forge, Fabric, data packs, world tools, and nearly every hosting panel target Java first. You can build a fully custom experience with command blocks, plugins, and resource packs all managed server-side. Bedrock supports add-ons and behaviour packs, but they are narrower, Marketplace-orientated, and client-heavy. If your goal involves plugins, mods, or custom rules, the answer is Java.
- Java: plugins, mods, data packs, custom launchers, RCON, and no marketplace restrictions.
- Bedrock: add-ons and behaviour packs, official Marketplace content, stricter limits on server-side code.
- Both benefit from decent hardware, but community optimisations such as Paper and Sodium are developed on the Java toolchain.
Cross-Play with GeyserMC and Floodgate
GeyserMC is an open-source bridge — available as a Paper plugin or a standalone proxy — that translates Bedrock's protocol into Java's. Floodgate is the companion plugin that authenticates Bedrock players and maps their Xbox identities into the server as user@bedrock accounts. When a Bedrock player connects through Geyser, Java skins appear as custom skins, emotes and a few protocol-specific features degrade, and every packet crosses a translation layer with a small latency overhead. This is the standard, well-tested path to cross-play, not a hack.
# config.yml for Geyser - key lines for Bedrock access bedrock: address: 0.0.0.0 port: 19132 # Bedrock clients connect here over UDP remote: address: 127.0.0.1 port: 25565 # Geyser forwards translated traffic to Java TCP # floodgate (separate plugin): maps Xbox IDs to player@bedrock
Ports and Protocol Differences
Java servers listen on TCP port 25565 by default, using reliable, ordered packet delivery. Bedrock uses UDP port 19132 and a protocol with its own packet format. When Geyser bridges the two, Bedrock clients connect over UDP 19132 and Geyser forwards their translated traffic to the Java port at 25565. In the Lodgichost panel, open UDP 19132 only when Geyser is configured; otherwise a single inbound rule on TCP 25565 is all you need.
- Java clients connect over TCP 25565 — keep this rule open for Java players.
- Bedrock clients connect over UDP 19132 — open this rule only when GeyserMC is installed.
- Geyser can also run as a standalone proxy on its own port if you prefer not to expose the Java port directly.
Choosing the Right Edition First
Because the editions do not interoperate, base your choice on the players you actually have. If your group is PC-only, run a pure Java server — simplest to manage and update. If players are split across phones, consoles, and computers, run Java plus Geyser and Floodgate, which gives you the whole plugin ecosystem while Bedrock friends join through the bridge. Bedrock-only networks are rare outside Marketplace partnerships. Collect the player edition list before provisioning so you never face a reinstall.
- All-PC group: run Java Edition alone — the simplest, most maintainable setup.
- Mixed group: a Java server with GeyserMC and Floodgate lets console and phone players join the same world.
- Hard requirement for Bedrock add-ons: still start from Java, since Bedrock servers cannot host the plugin toolchain.
Troubleshooting
- Bedrock player sees 'unable to connect': confirm UDP 19132 is open on the firewall and Geyser is running — Bedrock never uses TCP 25565.
- Player connects but is kicked immediately: Floodgate is not enabled, so the Bedrock identity has no account mapping on the server.
- Skins look white or default: Geyser converts Bedrock skins to Java custom skins; this fails when the skin service is unreachable.
- Emotes and some items behave oddly for Bedrock clients: expected behaviour — Bedrock packets differ from Java and Geyser translates what it can.
FAQ
Can Java and Bedrock players play together?
Not on a plain server. Add GeyserMC plus Floodgate to a Java server and Bedrock clients can join the same world over their own port.
Which edition is better for server admins?
Java. Plugins, mods, data packs, panel options, and community tooling all target Java first, while Bedrock servers remain limited unless you bridge them.
What port does each edition use?
Java uses TCP 25565 by default; Bedrock uses UDP 19132. A Geyser bridge listens on UDP 19132 and forwards translated traffic to the Java port.
Do Bedrock players need a Microsoft account?
Yes. Bedrock sign-in is tied to Microsoft and Xbox accounts, and Floodgate maps those identities into the Java server as user@bedrock.
Can one server accept both editions natively?
No native support exists. A Java server running GeyserMC and Floodgate accepts both Java and Bedrock clients on the same world, which is the standard setup.
Related Guides
- Server Mods vs Plugins — what each edition can actually run
- Forge vs Fabric vs Paper — the Java-side software choices
- Getting Started — first-server setup with the right edition
