Commit Graph
2 Commits
Author SHA1 Message Date
gongzhiyongandClaude Opus 5 af87e416ce feat: 市场模板改为脚本生成,预置 24 个实例
新增 scripts/gen-market.py 生成市场 JSON,替代手写。模板数可传参调整。

端口排布与容量上限:
四组端口各自从常规基址每实例 +10。最先相撞的是 RCON(21114 起)追上
查询端口基址(27165),故实例数硬上限为 606,超出会让不同实例的不同
服务抢同一端口。脚本对超限直接报错并说明原因。

已校验:24 个模板占用 144 个端口(24×6)零冲突;RCON 端口与 rconPort
字段一致;pingConfig 指向查询端口而非模板默认的 Minecraft 25565;
networkMode 均为 host;memory 均非 0;镜像均非 Docker Hub;编码均 utf8。
边界用例 607 被拒、606 可生成且末个 RCON 恰好不越界。

模板按每 8 个分组,避免市场列表过长难找。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 21:53:28 +08:00
gongzhiyongandClaude Opus 5 fe256c619f feat: 新增 MCSManager 面板集成 —— 自定义市场模板与一键配置脚本
面板侧的多开方案,把首次部署踩到的坑全部固化,重建不必重新排查。

新增:
- mcsm-market.json  自定义市场,3 个端口预排好的 Squad 模板
- scripts/setup-panel.sh   幂等的面板配置脚本(装 Docker/登录私有仓库/
  开启 enableApiKey 与 allowUsePreset/指向自建市场)
- scripts/squad-instance.py  按实例号自动排布端口的实例管理脚本(已实测)
- scripts/mcsm.py  通用 API 封装
- PANEL.md  面板侧文档

修正官方 Squad 模板的三个致命问题(均已实测):
- image 指向 Docker Hub,在受限网络下必然 i/o timeout
- networkMode 为 bridge,Squad 依赖 Steam 查询协议,该模式下
  服务端能起但游戏内浏览器搜不到;且端口映射漏了查询口与 RCON 口
- startCommand 不带端口参数,多开时第二个实例会抢第一个的端口

记录两个文档未提及的面板开关:enableApiKey 与 allowUsePreset 默认均为
false,前者会让所有 apikey 请求返回 403;以及 session 鉴权除 cookie 外
还需把 token 作为 query 参数带上。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 21:40:09 +08:00