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.jarThis 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.jarNotes:
- If you don't specify the
--*-outparameters, 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.jarNewer 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.jarNotes:
--server-outis 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.