Java or Bedrock for your Minecraft server? Compare devices, crossplay, mods, redstone, server software, ports and the Geyser option, then pick the right edition.
Before you pick a server jar, plugins or a host, there is a bigger choice to make: Java Edition or Bedrock Edition. The two editions can't join each other's servers by default, so this decision sets who can play with you.
In this guide, we will cover who plays on each edition, how crossplay works, mods and plugins on both sides, the gameplay and redstone differences, the server software you can run, performance, ports, and the Geyser option that puts both editions on one server.
By the end of this guide, you will know which edition fits your group and what to install for it.
Who Plays Where
The devices your friends use matter more than anything else in this article.
- Java Edition → Windows, macOS and Linux PCs only.
- Bedrock Edition → Windows, Xbox, PlayStation, Nintendo Switch, Android and iOS.
PC players usually own both. Since June 7, 2022, Minecraft for PC is sold as Java & Bedrock Edition, and players who owned one edition got the other for free in the launcher (source: minecraft.net).
Console and phone players only have Bedrock. They can't join a Java server unless you add Geyser (more on that below).
Tip: Ask everyone what device they play on before you set anything up. One friend on a Switch can change the whole plan.
Crossplay: Who Can Join Whom
- Java players can only join Java servers.
- Bedrock players can join Bedrock servers from any Bedrock device, so a phone player and an Xbox player can play together.
- Bedrock players can join a Java server only if it runs Geyser.
There is one catch with consoles. Xbox, PlayStation and Switch have no button to add a server address, and the Servers tab only shows Mojang's featured servers. Console players use workarounds, like joining through a friend who is already online or apps such as BedrockConnect that make your server appear as a LAN world. They work, but they are unofficial and can break after an update.
Windows, Android and iOS players can add any server by address and port, so they have no problem.
Version matching
Java players can pick an older version in the launcher, so a Java server can stay on the version you like. Bedrock players on consoles and phones get updates through their store and can't easily go back.
That means a Bedrock server has to update soon after each Bedrock release, or players on the new version can't join. You can see this in third-party software: every PocketMine-MP release names one Bedrock version, and Geyser currently supports Bedrock 26.40 to 26.60 (source: GeyserMC).
Mods, Plugins and Add-ons
This is where the two editions differ the most.
Java
Java has the biggest modding scene in Minecraft, with two kinds of add-ons:
- Plugins run on Paper or Purpur and only live on the server. Players join with a normal client. Hangar, PaperMC's plugin site, lists over 4,000 Paper plugins (source: PaperMC).
- Mods run on Fabric, NeoForge or Forge. Mods that add blocks, items or mobs must be installed by every player too.
If you are not sure which one you need, read Vanilla, Paper, Fabric or Forge: Which Should You Choose?
Bedrock
Bedrock uses add-ons: behavior packs and resource packs, plus a Script API for custom logic. Players also have the Marketplace for worlds, skins and texture packs.
Mojang's own server has poor support for community plugins, and add-on scripting is the alternative (source: Minecraft Wiki). If you want real plugins on Bedrock, you need third-party server software, covered below.
Gameplay and Redstone Differences
Both editions get the same updates, but many mechanics work differently. This matters most if your group builds farms and redstone.
- Redstone: Java has quasi-connectivity, so pistons, droppers and dispensers can be powered from the block above. Bedrock does not.
- Pistons: a sticky piston given a 1-tick pulse drops its block on Java instead of pulling it back like on Bedrock.
- Hoppers: on Java they push items in a consistent order, first slot first.
- Combat: Java has the attack cooldown from 1.9, so weapon timing matters. Bedrock has no cooldown.
- Mob spawning: spawn rules and group sizes differ, so farm designs don't carry over.
- Simulation distance: a Bedrock server ticks 4 chunks around each player by default (
tick-distance=4), while Java's defaultsimulation-distanceis 10.
Rule of thumb: a farm tutorial made for Java often fails on Bedrock, and the other way round. Pick the edition first, then follow tutorials made for it (source: Minecraft Wiki parity issues).
Server Software on Each Side
Java
- Vanilla → the official jar, no plugins or mods.
- Paper and Purpur → plugins and better performance.
- Folia → a Paper fork for very large servers with many CPU cores.
- Fabric, Quilt, NeoForge and Forge → mods.
- Velocity → a proxy that links several servers into one network.
Our guide to the best Minecraft server software compares all of them.
Bedrock
- Bedrock Dedicated Server (BDS) → Mojang's official server. Full vanilla gameplay and add-ons, no plugins.
- PowerNukkitX → a third-party server written in Java, with plugins, vanilla world generation and mob AI. Version 3.0.6 (October 2026) supports Bedrock 26.60.
- PocketMine-MP → a plugin server written in PHP, made for minigames rather than survival. Its team stopped updating it and archived the project on July 9, 2026. Community forks still release builds.
- Endstone → built on BDS, adding a Paper-like plugin API with plugins in Python or C++ (source: GitHub).
Read Bedrock Server Software: BDS vs PocketMine-MP vs PowerNukkitX for the full comparison.
Performance
Bedrock Dedicated Server is written in C++. It doesn't need Java, and it runs on Windows 10 or newer and Ubuntu 22.04 or newer. Its short default tick distance also keeps the work per player low.
Java servers run on the Java runtime. Minecraft 26.1 and newer need Java 25 (source: Paper docs). They depend on single-core CPU speed, and you set the RAM with -Xmx. Paper on the plugin side, or the Lithium mod on Fabric, are built to cut tick times.
For sizing, read How Much RAM Does a Minecraft Server Need?
Ports: 25565 TCP vs 19132 UDP
- Java: port
25565, TCP. - Bedrock: port
19132, traditionally UDP only, plus19133for IPv6 on the older transport.
Bedrock networking changed in 2026. Since version 26.50, Bedrock Dedicated Server uses a new transport called NetherNet by default (transport=nethernet in server.properties), and 26.60 deprecated the old RakNet transport (source: Minecraft Wiki). With NetherNet, players find the server over TCP and play over UDP, so GeyserMC now says to open the port for both (source: GeyserMC).
Tip: If you host at home, forward 19132 for both TCP and UDP for a Bedrock server. On a host, the port is assigned for you, so just share the address and port shown in the panel.
The Geyser Option: Both Editions on One Server
Geyser is a bridge that lets Bedrock players join a Java server. Your server stays Java, and Bedrock players connect to a second port.
- It runs as a plugin on Paper, Velocity and BungeeCord, as a mod on Fabric and NeoForge, or standalone.
- It currently supports Java 26.3 and Bedrock 26.40 to 26.60.
- Add Floodgate if Bedrock players should join without owning Java Edition.
- The Geyser port can't be your Java port, because Geyser uses it over both TCP and UDP.
It isn't perfect. Bedrock players can't click links in chat, can't see banner layers past 6, and some Java-only items and custom recipes don't work for them (source: Geyser limitations).
On EternalZero, add an extra port in the Network tab, install Geyser, and set its Bedrock port to the new one in Geyser's config. The full walkthrough is in How to Let Bedrock Players Join Your Java Server.
Java vs Bedrock at a Glance
| Topic | Java | Bedrock |
|---|---|---|
| Devices | Windows, macOS, Linux | Windows, Xbox, PlayStation, Switch, Android, iOS |
| Crossplay | Java players only (Bedrock with Geyser) | All Bedrock devices |
| Customisation | Plugins and mods | Add-ons and Script API |
| Official server | Vanilla jar (Java 25 for 26.1+) | Bedrock Dedicated Server |
| Plugin servers | Paper, Purpur, Folia | PowerNukkitX, Endstone, PocketMine-MP forks |
| Default port | 25565 TCP | 19132 UDP (plus TCP with NetherNet) |
| Redstone | Quasi-connectivity | No quasi-connectivity |
| Default simulation | 10 chunks | 4 chunks |
| Client versions | Players can pick older versions | Players are usually on the latest |
Choose Java or Bedrock
Choose Java if
- Everyone plays on a PC.
- You want plugins, mods or a modpack.
- You build technical redstone or farms from Java tutorials.
- You want to stay on a specific version, like a modpack locked to 1.20.1 or 1.21.1.
- Most players are on PC but a few are on console or phone. Run Java with Geyser.
Choose Bedrock if
- Most of your group plays on consoles or phones.
- You want vanilla gameplay and the add-ons your players already use.
- You want a light server without Java setup.
- You are fine updating the server soon after every Bedrock release.
Changing Your Mind Later
Java and Bedrock worlds use different formats, so you can't just swap the server software and keep playing. Hive's open-source Chunker converts worlds both ways, but test the result on a copy first.
On EternalZero, the Versions Changer has both Java software and Bedrock versions. Take a backup in the Backups tab before you switch, so you can always go back.
Wrapping Up
If your whole group is on PC, go Java and start with Paper. Players join with a normal client and you get plugins and better performance.
If most players are on consoles or phones, run Bedrock Dedicated Server and keep it updated.
For a mixed group that is mostly on PC, run Java with Geyser and Floodgate. Start simple, then add more once you know what your players want.