实现多种登入方式的框架
如果你是第一次接触本项目,请优先阅读用户手册:
对大多数服主而言,推荐阅读顺序是:
如果你正在从旧方案迁移,也建议同时查看 用户手册/需要补充.md,了解后续还计划补写哪些运维文档。
当前仓库主要由以下模块组成:
velocity:主插件 / 核心模块,负责 Profile、数据库、命令与模块注册;auth-yggd:Yggdrasil 在线验证模块,适用于 Mojang 与第三方皮肤站;auth-offline:离线 / 本地账号模块,适用于混合登录场景;data-merge:数据迁移模块,用于从 AuthMe、MultiLogin 导入历史数据;profile-skin:皮肤修复模块,用于补全与缓存皮肤属性;api:提供给开发者和扩展模块使用的 API。
从当前版本开始,velocity 主插件与部分子模块会在首次启动时动态下载所需运行库,并缓存到 plugins/hyperzonelogin/libs/(子模块会复用该缓存目录)。这样可以显著减小发布包体积。
- 首次启动需要能够访问 Maven 仓库镜像;
- 下载后的 jar 会进行 SHA-256 校验;
- 后续启动会优先复用本地缓存;
- 主插件与子模块均不再要求额外安装
MCKotlin-Velocity; - 相关实现参考并改编自 LuckPerms,详见
THIRD_PARTY_NOTICES.md。
- AuthME
- MultiLogin
登入方式:支持主流登入方式
MC版本:1.19.1+暂无问题 低于1.19.1则只能使用域名作为识别方式
启动器:支持市面常见
排名有先后顺序,我会先实现在前面的内容
- 基础原理实现
- 添加基础toml配置
- 取代AuthMe实现离线登入
- 取代MultiLogin实现多Yggd档案管理
- 取代MultiLogin实现皮肤修复
- 开发账户绑定功能
- 美化离线交互逻辑
- 支持floodgate
- 添加地图二维码功能
- 为离线登入模块提高一定的防御功能
- 实现自己的vServer/参与limbo维护
- 为档案管理添加一套可用的Web页面
作者很忙,年更插件,有需要的话,你可以提交PR,但本仓库不接受低质量的PR,有问题就发issue
如果这个项目对你有帮助,欢迎通过下方链接支持开发与维护。
你的支持会直接用于作者的日常生活与治疗支出,也能帮助项目继续更新。
如果你暂时不方便赞助,也欢迎通过以下方式支持项目:
- 提交 Issue 反馈问题;
- 完善文档或提交高质量 PR;
- 将项目推荐给有需要的人。