FAQ - RoryMCDev/RoryMC GitHub Wiki

How Does it Work?

Rory 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 Rory (as long as the server supports the latest vanilla (unmodified) Minecraft version).

So, how does Redstone work?

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

Is Rory paid?

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

What plugins don't work with Rory?

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

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

  • DynamicBungeeAuth produces invalid credentials for Bedrock players.
  • FastLogin does not let floodgate add player prefix.
  • ExploitFixer thinks that Catgate users are UUID spoofing - disable the uuidspoof setting in ExploitFixer's config.
  • JPremium alters the UUID of a player, causing Catgate 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 sometimes causes issues with Catgate saying Invalid packet id: 27. Use ViaVersion instead if this keeps occurring ProtocolSupport now works with the latest Catgate.
  • ProtocolSupportBungee changes how the login process works and therefore breaks the floodgate injection code.
  • SayNoToMcLeaks prevents Catgate from finishing its login system.

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

Which plugin version of Rory do I need?

This is a non-complete list of what platform each plugin version of Rory is for, and 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 Rory/Catgate?

You only need Rory and/or Catgate on the BungeeCord server, as long as not using the Catgate API. In this case, Catgate is needed on the "backend" servers as well.

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

How can I have Bedrock players load resource packs?

You can add Bedrock resource packs to your Rory installation in the packs folder of wherever the Rory 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 https://rtm516.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 main hand and offhand.

How do I include players in commands when using Catgate?

If there is a prefix on Catgate players, you must include the prefix in the name. Catgate 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 Catgate?

There are two ways you can do this. The first way is to turn off the whitelist using /whitelist off, then get the Rory 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 link the accounts then immediately turn the whitelist back on.) The second way is to add the player's UUID as given by Catgate to the whitelist.json file and then run /whitelist reload.

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

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 Rory). Make sure to choose "Hexidecimal." You'll need to enter the player's Xbox Gamertag, and, once submitted, and 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.

Can I remove the prefix of Catgate players?

While yes, you can remove the prefix. It is generally recommended not to remove the prefix to prevent situations where a user's java and bedrock username are the same (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>"

Do I need Catgate in order to use Rory?

No; Catgate is only required if you wish to allow Bedrock clients to join without authenticating to Java servers. Without the Catgate plugin, Rory 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).

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 Rory 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 Rory with Pterodactyl Panel?

Yes, you can use Rory 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.

Can I use Rory with Ngrok?

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

Can I connect Rory to an older server?

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.

Can I connect Rory to a modded (Forge/Fabric) server?

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

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

How can I auto-update Rory?

There is no current way to easily auto update Rory.

How can I make DiscordSRV show Catgate 2.0 or RorySkinManager skins?

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. Catgate 2.0 or RorySkinRestorer is still required for skins to show up for Java players and for this to work.

Can I use Buycraft with Rory?

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

(Currently, Buycraft does not support special symbols like * or -, so you'll have to change the Catgate 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 Catgate, Bedrock players will have to enter the prefix.)

Can I use CraftingStore with Rory?

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

Steps to make the store work for Rory

  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 Rory support?

We aim to support any of the bedrock languages and below is a list of all the language codes. We also can add support for more languages, and 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
Belarusian be_by
Hebrew he_il
Hindi hi_in
⚠️ **GitHub.com Fallback** ⚠️