Minecraft Java + Bedrock Crossplay with Geyser: Setup Guide
Set up Geyser for Minecraft Java and Bedrock crossplay. Let Bedrock players join your Java server.
Last updated: July 22, 2026
On this page
One of the most common questions in the Minecraft community is: “Can my friend on Bedrock join my Java server?” The answer is yes, and the tool that makes it possible is called Geyser.
What is Geyser? Geyser is an open-source proxy that translates Bedrock Edition protocol into Java Edition protocol. It allows players on Minecraft Bedrock (Windows 10/11, mobile, Xbox, PlayStation, Nintendo Switch) to connect to a Minecraft Java server without any modifications on the Bedrock client side.
This guide walks you through setting up Geyser on your Minecraft Java server so all your friends can play together regardless of what platform they are on.
Quick answer: To let Bedrock players join a Java server, install Geyser and Floodgate as plugins on your Paper or Spigot server, then open UDP port 19132. Geyser translates the Bedrock protocol to Java in real time; Floodgate lets Bedrock players join without a Java account. Many hosts ship both pre-configured.
How Geyser Works
Geyser sits between Bedrock players and your Java server, translating the Bedrock protocol into Java Edition format in real time. The Java server sees each Bedrock player as an ordinary Java player, so your existing world, plugins, and settings all keep working. It is a proxy layer, not a separate server.
Here is a simplified breakdown:
- Bedrock player connects to your server on port 19132 (Bedrock default)
- Geyser receives the Bedrock protocol data
- Geyser translates it into Java Edition protocol
- Your Java server processes the player as a Java player
- Server responses get translated back to Bedrock format
- Bedrock player sees everything in their native client
Important: Geyser is not a separate server. It is a plugin or proxy that runs alongside your existing Java server. You keep your existing world, plugins, and settings.
Prerequisites
Before setting up Geyser, make sure you have:
- A Minecraft Java Edition server running Paper, Spigot, or another Bukkit-based fork (Paper recommended)
- Server version 1.20.4 or later (for best compatibility)
- Access to your server files via SFTP or the management panel
- Port 19132 UDP available (for Bedrock connections)
Method 1: Geyser as a Plugin (Recommended)
The simplest way to add crossplay is running Geyser as a plugin inside your existing Paper or Spigot server, alongside the Floodgate companion plugin. Drop both JARs into the /plugins/ folder, restart, and Bedrock players can connect on port 19132 without needing a Java account. No separate machine or proxy is required.
Step 1: Download Geyser-Spigot
Download the latest Geyser-Spigot.jar from the official GeyserMC website:
- Go to geysermc.org
- Click “Download” and select “Geyser-Spigot”
- Save the .jar file
Step 2: Install the Plugin
- Connect to your server via SFTP or your panel’s file manager
- Navigate to the
/plugins/directory - Upload
Geyser-Spigot.jarto the plugins folder - Restart your server (not just reload)
Step 3: Install Floodgate
Floodgate is a companion plugin that allows Bedrock players to join without needing a Java Edition account.
- Download
Floodgate-Spigot.jarfrom geysermc.org - Upload it to the
/plugins/directory alongside Geyser - Restart the server again
What does Floodgate do? Without Floodgate, Bedrock players need to own a Java Edition account and link it through GeyserMC’s authentication system. With Floodgate, Bedrock players can join using only their Xbox/Microsoft account. Their in-game name will appear with a prefix (default is a period, like .BedrockPlayer).
Step 4: Configure Geyser
After the first restart with Geyser installed, a configuration file is generated. Open it at:
/plugins/Geyser-Spigot/config.yml
Key settings to review:
# The IP Bedrock players will connect to
bedrock:
# The port Bedrock players connect on
port: 19132
# Clone the Java server's MOTD
clone-remote-motd: true
remote:
# Where Geyser connects to your Java server
# For plugin mode, these defaults work
address: auto
port: auto
# Authentication type
auth-type: floodgate
The most important setting is auth-type: floodgate. This tells Geyser to use Floodgate for authentication so Bedrock players do not need Java accounts.
Step 5: Port Configuration
Geyser needs UDP port 19132 open for Bedrock connections. Your Java server uses TCP port 25565 (or your custom port).
If you are using a hosting provider: Most panels (including Pterodactyl) let you add additional ports. Add port 19132 with UDP protocol. On CraftRift, Geyser comes pre-configured and the port is already allocated.
If you are self-hosting: Add a firewall rule to allow UDP traffic on port 19132:
# Linux (ufw)
sudo ufw allow 19132/udp
# Linux (iptables)
sudo iptables -A INPUT -p udp --dport 19132 -j ACCEPT
Step 6: Restart and Test
- Restart your server
- Check the console for Geyser startup messages:
Geyser (Spigot) has started! - On a Bedrock client, add a server with your server’s IP and port 19132
- Connect and verify you can join
Method 2: Geyser as a Standalone Proxy
If you cannot install plugins on your server (for example, if you are connecting to a server you do not own), you can run Geyser as a standalone proxy on a separate machine.
- Download
Geyser-Standalone.jarfrom geysermc.org - Run it with:
java -Xms512M -Xmx512M -jar Geyser-Standalone.jar - Edit the generated
config.ymlto pointremote.addressto your Java server’s IP - Bedrock players connect to the proxy, which forwards traffic to the Java server
This method is more complex and adds an extra network hop, so it is only recommended when plugin installation is not possible.
Configuring Floodgate
Floodgate generates its own config file at /plugins/floodgate/config.yml. Key settings:
# Prefix for Bedrock player names
# This prevents name conflicts with Java players
username-prefix: "."
# Allow Bedrock players to link their accounts
# with Java accounts for unified identity
player-link:
enabled: true
# Allow Bedrock players to link via /linkaccount
allowed: true
The Username Prefix
By default, Bedrock player names appear with a dot prefix (e.g., .Steve). This prevents conflicts if a Java player has the same username. You can change the prefix to anything, but using an empty prefix is risky since it could cause permission and data conflicts.
Tip for server operators: If you use permission plugins (LuckPerms, etc.), make sure your permission setup handles prefixed names correctly. You may need to adjust regex-based permission matching.
Troubleshooting Common Issues
Bedrock Players Cannot Connect
Check the port: Make sure UDP port 19132 is open and forwarded. You can test with an online port checker.
Check the console: Look for error messages in your server console when a Bedrock player tries to connect. Common errors include:
- “Failed to bind to port” - Another process is using port 19132, or the port is not allocated
- “Unable to connect to downstream” - Geyser cannot reach your Java server
Xbox and Switch players: Console players cannot connect to custom servers directly by default. They need to use a DNS redirect method or BedrockConnect to join non-featured servers. This is a Minecraft Bedrock limitation, not a Geyser issue.
Bedrock Players See Broken Items or Textures
Some Java items and blocks do not have direct Bedrock equivalents. Geyser handles most translations automatically, but edge cases exist. Installing GeyserOptionalPack (a Bedrock resource pack) fixes most visual issues:
- Download GeyserOptionalPack from the GeyserMC resources page
- Players install it as a resource pack on their Bedrock client
- This adds missing textures and models
Skin Issues
Bedrock and Java use different skin systems. By default, Bedrock players appear with default skins on Java clients and vice versa. Floodgate handles basic skin translation, but custom skins may not transfer perfectly between editions.
Plugin Compatibility
Most plugins work with Bedrock players through Geyser, but some have issues:
- GUI-based plugins: Bedrock inventory handling differs from Java. Some custom inventory GUIs may not display correctly.
- Scoreboard plugins: Bedrock has different scoreboard limitations. Some scoreboard displays may render differently.
- World edit with Bedrock tools: Tool interactions are slightly different. Complex WorldEdit brush operations may not work perfectly from a Bedrock client.
The Geyser team maintains a compatibility list documenting known plugin issues and workarounds.
Performance Impact
Geyser’s protocol translation adds only a small CPU cost, from under 1% for a few Bedrock players to roughly 3-5% for 15 or more. It also uses about 50-150 MB of extra RAM. For most servers this overhead is negligible next to normal game-logic processing.
Benchmarks (approximate):
- 1-5 Bedrock players: <1% CPU overhead
- 5-15 Bedrock players: 1-3% CPU overhead
- 15+ Bedrock players: 3-5% CPU overhead
These numbers are approximate and depend on your hardware and player activity. Protocol translation is lightweight compared to game logic processing.
RAM usage: Geyser typically uses 50-150MB of additional RAM depending on the number of connected Bedrock players.
CraftRift: Crossplay Out of the Box
If you don’t want to deal with manual setup, CraftRift servers come with Geyser and Floodgate pre-installed and pre-configured. Bedrock players can connect immediately after your server is created. The Bedrock port (19132) is already allocated and open.
This means zero setup time for crossplay. Just share your server address with friends on any platform and start playing.
CraftRift plans start at $3/month with low-ping SEA nodes for low-latency gameplay across Southeast Asia.
Frequently Asked Questions
Can Bedrock and Java players see each other’s skins?
Partially. Floodgate translates basic skins, but custom skins (especially custom geometry skins on Bedrock) may not display correctly on the other edition. Both players will see each other, but skins might appear as the default Steve/Alex in some cases.
Does Geyser work with modded Minecraft servers?
Geyser works best with vanilla or lightly-modded servers. If your Java server uses Forge or Fabric mods that add custom items and blocks, Bedrock players will not see those custom additions. They may appear as placeholder items or be invisible. For vanilla gameplay with plugins, Geyser works excellently.
Is Geyser allowed by Mojang?
Geyser operates in a gray area. It is not officially endorsed or prohibited by Mojang. The project is open-source, widely used, and has been active for years without legal action. Many large servers use it to support their Bedrock player base.
Can console players (Xbox, PlayStation, Switch) join my server?
Yes, but not directly. Console editions of Bedrock do not have a “direct connect” option for custom servers. Players need to use workarounds like BedrockConnect (a DNS redirect service) or the “Add Server” trick via LAN settings. Search “BedrockConnect” for setup instructions specific to each console.
What Minecraft versions does Geyser support?
Geyser supports the latest stable release of both Java and Bedrock editions. The team typically updates within a few days of a new Minecraft release. Check the GeyserMC Discord or website for version compatibility when a new update drops.
CraftRift Admin
Founder of CraftRift
CraftRift Admin is a gamer based in Southeast Asia and the founder of CraftRift, writing about Minecraft server performance, hosting, and low-latency infrastructure for players across the region.
Related Articles
How to Set Up a Minecraft SMP Server for Friends: Complete Guide
Learn how to start your own Minecraft SMP server from scratch. Covers planning, hosting, essential plugins, spawn builds, rules templates, and growing your community.
guidesMinecraft Server Hosting for Philippines Players (2026)
Filipino players stuck at 180-250ms ping? Why US hosts lag in PH, what 40-70ms from SEA nodes feels like, and how to test before you pay.
guidesMinecraft Server Hosting in Singapore: The 2026 Guide
Why server location decides your ping when you play from Singapore, what to check before you buy, and how to test latency yourself before paying for hosting.
Free Tools You Might Need
Need Low-Ping Hosting?
CraftRift runs on low-ping SEA nodes. Fast ping across Southeast Asia, starting at $3/mo.