Tutorials • 9 min read • 225 views

Geyser: Let Bedrock Players Join Your Java Minecraft Server

Install Geyser and Floodgate on a Paper server, set the port, connect phones and consoles: the complete cross-play guide for your Minecraft server.

S

• Updated

Introduction

You have a Minecraft Java server, and half your friends play on phone, on Switch or on Xbox. By default, these two worlds don't talk to each other: a Bedrock player can't join a Java server, and vice versa. Geyser solves exactly this problem. It's a free plugin that translates the Bedrock protocol into the Java protocol in real time, so everyone can play together on the same server, in the same world, without anyone having to change edition. This guide shows you how to install it on a SERV-Minecraft server, how to configure it properly, and how to avoid the classic pitfalls (port, accounts, consoles).

Native Bedrock server or Geyser: which one to choose?

Before installing anything, there's a question worth asking. At SERV-Minecraft, when you place your order, you choose between a Java server and a Bedrock server. If all your players are on Bedrock (phones, consoles, Windows 10/11 Bedrock edition), a native Minecraft Bedrock server is simpler: nothing to install, nothing to translate, no limitations. Geyser only makes sense if you want to mix the two audiences on a crossplay Java server, with its plugins, its datapacks and its ecosystem.

CriterionNative Bedrock serverJava server + Geyser
Players acceptedBedrock onlyJava and Bedrock together
Plugins (Paper, Spigot)No (Bedrock add-ons only)Yes, the whole Java ecosystem
InstallationNone2 files to drop in, 1 port to request, 1 config to edit
Fidelity of the game on Bedrock sidePerfectVery good, a few details translated approximately
Recommended planStart (3.99 €)Plugins (8.99 €) or higher

For the rest of this guide, we'll go with the most requested case: a Java server running Paper, that needs to welcome Bedrock players.

What you'll need

  • A Java server running Paper or Purpur. Geyser installs as a plugin, so a pure Vanilla server won't work (it doesn't load plugins). If you're starting from scratch, our guide on creating a Minecraft server covers moving to Paper.
  • Some RAM in reserve. Geyser and Floodgate together use between 500 MB and 1 GB depending on the number of connected Bedrock players. The Plugins plan (12 GB) is a good starting point; the Start plan (6 GB) works for a small group, but without much headroom for other plugins.
  • An up to date server. Geyser follows Bedrock versions very closely: Mojang releases a Bedrock update, Geyser releases its own within the following days. A Geyser that's one version behind refuses new clients. Get into the habit of updating it.

Step 1: download Geyser and Floodgate

Everything is on the project's official website, downloads section (geysermc.org). Two files matter to you:

  • Geyser-Spigot.jar: the protocol translator itself, in its "Spigot" version (it works on Paper and Purpur).
  • floodgate-spigot.jar: Geyser's companion. Without it, a Bedrock player also needs a Java account to connect. With it, a Microsoft Bedrock account is enough, and the server can stay in online-mode=true, which protects your Java players from name impersonation.

Always take the most recent version of both, at the same time: a recent Geyser with an old Floodgate causes errors at startup.

Step 2: drop the two files into the plugins folder

  1. Open your server in the SERV-Minecraft panel, Files tab.
  2. Go into the plugins folder (create it if it doesn't exist yet, which is the case on a server that just moved to Paper and has never started).
  3. Click Upload a file, select both .jar files and confirm. The upload happens from your browser, no software needed.
  4. If your files are large or you'd rather use a client like FileZilla, the panel's Advanced tab gives you your SFTP credentials.

Then restart the server from the console. On first launch, Geyser and Floodgate each create their own configuration folder inside plugins/. In the console, you should see a line similar to this one:

[Geyser-Spigot] Started Geyser on 0.0.0.0:19132
[floodgate] Floodgate has been enabled

Don't connect yet: the announced port (19132) isn't the right one on a shared hosting setup, which is the subject of the next step.

Step 3: setting the port (the step everyone gets wrong)

By default, Geyser listens on port 19132, the standard Minecraft Bedrock port. On a hosted server, this port isn't yours: Geyser needs a port of its own, on top of the Java server's port. You request it in the panel: server console, Advanced tab, Extra ports section, Request a port button. It shows up a few minutes later (for example 25601), and you also get it by email.

Open plugins/Geyser-Spigot/config.yml from the panel's file editor and edit these lines:

bedrock:
  address: 0.0.0.0
  port: 25601          # replace with the port from the Advanced tab
  clone-remote-port: false

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

Three points to remember:

  • clone-remote-port: false: Geyser listens on the port set just above, the one from the Advanced tab, not on the Java server's port.
  • auth-type: floodgate enables connecting with a simple Bedrock account. Without Floodgate, set it to online: each Bedrock player will then need to connect with a Java Microsoft account.
  • Leave remote.address: auto: Geyser runs in the same process as Paper, it finds it on its own.

Save, restart. The console should now show Started Geyser on 0.0.0.0:25601 (with your port). Don't touch online-mode in server.properties: with Floodgate, it stays on true.

Step 4: connecting from Bedrock

On Windows, Android and iOS: Servers tab, Add Server, then your server's address and, in the port field, the one from step 3 (not the Java server's port). The player's name appears on the server side with a dot in front (.Username): that's the Floodgate prefix, which guarantees that a Bedrock player can't impersonate a Java player with the same name.

