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.
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.
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.
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.
Note: If the plugins folder hasnât been generated yet, turn the server online at least once for it to generate.
Note: If using Fabric the .jar file goes into the mods folder and there are no floodgate files for Fabric.
Note: Use Geyser-Spigot for Spigot derivatives such as Paper, Purpur, etc.
Restart the server for the plugin to take effect and generate configuration files.
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.
Go to the Geyser config.yml. This file will be in /plugins/Geyser-Spigot.
Change the line
auth-type: online
toauth-type: floodgate
(Optional): Go to the Floodgate config.yml. Youâll find this in the floodgate folder which is located in the plugins folder.
Change the
username-prefix
andreplace-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.
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.
The options
motd1
andmotd2
are options if you want your Message of the Day(motd) to show differently in bedrock and java.The option
server-name
can be changed to display a custom name on bedrock edition when players see and connect to your server.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.The option
allow-third-party-capes
allows the capes from third party mods such as Optifine, LabyMod etc. to be shown.The option for
show-cooldown
allows the cooldown for weapon attack speeds to be displayed on bedrock edition.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 isdisabled
meaning the workaround isnât applied. Theno-emotes
option prevents the emote from being seen by other bedrock clients and swaps the item in the offhand. Theemotes-and-offhand
option allows the emote animation to be seen by other bedrock users and swaps the item in the offhand.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
.
Get the players XUID. You can use a tool such as Cakes XUID Grabber to do this.
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
, thefloodgateUUID
would be00000000-0000-0000-1234-567890123456