本仓库是 肝肾大圣-单机游戏数值编辑器 的独立游戏模块中心。主程序只负责页面容器、主题、公共服务、下载校验和通用扫描;每个游戏模块自己实现完整专属页面、业务逻辑、构建清单、文档和发行包。
- 游戏专属模块代表整个游戏,例如
game.fzzml。 - 游戏内编辑模块代表该游戏中的一种编辑能力,例如
game.fzzml.inventory和game.fzzml.character-attributes。 - 一个游戏使用一个可下载 ZIP/DLL,包内可注册多个编辑模块。
- Release 只承载不可变的 ZIP;源码、说明和
catalog.json保留在仓库目录中。
games/
{游戏}/
module.json
contributors.generated.json
src/
tests/
docs/
sdk/
GameValueEditor.ModuleSdk/
schemas/
templates/
tests/
catalog.json
- 桌面破坏神:
game.deskrawlv1.0.2,包含人物属性、装备生成、掉落规则、钓鱼、材料和已有可堆叠背包物品六个页面,加载要求主程序至少 0.5.1。 - 放置斩魔录:
game.fzzmlv2.1.5 - 不问凡尘:
game.worldapartv1.3.5 game.last-epochv0.5.7,普通离线与完全离线入口共用,分析证据见其 ANALYSIS.mdgame.play-again-expeditionv0.1.3,包含“材料”“大转盘”“掉落”“命格”“装备”,加载要求主程序至少 0.5.2;建议配套当前主程序。直接接入正常启动的原游戏,无须启动参数或连接准备。大转盘单抽/十连共用概率规则,新生成装备、宝石(含基础属性)、时装、徽章的数值可取原生范围满值。
2026-10-13 远征 0.1.3 区分写入前拒绝和结果不确定:未执行的忙碌/旧回执拒绝可刷新后继续;已尝试写入后的失败仍不自动重试。旧不确定会话记录不自动解锁,主程序不改、不重发。详细方案与三轮复核见 发布记录。
2026-10-09 远征修复不再依赖旧构建哈希、固定运行时版本或概率列号,已用当前 0.116.73 的实际消费者核验,见小更新修复记录。此前审查把放置斩魔录误写成不问凡尘,现已纠正:放置斩魔录是 game.fzzml,不问凡尘是 game.worldapart。
两个模块的本次版本分别为 2.1.5 / 1.3.5:按名称识别,从当前 IL2CPP 元数据定位字段、原生方法与主线程入口,不以历史哈希拒绝小更新。当前两款游戏只读核验、设计/复核和完整离线测试包见本地修复记录。2026-10-09 经用户授权已提交并发布,线上资产和目录独立复验通过,各保留最新三个包;正式资产摘要及新完整离线包见发布记录。主程序生产代码不变,不另发主程序版本。
具体功能、线程、保存链路和实机证据只维护在对应游戏目录,不复制到主程序架构文档。
此前修复已包含在 Last Epoch 0.5.6、远征 0.0.6 及主程序 0.5.2 中:Last Epoch 取消历史哈希整包门槛,资源/异界/摄像头及统计按当前 IL2CPP 字段重新定位,个别可选属性失败不连带停用整个模块;远征请求/接口清理串行等待;宿主先按游戏名称识别并保留连接会话页面,小更新的构建记录与旧地址隔离不影响游戏归属。2026-10-09 两款游戏修复时未重发上述资产,当时 Last Epoch 更新构建实机读取也尚未完成。
2026-10-12 Last Epoch 0.5.7 移除完全离线启动参数门槛,普通离线与完全离线角色均已在 Steam Build 25816319 实际读取五页;碎片数量可逆修改、游戏原生保存和重启恢复核验通过。人物写入与经验/物品/金币原生钩子绑定当前离线角色,离开或切换角色后旧规则不作用于新角色;未执行的结构检查不再误报失败。详见两种离线入口方案与验收和正式资产/完整离线包记录。本次仅发布 Last Epoch,主程序 0.5.3 与其它游戏模块不重发。
再刷一把:远征的三页设计与验收见历史本地复核,早期两页记录见历史设计。五页功能原先发布为 0.0.7,但正式编号低于已交付本地 0.1.1,导致本地用户不能正常更新。现改为正式 0.1.2,所有已交付编号进入统一计数历史;不覆盖历史资产,不重发其它三个模块,游戏规则请求不变。见交付与发布设计和0.1.2 记录。运行包只有 DLL 与清单,无外部脚本依赖;构建嵌入请求需要 Node.js。
此前本地接入边界修复的测试包使用宿主 scripts/build-complete-offline-bundle.ps1 的显式 local-review 模式,预装三个目录模块和远征 0.0.5,不修改当时的 catalog 或正式 ZIP。本次完整离线包改用当前四个正式资产输入,仍使用同一构建器,见上方发布记录。模块/目录 JSON Schema 支持可选 packageSha256,空 IL2CPP 分量必须由完整包指纹补足,不接受模糊通配。可运行 ./scripts/test-package-build-constraints.ps1 检查旧原生声明、新包声明和缺值/错误分量;这不是正式发布门禁的替代品。
要求 Windows x64 与 .NET 8 SDK。
./scripts/validate-modules.ps1 -SkipCatalog
./scripts/verify-release.ps1 -SkipCatalog
./scripts/Publish-GameModule.ps1 -Game fzzml -SkipCatalog验证和发布脚本自动发现 games/*,新增游戏不修改中央解决方案或创建专属发布脚本。发布脚本从 module.json 推导项目、程序集、版本、资产名和 Release 标签;module.json 是游戏身份和兼容范围的唯一人工维护来源。
verify-release.ps1 要求相邻目录存在当前主程序仓库,构建每个真实模块 ZIP,并由当前宿主实际加载和核对页面契约。游戏运行时验证仍在对应模块目录执行,例如:
dotnet run --project tests/GameValueEditor.Modules.LiveTests/GameValueEditor.Modules.LiveTests.csproj -- --game=fzzml新增游戏使用 scripts/new-game-module.ps1。脚手架要求真实三文件 SHA-256,生成模块自有 WPF 页面和只读兼容性诊断骨架;Host API 7 还要求页面使用宿主视觉资源键和间距常量。适配器默认拒绝所有构建,不会把占位实现误当成可用模块。
上述新版本正式接入 Host API 8,要求主程序至少 v0.5.1,SDK 源码为 4.0.3。三个模块及脚手架的页面写入改走宿主实际字段协调桥接,避免与保存字段锁定互相覆盖;页面布局、主题、资源分类不变。旧 API 7 资产不覆盖,旧主程序仍可选择目录内兼容的保留版本。源码验证使用 ./scripts/validate-modules.ps1 -SkipCatalog;真实页面回归使用 dotnet run --project tests/GameValueEditor.Modules.PageTests -c Release。契约见扩展规范。
API 8 同时提供整页快照:共享背包/人物/实体页及 Last Epoch 资源页只应用没有协调写入重叠的读取结果,过期数据/错误丢弃并提示重新刷新,不自动重试。宿主还修复停用模块后的解锁及旧式页面迟到读取。上述页面测试覆盖编译模块 DLL 中真实页面的读写桥接和快照行为;不据此声称证明游戏内效果。
配套版本、最低主程序、正式资产大小/摘要及复核边界见本次集成发布记录。
仓库不依赖 GitHub Actions。正式发布先完成源码检查并提交,再从干净提交使用 -SkipCatalog 生成最终 ZIP;包内 DLL 的 ProductVersion 提交号必须等于带注释标签提交,目标分支历史必须包含该提交,远端标签对象必须与本地相同。目录/文档推进分支后可补传相同资产。每次打包使用唯一工作目录,先验证两文件候选 ZIP 再不覆盖地原子提升;失败与成功都不删除旧包或其它模块包。通过 GitHub API 创建不可变 Release 并校验线上大小与 SHA-256 后,再用 -CatalogOnly 更新 catalog.json,并以 ./scripts/verify-release.ps1 -VerifyReleasedVersions 对带目录的已发布版本做完整复验。目录为每个模块自动保留最多 3 个版本快照,最后才删除该模块第 4 个及更旧的 Release 资产并保留 Git 标签。该开关只允许当前版本已有同名正式标签,不改变新版本发布时基于正式标签及已交付本地版本恰好加 0.0.1 的约束。
主程序版本和每个模块版本独立递增,无需编号对应;兼容关系由每个发布快照的 Host API、最低/最高主程序版本和游戏构建共同确定。主程序与模块回退都是用户显式操作,不提供自动回退。
- 贡献者按整个游戏专属模块展示,不按“背包物品”“人物属性”等编辑模块拆分,也不显示贡献数量或排名。
- 合并 PR 后,由维护者运行
scripts/update-contributors.ps1,根据该 PR 实际修改过的games/{短名}写入 GitHub 显示名称、主页、首次和最新贡献日期;贡献者不直接编辑contributors.generated.json。 - 维护者必须校验稳定 ID、构建声明与运行时定位能力、清单/目录一致性,并验证实际模块包与页面。
scripts/verify-release.ps1可做全仓发行验证;选择性发布只构建修改模块,并将其与未改模块的原正式包一起交给宿主验证,不重打同版本资产。模块含可执行代码,因此脚本通过后仍需做安全边界和最小实机读写复核。
新增游戏或编辑能力前请阅读 模块扩展规范、参与维护 和现有游戏实现说明。
本仓库仅面向离线单机游戏、个人研究、调试和可访问性用途。不接受在线游戏、反反作弊、驱动绕过或隐藏修改行为。模块是可执行代码;安装前必须经过 HTTPS 下载、SHA-256 校验、清单核对和安全解压。