A complete checklist to make a Minecraft Java and Bedrock crossplay server: Paper, ViaVersion, Geyser, Floodgate, ports, testing and listing.
What you will end up with
A single Java server that Java players join on one address and Bedrock players join on another, both sharing the same world, plugins and community. This is the setup behind most Java + Bedrock listings on MCServerShare. Each step below links to a detailed guide, so this page is the checklist you can follow from top to bottom.
The pieces and their jobs
- Paper (or Purpur): the Java server itself.
- ViaVersion (optional): lets Java players on other versions join.
- Geyser: lets Bedrock players join the Java server.
- Floodgate: lets Bedrock players join without owning Java Edition.
- Open ports: TCP for Java, UDP for Bedrock.
Step 1: Build the Java server
Follow the Paper guide (or the Purpur guide) until you can join your own server from Java Edition on localhost. Do not add anything else yet. A server that works on its own is much easier to fix if something goes wrong later.
Step 2: Add ViaVersion if you need it
If your players are on different Java versions, or your server version is older than the newest, install ViaVersion first (and ViaBackwards or ViaRewind if you want older players). Restart and check the console shows no errors. See the Via guide for what each plugin does.
Step 3: Install Geyser and Floodgate
- Put Geyser-Spigot and Floodgate in the plugins folder and restart once.
- Open plugins/Geyser-Spigot/config.yml. Check the Bedrock port is 19132 and set auth-type to floodgate.
- Restart again and read the console for Geyser's startup lines, which show the Bedrock port it is listening on.
Step 4: Open the right ports
Linux firewall example (ufw)
sudo ufw allow 25565/tcp
sudo ufw allow 19132/udp- Java: TCP 25565.
- Bedrock: UDP 19132.
- On a home router, forward both to the server machine's fixed local address. On a host or VPS, open them in the control panel's firewall as well as on the machine.
If you change either port number later, tell your players and update your listing.
Step 5: Test from both editions
- From a Java client, join with your address (and port if it is not 25565).
- From a Bedrock device on a different network, such as a phone on mobile data, choose Play > Servers > Add Server and use the same address with port 19132.
- If Bedrock fails, run geyser connectiontest address 19132 from the console to see whether the port is reachable.
- Make a Bedrock player visit your shops, menus and spawn, and fix anything that does not show properly.
Step 6: Permissions and moderation
Bedrock players appear with a prefix in front of their gamertag. Set up ranks with a permissions plugin such as LuckPerms, using the prefixed names. Use Floodgate's own whitelist command if you run a whitelist. Make sure your anti-cheat and chat plugins know about Bedrock players, since their movement and inputs differ from Java.
Step 7: List it on MCServerShare
Listing both addresses means players of either edition see exactly what to type, and your server appears under both the Java and Bedrock filters.
- Create a free account and press List your server.
- Set Edition to Java + Bedrock. Enter your Java address and port, and your Bedrock address and port.
- Add your Java and Bedrock versions, pick up to three game modes, and write a clear description of your server.
- Put the verification code from your dashboard in your server's MOTD to earn the Verified badge.
Frequently asked questions
Can Java and Bedrock players play on the same server?
Yes, with a Java server running Geyser and Floodgate. Java players join normally and Bedrock players join through Geyser.
What do I need for a crossplay Minecraft server?
A Paper or Purpur Java server, the Geyser and Floodgate plugins, optionally ViaVersion, and open ports: TCP 25565 for Java and UDP 19132 for Bedrock.
Do both editions use the same address?
They usually use the same address but different ports and protocols: 25565 TCP for Java and 19132 UDP for Bedrock.
How do I list a crossplay server on MCServerShare?
Choose Java + Bedrock as the edition and enter both the Java and Bedrock address and port.