GeyserMC Cross-Play Tutorial

Published on | Updated

Step-by-step guide to installing and configuring GeyserMC on your Java Minecraft server: plugin, mod or Standalone, the Bedrock UDP port, Floodgate authentication, resource packs and common issues.

Minecraft server

GeyserMC translates the Bedrock Edition network protocol into the Java Edition protocol, so Bedrock players on mobile, consoles and Windows can join your Java server. Here is how to set it up properly.

For the full walkthrough with console joining, proxies and account linking, see our complete Geyser and Floodgate guide.

What GeyserMC actually does

GeyserMC sits between your Java server and Bedrock clients. When a Bedrock player connects, Geyser translates their inputs and the server's responses in real time. Bedrock players keep a Bedrock-style interface while they play in the Java world.

It is not emulation of the whole game, it is protocol translation. The server thinks a Java client joined. Most gameplay works, but some Java features (custom model data, some particle effects, complex book formatting) may not look the same on Bedrock clients.

Installation methods

Method 1: Plugin or mod (recommended)

On Paper, Spigot or Purpur:

  1. Download the latest Geyser-Spigot plugin from geysermc.org
  2. Place the .jar file in your server's plugins/ folder
  3. Restart your server
  4. Edit plugins/Geyser-Spigot/config.yml

On Fabric or NeoForge, use the Geyser-Fabric or Geyser-NeoForge mod in the mods/ folder instead (Fabric also needs Fabric API). The config then lives in config/Geyser-Fabric/config.yml or config/Geyser-NeoForge/config.yml. The Geyser docs note that these two run only on a 26.2 server.

Method 2: Standalone

If you run vanilla, a platform Geyser has no build for (Forge, for example), or want to keep Geyser separate:

  1. Download the Standalone version
  2. Run it on the same machine or a separate one
  3. Point it to your Java server's address and port

The plugin and mod versions are the better choice when you can use them. The GeyserMC FAQ says their direct connection gives faster loading, lower latency and accurate IP addresses. Whatever you choose, only server-side mods work for Bedrock players.

Essential configuration

Open config.yml and focus on these settings:

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

java:
  auth-type: online
  • bedrock port: the UDP port Bedrock players connect to. 19132 is Bedrock's default, but on a hosted server you use a port that belongs to your server (see below).
  • clone-remote-port: when true, Geyser uses the Java port number for Bedrock too, and ignores port.
  • auth-type: online requires a Java account. floodgate lets Bedrock players join with just their Microsoft account (recommended, requires the Floodgate plugin).

Standalone also has address and port under java, pointing to your Java server (127.0.0.1 if it runs on the same machine). Older Geyser versions call the java section remote.

The Bedrock port on a hosted server

Bedrock uses UDP, and the port must reach your server. On a Space-Node server you have two free options:

  1. Set clone-remote-port: true, so Bedrock players use the same port number as Java players.
  2. Or open the panel's Network tab, click Create Allocation, and put the new port in port under bedrock. Your plan includes three allocations, and we can raise that to five on request.

Voice chat and the server query cannot share Geyser's port. Give each its own.

Setting up Floodgate

Floodgate is GeyserMC's companion plugin. Without it, Bedrock players need a Java account to join. With it, they join with the Microsoft account they use on Bedrock.

  1. Download Floodgate from geysermc.org
  2. Place it in your plugins/ folder
  3. Restart the server
  4. In GeyserMC's config.yml, set auth-type: floodgate

Bedrock players appear in game with a prefix before their username, . by default. You can change it with username-prefix in Floodgate's config.

Common issues and fixes

Bedrock players cannot connect:

  • Run geyser connectiontest <ip> <port> in the console
  • Check that the Bedrock port reaches your server over UDP. On a panel host it must be one of your allocations, or the Java port with clone-remote-port
  • Check that voice chat or the query is not on the same port
  • Verify the port players type matches the Geyser config

Players appear invisible to each other:

  • Update GeyserMC and Floodgate to the latest builds
  • Check for plugins that hide or modify players

Textures look wrong for Bedrock players:

  • Bedrock clients need Bedrock resource packs. Geyser loads them from the packs folder next to its config. The GeyserMC FAQ says there is no automatic Java-to-Bedrock conversion, but you can convert packs with GeyserMC's PackConverter
  • Not all resource packs convert cleanly, custom models especially

Redstone and mechanics feel different:

  • The world runs on the Java server, so Java rules apply to everyone, Bedrock players included
  • Bedrock players used to Bedrock redstone may find their builds behave differently, quasi-connectivity for example
  • Geyser cannot change that, it only translates what the Java server does

Performance impact

GeyserMC adds work to the server for every Bedrock player, because each packet is translated. How much depends on your plugins, world and player count, so we do not quote a number per player. Check it on your own server with spark while Bedrock players are online, and see our complete guide for what to do on larger servers.

On Space-Node's hosting plans you can start small and move up a plan if the server gets busier.

Recommended plugins for mixed servers

  • Floodgate (essential): lets Bedrock players join with their Microsoft account
  • ViaVersion: lets clients on other Java versions connect, and is required by Geyser on servers older than the newest Java version
  • PlaceholderAPI: placeholders for scoreboards and chat
  • Floodgate API: lets your own plugins detect Bedrock players and show them native Bedrock forms

Cross-play opens your server to mobile and console players without giving up the Java plugin ecosystem. Keep Geyser and Floodgate updated, because Bedrock clients update automatically and an outdated Geyser build will reject them.

More Geyser guides: the complete Geyser and Floodgate guide, GeyserMC on a Paper server, step by step, connect mobile players to your Java server, what to check in a host before you run Geyser.

Minecraft on AMD Ryzen 9

Host Your Modded & Vanilla Minecraft Server

From €2.70/mo with NVMe storage, DDoS protection included, and a modpack installer in the panel for the CurseForge and Modrinth packs it lists, or upload your own server files over SFTP.