Geyser lets Bedrock Edition players join a Java Edition Minecraft server. Floodgate is normally installed with it so Bedrock players can join without needing a Java Edition account. If you do not already have a server, you can get Minecraft server hosting from our website.
Choose Geyser and Floodgate builds that match your server software. Paper, Purpur and Spigot use plugins; Fabric and NeoForge use mods. Check Geyser's supported versions first, especially for older Minecraft versions. Fabric/NeoForge builds are version-specific, and mods that require a Java client installation are not automatically compatible with Bedrock.
Before you start
- Open your Minecraft server in the control panel.
- Stop the server and take a backup before changing files.
- Check which server software and Minecraft version you are running before choosing the downloads.
If you are setting up a plugin server, open Versions and choose Paper and the Minecraft version you need. You do not need to switch an existing Fabric or NeoForge server to Paper to use its matching Geyser mod.
Leave Delete files unchecked unless you intend to wipe the server.

Check your Bedrock port
Open Network and choose an unused extra allocation, or click Create Allocation if you need one. For the built-in NetherNet setup below, that port must accept TCP for signalling and UDP for gameplay. Use a different allocation from Java's primary port: Java already uses its TCP port, so Geyser cannot run built-in signalling there. Do not share it with voice chat, a web map or another service.

Download Geyser and Floodgate
The Spigot downloads below are for Paper, Purpur and Spigot. For Fabric or NeoForge, select that platform on the download page for both Geyser and Floodgate instead. Fabric also needs Fabric API. If you already have Geyser installed, update it before changing the config.
- Download the Geyser Spigot plugin from the GeyserMC download page.
- Download the Floodgate Spigot plugin from the same download page.
- You can also use the direct download links for Geyser and Floodgate.
- Keep both files as
.jarfiles. Do not extract them.
Upload the files
These steps and the screenshot show the Paper/Spigot installation. On Fabric or NeoForge, upload the matching mod jars to mods instead of plugins. Do not put the Spigot plugins in a mod server's mods folder.
- Open Files in the control panel.
- Open the
pluginsfolder. - Upload
Geyser-Spigot.jarandfloodgate-spigot.jarinto thepluginsfolder.

Find and edit your Geyser config
Start the server once to let Geyser and Floodgate create their files, wait for it to finish loading, then stop it before editing. The config folder depends on which Geyser build you installed:
| Server software | Jar folder | Geyser config file |
|---|---|---|
| Paper / Purpur / Spigot | plugins | plugins/Geyser-Spigot/config.yml |
| Fabric | mods | config/Geyser-Fabric/config.yml |
| NeoForge | mods | config/Geyser-NeoForge/config.yml |
| Velocity | plugins | plugins/Geyser-Velocity/config.yml |
| BungeeCord | plugins | plugins/Geyser-BungeeCord/config.yml |
For Velocity or BungeeCord, install Geyser on the proxy and use the proxy's config path, not a backend server's folder. The official setup guide covers proxy and standalone installations.
In your existing config.yml, update these entries under bedrock: and java:, adding missing entries if needed. Keep the other settings and the indentation. Do not paste in a second bedrock or java section or replace the entire file with this extract.
bedrock:
address: 0.0.0.0
port: 27147
clone-remote-port: false
transport: nethernet
webrtc-port: 0
signaling:
mode: builtin
port: 0
java:
auth-type: floodgate
Replace 27147 with the unused TCP/UDP allocation from Network. Bedrock players will use that allocation's IP address and port. Keep clone-remote-port: false so Geyser does not copy Java's port.
transport: nethernet enables the new connection method. signaling.mode: builtin runs signalling in Geyser. The two 0 values make the WebRTC and signalling ports follow bedrock.port, so this example uses one extra port number for both TCP and UDP. Set java.auth-type to floodgate only after installing Floodgate.
If you cannot get a separate TCP/UDP port, ask us to check your allocations. External signalling (NXS, such as Warden) is another option described in Geyser's setup guide. With that option, players must use the Bedrock address and port printed in the console rather than assuming the normal Java address will work.
Start and test the server
- Save the config file.
- Start your server again.
- Check the console for Geyser and Floodgate startup messages.
- Java Edition players should keep using your normal server address or subdomain.
- Bedrock Edition players should use the IP address and port from the extra Network allocation. The panel subdomain only points to your primary allocation.
With plain HTTP signalling, Bedrock may show a first-connection trust prompt. Geyser's HTTPS guide explains how to avoid it with HTTPS.
If Bedrock cannot connect, check the console for NetherNet or Floodgate errors and confirm that the extra port is reachable over both TCP and UDP. A message about Java already using the signalling port means the ports still overlap. If you need help, submit a support ticket with the console message and the extra allocation you chose.