外观
MOD 开发概览
《生存战争》的社区 MOD 开发既要选择内容路线,也要先选择 API 实现。国内常见实现包括 SurvivalcraftApi(SCAPI)和 SuAPI;二者都能承载数据与 C# 扩展,但程序集、入口和注入机制不能混用。
非官方开发体系
这里介绍的是玩家维护的 API/MOD 生态,不是 Candy Rufus Games 提供的稳定官方 SDK。不同 API 分支的目录、接口、目标框架和封装格式可能不兼容,开始项目之前必须确定目标版本。
两条开发路线
| 路线 | 主要内容 | 适合的改动 | 前置知识 |
|---|---|---|---|
| 数据与素材 | XML、CSV、配方、衣物、方块数据、纹理、声音和模型 | 调整数值、增加配方与素材资源 | 文件结构、XML/CSV、图片或模型工具 |
| C# / DLL | 引用目标 API 程序集,编写并编译代码 | 新方块类、组件、子系统、界面与复杂行为 | C#、面向对象、Visual Studio、调试 |
先选择 API
| 实现 | 当前基线 | 适合从哪里开始 |
|---|---|---|
| SCAPI / SurvivalcraftApi | API 1.9 模板、.NET 10 | 搭建 API 1.9 项目 |
| SuAPI | .NET 8、事件总线与多种注入方式 | SuAPI 开发路线 |
旧教程常把第一条路线称为 PAK 修改。新版社区 API 可能允许部分数据文件以松散文件或 MOD 包形式读取,不再要求反复修改原始 Content.pak。具体能力以目标 API 的模板和加载器说明为准。
推荐学习顺序
- 确认版本: 记录游戏版本、API 名称、API 构建号、平台与目标框架。
- 建立测试环境: 使用单独的游戏副本和测试世界,不直接修改日常存档。
- 认识文件: 学习 XML、CSV、纹理与内容目录的职责。
- 完成小型数据改动: 先修改一个可验证的数值或配方。
- 学习 C# 插件: 从目标 API 自带的最小模板编译出 DLL。
- 组合数据与代码: 让方块数据、纹理、配方和代码中的标识保持一致。
- 封装并发布: 清理测试文件,编写版本、依赖、安装与卸载说明。
开始前必须记录
创建 DEVELOPMENT.md 或项目说明,至少写下:
text
游戏版本:
API / 加载器名称与版本:
目标平台:
目标 .NET / SDK:
引用程序集来源:
测试世界:
MOD 标识与版本:这份记录是解决“在作者电脑正常、换环境就报错”的第一手依据。
不建议的做法
- 不要把教程中的 DLL、程序集版本或方块 ID 直接当作所有版本通用值。
- 不要在唯一的游戏安装和唯一存档上开发。
- 不要把游戏本体、他人程序集或未授权素材一起重新发布。
- 不要通过复制整段原始类代码长期覆盖核心逻辑;API 更新后这类改法很难维护。
- 不要把客户端 MOD 与本站的社区服务端插件混为一套接口。
本章导航
参考资料
本章根据公开教程的知识结构重新整理,不是原文的逐字转载。教程中涉及的社群、下载地址和工具状态可能已经变化。
