# Authlib Injector

This plugin is only based on the original user system of the Blessing Skin skin station, and fully implements a set of APIs that conform to the Yggdrasil API specification (this set of specifications is the official Mojang API for authentic Minecraft login authentication), and we must use authlib-injector (opens new window) This program replaces the "Mojang genuine login API address" in the game with the "Yggdrasil API address provided by the skin station" at runtime, thereby Implement an external login system.

# Configure Launcher

If you or the skin station you are using has the "Mojang Verification" plug-in installed, and your account has been authenticated, you can use any launcher (only need to allow custom JVM parameters), and then in Modify the JVM parameters in the launcher settings to make the game client load authlib-injector.

Take HMCL3 as an example:

hmcl3-tutorial

Take MCCL as an example:

mccl-tutorial

# Setup Authlib-Injector for Server

TIP

To use this external login scheme, you must set online-mode to true in server.properties.

If you are using BungeeCord, authlib-injector needs to be loaded on all servers, but only BungeeCord should have online-mode turned on, other servers should have online-mode turned off.

How to modify the server startup parameters, please refer to Using authlib-injector on the Minecraft server (opens new window).

Example:

The script used to start the Minecraft server generally looks something like this (users using .bat files should use a text editor to open and modify. Your startup command may be slightly different from the example, this is normal. In your own The part similar to -jar xxx.jar can be found in the startup command):

java -Xmx1024M -Xms1024M -jar minecraft_server.1.12.2.jar nogui

Next please insert -javaagent (opens new window) in the correct place (before -jar xxx.jar) in the startup command) parameter.

Suppose:

  • You downloaded a file named authlib-injector-1.1.18-daa6fb4.jar
  • and put it in the same directory as the server core minecraft_server.1.12.2.jar
  • Your Yggdrasil server API Root is https://example.com/api/yggdrasil

Then you should modify the example startup command above to this:

java -Xmx1024M -Xms1024M -javaagent:authlib-injector-1.1.18-daa6fb4.jar=https://example.com/api/yggdrasil -jar minecraft_server.1.12.2.jar nogui

# Setup Authlib-Injector for Client

It should be noted that authlib-injector implements runtime bytecode substitution through the JVM's -javaagent parameter, so you must ensure that:

  • Launcher supports authentication using custom Yggdrasil API
  • Minecraft game base correctly loads authlib-injector
  • Minecraft server loaded with authlib-injector (must be online-mode=true)

**The above three must use the same Yggdrasil API. **

Otherwise it will appear:

  • can not log in
  • Doesn't show skins or shows clutter
  • Unable to enter server

and so on.

# Congratulations!

If the Gears of Fortune did not go wrong, you should already be able to login normally, enter the server normally, and see your skin.

Snipaste_2018-02-21_22-58-37.png

If not, unfortunately, see Troubleshooting to rule out possible causes of the error.