一篇关于如何在 PC 上为 Valheim 下载和安装模组的指南,内容涵盖模组管理器以及在 Windows、Linux 和 macOS 上的手动安装方法。
Valheim 基于 Unity 运行,其模组都是 BepInEx 插件。社区维护着自己的 BepInEx 构建版本,而非使用上游版本,这是首先要弄清楚的事。
我们的示例是 EpicLoot,一个历史悠久的战利品和魔法物品大型改造模组。它是个很好的演示案例,因为它引入了真实的依赖项,并且必须同时安装在服务器和客户端上。
前置条件
- 一台运行 Windows 10 或更高版本、Linux 或 macOS 的 PC。Valheim 对这三者都有原生版本。
- Valheim,最好是 Steam 版本。原因见下一节。
- 几百 MB 的空闲空间。像 EpicLoot 这样的大型整合模组会占用更多。
- 7-Zip 或任何解压工具,若你打算手动安装。
- 在开始之前备份你的世界和角色。它们在 Windows 上位于
%userprofile%\AppData\LocalLow\IronGate\Valheim。
警告 - 请认真对待这个备份。包括 EpicLoot 在内的添加物品和进度系统的模组,会把数据写入你的存档。之后移除此类模组,可能会让角色手持游戏已无法识别的物品。
你拥有的 Valheim 版本很重要
Valheim 在 Steam、Microsoft Store 和 Xbox 主机上均有销售。
- Steam 版本是本指南所假设的版本,也是整个模组社区所针对的版本。
- Microsoft Store 和 Game Pass 的安装位于
C:\XboxGames\Valheim\Content下,模组化难度大得多。BepInEx 需要把文件写入游戏文件夹,而这类安装出于保护机制通常会阻碍这一操作。这里没有受支持的途径,你也不应指望模组管理器能正常工作。 - Xbox 主机完全无法安装模组。跨平台联机可以让 Xbox 玩家加入 PC 服务器,但 Xbox 客户端仍然是原版,无法加载任何内容。
BepInExPack Valheim
BepInExPack Valheim 是加载器,并非普通的 BepInEx。它是由 Azumatt、Vapok 和 Margmas 维护的 Valheim 专用构建版本,自带预配置的 BepInEx.cfg、适用于 Linux 和专用服务器的启动脚本、多个模组依赖的预加载器改动,以及上游 BepInEx 5 已经放弃的语义化版本支持。
请安装这个整合包,而不是通用版 BepInEx。
注意 - 由于它是一个社区分支,官方 BepInEx Discord 无法帮你解决 Valheim 相关问题,他们也会明确这么告诉你。遇到 Valheim 相关问题,请去 Valheim 模组社区寻求帮助。
在 BepInEx 之上,EpicLoot 还依赖两个共享库:
- Jötunn,大多数重要模组都会依赖的 Valheim 模组库。
- JsonDotNET,一个打包版的 Newtonsoft.Json。
模组管理器会自动安装这两者。
使用 Thunderstore 模组管理器安装
这是最常用的路径,也是模组页面所链接的方式。
有三款管理器支持 Valheim,且它们都读取相同的配置文件格式:
| 管理器 | 平台 |
|---|---|
| Gale | Windows、Linux |
| Thunderstore Mod Manager | Windows |
| r2modman | Windows、Linux、macOS |
无论选择哪一款,步骤都是相同的:
- 安装管理器并选择 Valheim。
- 创建一个配置文件(profile)。
- 浏览或搜索 EpicLoot。
- 点击 Install 或 Download with dependencies。BepInExPack Valheim、Jötunn 和 JsonDotNET 会随之一起安装。
- 通过管理器点击 Start modded 或 Launch game (modded) 来启动游戏。
直接从 Steam 启动 Valheim 会以原版模式运行,因为管理器是在启动时才附加 BepInEx 的。
使用 Vortex 安装
Vortex 支持 Valheim,并从 Nexus Mods 而非 Thunderstore 获取模组。Nexus 上的 Valheim 模组库要小得多,大多数作者都优先发布到 Thunderstore,所以只有在 Vortex 已经是你惯用的工具,并且你在那里找到了想要的东西时才使用这个方法。
- 安装 Vortex 并登录。
- 在 Games 下搜索 Valheim,悬停在图块上并点击 Manage。
- 按照下面的手动安装步骤自行安装 BepInExPack Valheim。Vortex 不会替你设置加载器。
- 使用 Mod Manager Download 从 Nexus 下载 mod,然后点击 Install 和 Enable。
- 像平常一样从 Steam 启动游戏。Vortex 会把文件永久写入游戏文件夹,所以一旦 BepInEx 就位,就不需要特殊的启动方式了。
警告 - 不要在同一个安装上同时使用 Vortex 和 Thunderstore 管理器。它们都想独占 BepInEx/plugins,会互相破坏对方的工作。
手动安装
首先,找到你的游戏文件夹。在 Steam 中右键点击 Valheim,然后选择 管理 和 浏览本地文件:
C:\Program Files (x86)\Steam\steamapps\common\Valheim
通过 Manual Download 下载 BepInExPack Valheim,解压到非游戏文件夹的位置,然后把 BepInExPack_Valheim 文件夹里的内容移动到你的 Valheim 文件夹中。操作正确的话,你会看到 BepInEx、winhttp.dll 和 doorstop_config.ini 就在 valheim.exe 旁边。
然后下载 EpicLoot、Jötunn 和 JsonDotNET,分别解压,并把它们的 .dll 文件复制到 Valheim\BepInEx\plugins 中。
接下来的操作取决于你的平台。
Windows
无需其他操作。启动游戏后,BepInEx 控制台窗口应该会随之出现。
Linux
- 让启动脚本可执行:
chmod u+x start_game_bepinex.sh
- 在 Steam 中打开 Valheim 的 属性,将启动选项设置为:
./start_game_bepinex.sh %command%
- 通过 Steam 启动。
你也可以给出脚本的完整路径而不是相对路径,这样就可以把整个 pack 完全放在游戏文件夹之外。
macOS
Valheim 有原生的 macOS 构建版本,但 BepInEx 5 在 Apple Silicon 上无法原生运行,因为它依赖 MonoMod,而 MonoMod 目前还没有 arm64 支持。变通方法是强制游戏通过 Rosetta 运行。
- 让脚本可执行:
chmod u+x start_game_bepinex.sh
- 将 Valheim 的 Steam 启动选项设置为:
/usr/bin/arch -x86_64 /bin/bash ./start_game_bepinex.sh %command%
- 通过 Steam 启动。
在 M 系列 Mac 上省略 arch -x86_64 部分,游戏仍然会启动,只是没有 BepInEx,也不会加载任何 mod。Intel Mac 不需要这个前缀。
使用 TMC App 安装
Valheim 是 TMC App 已经支持的游戏之一,所以与我们大多数指南不同,这是一个真实可行的选项而不是空话。这个应用是我们自己的模组管理器和服务器浏览器,它会像本文其他方式一样将 Valheim 模组部署到 BepInEx/plugins 中。
安装方法:
- Linux:一行命令,无需 root 权限,也不需要包管理器。
curl -fsSL https://raw.githubusercontent.com/modcommunity/tmc-app/main/scripts/install.sh | sh
- Windows:从[发布页面](https://github.com/modcommunity/tmc-app/releases)获取
setup.exe或setup.msi。也有便携版,不过它不会注册启动器入口或tmc://链接处理程序。 - macOS:同一个发布页面上的
.dmg文件。
安装完成后:
- 打开应用并添加 Valheim,将其指向你的 Steam 安装文件夹。
- 创建一个 sandbox。Sandbox 是命名的模组配置文件,拥有各自的加载顺序和部署方式,切换它们不会重新下载任何内容。
- 在该 sandbox 中安装你想要的模组。
- 启动游戏。
警告 - 在依赖它之前请先读完这部分。这个应用还处于非常早期的开发阶段,我们宁愿提前说明,也不想让你在游玩过程中才发现问题。它自己的 README 将所有支持的游戏都标记为未经测试,Valheim 也不例外,所以请把它当作可以和 Gale 或 r2modman 一起尝试的东西,而不是它们的替代品。请保留我们在前置条件中提到的备份。
话虽如此,现在恰恰是尝试它最有价值的阶段。如果它能正常工作,我们很想知道。如果它部署到了错误的文件夹或打乱了你的加载顺序,我们非常想知道——这类反馈对项目目前的价值,几乎超过任何其他东西。
该应用以 GPL-3.0 协议开源,地址为 github.com/modcommunity/tmc-app。错误报告和功能请求请提交到问题追踪器,欢迎提交 pull request,仓库中也记录了每个游戏的规则是如何运作的,如果你想自己改进 Valheim 相关的部分。
服务器端模组与多人游戏
这是让 Valheim 玩家容易踩坑的部分,因为它的运作方式和大多数联机游戏不同。
Valheim 的 mod 大致分为三类:
- 仅客户端。 UI 调整、镜头变化、视觉类 mod。安装在你自己的电脑上,别的地方无需关心。
- 客户端和服务器都要。 任何添加物品、配方、生物或进度系统的内容。EpicLoot 正好属于这一类,必须同时安装在专用服务器和每个玩家的客户端上。
- 仅服务器端。 管理工具、备份、世界管理。
如果搞错了,通常表现为连接时因版本不匹配被踢出,或者因为服务器不认识某些物品而导致物品消失。
对于专用服务器,BepInExPack Valheim 附带了一个专门用于此目的的 start_server_bepinex.sh 脚本。用 chmod u+x start_server_bepinex.sh 使其可执行,像编辑 Valheim 自身的服务器脚本一样编辑它的启动参数,然后运行它而不是 start_server.sh。
如果你要从零开始搭建服务器,我们另外的 Valheim 服务器指南 涵盖了这方面内容。
提示 - 一些托管的 Valheim 服务商会提供一个开关来帮你安装 BepInEx。如果你不想碰命令行,这是个合理的捷径。
配置模组
模组会在首次运行时在这里写入配置文件:
Valheim\BepInEx\config
它们是纯文本的 .cfg 文件。EpicLoot 把大量调整参数放在里面,还有用于战利品表和魔法效果的 JSON 文件,如果你想自定义而不是接受默认设置,很值得看一看。
BepInEx Configuration Manager 添加了一个游戏内设置窗口,可以在不切出游戏的情况下编辑这些相同的值。Gale 和 r2modman 也都自带配置编辑器。
检查一切是否正常加载
在 Windows 上,BepInEx 会在游戏旁边打开一个控制台窗口。它会出现在任务栏中,你可以在里面观察启动过程。
你想看到的是灰色和白色文字,这是信息性输出。颜色则意味着出了问题:
| 颜色 | 含义 |
|---|---|
| 红色 | 致命错误 |
| 深红色 | 错误 |
| 黄色 | 警告 |
| 深灰色 | 调试输出 |
该 pack 还会在控制台打印它自己的 Thunderstore 版本号,这与底层的 BepInEx 版本是分开的。
具体到 EpicLoot,加载一个世界,检查你的物品栏中是否有魔法物品标签页和强化台配方。
更新与卸载
模组管理器会标记过时的模组并一键更新。请在游玩之间进行更新,而不是在游玩过程中,因为会写入存档的模组在版本变化时可能会出现异常行为。
要移除某个 mod,在你的管理器中卸载它,或者从 BepInEx/plugins 中删除它的 .dll 文件。要恢复到原版,请从游戏文件夹中删除 BepInEx、winhttp.dll、doorstop_config.ini 以及启动脚本。Steam 的文件校验不会删除它们,因为它们不是 Steam 安装的。
警告 - 在移除一个曾向你的世界添加过物品的 mod 之前,考虑一下之后你是否还想要那个角色和世界。这正是备份的意义所在。
故障排查
没有 BepInEx 控制台,也没有模组生效。 在 Windows 上,检查 winhttp.dll 是否直接位于 valheim.exe 旁边。在 Linux 上,检查你的启动选项是否包含 ./start_game_bepinex.sh %command%。在 macOS 上,检查是否有 arch -x86_64 前缀。
因版本不匹配被服务器踢出。 你的 mod 和服务器的 mod 不一致。安装服务器所运行的相同版本,或者请求主机导出他们的 mod 列表。
Valheim 更新后 mod 停止工作。 这是预料之中的。Iron Gate 的补丁会破坏 BepInEx mod,作者需要时间来修复。查看你的 mod 的 Thunderstore 页面是否有更新版本。
游戏启动时崩溃。 将 BepInEx/plugins 中的所有内容移出,确认能正常启动,然后分批把 mod 加回去,找出问题所在的那个。
单人游玩时 mod 正常,但在我自己的服务器上不行。 服务端 mod 也需要安装在服务器上,而不仅仅是安装在承载服务器的客户端上。使用 start_server_bepinex.sh。
Microsoft Store 版本无法安装 mod。 基本上确实不行,也没有官方支持的解决方法。应使用 Steam 版本。
在 M 系列 Mac 上什么都加载不出来。 你的启动选项里缺少 Rosetta 前缀。
结语
对大多数人来说,简短版本是:安装 Gale 或 r2modman,选择 Valheim,连同依赖项一起安装 EpicLoot,然后以模组模式启动。BepInExPack Valheim 会随之一起安装,你完全不用操心它。
值得记住的两件 Valheim 特有的事是:BepInEx 包是一个社区分支,有自己的特性和自己的支持渠道;以及任何涉及物品或进度的内容都必须同时安装在服务器和客户端上。
Valheim 是我们自家的 TMC App 已经支持的少数游戏之一。它是开源的,而且开发阶段还非常早期,所以值得一试,但不建议完全依赖它,如果你有任何反馈,我们会非常感激。
另请参阅
- Valheim on Thunderstore
- Valheim on Nexus Mods
- Valheim Modding Discord
- Valheim Modding Wiki
- Official Valheim Modding FAQ - Iron Gate 官方关于 mod 必须适配的 asset bundle 系统的说明。
- Jötunn documentation
- TMC App
我们会尽力让这篇指南保持更新,但 Valheim、BepInEx 及各个 mod 库都是各自独立更新的。如果这里的说明与你实际看到的情况不一致,请反馈问题,或在本指南的 GitHub 仓库中提交一个 pull request。
如果你有任何问题,或想在 modding 相关的事情上获得帮助,欢迎加入我们的 Discord 服务器!

