authlib-injector/README.md

54 lines
2.4 KiB
Markdown
Raw Normal View History

2017-08-12 15:35:17 +02:00
# authlib-injector
2018-06-30 08:13:26 +02:00
[![circle ci](https://img.shields.io/circleci/project/github/yushijinhun/authlib-injector/master.svg?style=flat-square)](https://circleci.com/gh/yushijinhun/authlib-injector/tree/master)
2019-01-12 13:06:11 +01:00
[![license](https://img.shields.io/github/license/yushijinhun/authlib-injector.svg?style=flat-square)](https://github.com/yushijinhun/authlib-injector/blob/1caea43b49a059de4f8e44f11ede06a89a43a088/LICENSE)
2017-12-31 11:14:07 +01:00
![language](https://img.shields.io/badge/language-java-yellow.svg?style=flat-square)
![require java 1.8+](https://img.shields.io/badge/require%20java-1.8%2B-orange.svg?style=flat-square)
2018-05-26 17:04:53 +02:00
通过运行时修改 authlib 实现游戏外登录,并为 Yggdrasil 服务端的实现提供规范。
2017-08-21 16:30:11 +02:00
2018-11-23 17:29:33 +01:00
**关于该项目的详细介绍见 [wiki](https://github.com/yushijinhun/authlib-injector/wiki)。**
2017-08-13 11:43:13 +02:00
2018-07-01 10:38:51 +02:00
## 获取
您可以从[这里](https://authlib-injector.yushi.moe/~download/)获取最新的 authlib-injector。
## 构建
构建依赖Gradle、JDK 8+。
执行以下命令:
2017-08-13 11:43:13 +02:00
```
2018-01-25 11:46:29 +01:00
gradle
2017-08-13 11:43:13 +02:00
```
2018-05-26 17:04:53 +02:00
构建输出位于 `build/libs` 下。
2017-08-13 11:43:13 +02:00
## 部署
2018-07-09 11:29:16 +02:00
需要服务端实现本规范中的[扩展 API](https://github.com/yushijinhun/authlib-injector/wiki/Yggdrasil%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8A%80%E6%9C%AF%E8%A7%84%E8%8C%83#%E6%89%A9%E5%B1%95-api)。
2018-05-26 17:04:53 +02:00
通过添加以下 JVM 参数来配置:
2017-08-21 16:30:11 +02:00
```
2018-05-26 17:04:53 +02:00
-javaagent:{authlib-injector.jar 的路径}={Yggdrasil 服务端的 URLAPI Root}
2017-08-21 16:30:11 +02:00
```
2018-07-08 09:40:42 +02:00
## 调试
2018-07-08 09:44:45 +02:00
### 调试输出
2018-07-08 09:40:42 +02:00
添加以下 JVM 参数:
```
-Dauthlibinjector.debug={要打印的调试信息类型}
```
调试信息类型有:
* `launch` 有关 authlib-injector 加载的
* `transform` 有关字节码修改的
* `config` 有关配置获取的
* `httpd` 有关本地 HTTP 服务器的(其负责在本地处理掉部分请求,而不是发送到 Yggdrasil 服务端)
2018-11-24 10:11:07 +01:00
* `authlib` 打印从 authlib 处获取的日志(其记录了网络调用的详细信息)
2018-07-08 09:40:42 +02:00
可以指定多个类型,中间用 `,` 分隔。如果要打印以上所有调试信息,可以设置其为 `all`
2018-07-08 09:44:45 +02:00
### 保存修改过的类
添加以下 JVM 参数:
```
-Dauthlibinjector.dumpClass=true
```
修改过的类文件会保存在当前目录下。
2018-11-23 17:29:33 +01:00
## 捐助
BMCLAPI 为 authlib-injector 提供了[下载镜像站](https://github.com/yushijinhun/authlib-injector/wiki/%E8%8E%B7%E5%8F%96-authlib-injector#bmclapi-%E9%95%9C%E5%83%8F)。如果您想要支持 authlib-injector 的开发,您可以[捐助 BMCLAPI](https://bmclapidoc.bangbang93.com/)。