Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkinWeb

AuthMe 离线服的游戏内皮肤上传系统,适配 Paper/Folia。作者:xWtree,网站:github.com/mcxqk

当前版本拆成三端:

  • 游戏服务器 SkinWeb-Folia-1.0.0.jar:Folia 兼容 Receiver,监听 5397,调用 AuthMe、SkinsRestorer 和 MineSkin。
  • 香港 Linux SkinWeb-Sender-1.0.0.jar:只监听本机 5398,负责 Nginx 请求和 Receiver 之间的 HMAC-SHA256 双向签名。
  • site/index.html:部署到 https://map.mcxw.cc 的静态网页,不保存密码、不知道游戏服地址。

流程是:玩家执行 /skin web → 打开 https://map.mcxw.cc/#token=... → 同源页面兑换一次性会话 → 上传严格 64×64 PNG → Sender 签名转发 → Receiver 异步生成 MineSkin 纹理并替换玩家当前皮肤。默认不加入 /skins 菜单;upload.publish-to-menu: true 才启用菜单模式。

存储与热重载

SkinWeb 不读取或写入 SkinsRestorer 内部表,只调用公开 API,因此 SkinsRestorer 的 FILE、MYSQL、POSTGRESQL 存储模式都可以工作。SkinWeb 自己的元数据数据库可选 SQLITE、MYSQL、NONE。

游戏服执行 /skinweb reload 会原子切换 Receiver、密钥、Token、Session、上传服务和数据库连接;失败时恢复旧服务,不迁移或删除旧数据库数据。香港 Sender 监控配置和密钥文件,修改后自动热重载,失败会保留旧服务。

快速部署

完整步骤见 deploy/README-部署顺序.mddocs/INSTALLATION.md。核心要求:

  1. 三端使用同一份至少 32 字节随机 Base64 密钥。
  2. 游戏服 TCP 5397 仅允许香港服务器出口 IP;不要对公网开放。
  3. Nginx 只把 /skinweb-api/ 代理到本机 Sender 5398,不直接连接游戏服。
  4. 网站必须使用 map.mcxw.cc 的正规 HTTPS 证书。

命令

  • /skin web/skinweb web:生成一次性网页地址。
  • /skinweb help:显示帮助。
  • /skinweb reload:热重载 Receiver、配置和数据库连接,不迁移数据。
  • /skinweb status:查看 Receiver、数据库和 Token 状态。

开源

本项目使用 GPL-3.0,见 LICENSE

About

Folia/Paper compatible three-tier Minecraft skin upload system

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages