No description
Find a file
2018-01-25 16:59:13 +08:00
src/main/java/org/to2mbn/authlibinjector fixes 2017-12-31 17:21:07 +08:00
.gitignore Add .gitignore 2017-08-12 21:37:44 +08:00
authlib-injector.example.yaml migrate code from to2mbn/authlib-agent 2017-08-13 17:43:13 +08:00
build.gradle Relocate dependencies to 'org.to2mbn.authlibinjector.internal' 2018-01-25 16:59:13 +08:00
LICENSE Initial commit 2017-08-12 21:35:17 +08:00
README.md update readme 2017-12-31 18:14:07 +08:00
settings.gradle Add gradle scripts 2017-08-12 22:42:31 +08:00

authlib-injector

Jenkins license language require java 1.8+

通过运行时修改authlib实现游戏外登录并为Yggdrasil服务端的实现提供规范

关于该项目的详细介绍见wiki

编译

gradle clean shadowJar

构建输出位于build/libs下。

或者直接从Jenkins下载构建好的JAR。

部署

配置

配置文件模板位于authlib-injector.example.yaml

生成签名公钥

服务端返回的profile properties需要带有数字签名。

生成方法见签名密钥对

加载

作为javaagent加载

向JVM参数中添加-javaagent:<path_to_authlib-injector.jar>

该方法适用于所有客户端、服务端、启动器等。

作为mod加载

直接放入mods目录即可。

该方法适用于Forge及Liteloader。

指定配置文件

authlib-injector提供了以下方式来指定配置文件按优先级排序

  1. 通过javaagent参数指定
    • javaagent参数后面添加=<path_to_config>
    • 例如-javaagent:authlib-injector.jar=my-authlib-injector.yaml
    • 仅适用于通过javaagent加载
  2. 通过org.to2mbn.authlibinjector.config属性指定
    • -Dorg.to2mbn.authlibinjector.config=my-authlib-injector.yaml
  3. JAR中的/authlib-injector.yaml文件
    • 可以在编译时向src/main/resources中添加配置文件或者直接向JAR中添加JAR为zip格式
  4. 当前目录下的authlib-injector.yaml文件

远程自动配置

对于实现了本规范中扩展API的Yggdrasil服务端可以直接通过添加以下JVM参数来配置不需要配置文件

-javaagent:{authlib-injector.jar的路径}=@{Yggdrasil服务端的URLAPI Root}