fresh-milkshake/Modding-Tutorial
GitHub: fresh-milkshake/Modding-Tutorial
一份版本锁定的《杀戮尖塔2》C# mod 开发全流程教程,系统讲解从环境配置、逆向工程到打包发布的完整生命周期。
Stars: 1 | Forks: 0
# 杀戮尖塔 2 Mod 开发教程
本仓库是一个具备版本感知的教程,用于指导构建《杀戮尖塔 2 抢先体验版》(**Slay the Spire 2 Early Access**)的仅限本地 C# mod。本教程面向已经掌握 C#、.NET 和 Godot 基础知识的读者,旨在简明扼要地解释这些工具如何与正式版游戏中的具体加载、打包和运行时约定相结合。
## 涵盖内容
- 环境配置与已验证的版本基线
- 游戏文件布局与内置 mod 加载器接口
- 项目骨架、`.csproj`、清单文件与暂存布局
- 针对 `sts2.dll`、`SlayTheSpire2.pck` 和日志的逆向工程
- `[ModInitializer]`、Harmony、钩子和更安全的补丁选择
- 内容注册、卡池、本地化、图标和解锁可见性
- 使用子菜单和覆盖屏幕的原生 UI 复用
- 调试、打包、安装与验证
本教程特意围绕 mod 的实际生命周期进行结构编排。从本地游戏基线开始,接着介绍加载器和有效载荷结构,随后分为行为 mod、内容 mod、原生 UI 制作、调试和发布等部分。本教程的目的并非收集零散的技巧,而是展示 STS2 mod 制作的不同技术层是如何有机结合在一起的。
## 本文使用的基线
- STS2 发布版本:`v0.99.1`
- 发布日期:`2026-03-13T20:40:28-07:00`
- 引擎版本:`MegaDot v4.5.1.m.8.mono.custom_build`
- 主资源包 Godot 版本:`4.5.1`
包含这些版本标记的原因在于,STS2 mod 开发的建议对当前的抢先体验版构建版本高度敏感。只有锚定在已知的游戏版本上,关于清单文件、安装布局、钩子形式或本地化合并路径的说明才具有实际参考价值。
## 阅读顺序
1. [01-environment-setup.md](01-environment-setup.md)
2. [02-vanilla-sts2-layout.md](02-vanilla-sts2-layout.md)
3. [03-mod-loading-and-manifests.md](03-mod-loading-and-manifests.md)
4. [04-reverse-engineering-the-game.md](04-reverse-engineering-the-game.md)
5. [05-entrypoints-harmony-and-hooks.md](05-entrypoints-harmony-and-hooks.md)
6. [06-assets-pck-and-localization.md](06-assets-pck-and-localization.md)
7. [07-native-ui-and-runtime-inspection.md](07-native-ui-and-runtime-inspection.md)
8. [08-debugging-and-fast-iteration.md](08-debugging-and-fast-iteration.md)
9. [09-packaging-installing-and-verifying.md](09-packaging-installing-and-verifying.md)
参考资料:
- [index.md](index.md)
- [appendix-api-inventory.md](appendix-api-inventory.md)
- [appendix-example-mods.md](appendix-example-mods.md)
- [references.md](references.md)
如果你想以最短的路径浏览本仓库,请从带编号的章节开始阅读。附录是为了支持和验证主体内容而存在的,并非用于替代主体内容。
## 许可证
本项目基于 [MIT 许可证](LICENSE) 授权。
标签:DNS解析, Early Access, Godot引擎, Harmony, Hook钩子, PCK资源提取, Slay the Spire 2, 云资产清单, 内容注册, 原生UI, 多人体追踪, 开源项目, 打包, 技术文档, 教程, 本地化, 杀戮尖塔2, 模组开发, 游戏Mod, 游戏修改, 游戏反编译, 游戏开发, 独立游戏, 调试, 逆向工程