Skip to content
Camotoy edited this page Feb 4, 2021 · 92 revisions

How Does it Work?

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).

So how does redstone work?

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

Is Geyser paid?

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

What plugins don't work with Geyser?

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. Any paid plan, however, will allow support of Geyser - please contact their support for help setting this up.

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 the usage of offline mode.

  • DynamicBungeeAuth produces invalid credentials for Bedrock players.
  • 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 to not be able to get the Bedrock data from its map.
  • ProtocolSupport sometimes causes issues with Floodgate saying Invalid packet id: 27. Use ViaVersion instead if this keeps occurring ProtocolSupport now works with the latest Floodgate.
  • 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.

Which plugin version of Geyser do I need?

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

If using BungeeCord or another fork, where do I need to put Geyser/Floodgate?

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 aswell.

What IP do I need to give Bedrock players?

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, then Bedrock players should join with the IP test.geysermc.org and port 19132.

How can I have Bedrock players load resource packs?

You can add Bedrock resource packs to your Geyser installation in the packs folder of wherever the Geyser config is located, and 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 using https://ozelot379.github.io/ConvertJavaTextureToBedrock/ and add that to your server.

How can Bedrock players hold items in their offhand?

You can use the command /geyser offhand, which will swap the item in their mainhand and offhand.

How do I include players in commands when using Floodgate?

If there is a prefix on Floodgate players, the prefix must be included 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>"

How do I add players to the whitelist when using Floodgate?

There are two ways you can do this. The first way is to turn off the whitelist using /whitelist off, then get the Geyser player to join, then run /whitelist add "*<bedrock_username>", then turn the whitelist back on using /whitelist on. (If using this method for a Bedrock account linked to an existing, whitelisted Java account, there is no need to also whitelist the Bedrock account; you may simply link the accounts then immediately turn the whitelist back on.) The second way is to add the player's UUID as given by Floodgate to the whitelist.json file and then run /whitelist reload.

How do I find a player's UUID without them joining when using Floodgate?

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. In order to turn the XUID into a UUID that Java Edition can recognize, you just need to put the XUID in this format: 00000000-0000-0000-xxxx-xxxxxxxxxxxx. If formatted right, Java Edition should accept it as a UUID.

Can I remove the prefix of Floodgate players?

While yes, you can remove the prefix, it is generally recommended to not remove the prefix to prevent situations where a users java and bedrock username are the same (ex: Bedrock Username: JohnDoe, Java Username: JohnDoe) While they have different UUID's, they have the same username which may cause conflicts with commands that involve a player name. If you want to remove the prefix to be able to use commands, Try adding "" around the name. Example: /tp "*<bedrock_username>"

Sometimes when I go really far out the world starts to experience very odd visual bugs...

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

Can I use Geyser to allow Java players to connect to my Bedrock server?

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

Can I use Geyser with Pterodactyl Panel?

Yes, you can use Geyser as a plugin or a mod for your Mineceaft 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, just download the JSON egg and import it into your panel.

Can I use Geyser with Ngrok?

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.

Can I connect Geyser to an older server?

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

How can I auto-update Geyser?

Geyser MC Auto Updater is an option at this time to auto-update Geyser through the command line. Note that this project is unaffiliated with 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 support for the plugin should be redirected to its Discord.

Can I use Buycraft with Geyser?

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 servers console

Your store is now setup to support Bedrock & Java players

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

Can I use CraftingStore with Geyser?

As mentioned above bedrock players must include the prefix in their name

Steps to make the store work for Geyser

  1. Goto the admin page
  2. Expand settings on the left
  3. Click webshop
  4. Make sure 'Require premium accounts' is Off
  5. Then if you are using floodgate in each package make sure it uses the player's name in any commands not their UUID

What languages does Geyser support?

We aim to support any of the bedrock languages, see here for our Crowdin page and below is a list of all the language codes. We also can add support for more languages, please request them in the Discord server if you are willing to translate them. (Enabled clientside via https://www.curseforge.com/minecraft/mc-addons/translations-for-minecraft)

Bedrock languages

Name Code
Bulgarian bg_bg
Czech cs_cz
Danish da_dk
German de_de
Greek el_gr
British English en_gb
American English en_us
Spanish es_es
Mexican Spanish es_mx
Finnish fi_fi
Canadian French fr_ca
French fr_fr
Hungarian hu_hu
Indonesian id_id
Italian it_it
Japanese ja_jp
Korean ko_kr
Dutch nl_nl
Norwegian Bokmål nb_no
Polish pl_pl
Brazilian Portuguese pt_br
Portuguese pt_pt
Russian ru_ru
Slovak sk_sk
Swedish sv_se
Turkish tr_tr
Ukrainian uk_ua
Chinese Simplified (China) zh_cn
Chinese Traditional (Taiwan) zh_tw

Additional languages

Name Code
Afrikaans af_za
Hebrew he_il
Hindi hi_in

Questions not related to gameplay

What is the relationship between CubeCraft and Geyser?

Geyser was started by Redned 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.