Skip to main content

Bedrock Crossplay

GeyserMC allows players on Bedrock Edition (mobile, console, Windows 10/11) to join your Java Edition server. This opens your server to a much wider audience.

How Geyser Works

Geyser acts as a translator between Bedrock and Java Edition:
Bedrock Player ──► Geyser ──► Java Server
(Mobile, Xbox,     (Translates
Console, Win10)    protocols)
Geyser translates protocols, but some differences remain. Bedrock players may experience minor visual or gameplay differences.

Requirements

  • Java server running Paper, Spigot, Fabric, or similar
  • Server port for Bedrock connections (default: 19132, UDP)
  • Floodgate (optional but recommended) for Bedrock authentication

Installation Methods

The simplest method for Paper/Spigot servers.
1

Download Geyser

Download Geyser-Spigot from the official site.
2

Upload to Plugins

Place Geyser-Spigot.jar in your /plugins folder.
3

Restart Server

Restart your server to generate config files.
4

Configure Port

Open /plugins/Geyser-Spigot/config.yml and note the port:
bedrock:
  port: 19132

Configuration

Basic Settings

Open your Geyser config file (config.yml):
bedrock:
  # Address to listen on (0.0.0.0 for all)
  address: 0.0.0.0
  # Port for Bedrock connections
  port: 19132
  # Clone the Java server's MOTD
  clone-remote-motd: true

remote:
  # Java server address (localhost if same server)
  address: auto
  # Java server port
  port: 25565
  # Authentication type
  auth-type: online

# Allow Bedrock players without Java accounts (requires Floodgate)
floodgate-key-file: key.pem

Important Settings

SettingDescriptionRecommended
bedrock.portPort for Bedrock players19132 (default)
auth-typeHow Bedrock players authenticatefloodgate with Floodgate plugin
clone-remote-motdCopy Java MOTD to Bedrocktrue
clone-remote-portNot usually neededfalse

Installing Floodgate

Floodgate allows Bedrock players to join without needing a Java account.
1

Download Floodgate

Download Floodgate matching your platform (Spigot, Velocity, etc.).
2

Upload to Plugins

Place the Floodgate jar in your plugins folder (same location as Geyser).
3

Restart

Restart your server.
4

Configure Geyser

Set auth-type to floodgate in Geyser’s config:
remote:
  auth-type: floodgate
5

Restart Again

Restart to apply changes.

Bedrock Player Prefix

By default, Floodgate adds a prefix to Bedrock usernames (. by default):
# floodgate config.yml
username-prefix: "."
This prevents name conflicts between Java and Bedrock players with the same name.

Testing the Connection

From PC (Bedrock)

1

Open Minecraft

Launch Minecraft for Windows (Bedrock Edition).
2

Add Server

Go to PlayServersAdd Server.
3

Enter Details

  • Server Name: Your server name
  • Server Address: Your server IP
  • Port: 19132 (or your configured port)
4

Connect

Save and join!

From Mobile

Same process—add an external server with your IP and Bedrock port.

From Console (Xbox/PlayStation/Switch)

Consoles can’t directly add custom servers. Use workarounds:
DNS redirect method:
  1. Set console DNS to: 104.238.130.180
  2. Launch Minecraft
  3. Click any featured server
  4. You’ll see a server list to add custom servers

Verify Connection

Use this console command to test connectivity:
/geyser connectiontest <your-ip> 19132

Troubleshooting

Bedrock players can’t connect

Geyser uses UDP port 19132, not TCP. Ensure your firewall allows UDP traffic.Check with:
/geyser connectiontest <ip> <port>
Verify the port in Geyser config matches what players are using.
Some plugins conflict with Geyser. Try removing plugins to identify conflicts.
Geyser supports specific version ranges. Check GeyserMC for compatibility.

”Unable to connect to world”

If using auth-type: online, Bedrock players need linked Java accounts. Use Floodgate instead.
If using ViaVersion, ensure all clients use a supported version.

Bedrock players seeing incorrect items/blocks

Geyser can’t perfectly translate all Java features. Some limitations:
  • Custom items may appear as placeholder items
  • Some custom blocks render differently
  • Certain particle effects differ
Solutions:
  • Use GeyserOptionalPack for better item mapping
  • Some plugins offer Bedrock-specific resource packs

Authentication errors

If Bedrock players see “Disconnected from server”:
  1. Ensure Floodgate is installed and working
  2. Check that auth-type: floodgate is set
  3. Verify Floodgate’s key.pem exists
  4. On proxies, install Floodgate on both proxy and backend servers

Account Linking

Players can link their Bedrock and Java accounts for unified profiles:

Using Global Linking

1

Bedrock Player Runs Command

On your server, the Bedrock player types:
/linkaccount
2

Get Link Code

They’ll receive a code to enter on link.geysermc.org.
3

Complete Link

Follow the website instructions to link accounts.

Using Local Linking

For server-specific linking, install a linking plugin like FloodgateLink.

Performance Considerations

Geyser adds some overhead:
ConcernSolution
Memory usageAllocate ~200-300MB extra RAM
CPU usageUsually minimal impact
BandwidthSlightly higher due to translation
For servers with many Bedrock players, consider:
  • Using Geyser on a proxy
  • Running Geyser as a standalone application on a separate server

Geyser Commands

CommandDescription
/geyser helpShow all commands
/geyser versionShow Geyser version
/geyser reloadReload configuration
/geyser connectiontest <ip> <port>Test connection
/geyser statisticsShow connection stats
/geyser offhandSwap offhand (for Bedrock)

Bedrock Limitations

Some Java features don’t translate perfectly:
FeatureBedrock Behavior
Dual wieldingLimited support
Custom enchantmentsMay not display
Custom items (plugins)Placeholder items
Attack cooldownRemoved in Bedrock
Hardcore modeVisual only
Spectator modeLimited features
Some redstoneMinor differences
For the best experience, test your server from a Bedrock client regularly to understand the player experience.

Next Steps