Frequently Asked Questions

Here you can find answers to frequently asked questions about Geyser - if you have a question that isn’t answered here, feel free to ask in our Discord!

Geyser works as a translator, translating both the incoming and outgoing packets to a format both the client and server can understand. With this being said, it emulates a Minecraft: Java Edition client, so the server actually thinks you’re joining from Java Edition. Regardless of the server or what plugins it has installed, you can join it with Geyser (as long as the server supports the latest vanilla (unmodified) Minecraft version).

Redstone, along with any other mechanics like commands, farms, etc., will work exactly like Java Edition since joining a Java Edition server and Geyser does not modify server behavior.

No, Geyser and all related projects are completely free and open-source, licensed under the MIT license.

Geyser should generally work fine with plugins, as we emulate a Java client. There are exceptions, though:

  • TCPShield requires only-allow-proxy-connections disabled without a paid plan. However, their “Premium” plan will allow the support of Geyser - please see here for setup instructions.

Floodgate can cause issues with plugins as it modifies the login process. Please note that any offline mode authenticator plugins are only here for documentation; Geyser does not support offline mode usage.

  • DynamicBungeeAuth Currently working on latest version 10.28B+ (10.27B and older versions produces invalid credentials for Bedrock players)
  • FastLogin does not let floodgate add player prefix.
  • ExploitFixer thinks that Floodgate users are UUID spoofing - disable the uuidspoof setting in ExploitFixer’s config.
  • JPremium alters the UUID of a player, causing Floodgate not to be able to get the Bedrock data from its map.
  • LibHatesMods causes authentication to fail with com.github.steveice10.mc.auth.exception.request.InvalidCredentialsException
  • ProtocolSupport is currently incompatible with Floodgate. Works with Floodgate, but we recommend using ViaBackwards instead.
  • ProtocolSupportBungee changes how the login process works and therefore breaks the Floodgate injection code.
  • SayNoToMcLeaks prevents Floodgate from finishing its login system.

If you come across any more, please let us know via Discord.

The Geyser-Spigot plugin supports any Minecraft server version 1.16.5 or later. Any earlier version is not supported by the plugin - use a proxy version or the standalone build instead. Since Geyser emulates a {{ site.data.versions.java }} Java Edition client, you need to install ViaVersion on your server if it is not running the latest version of Minecraft.

In order for Bedrock players to chat (1.19.3+) or join (1.19.1/1.19.2), you need to disable chat signing. More information about that can be read on the chat signing page.

You will also need to run at least Java 17 or later to use Geyser. See here for more info on updating Java. Paper versions not supporting Java 17 can add -DPaper.IgnoreJavaVersion=true flag to the Java startup arguments to allow Paper to run on Java 17.

This is a non-complete list of what platform each plugin version of Geyser is for, and the standalone version can be used for any as it isn’t a plugin.

  • Geyser-Spigot works with:
    • Spigot
    • Paper (recommended)
    • Any other forks of the above
  • Geyser-Bungee works with:
  • Geyser-Velocity works with Velocity
  • Geyser-Fabric works with Fabric, and requires FabricAPI to be installed on the server as well.
  • Geyser-NeoForge works with NeoForge,
  • Geyser-ViaProxy works with ViaProxy.

Because of optimizations that hook into the plugin platforms, plugin versions of Geyser are preferable compared to standalone Geyser. On Spigot, Velocity, Fabric/NeoForge and BungeeCord versions of Geyser, direct connections allow for faster loading times, lower latency, and accurate IP addresses without requiring Floodgate. Geyser on Spigot, Fabric and NeoForge has further optimizations due to having direct world access, including lower memory usage and greater translation accuracy. However, large server networks might prefer standalone Geyser because it can be updated without needing to restart any other proxies or servers, and can offload resource usage onto seperate machines.

You only need Geyser and/or Floodgate on the BungeeCord server, as long as not using the Floodgate API. In this case, Floodgate is needed on the “backend” servers as well.

Generally, the IP that Bedrock players will join with is your Java IP and the defined port in your Geyser config in the bedrock section under port. For example, if the IP address Java players join with is test.geysermc.org, and the bedrock port is set as 19132, Bedrock players should join with the IP test.geysermc.org and port 19132.

You can add Bedrock resource packs to your Geyser installation in the packs folder of wherever the Geyser config is located. Bedrock clients will automatically download and load those resource packs. There is currently no automatic Java-to-Bedrock resource pack conversion, but you can convert any Java resource pack to Bedrock using this tool and add that to your server. The converter currently only works with packs up until 1.17; you will need to use another converter, or, convert the pack yourself.

You can use the command /geyser offhand, which will swap the item in their main hand and offhand. There is also a setting you can enable in the config (emote-offhand-workaround) to allow Bedrock players to perform an emote in order to switch their main hand and offhand.

If there is a prefix on Floodgate players, you must include the prefix in the name. Floodgate also replaces all spaces in names with underscores, so be sure to replace any spaces with underscores when executing the command. If this does not work, put double quotes around the name.

Example: /tp ".<bedrock_username>"

There are three ways you can do this.

  1. Use Floodgate’s built-in whitelist command: /fwhitelist add <bedrock_username>. This will only work if the player has joined any Geyser server already.

  2. Turn off the whitelist using /whitelist off, then get the Geyser player to join. After that, run /whitelist add ".<bedrock_username>", and finally, turn the whitelist back on using /whitelist on. When using Local Linking: If you’re linking a Bedrock account to an existing whitelisted Java account, you don’t need to whitelist the Bedrock account separately. You can link the accounts and immediately turn the whitelist back on.

  3. Add the player’s UUID, as given by Floodgate, to the whitelist.json file. Then, run /whitelist reload to update the whitelist.

