LSP Yggdrasil

[![996.icu](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu) [![LICENSE](https://img.shields.io/badge/license-Anti%20996-blue.svg)](https://github.com/996icu/996.ICU/blob/master/LICENSE) [![Build Status](https://ci.186526.xyz/api/badges/Lama3L9R/lsp-yggdrasil/status.svg)](https://ci.186526.xyz/Lama3L9R/lsp-yggdrasil) 老色批世界树 —— 一个高性能麻将、奥苏力不-印寨克托接口的实现。使用fastify来把处理速度加速到老色批的速度( 具体有多快呢?登录处理从数据包发出到接收到服务端响应仅需要 __***5ms***__(根据机器不同可能会有浮动,以实际情况为准)! --- ## 开发计划: #### Beta 1.0: - [x] 基础世界树 API + [x] /authserver + [x] /sessionserver + [x] 测试 + [x] /api - [x] 进阶 API - [x] 皮肤上传和安全检查 + [x] 皮肤数据的RSA签名 + [x] 皮肤上传 + [x] 安全检查 - [x] 兼容S3后端 - [x] 服务器状态接口 - [x] authlib-injector 元数据接口 #### Release 1.0 - [ ] 单元测试 + [ ] API - [x] /authserver - [ ] /sessionserver - [ ] /api - [ ] Advanced API + [ ] Utils - [ ] 完整 web 管理 --- ## 使用方法 1. 安装Node.js、yarn、并下载源代码 + 推荐 Node.js 版本:`16.15.0 LTS (Latest LTS)`,最低兼容 `14 LTS` + 使用 `$ npm install -g yarn` 来安装yarn + 使用 `$ git clone https://git.186526.xyz/Lama3L9R/lsp-yggdrasil.git` 下载源代码 2. 使用 `$ yarn install` 安装依赖库 3. 配置 `src/config.js` 4. 使用 `$ node build.js` 创建运行时构建 5. 使用 `$ node path/to/lsp-yggdrasil.full.cjs` 起飞 ###### 若需要开发者环境您还需要额外几步: 1. 执行 `$ yarn dev:mklaunch` 来生成启动脚本 2. 使用 `$ yarn dev` 启动开发模式服务器 > 注:对于开发者的首次运行,您可能需要创建一个测试账户,添加环境参数:`DEVEL_FIRST_RUN=1` 即可创建一个测试玩家 > 测试玩家的账户为: `i@lama.icu` 密码为 `123456` 您可以到 `index.js` 中自由修改 ## 常见问题 - Q:支持 `https` 嘛? - A:不支持,请使用反代来使用`https`,或者您也可以修改 `index.js` 中初始化代码。 - Q: 支持 `IPv6` 嘛? - A: 完美支持 `IPv6` ## 内置的 yarn 指令 + `dev` —— 启动开发环境服务器 + `test` —— 单元测试