yushijinhun / authlib-injector

Build your own Minecraft authentication system.
https://authlib-injector.yushi.moe
GNU Affero General Public License v3.0
758 stars 69 forks source link

在文档中更新每个API在客户端/服务器常见(Vanilla/Nochian)实现中的使用情况 #233

Closed Silverteal closed 1 month ago

Silverteal commented 10 months ago

例:在线模式服务端会在玩家登录时访问/sessionserver/session/minecraft/hasJoined进行身份验证

了解每个API具体在哪些流程中被使用对自定义实现Yggdrasil Compatible API会有所帮助。

Silverteal commented 1 month ago

这里有一个可供参考的表格

端点类型 客户端 服务端
用户 / /
会话 join hasJoined
查询 按名称批量 按名称批量
材质管理 / /
元数据 需要 启用online-modeensure-secure-profile时需要

用户 API 在旧版 Authlib 中有定义,可能是启动器使用的。但最新版 Authlib 已经没有对用户 API 的调用了。

游戏只会在”需要从玩家名获取 UUID“时才会请求 API 查询。其它时候会从 usercache.json 或者类似的地方获取。

客户端进行多人游戏时,会需要元数据 API 来验证材质签名。