Choose the method that suits your preferences and server setup.

Use this page. If this doesn’t work, then try this method:

First, you’ll need to get the XUID of the player. There are several third-party websites to find this, for example, this one (unaffiliated with Geyser). Make sure to choose “Hexidecimal.” You’ll need to enter the player’s Xbox Gamertag, and, once submitted, it should display the XUID in the format of xxxxxxxxxxxxxxxx. To turn the XUID into a UUID that Java Edition can recognize, you need to put the XUID in this format: 00000000-0000-0000-xxxx-xxxxxxxxxxxx. If formatted right, Java Edition should accept it as a UUID.

While you can remove the prefix, it is generally recommended not to remove the prefix to prevent situations where player usernames are the same on both editions (Ex: Bedrock Username: JohnDoe, Java Username: JohnDoe). While they have different UUIDs, they have the same username, which may cause conflicts with commands that involve a player name. If you want to remove the prefix to use commands, Try adding quotation marks around the name. Example: /tp ".<bedrock_username>" Otherwise, the prefix is located in the Floodgate config.yml under username-prefix:.

No; Floodgate is only required if you wish to allow Bedrock clients to join without authenticating to Java servers. Without the Floodgate plugin, Geyser can either authenticate to Mojang in online mode, or join without authentication in an offline mode server (though this is unsupportable and dangerous as anyone can join your server and is against Mojang’s EULA).

This is a Bedrock client issue caused by Bedrock being 32-bit and Java being 64-bit. For more information read here.

No, this is a translation tool to allow Bedrock players to connect to Java servers. It does not work the opposite way.

Yes, you can use Geyser as a plugin or a mod for your Minecraft server software running on Pterodactyl. There is also an official egg for the standalone version. It supports auto-updating and has all config options easily editable. You can find it here, download the JSON egg, and import it into your panel. Make sure the Geyser port (using UDP) is exported out to the host & allocated the port to the server.

Unfortunately, Ngrok is TCP-only, so you will not be able to use Geyser with Ngrok. As an alternative, you can use playit.gg, which supports both TCP and UDP.

  1. You will need access to the host systems terminal. Note: This guide is for Linux systems only!
  2. Setup a “Guard” select gaming then Minecraft: Bedrock edition.
  3. Click setup for linux and run the guardian installer and start the service.
  4. Run “guardian status” and take note of the “Local IP” it starts with “10.31.x.x”.
  5. Go to the Geyser config.yml and update the Bedrock address to the Local IP which you found above.
  6. Restart the mc server and test it out, it should work for both Java and Bedrock.

If the server has ViaVersion and/or supports the latest Minecraft version, yes. However, we are unable to support older versions of Minecraft due to a limitation in our Java support library.

The short answer: if a vanilla client can join the server, then so can Geyser.

The long answer: currently, there is no way for Geyser to translate the features that most mods add (blocks, items, etc.). Therefore, servers that require mods to be installed clientside are unsupportable through Geyser.

GeyserUpdater (GitHub page/Spigot page) is a Spigot/BungeeCord plugin option for auto-updating. Please note that this plugin is also unaffiliated and unsupported by Geyser, and users should redirect support for the plugin to its Discord.

Replace the AvatarUrl line in your DiscordSRV config with this: AvatarUrl: https://mc-heads.net/avatar/{texture}/{size}.png

Note: you need to be running DiscordSRV v1.22.0 or newer. Floodgate 2.0 or GeyserSkinRestorer is still required for skins to show up for Java players and for this to work.

Alternatively, if you cannot get the above AvatarUrl to work with DiscordSRV, or you’d like to use it with another plugin that does not support texture ids, you can use the TydiumCraft Skin API.

You sure can! Buycraft supports Java & Bedrock players via the Offline store mode (Recommended to be used with Floodgate)

(Currently, Buycraft does not support special symbols like * or -, so you’ll have to change the Floodgate prefix to _ or remove it entirely.)

Steps to create a store to support both versions

  • Buycraft-> Create Webstore
  • Select Game-> Minecraft Offline
  • Continue-> Click “Create my Webstore”
  • Name your server & Select currency-> Continue
  • Select Game Server-> Continue
  • Download the plugin version that best suits your server.
  • Execute the secret command from your server’s console

Your store is now set up to support Bedrock & Java players.

(Please note, if you are using a prefix with Floodgate, Bedrock players will have to enter the prefix.)

You sure can! Buycraft supports Java & Bedrock players via the Offline store mode (Recommended to be used with Floodgate)

(Currently, Buycraft does not support special symbols like * or -, so you’ll have to change the Floodgate prefix to _ or remove it entirely.)

Steps to create a store to support both versions

  • Buycraft-> Create Webstore
  • Select Game-> Minecraft Offline
  • Continue-> Click “Create my Webstore”
  • Name your server & Select currency-> Continue
  • Select Game Server-> Continue
  • Download the plugin version that best suits your server.
  • Execute the secret command from your server’s console

Your store is now set up to support Bedrock & Java players.

(Please note, if you are using a prefix with Floodgate, Bedrock players will have to enter the prefix.)

Questions not related to gameplay

Redned started Geyser in July 2019. In May 2020, CubeCraft acquired the GeyserMC brand. This means that they govern the project (though at this time, they govern lightly). CubeCraft does not own the code of Geyser.

No