Crossplay Setup
How to set up GeyserMC and Floodgate for Java and Bedrock crossplay on your Witchly.host Minecraft server.
Minecraft (15 articles)
On This Page
Crossplay Setup
GeyserMC and Floodgate allow Bedrock Edition players (Windows 10/11, consoles, mobile) to join your Java Edition Minecraft server. This guide walks you through the complete setup process.
What You Need
- A Java Edition Minecraft server running Paper, Spigot, Purpur, Fabric, or Forge.
- GeyserMC — Translates Bedrock network protocol to Java protocol.
- Floodgate — Allows Bedrock players to join without a Java account.
How It Works
GeyserMC acts as a translator between Bedrock and Java Edition. When a Bedrock player connects, Geyser converts their actions into Java protocol that the server understands, and translates the server’s responses back into Bedrock protocol.
Floodgate removes the requirement for Bedrock players to own a Java Edition account. Without Floodgate, Bedrock players would need to link a Java account to join.
Installation
Step 1: Download GeyserMC and Floodgate
-
Go to geysermc.org and download the correct version for your server software:
- Paper/Spigot/Purpur: Download the Spigot plugin versions of both Geyser and Floodgate.
- Fabric: Download the Fabric mod versions.
- Forge: Download the Forge mod versions (check version compatibility carefully).
-
Download both Geyser and Floodgate for your platform.
Step 2: Install on Your Server
- Log in to Dashboard and select your server.
- Stop your server.
- Go to the File Manager tab.
- For Paper/Spigot/Purpur: Upload both
.jarfiles to thepluginsfolder. - For Fabric/Forge: Upload both
.jarfiles to themodsfolder. - Start your server. Both plugins/mods will generate their configuration files.
- Stop the server again to configure them.
Step 3: Configure GeyserMC
-
In the File Manager, navigate to:
- Paper/Spigot/Purpur:
plugins/Geyser-Spigot/config.yml - Fabric:
config/Geyser-Fabric/config.yml - Forge:
config/Geyser-Forge/config.yml
- Paper/Spigot/Purpur:
-
Open
config.ymland find thebedrocksection:bedrock: address: 0.0.0.0 port: 19132 clone-remote-port: false -
The default Bedrock port is
19132. You may need to use the port assigned by Witchly. Check your server’s allocated ports in the dashboard — if an additional port has been assigned for Bedrock, use that port number. -
In the
remotesection, confirm these settings:remote: address: auto port: auto auth-type: floodgateSetting
auth-typetofloodgateenables Bedrock players to join without Java accounts.
Step 4: Configure Floodgate
-
Navigate to the Floodgate config:
- Paper/Spigot/Purpur:
plugins/floodgate/config.yml - Fabric/Forge:
config/floodgate/config.yml
- Paper/Spigot/Purpur:
-
Key settings:
# Prefix added to Bedrock player names to avoid conflicts with Java names username-prefix: "." # Whether to replace spaces in Bedrock names with underscores replace-spaces: trueThe
username-prefix(default.) is added to Bedrock player names. For example, a Bedrock player named “Steve” would appear as ”.Steve” on the server. You can change this to any character or leave it empty (not recommended as it can cause username conflicts).
Step 5: Set online-mode
For Floodgate to work properly, you need to adjust server.properties:
online-mode=false
Important: Setting online-mode=false means the server will not authenticate Java players against Mojang’s servers by default. To maintain security for Java players, install an authentication plugin.
If you are using Paper or a Paper fork, there is a better approach. In config/paper-global.yml (or paper.yml on older versions), you can enable:
proxies:
velocity:
enabled: false
bungee-cord:
online-mode: true
Alternatively, keep online-mode=true in server.properties if Geyser is running as a standalone proxy rather than a plugin.
Step 6: Start and Test
- Start your server.
- Check the console for Geyser and Floodgate startup messages. You should see something like:
[Geyser-Spigot] Started Geyser on 0.0.0.0:19132 - Connect with a Java Edition client using the normal server address.
- Connect with a Bedrock Edition client using the server address and the Bedrock port (default
19132or your assigned port).
Bedrock Players: How to Connect
Windows 10/11
- Open Minecraft Bedrock Edition.
- Go to Servers tab.
- Click Add Server.
- Enter the server address and the Bedrock port.
- Click Play.
Consoles (Xbox, PlayStation, Nintendo Switch)
Console editions do not natively support adding custom servers. Players need to use a workaround such as a DNS redirect tool (like BedrockConnect) or a LAN proxy.
Mobile (iOS/Android)
- Open Minecraft.
- Go to Play > Servers.
- Click Add Server.
- Enter the address and Bedrock port.
- Join the server.
Port Allocation
Crossplay requires an additional port for Bedrock connections (UDP). Your Witchly server comes with allocated ports — check your dashboard for the available port allocations. If you need an additional port for Bedrock, contact support on our Discord.
- Java clients connect on the TCP port (your main server port).
- Bedrock clients connect on the UDP port (the Geyser Bedrock port).
Common Issues
Bedrock players cannot connect
- Verify the Bedrock port is correct and matches the allocated port.
- Check that
auth-typeis set tofloodgatein Geyser’s config. - Make sure both Geyser and Floodgate are running (check console output).
”Unable to connect to world”
- The Bedrock port may be blocked. Verify your port allocation in the dashboard.
- Make sure you are using the correct address and port.
Bedrock players have no skin
This is a known limitation. Geyser does its best to translate skins, but some Bedrock skins may not display correctly on the Java server.
Permission issues with Bedrock players
Bedrock usernames include the prefix (e.g., .Steve). Make sure your permission plugins use the prefixed name when granting permissions.
Need Help?
For crossplay setup assistance, join our Discord.