No description
Find a file
2018-10-05 19:29:11 +08:00
.circleci Add CircleCI support 2018-06-29 21:10:56 +08:00
src Merge branch 'protocol-omit' into ali 2018-10-05 19:29:11 +08:00
.gitignore Add .gitignore 2017-08-12 21:37:44 +08:00
build.gradle Update dependencies 2018-09-30 21:10:22 +08:00
LICENSE Initial commit 2017-08-12 21:35:17 +08:00
README.md Add logging option transform.skipped 2018-09-23 22:59:48 +08:00
settings.gradle Add gradle scripts 2017-08-12 22:42:31 +08:00

authlib-injector

circle ci license language require java 1.8+

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

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

获取

您可以从这里获取最新的 authlib-injector。

构建

构建依赖Gradle、JDK 8+。

执行以下命令:

gradle

构建输出位于 build/libs 下。

部署

需要服务端实现本规范中的扩展 API。 通过添加以下 JVM 参数来配置:

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

调试

调试输出

添加以下 JVM 参数:

-Dauthlibinjector.debug={要打印的调试信息类型}

调试信息类型有:

  • launch 有关 authlib-injector 加载的
  • transform 有关字节码修改的
  • transform.skipped 分析了却未执行字节码修改的类(用于性能分析)
  • config 有关配置获取的
  • httpd 有关本地 HTTP 服务器的(其负责在本地处理掉部分请求,而不是发送到 Yggdrasil 服务端)

可以指定多个类型,中间用 , 分隔。如果要打印以上所有调试信息,可以设置其为 all

保存修改过的类

添加以下 JVM 参数:

-Dauthlibinjector.dumpClass=true

修改过的类文件会保存在当前目录下。