Union API已经实装,不推荐使用Skin Signature API。本页面不再更新。
Skin Signature API是Yggdrasil API的扩展,用于支持皮肤签名修复。启用了这个API的皮肤站,玩家加入安装有修改版MultiLogin的服务器后可以看见其他玩家的皮肤和披风。
注意事项:如果你是正版玩家,支持性会受限。
安装和使用
首先,你得是皮肤站管理员,并且你的皮肤站基于Blessing Skin Server搭建。
- 皮肤站操作
- 下载这个插件
- 这是修改过的Yggdrasil API插件
- 在你的皮肤站上安装刚才下载的插件
- 前往管理后台-插件配置-Yggdrasil API,添加额外皮肤白名单域名(逗号分隔)
- 可以复制以下内容(去掉自己的):
skin.mc.sjtu.cn,auth.fdc.hath.top,lq11g.xyz,101.34.186.22,skin.xducraft.tech,skin.xauatcraft.com,skin.mualliance.ltd
- 客户端仅显示来自白名单里的域名的材质,如果不添加客户端还是会看不到
- 可以复制以下内容(去掉自己的):
- 访问
%APIRoot%/restore
,如果显示success就说明成功
- 下载这个插件
- Minecraft服务器操作
- 安装修改版MultiLogin及依赖插件**
- 添加对应的后端配置文件
皮肤站名称 | 域名 | 所属高校 |
---|---|---|
SJMC Skins | skin.mc.sjtu.cn | 上海交通大学 |
FDCraft User Center | auth.fdc.hath.top | 复旦大学 |
Minecraft·同济 | lq11g.xyz | 同济大学 |
XJTUMC | 101.34.186.22 | 西安交通大学 |
XDUCraft! | skin.xducraft.tech | 西安电子科技大学 |
XAUATcraft | skin.xauatcraft.com | 西安建筑科技大学 |
MUA User Center | skin.mualliance.ltd | MC高校联盟 |
*表格待完善
**修改版MultiLogin暂时不公开下载(有bug;目前只支持Velocity,不支持Bukkit, Bungeecord和Fabric)
原理
玩家登录服务器后,服务器会给玩家发送其他玩家的Profile信息(即皮肤、披风和签名信息)。
玩家客户端会使用自己的皮肤站公钥对Profile信息的签名进行验证,通过验证的皮肤和披风才能显示。此外,还要求皮肤和披风的URL来自皮肤站指定的域名列表。另外,来自Mojang的URL和链接同样会被通过。
MultiLogin实现的皮肤修复:
- 玩家登录时,通过Mineskin API,把玩家皮肤上传到Mojang,获得Mojang的URL和签名。修改玩家在Minecraft服务器上的Profile,把皮肤URL和签名替换为Mojang的,分发给其他玩家。
- Mojang不允许上传披风,这种修复方法没办法修复披风问题。
- 有时连不上Mineskin API会导致修复失败
修改过的修复流程:
- 玩家登录时,调用各个皮肤站的Skin Signature API获取签名
- 监听发送给其他玩家的Player Info Packet(即发送Profile的网络包),把Profile里皮肤/披风的签名替换成接收端所属皮肤站的签名,在客户端看起来就是合法的
- 对正版的支持性较差。如果想要正版玩家也能看到其他玩家的皮肤,则需要配合Mineskin修复一起使用,而且看不到披风。
源码
咕咕,日后上传
Credits
这个项目是对以下开源项目的一些微小改进: