Skip to content Nodecraft
Support / Minecraft / Setting up Geyser and Floodgate for Java-Bedrock Crossplay

Setting up Geyser and Floodgate for Java-Bedrock Crossplay

Geyser and Floodgate are two plugins that work together to make it possible to join a Java Minecraft server with a Bedrock client. This allows for crossplay between the two versions of Minecraft.

Setup and Plugin Installation

To get started, you’ll need to install a plugin framework and add the plugins to a Minecraft Java server. You can also use Fabric but, Fabric has limited support for Geyser.

  1. Select a plugin framework to run your server on.

    *Note: You can also use Fabric which is a modding framework. However, bedrock players cannot load mods onto their clients so modding is limited in that case.

    1. If you're running a Nodecraft server, you can install any of those from the One Click Installer. For this example, we’ll be using Paper, a fork of Spigot.

  2. Download the .jar files for Geyser and Floodgate that match your server software to your computer then upload them to your server’s plugins folder located in the File Manager.

    Location to upload plugins to a Paper server.

    1. Note: If the plugins folder hasn’t been generated yet, turn the server online at least once for it to generate.

    2. Note: If using Fabric the .jar file goes into the mods folder and there are no floodgate files for Fabric.

    3. Note: Use Geyser-Spigot for Spigot derivatives such as Paper, Purpur, etc.

  3. Restart the server for the plugin to take effect and generate configuration files.

  4. Depending on where you are hosting your server, you’ll also need port 19132 to be open. If running a Nodecraft server, this port is already open for you.

Changing the Settings for Floodgate

Floodgate is an additional optional plugin that interfaces with Geyser. It allows bedrock players to join without having a separate java account and allows for allowlist functionality and enables player skins.

*Note, there is no floodgate for Fabric or Sponge server types.

  1. Go to the Geyser config.yml. This file will be in /plugins/Geyser-Spigot.

  2. Locating the Geyser configuration file on a Paper server.

  3. Change the line auth-type: online to auth-type: floodgate

  4. (Optional): Go to the Floodgate config.yml. You’ll find this in the floodgate folder which is located in the plugins folder.

    Locating the Floodgate configuration file on a Paper server.

    Change the username-prefix and replace-spaces options if desired/needed. By default, there will be a . in front of all bedrock names to prevent errors with identical names on java and bedrock, and all spaces are replaced with an underscore.

Changing Optional Geyser Settings

There are some noteworthy settings within the Geyser config which can change certain things about the game for the quality of life of players. While there are more settings than this, these are the options most commonly changed on servers.

  1. You can change the port if you would like. However, you’ll need to verify that the UDP port for the port listed is open depending on how you are hosting your server. Additionally, the default for bedrock clients to connect to is 19132 as listed by default in the config.

  2. The options motd1 and motd2 are options if you want your Message of the Day(motd) to show differently in bedrock and java.

  3. The option server-name can be changed to display a custom name on bedrock edition when players see and connect to your server.

  4. The option passthrough-motd can be used to copy the motd that is set in your game settings to bedrock edition if you don’t want to have a separate motd for bedrock.

  5. The option allow-third-party-capes allows the capes from third party mods such as Optifine, LabyMod etc. to be shown.

  6. The option for show-cooldown allows the cooldown for weapon attack speeds to be displayed on bedrock edition.

  7. The option emote-offhand-workaround allows bedrock players to put any item in their offhand like java can by using emotes. There are 3 options for this. By default, it is disabled meaning the workaround isn’t applied. The no-emotes option prevents the emote from being seen by other bedrock clients and swaps the item in the offhand. The emotes-and-offhand option allows the emote animation to be seen by other bedrock users and swaps the item in the offhand.

  8. The option above-bedrock-nether-building allows bedrock edition players to see above the nether’s bedrock ceiling and build on it which bedrock does not normally allow. It does this by changing the ID of the world which can cause the per-biome fog to be displayed incorrectly.

Adding Bedrock Players to the Allowlist Using Floodgate (Optional)

If you want to use an allowlist on your server, you can use floodgate to add bedrock players. The command to add bedrock players to the allowlist can either be formatted as /fwhitelist add UserName or /fwhitelist add floodgateUUID. To note, this command is only used when adding bedrock players to the allowlist. Adding java players to the allowlist is the default "whitelist" command. Additionally, do not include the prefix set in the floodgate config when entering the username to the allowlist.

Getting a FloodgateUUID

In some cases, if the system doesn’t pick up on the username, you’ll need to use the floodgateUUID to ad the player to the allowlist. The floodgateUUID is derived from the XUID and in a specific format so that the java edition can read it. The format is 00000000-0000-0000-xxxx-xxxxxxxxxxxx.

  1. Get the players XUID. You can use a tool such as Cakes XUID Grabber to do this.

  2. Take the hex value and replace the x characters in the format mentioned with the hex value.

    • For example, if the hex XUID was 1234567890123456, the floodgateUUID would be 00000000-0000-0000-1234-567890123456

Create a Minecraft Server today!
Start Free Trial

Chat blocked!

Nodecraft is an ad-free website! Disable adblock if you have any questions.