How to Let Bedrock Players Join Your Java Minecraft Server (Geyser Setup)
Guide

How to Let Bedrock Players Join Your Java Minecraft Server (Geyser Setup)

Enable crossplay on your Minecraft Java server so Bedrock players on console, mobile, and Windows 10 can join — using Geyser with one-click setup or manual config.

Swelis TeamApril 11, 202610 min read

Your friend just got Minecraft on their Nintendo Switch. You run a Java server. They try to connect, and nothing happens. No error, no timeout — just nothing. Welcome to the split-brain world of Minecraft editions.

Mojang sells two versions of the same game that cannot talk to each other out of the box. Java Edition runs on PC, Mac, and Linux. Bedrock Edition runs on consoles, phones, tablets, and Windows 10/11 (via the Microsoft Store version). They use different networking protocols, different world formats, and different feature sets. A Bedrock client connecting to a Java server is like plugging a USB cable into an HDMI port — the shapes do not match.

But there is a solution. GeyserMC is a proxy that translates Bedrock protocol into Java protocol in real time. Your Java server stays a Java server; Geyser just interprets incoming Bedrock connections so the server understands them. Combined with Floodgate (which handles authentication), Bedrock players can join your Java world using only their Microsoft account — no Java purchase required.

This guide covers what Geyser actually does, when it works well, when it does not, and how to set it up — either with one click on Swelis or manually on your own hardware.


Why Two Editions Exist (and Why They Cannot Talk)

Minecraft Java Edition launched in 2011 as the original PC release. It is written in Java, runs on the JVM, and has the largest modding community. Bedrock Edition came later as a C++ rewrite designed for cross-platform play between consoles, mobile devices, and Windows.

The two editions share the same core gameplay, but they differ in ways that matter:

AspectJava EditionBedrock Edition
LanguageJavaC++
PlatformsPC, Mac, LinuxConsole, mobile, Windows 10/11
Multiplayer protocolCustom TCPRakNet (UDP)
Redstone behaviorQuasi-connectivity, 0-tick pulsesMore predictable, fewer exploits
Combat1.9+ cooldown systemNo attack cooldown
ModdingForge, Fabric, NeoForgeAdd-ons, Marketplace
Account systemMojang/Microsoft (Java profile)Xbox Live / Microsoft

The protocol difference is the killer. Java servers speak one language; Bedrock clients speak another. Without a translator, they cannot communicate.


What Geyser Does (and What It Cannot Fix)

GeyserMC sits between your Bedrock players and your Java server. When a Bedrock client connects, Geyser intercepts the connection, translates each packet into its Java equivalent, and forwards it to the server. The server thinks it is talking to a Java client. Responses go back through Geyser, get translated into Bedrock format, and arrive at the player's Switch, phone, or Xbox.

This translation happens in real time for every action: movement, block placement, inventory interactions, chat, combat. It is impressively seamless for most gameplay.

What Geyser handles well:

  • Basic movement, building, and breaking blocks
  • Inventory and crafting (with minor UI differences)
  • Chat and commands
  • Most vanilla mobs and items
  • Joining servers that use plugins like EssentialsX, LuckPerms, or WorldGuard

What Geyser cannot fully fix:

  • Combat timing. Java Edition has the 1.9 attack cooldown; Bedrock does not. Bedrock players can spam-click, but the server still applies cooldowns. This creates a mismatch in PvP.
  • Redstone. Java redstone has quirks (quasi-connectivity, 0-tick pistons) that Bedrock does not replicate. Complex contraptions may behave differently or break.
  • Custom resource packs. Java resource packs do not automatically convert. Bedrock players may see missing textures or default blocks unless you provide a Bedrock-compatible pack.
  • Some modded content. If your server runs Forge or Fabric mods that add custom blocks or entities, Geyser may not know how to represent them. Vanilla and lightly modded servers work best.
  • Certain UI elements. Bedrock has a different inventory system. Actions like anvil naming or book signing may feel slightly off.

Geyser is not magic — it is a protocol translator. It works remarkably well within its constraints, but expecting a pixel-perfect Java experience on Bedrock will lead to disappointment.


One-Click Geyser on Swelis

If your server runs on Swelis, enabling Geyser takes about thirty seconds.

  1. Open your server in the Swelis control panel.
  2. Navigate to the Server tab.
  3. Find the Add Bedrock Support button and hit it.
  4. Click Confirm. The panel allocates a UDP port for Bedrock connections, installs Geyser and Floodgate, and restarts your server automatically.

When the server comes back up, you will see a new Bedrock connection address in your dashboard — something like play.yourserver.com:19132 (the default Bedrock port) or a custom port if 19132 was unavailable. Give this address to your Bedrock friends.

That is the entire process. No plugin downloads, no config editing, no port forwarding. The platform handles the UDP allocation and firewall rules for you. If you have not set up a server yet, the 2-minute setup guide covers the basics.

What Happens Behind the Scenes

When you flip the toggle, Swelis:

  • Downloads the latest Geyser and Floodgate builds compatible with your server software (Paper, Purpur, Fabric, etc.)
  • Places them in your plugins or mods folder
  • Generates default configs with sane values
  • Opens a UDP port on the platform's firewall for incoming Bedrock traffic
  • Restarts the server to load the new plugins

You can still access the Geyser config files via the file manager or FTP if you want to tweak settings — username prefixes, skin behavior, or connection messages. But for most servers, the defaults work fine.


Manual Geyser Setup for Self-Hosters

If you run your own hardware or a VPS, you will need to install Geyser yourself. The process is straightforward but requires a few more steps.

Step 1: Download Geyser and Floodgate

