# How to run a Minecraft server for Java and Bedrock players together

Let Bedrock players on phones, tablets and Windows join a Java server with Geyser and Floodgate. What to install, which port to use and the limits to know.

Updated 2026-11-15.

Java and Bedrock players can share one world when the server is a Java server running Paper or Purpur with two plugins: **Geyser**, which translates between the editions, and **Floodgate**, which lets Bedrock players log in with their Microsoft account instead of buying Java. Bedrock players on iPhone, iPad, Android and Windows then join with your server address and a second port. It takes about ten minutes.

## Which server should a mixed group pick?

| Your group plays on | Pick |
| --- | --- |
| PCs and Macs only | A Java server |
| Phones, tablets, Windows and consoles, no Java players | A Bedrock server |
| Java PCs plus a few phone or tablet players | A Java server with Geyser (this guide) |
| Java PCs plus console players | A Bedrock server is simpler, or Geyser with the console workarounds below |

## How do I set up Geyser and Floodgate?

1. Make sure the server type is **Paper** or **Purpur**. Geyser runs as a plugin there.
2. Open the **Mods** tab, search for **Geyser** and press **Install**.
3. Download the Spigot version of **Floodgate** from geysermc.org/download. In **Files**, upload it into the `plugins` folder.
4. Restart the server once so both plugins write their settings files.
5. In Files, open `plugins/Geyser-Spigot/config.yml`. Under `bedrock`, set `port` to the **Bedrock players (Geyser)** port shown in your panel. Every Java server comes with this extra port.
6. Restart again. The console log shows Geyser starting on that port.

## How do Bedrock players join?

On a phone, tablet or Windows PC, open Minecraft, go to **Servers**, scroll down and tap **Add Server**. Type the server's address without the port in **Server Address**, and the Geyser port in **Port**. Save and join. Java players keep joining with the normal address.

If your whitelist is on, add Bedrock players with a dot in front of their Gamertag, for example `.Steve123`. That dot is Floodgate's default prefix, and it keeps Bedrock names from clashing with Java names.

## What are the limits?

- **Mods:** Bedrock players cannot see blocks, items or mobs added by Fabric, Forge or NeoForge mods. Crossplay works best on a plugin server.
- **Versions:** Geyser supports the newest Bedrock release, and the Java server should be on the newest Java release too. If you run an older Java version, add **ViaVersion** from the Mods tab so newer clients can still connect.
- **Consoles:** Xbox, PlayStation and Switch cannot add a server by address. Console players have workarounds on the Geyser site, but a group with several console players is happier on a Bedrock server, where our DNS menu handles it.
- **Small differences:** some redstone timing, combat and a few blocks behave slightly differently for Bedrock players, because they are playing through a translation.

## Something not working?

- **Bedrock players time out:** check the port in `config.yml` matches the Geyser port in your panel, then restart.
- **"Outdated server" on Bedrock:** Geyser needs updating. Update it from the Mods tab and restart.
- **"You are not whitelisted":** add the player with the dot prefix, exactly as their Gamertag is spelled.

Every Java server on our [plans page](https://minecraft-servers.host/plans) comes with the extra Geyser port already open, so you can start crossplay the day you check out.

https://minecraft-servers.host/guides/minecraft-java-and-bedrock-crossplay-server
