本项目是一个基于 authlib-injector 开发的 Minecraft Java Edition 外置登录系统。服务器采用 SpringBoot 开发,目前已完成大部分 Yggdrasil API 的开发,可以正常认证登录。后期将继续补充用户管理,皮肤上传等功能。
- 所有模型的封装
- 认证
- 登录(POST /authserver/authenticate)
- 刷新(POST /authserver/refresh)
- 验证令牌(POST /authserver/validate)
- 吊销令牌(POST /authserver/invalidate)
- 注销(POST /authserver/signout)
- 会话
- 客户端加入服务器(POST /sessionserver/session/minecraft/join)
- 服务器验证客户端(GET /sessionserver/session/minecraft/hasJoined?username={username}&serverId={serverId}&ip={ip})
- 角色
- 服务器获取角色信息(GET /sessionserver/session/minecraft/profile/{uuid}?unsigned={unsigned})
- 批量查询角色(POST /api/profiles/minecraft)
- 材质
- 上传材质(PUT /api/user/profile/{uuid}/{textureType})
- 删除材质(DELETE /api/user/profile/{uuid}/{textureType})
- 扩展 API
- API 元数据(/)
由于暂未提供较为友好的设置界面(后期加入),就不介绍具体的部署方法了。在编译之前需要你根据实际情况完成 springboot 的配置文件。在conf
目录中提供了项目使用的数据库结构。开发时使用的是 MySQL 数据库。这是一个maven
项目,可以直接使用mvn package
完成编译。得到的是适用于 tomcat 的 war 包,你当然也可以直接使用java -jar xxxx.war
启动项目。由于项目只提供了 API,未提供配置界面。你可能需要在第一次启动项目后,在你配置的resource-dir
目录中找到apimeta.json
文件,对一些内容进行修改,并重启服务器,以保证服务器可以正常运行。
项目还在积极开发中,目前还有很多问题需要解决。欢迎各位大大提交 PR 或各种建议。
项目仅供学习研究,请勿用于商业用途,以免造成不必要的纠纷。