publish-mod 是 universal-modder 技能集中用于「打包并发布一个已完成的游戏模组」的技能。它把发布流程拆成若干步骤,帮助作者在提交前完成检查、打包、文档和发布文案。
用途 面向已经做完、准备对外发布的游戏模组,覆盖从发布前检查到最终发帖的完整流程。
主要能力
- 发布前 lint 检查。命令示例:um publish check ./MyMod --game "<game install folder>"。
- FAIL(必须修复):与游戏文件字节完全相同的文件、泄露的密钥(fal/Anthropic/OpenAI/GitHub/AWS)、.env 文件。
- WARN(需逐条判断处理):源码中的反编译指纹(FUN_/DAT_/sub_ 命名、"Decompiled with" 头)、大型引擎归档、绝对用户路径、缺少 README、使用 fal 素材但未署名。
- 说明:每个 FAIL 都要修复;每个 WARN 都要有意识地处理。例如 AoE2 数据模组确实会附带修改过的 .dat,这是该平台的惯例。
- 按平台预期方式打包。技能给出平台/加载器与对应打包形式的对照:
- tModLoader:构建为 .tmod;在游戏内 Mod Sources 菜单发布(Steam Workshop)。
- BepInEx / Thunderstore:zip 包含 manifest.json、icon.png(256×256)、README.md、plugins/<Mod>.dll;依赖字符串形如 BepInEx-BepInExPack-5.4.2100。
- Nexus Mods:zip 按安装后的目录结构组织(Bethesda 用 Data/...,BepInEx/plugins/...,ue4ss/Mods/...,~mods/*.pak)。
- AoE2 DE:通过官方模组站(ageofempires.com/mods)或游戏内上传器;数据模组包含 resources/_common/dat/...。
- Steam Workshop:使用游戏自带上传器或 SDK 工具。
- Minecraft:Modrinth / CurseForge 的 jar,带 fabric.mod.json / neoforge.mods.toml。
- ROM hack / GameMaker:只发布补丁(BPS/IPS/xdelta),绝不发布修改后的游戏文件。
- 带选项的 Nexus 模组使用 FOMOD 安装器,可参考 FOMOD 教程与 STEP 的 FOMOD 指南;Nexus Mods 官方 modding wiki 覆盖其站点其余惯例。
- README(同时放在 zip 和页面上)。应包含:
- 功能说明:要点列表、GIF 或展示视频。
- 需求:游戏版本、加载器及其版本、依赖。
- 安装、卸载与故障排查(日志位置)。
- 兼容性:是否支持多人?已知冲突?
- 署名:加载器与库;参考过的资料;"Art/audio generated with fal (fal.ai) using "(fal_manifest.jsonl 列出这些素材);诚实的 AI 披露(由哪个 agent 和模型构建)。
- 代码许可证(常见 MIT/Apache);素材条款遵循所用模型的许可证。
- 版本与变更日志。在 manifest/构建文件中使用语义化版本(semver),标明支持的游戏版本,并维护变更日志。游戏更新后,先重新运行游戏内测试场景再提升版本号。
- 发布帖。以视频开头(参考 showcase-video 技能;20-45 秒,2-3 秒内出现实机画面)。帖子正文包含:钩子、这是什么、"如何制作"的署名(哪个 agent + fal 构建)、一个链接。如果视频使用了他人素材,需按 handle 署名并事先征得同意。
使用方式 通过 um publish check 命令对模组目录执行发布前检查,按平台对照表打包,撰写 README 与变更日志,最后准备发布帖。发布操作始终由用户决定:先起草、展示给用户,由用户按下发布按钮。
适用场景 适用于各类游戏模组的发布准备,尤其是需要跨平台(tModLoader、Thunderstore、Nexus Mods、Steam Workshop、Modrinth/CurseForge 等)打包、需要合规检查与署名披露的场景。
限制 资料未提供该技能的具体安装方式、支持的操作系统、收费或价格信息,也未说明其内部实现细节;这些内容暂未提供。