Files
90CNServer/docs
hanfuit b88e1a223b docs:新增远程发版脚本,Release 可用一条命令发布
Gitea 的 Release 全流程走 REST API(实测可行),不用点网页:

- docs/release/publish_release.py(纯标准库,无依赖):校验 tag → 建/更新
  Release → 上传附件 → 回读自检;支持 --dry-run / --draft / --prerelease /
  --expect-commit / --no-asset / --insecure
- 默认先比对本地 tag 与远端 tag 指向的提交,不一致直接拒绝 —— 2026.11.05
  就是 tag 落后 12 个提交,源码包是旧代码且外表看不出来
- .url 里仍是 REPLACE_WITH_YOUR_LINK 时拒绝发版(--force 可跳过)
- 附件同名先删再传,脚本可重复执行(幂等)
- docs/release/README.md 改为「一条命令发版 + 手工兜底」两套流程,附实测记录
- 根 README 发布流程、AGENTS.md 发版清单挂上脚本用法

实测:临时 tag 走完整流程 创建 201 → 上传 201 → 下载 200(内容正确)→
重复执行后只有一个同名附件 → 删除干净(release 204 / tag 已清)。
注意 Gitea 附件字段名必须是 attachment,用 file 会 500 "http: no such file"。
2026-11-05 19:44:14 +08:00
..

开发文档索引

本目录汇总各子项目的开发文档。

文档 内容
../AGENTS.md 入口文件:给 AI / 新人的一页纸——硬规则、构建命令、验证方法、代码地图、发版清单(开工前先读这份)
开发文档.md GM 启动器 / 整合工具 完整开发文档(环境搭建、架构、API 契约、打包部署、常见问题)
服务端开发文档.md 服务端(Go) 架构、GM 接口契约、拍卖行/背包改动、编译部署
PVF解析开发文档.md PVF 解析 套件(pvfine)、pvfexport 工具、离线名称显示集成
客户端补丁与CRC校验.md 客户端补丁(90CN.dll) 自校验机制、patch_dll_crc.py 用法、与「服务端 DLL 指纹」的区别、排查手册
启动器窗口风暴排查.md 启动器重复开窗口 / 页面空白 的根因(打包后 sys.executable 指向自身)、复现手法、修复点与日志判读
踩坑记录.md 踩坑合集(13 条):每条只写现象 / 成因 / 为什么没早发现 / 教训,开头是一句话教训总表,结尾是发版检查清单
launcher-README.md 整合启动器 + GM 工具的原始 README

其余子项目的 README 分散在各自目录:

  • server/README.md — 服务端源码说明
  • pvf/README.md — pvfine 项目说明
  • gmtool/README.md — GM 工具旧版说明

快速上手路径

  1. 任何人(含 AI)接手:先读 ../AGENTS.md,再回来按场景选文档。
  2. 只想跑起来:看根目录 README 的「快速开始」。
  3. 改 GM 工具(启动器):看 开发文档.md。
  4. 改服务端 GM 接口:看 服务端开发文档.md 的「GM 接口契约」。
  5. 改 PVF 解析 / 物品名:看 PVF解析开发文档.md。
  6. 改客户端补丁 / 重编 DLL:看 客户端补丁与CRC校验.md——改完 DLL 要补 CRC,并且要重编服务端。
  7. 遇到怪问题先翻 踩坑记录.md:13 条坑的一句话教训和判断规则,可能已经记过了。