How to Let Bedrock Players Join Your Java Minecraft Server with Geyser and Floodgate

Install GeyserMC and Floodgate on your Minecraft Java server so Bedrock Edition players (Mobile, Console, Windows 10/11) can join — with auth bypass and no Java account required.

Geyser + Floodgate is the standard combo for letting Bedrock Edition players (mobile, console, Windows 10/11) join your Java Edition server without owning a Java account. Geyser translates the Bedrock protocol to Java in real time. Floodgate handles authentication so Bedrock players don't need a Java login.

This is the only practical way to run a cross-platform server today, and it works on Spigot, Paper, BungeeCord, Velocity, Fabric, NeoForge, and standalone.

How It Works

┌──────────────────┐                           ┌──────────────┐
│ Bedrock player   │                           │   Java       │
│ (mobile/console) │ ──── port 19132 (UDP) ──► │   server     │
└──────────────────┘                           │  + Geyser    │
                                               │  + Floodgate │
┌──────────────────┐                           │              │
│  Java player     │ ──── port 25565 (TCP) ──► │              │
│   (PC)           │                           │              │
└──────────────────┘                           └──────────────┘
  • Geyser is a protocol translator — Bedrock packets in, Java packets out
  • Floodgate lets Bedrock players authenticate without a Mojang account
  • Both run as plugins on your Java server (no separate proxy needed)

What You Get

FeatureWorks?
Bedrock players join Java server
Cross-platform PvP / PvE
Bedrock players see Java skins
Java players see Bedrock skins
Most Java plugins (EssentialsX, LuckPerms, etc.)
Resource packs✅ (with conversion)
Modded servers (Forge mods)⚠️ Limited — depends on the mod
Custom command blocks / vanilla commands
Bedrock-specific UI elements✅ via Geyser forms

Install Geyser and Floodgate

Download both plugins

Get the latest builds from geysermc.org/download. Pick the Geyser AND Floodgate builds for your platform:

PlatformGeyser fileFloodgate file
Spigot / PaperGeyser-Spigot.jarfloodgate-spigot.jar
BungeeCordGeyser-BungeeCord.jarfloodgate-bungee.jar
VelocityGeyser-Velocity.jarfloodgate-velocity.jar
FabricGeyser-Fabric.jarfloodgate-fabric.jar
NeoForgeGeyser-NeoForge.jarfloodgate-neoforge.jar
StandaloneGeyser-Standalone.jarfloodgate-standalone.jar

Always install both. Geyser without Floodgate forces Bedrock players to have a Java account — defeating the point.

Stop the server

In the XGamingServer Panel, open Console and stop your server.

Upload to plugins/ or mods/

Click Files in the sidebar. Upload both JARs to plugins/ (or mods/ for Fabric/NeoForge).

Add the Bedrock port to Network

Click Network in the sidebar. Click Create Allocation and add port 19132 as a UDP allocation. Bedrock uses UDP, not TCP — make sure it's UDP.

Important: If your panel doesn't allow setting protocol manually, the default allocation is usually TCP. Open a support ticket to add a UDP allocation if needed.

Start the server

Start from Console. Geyser and Floodgate generate their config files and bind to port 19132.

Verify

In Console:

plugins

Both Geyser-Spigot (or your platform) and floodgate should appear in green. You should also see:

[Geyser] Started Geyser on 0.0.0.0:19132

Connection Details for Players

Share these with your community:

Player platformServerPort
Java Edition (PC)Your IPYour Java port (e.g., 25565)
Bedrock — Mobile / TabletYour IP19132
Bedrock — Windows 10/11Your IP19132
Bedrock — Xbox / PlayStation / SwitchYour IP19132 (see notes below)

Console-Specific Caveats

  • Xbox: console-edition Bedrock doesn't allow direct IP entry. Players need BedrockConnect or MCXboxBroadcast to connect.
  • PlayStation: same as Xbox. Use BedrockConnect.
  • Switch: same. BedrockConnect required.

For Switch/PS/Xbox, install MCXboxBroadcast on your server to make it appear as a Bedrock featured server.

Configure Geyser

Main config: plugins/Geyser-Spigot/config.yml (path varies by platform).

Key Settings

bedrock:
  port: 19132
  motd1: "My Cross-Platform Server"
  motd2: "Bedrock + Java"
  server-name: "MyServer"

remote:
  address: auto
  port: auto
  auth-type: floodgate

show-cooldown: title
emote-offhand-workaround: disabled
SettingDescription
bedrock.portPort for Bedrock connections (must match Network allocation)
bedrock.motd1Server name shown in Bedrock server list
remote.addressJava server address (auto = same machine)
remote.portJava server port (auto = read from server.properties)
auth-typeMust be floodgate when using Floodgate

Floodgate Username Prefix

By default, Bedrock players have a . prefix on their username (e.g., .SteveBedrock) to distinguish them from Java players. To change or remove:

In plugins/floodgate/config.yml:

username-prefix: "."

Set to "" (empty string) to remove the prefix entirely. Warning: removing the prefix can cause name collisions if a Java player has the same username.

Resource Packs

Java resource packs don't work directly on Bedrock. Geyser supports converted packs:

  1. Convert your Java pack with GeyserPack Converter
  2. Drop the .mcpack into plugins/Geyser-Spigot/packs/
  3. Restart — Bedrock players auto-download the pack on join

Plugin Compatibility

PluginWorks with Geyser?
EssentialsX
LuckPerms
WorldEdit / WorldGuard
ProtocolLib
Most chat plugins
Custom GUIs (anvil-based)⚠️ Use Geyser forms instead
Resource pack-based GUIs⚠️ Need Bedrock-compatible pack
Anti-cheat plugins⚠️ May false-positive Bedrock movement
Custom items via NBT⚠️ Limited

For best results, use plugins explicitly designed for cross-platform.

BungeeCord / Velocity Setup

If you have a proxy network, install Geyser and Floodgate on the proxy, not the backends:

  1. Use Geyser-BungeeCord.jar or Geyser-Velocity.jar
  2. Use floodgate-bungee.jar or floodgate-velocity.jar
  3. Backend servers also need floodgate-spigot.jar (with the same key file)
  4. Copy key.pem from proxy's plugins/floodgate/ to each backend's plugins/floodgate/

This lets the proxy translate Bedrock once, and backends accept Floodgate-authenticated players.

Common Issues

ProblemFix
Bedrock players can't see the serverPort 19132 not allocated, or wrong UDP/TCP
"Could not connect" on BedrockServer offline, wrong port, or ISP blocking UDP
Bedrock players can connect but immediately disconnectauth-type not set to floodgate
Bedrock players need Java accountFloodgate not installed
Anti-cheat kicks Bedrock playersWhitelist Bedrock players, or disable strict checks
Skins don't loadGeyser API rate limit — wait or restart
Bedrock players appear as "."That's the prefix — change in Floodgate config
Console players can't connectConsole needs BedrockConnect or MCXboxBroadcast

Common Mistakes

MistakeFix
Installing Geyser without FloodgateBedrock players forced to use Java accounts
Allocating port 19132 as TCPBedrock uses UDP — allocate as UDP
Forgetting to restart after installGeyser binds at startup
Setting auth-type: online instead of floodgateDefeats Floodgate — Bedrock won't auth
Using Geyser-Standalone when running SpigotUse Geyser-Spigot instead
Sharing only the Java portBedrock uses 19132 — share both

How is this guide?

40% Off — Limited TimeGet your Minecraft server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page