On consoles (Switch, PlayStation, Xbox), the game doesn't allow adding a custom server. Two workarounds exist, both outside your server:

  • BedrockConnect: in the console's network settings, you replace the primary DNS with that of a BedrockConnect server (addresses published on the project's website). The game's "featured" servers then show a list where you enter your own server's address and port. This is the most commonly used method.
  • LAN sharing from a phone or PC already connected to the server, more of a workaround, best kept for troubleshooting.

Explain this to your console players from the start: it isn't a limitation of your server, it's a restriction of the console edition.

Step 5: the settings that make a difference

Whitelist and permissions

With the prefix, a Bedrock player is called .Username everywhere: in the whitelist, in permissions, in op commands. The command /whitelist add .Username works, but only once the player has connected at least once (the server needs to know their identifier). You can change the prefix in plugins/floodgate/config.yml (the username-prefix key), but keep one: removing it opens the door to duplicate usernames.

Older Java versions

Geyser always connects Bedrock clients to the server's latest version. To also accept Java players who stayed on an older version, add the ViaVersion plugin. Both coexist without any special setup.

Skins, forms, emotes

Floodgate passes the Bedrock skin to the server, including custom skins, with a slight delay on first connection. Plugin inventory menus (shops, kits) are translated by Geyser into Bedrock forms; the result is clean in the vast majority of cases. What doesn't come through: Forge or Fabric mods that add blocks or items, invisible to a Bedrock client. Geyser also exists in a mod version for these servers, but the experience remains degraded as soon as the pack adds content; for a modded server, assume your audience is on Java.

Troubleshooting: the errors you see all the time

"Unable to connect to world"

In 9 cases out of 10, it's the port. Check the Started Geyser on line in the console: if it still shows 19132, step 3 wasn't applied (file not saved, or server not restarted). Also check that the player entered Geyser's port (not the Java server's) in the dedicated field, and not after the address.

"Outdated version" or immediate disconnection

The Bedrock client was just updated and your Geyser doesn't know this version yet. Download the latest Geyser-Spigot.jar, replace the old one in plugins/, restart. On an active server, plan for this every time Bedrock updates: they happen often.

The player joins, then gets kicked with an authentication message

Most often, Floodgate isn't loaded (file missing or incompatible version) while auth-type is set to floodgate. Look at the first lines of the console at startup: a red error mentioning floodgate points to a mismatched version. Grab both files up to date together.

Lag only for Bedrock players

Geyser encodes chunks for each Bedrock player, which costs CPU when the view distance is high. Lower view-distance to 8 or 10 in server.properties, and apply the settings from our guide on optimizing your Minecraft server: they benefit both editions.

How many Bedrock players can a server handle?

On the Plugins plan (12 GB), a well configured Paper server comfortably handles 30 to 60 players, and the share of Bedrock players changes little as long as the view distance stays reasonable. Geyser's extra cost is mostly felt in RAM (plan for 1 GB more in your calculations) and when players connect, the moment it translates the world all at once. If your community goes past around fifty simultaneous players, the Modpack plan (32 GB) gives you the headroom you need, plus priority support. Switching from one plan to another is done from the panel, without losing the world.

FAQ

Is Geyser paid?

No. Geyser and Floodgate are open source projects, free, maintained by a team of volunteers. There's nothing to buy, either from them or from us: the Plugins plan at 8.99 € per month, with no commitment, is enough for a cross-play server.

Will my Java players notice a difference?

None. Geyser only steps in for Bedrock connections. The server stays a regular Java server, with its usual plugins and performance. The only visible thing is the dot in front of Bedrock players' usernames.

Do you need a Java account to play from Bedrock?

With Floodgate, no: a Microsoft Bedrock account is enough. Without Floodgate (auth-type set to online), yes, each Bedrock player must connect with a Java account on first launch.

Does it work with a Forge or Fabric modded server?

Technically, Geyser exists in a mod version. In practice, everything the mods add (blocks, items, interfaces) doesn't exist on the Bedrock side and displays poorly or not at all. For a modded server, assume your players are on Java.

Can I install Geyser on my native Bedrock server?

That wouldn't make sense: a Bedrock server already accepts Bedrock players. Geyser is meant to open a Java server to Bedrock players, not the other way around. If you want to welcome both audiences, you need a Java server.

In summary

Two files in plugins/, one port requested in the Advanced tab and set in Geyser's config, one restart: your Java server accepts Bedrock players, with their usual account and their skin. Keep Geyser up to date, explain the DNS trick to your console players, and keep an eye on RAM as the server fills up. If you don't have a server yet, the Plugins plan is ready for it: order at https://panel.serv-minecraft.fr/commander, the server is live within minutes, and you can follow this guide right away.

Put it into practice

Launch your Minecraft server now

No commitment, unlimited slots, Anti-DDoS included.

Related articles

Ready to create your server?

Launch your Minecraft server in 60 seconds with our high-performance French infrastructure.

Create my server

Talk to an expert

Tell us about your project, we will suggest the right plan.

Reply by email

7 days a week support. No sales calls.

Join the Discord
Loading page