A command-line tool for patching Mojang's authlib as well as Minecraft
Prebuilt jar files can be downloaded from here
The tool uses Maven for building.
To compile the tool, use
$ mvn package
which will generate a ShittyAuthPatcher-VERSION.jar
in the target
folder
The tool can be used to patch both client as well as server jars.
To patch your Minecraft client, use the authlib
patch
e.g. with https://your.server
being a server running ShittyAuthServer:
$ java -jar ShittyAuthPatcher-VERSION.jar authlib \
--patch-all https://your.server \
--patch-download-key \
--library /path/to/your/.minecraft/libraries/com/mojang/authlib/1.18.2/1.18.2.jar \
--library-out /path/to/your/.minecraft/libraries/com/mojang/authlib/1.18.2/1.18.2.jar
This will patch the authlib jar file in-place.
For older versions of Minecraft (older than 1.7.6), there is no authlib jar file. Instead, you need to patch the minecraft jar itself using the minecraft
patch.
e.g.:
$ java -jar ShittyAuthPatcher-VERSION.jar minecraft \
--patch-all https://your.server \
--minecraft /home/mr/.minecraft/versions/1.18.2/1.18.2.jar \
--minecraft-out client.jar
Notes:
- If you don't specify the
--*-out
parameters, they will default to replacing the original jar file
To patch a (notchian) server jar file, use the server
patch
e.g. with https://your.server
being a server running ShittyAuthServer:
$ java -jar ShittyAuthPatcher-VERSION.jar server \
--patch-all https://your.server \
--patch-download-key \
--server server.jar \
--server-out server-patched.jar
Newer versions of Paper (1.18+) can be automatically patched as well using the paper
patch:
e.g. with https://your.server
being a server running ShittyAuthServer:
$ java -jar ShittyAuthPatcher-VERSION.jar paper \
--patch-all https://your.server \
--patch-download-key \
--server paper.jar \
--server-out paper-patched.jar
Notes:
--server-out
is optional and will default to replacing the original jar file if not specified- This patch currently only works with notchian (meaning only the official server jar files provided by Mojang) and newer Paper servers. If you plan on patching your Spigot or older Paper server jar, you might need to do some manual work as well.
You can also provide all of the separate servers when patching the jar file if you're not using a ShittyAuthServer instance. Just use the --patch-auth
, --patch-accounts
, --patch-services
, --patch-session
, --patch-skins
instead of --patch-all
. You must also specify the path to the public key of the server using --patch-key
.
For further information about these parameters, use the --help
option on any patch.