《杀戮尖塔2》模组制作指南(2026.3.12更新)
《杀戮尖塔2》原生支持模组,所以你可以直接制作模组并使用。
由于塔2刚发售暂时没有创意工坊,所以目前只能通过本地加载模组。下面介绍如何制作模组。
由于游戏目前处于抢先体验阶段,教程可能不是最优解,且代码更改频繁,如有错误请指正。
目前教程尚在更新,后续章节放在链接:https://github.com/GlitchedReme/SlayTheSpire2ModdingTutorials
个人mod交流群:542370192
环境配置
《杀戮尖塔2》是用Godot4.5.1 Mono开发的,所以你需要安装Godot4.5.1 Mono版本的编辑器。
进入Godot下载界面(https://godotengine.org/download/archive/4.5.1-stable/),下载并安装编辑器。注意选择.NET版本。

或者,你也可以下载制作组自己使用的Godot修改版本MegaDot(https://megadot.megacrit.com/)。由于暂不清楚这个版本和官方版本的区别,所以建议直接使用官方版本。
打开Godot创建一个新项目。渲染器尽量使用Mobile/移动,以和游戏保持一致。

7. 点击左上角的“创建C#解决方案”按钮。

用`VS Code`打开项目文件夹。创建一个新文件(双击资源管理器或者右键新建文件),名字为mod_manifest.json。填写以下内容。注意删除//及以后的内容,这里仅用作注释。
{
"pck_name": "test", // 和你的项目名一致
"name": "Test Mod", // mod名称
"author": "Reme", // 作者
"description": "A mod", // 说明
"version": "0.0.1" // 版本
}
打开你的.csproj文件,修改并换成以下内容:(记得替换游戏目录)
<Project Sdk="Godot.NET.Sdk/4.5.1">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>true</ImplicitUsings>
<LangVersion>12.0</LangVersion>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- 改成你的杀戮尖塔2目录 -->
<Sts2Dir>D:\xxx\Steam\steamapps\common\Slay the Spire 2</Sts2Dir>
<Sts2DataDir>$(Sts2Dir)\data_sts2_windows_x86_64</Sts2DataDir>
</PropertyGroup>
<ItemGroup>
<Reference Include="sts2">
<HintPath>$(Sts2DataDir)\sts2.dll</HintPath>
<Private>false</Private>
</Reference>
<Reference Include="0Harmony">
<HintPath>$(Sts2DataDir)\0Harmony.dll</HintPath>
<Private>false</Private>
</Reference>
<Reference Include="Steamworks.NET">
<HintPath>$(Sts2DataDir)\Steamworks.NET.dll</HintPath>
<Private>false</Private>
</Reference>
</ItemGroup>
<!-- 自动复制dll -->
<Target Name="Copy Mod" AfterTargets="PostBuildEvent">
<Message Text="Copying mod to Slay the Spire 2 mods folder..." Importance="high" />
<MakeDir Directories="$(Sts2Dir)\mods\" />
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(Sts2Dir)\mods\$(MSBuildProjectName)\" />
</Target>
</Project>
创建一个Scripts文件夹,创建一个Entry.cs文件(两者命名随意,为了整洁美观)。内容改成以下:
using HarmonyLib;
using MegaCrit.Sts2.Core.Logging;
using MegaCrit.Sts2.Core.Modding;
namespace Test.Scripts;
// 必须要加的属性,用于注册Mod。字符串和初始化函数命名一致。
[ModInitializer("Init")]
public class Entry
{
// 打patch(即修改游戏代码的功能)用
private static Harmony? _harmony;
// 初始化函数
public static void Init()
{
// 传入参数随意,只要不和其他人撞车即可
_harmony = new Harmony("sts2.reme.testmod");
_harmony.PatchAll();
Log.Debug("Mod initialized!");
}
}
按下ctrl+shift+b选择dotnet: build,或者终端命令行输入dotnet build创建dll文件。由于之前.csproj文件的配置,dll文件自动复制到游戏根目录的`mods`文件夹里了。
回到Godot编辑器,点击项目→导出,点击上方的添加一个windows预设,然后
* 点击`导出pck/zip`,把文件名字改成`[项目名].pck`。
* 文件夹选择你之前导出的dll同名目录。
* 注意一定得是pck!!!


13. 现在你的`mods`文件夹里有一个你的mod命名的文件夹,里面有一个dll文件和一个pck文件,这两个文件是构成一个mod的组件。
- dll文件是mod的代码。如果你之后改动了代码,只要重新build一下就行。
- pck文件是mod的素材资源。如果你没有素材上的变动,不需要重新打包一次pck。
14. 运行游戏。第一次会提示是否开启mod,选择是,然后游戏或许会关闭,打开第二次即可,如果右下角显示“已加载模组”即加载成功。
目前只有如何创建mod文件,添加内容和修改代码之后再讲解。由于本作环境配置略麻烦,之后也许会添加启动模板。
by Reme · 来自踩蘑菇PC端
更新于 5 天前