Go to geysermc.org/download and grab the correct Geyser build for your server software:

  • Geyser-Spigot for Paper, Purpur, Spigot, or other Bukkit-based servers
  • Geyser-Fabric for Fabric servers
  • Geyser-NeoForge for NeoForge servers
  • Geyser-Velocity or Geyser-BungeeCord for proxy networks

Download the matching Floodgate version as well. Floodgate allows Bedrock players to authenticate with their Xbox Live account instead of requiring a Java account.

Step 2: Install the Plugins

Place both JAR files (Geyser and Floodgate) into your server's plugins folder (or mods folder for Fabric/NeoForge). Restart the server. Geyser will generate its config files on first boot.

Step 3: Configure the Bedrock Port

Open plugins/Geyser-Spigot/config.yml (or the equivalent path for your platform). The key settings:

bedrock:
  address: 0.0.0.0
  port: 19132
  clone-remote-port: false

The default Bedrock port is 19132. If another service uses that port, pick a different one. Make sure your firewall allows UDP traffic on this port — Bedrock uses UDP, not TCP.

Step 4: Open the Port

On most Linux servers, this means adding a firewall rule:

# UFW (Ubuntu/Debian)
sudo ufw allow 19132/udp

# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=19132/udp
sudo firewall-cmd --reload

If you are behind a home router, you will also need to forward UDP port 19132 to your server's local IP. The port forwarding guide covers router configuration in detail, though for game servers, hosted solutions avoid this hassle entirely.

Step 5: Test the Connection

Restart your server. On a Bedrock client, go to Play > Servers > Add Server and enter your server's IP address and the Bedrock port (e.g., play.yourserver.com:19132). If everything is configured correctly, you should connect and see the Java world.

Running Geyser on a Proxy Network

If you use Velocity or BungeeCord to connect multiple backend servers, install Geyser on the proxy, not the backend servers. Install Floodgate on both the proxy and every backend server so player data stays consistent.

For Velocity, your forwarding-secret must match between Velocity and your backend servers, and Floodgate's keys must be synced. The GeyserMC wiki has detailed instructions for proxy setups.


Common Crossplay Gotchas

Even with Geyser running smoothly, a few issues catch server admins off guard.

Skin Display

Java and Bedrock handle skins differently. By default, Bedrock players may appear as Steve or Alex to Java players, and vice versa. Geyser attempts to translate skins, but custom Bedrock skins (especially those from the Marketplace) may not display correctly on the Java side.

If consistent skins matter to your community, consider using a plugin like SkinsRestorer that stores skins server-side.

Username Prefixes

Floodgate adds a prefix (default .) to Bedrock usernames to avoid collisions with Java accounts. A Bedrock player named "Steve" becomes ".Steve" on the server. This affects permissions, whitelists, and any plugin that references player names.

You can change the prefix in Floodgate's config, but you cannot remove it entirely — some disambiguation is necessary to prevent impersonation.

Combat Differences

Java's 1.9 combat requires timing your attacks for maximum damage. Bedrock has no cooldown; you can swing as fast as you click. Geyser does not change this — the server still enforces Java combat rules. Bedrock players may feel like their attacks are weak because they are hitting during the cooldown window.

For survival PvE, this rarely matters. For competitive PvP, it creates an imbalance. Some servers install plugins that revert to pre-1.9 combat to level the playing field.

Redstone Contraptions

If your server features complex redstone, expect some machines to behave differently for Bedrock players — or to break entirely. Quasi-connectivity and 0-tick exploits are Java-specific. There is no fix; this is a fundamental difference in how the editions simulate redstone.

Forms and UI Plugins

Plugins that use custom GUIs (like chest-based menus) generally work. But plugins that rely on Java-specific UI elements — book editing, sign text entry, or anvil naming — may feel awkward on Bedrock. Test your server's key features from a Bedrock client before advertising crossplay support.

Performance Overhead

Geyser adds CPU overhead because it translates every packet. On a moderately sized server (20-40 players, mixed Java and Bedrock), this is usually negligible. On larger servers or underpowered hardware, monitor your resource usage. The lag troubleshooting guide covers performance diagnostics, and the RAM guide helps you right-size your allocation.


When Geyser Is (and Is Not) the Right Choice

Geyser shines when:

  • Friends or family play on different platforms and want to share a world
  • You run a casual survival or creative server where edge-case redstone is not critical
  • You want to expand your player base without running a separate Bedrock server

Geyser is not ideal when:

  • You run a competitive PvP server where combat timing matters
  • Your server relies heavily on complex redstone or technical Minecraft mechanics
  • You use mods that add many custom blocks, items, or entities

For most community servers — SMPs, small networks, friend groups — Geyser works well. If your server needs pixel-perfect parity or competitive balance, consider whether the tradeoffs are acceptable.


Quick Reference

TaskDetails
What Geyser doesTranslates Bedrock protocol to Java protocol in real time
What Floodgate doesLets Bedrock players authenticate with Xbox Live instead of a Java account
Default Bedrock port19132 (UDP)
Swelis setupSettings tab > enable Geyser toggle > save
Manual setupDownload Geyser + Floodgate > install as plugin/mod > open UDP port > restart
Username prefixBedrock names get a prefix (default .) to avoid collisions
Combat behaviorJava cooldowns apply; Bedrock players may feel underpowered in PvP
Redstone behaviorJava-specific quirks do not translate; complex machines may break

Ready to Start Your Adventure?

Join lots of users already enjoying lag-free hosting.

Launch Your Server
Swelis Hosting

Premium Minecraft server hosting starting at €1.50/GB RAM. Experience lightning-fast performance, 24/7 support, and 99.9% uptime guarantee.

© 2026 Swelis International e.U. All rights reserved.