一份关于在 PC 上为 Hot Dogs, Horseshoes & Hand Grenades(H3VR)下载并安装 mod 的指南。
H3VR 是一款纯 VR 沙盒射击游戏,拥有 VR 领域中历史最悠久的 mod 生态之一,几乎所有内容都托管在 Thunderstore 上。Mod 以 BepInEx 插件的形式存在,而大家最看重的枪械 mod 都建立在一小组共享库之上。
我们的示例是 Meats ModulAR,一个大型模块化 AR 包。它有意做得不简单,因为 H3VR 的枪械包很少简单,而依赖链正是值得理解的地方。
系统要求
- 一台运行 Windows 10 或更高版本的 PC。通过 Proton 在 Linux 上也可运行,需要额外的启动选项,下文会介绍。
- Steam 上的 H3VR。
- 一套可正常工作的 VR 头显和运行环境。H3VR 支持 SteamVR 头显,同时也通过它支持 Oculus 和 Windows Mixed Reality 设备。
- 数 GB 的可用空间。枪械包携带大量模型、材质和音频,一份认真的 H3VR 模组列表很快就会变得庞大。
- 如果手动安装,需要 7-Zip 或同类工具。
H3VR 是单人游戏,没有反作弊系统,所以这方面无需担心。
仅支持 VR,没有平面模式
先把话说清楚。H3VR 是一款 VR 独占游戏,没有平面屏幕模式,模组也不会改变这一点。如果你没有头显,以下内容都与你无关。
也没有主机版本,因此以下内容仅适用于 PC。
会安装什么
BepInEx
BepInExPack H3VR 是加载器。它被放入游戏文件夹,在游戏启动时进行挂钩,并从 BepInEx/plugins 加载插件。
请使用 H3VR 专用版本,而不是通用的 BepInEx。它固定在 5.4.1700 版本,并已针对本游戏预配置,社区也是基于它进行构建的。
OtherLoader 及其伙伴们
这正是 H3VR 与大多数 BepInEx 游戏不同的地方。一个枪械包并不是真正意义上的“代码”,而是一堆物品,要把这些物品接入 H3VR 的生成器(spawner)和进度系统,需要共享的基础设施。
Meats ModulAR 依赖以下几个组件:
| 依赖项 | 作用 |
|---|---|
| OtherLoader | 将自定义物品包加载进游戏,并处理它们在生成器中的条目。 |
| H3VRUtilities | 一个历史悠久的共享库,大量模组场景都建立在它之上。 |
| OpenScripts | 模组作者附加在自定义部件上的通用行为脚本。 |
| FTW Arms AFCL | 用于模块化武器模组的共享挂载与部件库。 |
| Meats ModulARpt2 | 该模组自己的第二部分,因为 Thunderstore 的包体积限制而被拆分。 |
必须先具备所有这些组件的兼容版本,枪械包才能正常运作。这正是为什么在这里要用 mod 管理器,而不是手动下载文件的全部理由。
注意 - 大型包被拆分为第一部分和第二部分,这在 H3VR 的 Thunderstore 上是常见做法。如果你只安装了前半部分,会出现缺少枪械的情况,而不会有一个干净利落的报错。
使用 r2modman 安装
r2modman 是 H3VR 通常推荐使用的工具,也是大多数模组页面默认假设你会用的工具。
- 从 Thunderstore 或 GitHub releases 下载 r2modman。
- 启动它并选择 H3VR。
- 创建一个配置文件(profile)。考虑到 H3VR 模组列表会变得多大,为每种配装主题建立一个单独的配置文件确实很有用,而不仅仅是整洁而已。
- 点击 Online,搜索 Meats ModulAR,并打开由 Meat_banono 提供的结果。
- 点击 Download,然后点击 Download with dependencies。
- 等待。这会下载数百 MB 的内容,包括 OtherLoader、H3VRUtilities、OpenScripts、FTW 部件库以及 ModulAR 的第二部分。
- 检查 Installed 选项卡。所有内容都应列出,且没有警告图标。
- 点击 Start modded。
从 Steam 启动 H3VR 只会以原版方式启动。Mod 是由管理器在启动时挂载的,因此必须从 r2modman 启动游戏。
使用 Thunderstore Mod Manager 安装
Thunderstore Mod Manager 基于 r2modman 构建,在 Overwolf 的外壳下以相同方式工作。
- 安装它并选择 H3VR。
- 选择一个配置文件。
- 点击 Get mods,找到 Meats ModulAR,点击 Download。
- 接受依赖列表。
- 点击 Start modded。
两款管理器都可以用。r2modman 在 Linux 上更适合,也是唯一有 macOS 版本的,尽管 H3VR 本身并没有 macOS 版本。
手动安装
可行,但对于这样的模组来说是真正的苦差事。为一个小模组手动安装一次是学习性的;为一整个枪械包这样做则不是一个晚上该干的事。
通过在 Steam 中右键点击 H3VR,然后依次选择 Manage 和 Browse local files 来找到你的游戏文件夹:
C:\Program Files (x86)\Steam\steamapps\common\H3VR
- 使用手动下载(Manual Download)下载 BepInExPack H3VR 并解压。
- 将
BepInExPack_H3VR文件夹中的内容复制到 H3VR 文件夹中,使BepInEx、doorstop_config.ini和winhttp.dll与h3vr.exe位于同一目录下。 - 启动一次游戏后退出,这会创建
BepInEx/plugins文件夹。 - 下载该 mod 的 Thunderstore 页面上列出的每一个依赖项,使用其指定的确切版本,以及这些依赖项自身所依赖的任何内容。
- 解压每个依赖项,并将其内容复制到
BepInEx/plugins中,让每个 mod 都放在自己的子文件夹里,方便日后区分。 - 对 Meats ModulAR 和 ModulAR part 2 做同样的处理。
警告 - 将每个 mod 放在 plugins 下各自独立的文件夹中。H3VR 的 mod 使用的资源包(asset bundle)命名较为通用,把多个整合包混放在同一文件夹中,很容易导致它们相互覆盖。
提示 - OtherLoader 会从它扫描到的插件文件夹中读取物品资源包。如果一个枪械整合包安装顺利,但生成器(spawner)中没有出现新枪,首先要检查的就是手动安装导致的文件夹结构混乱问题。
使用 TMC App 安装
还有一个方式,这是我们自己开发的工具。The TMC App 是我们打造的模组管理器和服务器浏览器。它的 sandboxes(沙盒)是按游戏命名的模组配置文件,各自拥有自己的加载顺序和部署方式,在它们之间切换不会重新下载任何东西。对于那些为不同配装维护不同列表、且每个列表都要加载很久的游戏来说,这是一个明显有吸引力的功能。
H3VR 尚未列入其支持的游戏列表。 添加一款游戏只需要四个 JSON 文件而非代码,所以这不是一项大工程。
在你抱有太大期待之前:这款应用还处于非常早期的开发阶段。 它的 README 是这么说的,我们也要这么提醒你。其中很大一部分功能只经过了部分测试,对于像 H3VR 这样依赖关系繁重的模组栈,r2modman 仍然是值得信赖的工具。你完全可以把这款应用拿来和它并排试试,如果你这样做了,欢迎告诉我们体验如何。在目前这个阶段,早期反馈对我们来说比几乎任何东西都更有价值。
它是基于 GPL-3.0 协议的开源项目,托管在 github.com/modcommunity/tmc-app。问题追踪器 接受 bug 报告和功能请求,欢迎提交 pull request,如果你想为 H3VR 支持做贡献,仓库中也记录了如何添加一款游戏。
安装方法:
- Linux:一行命令,无需 root,也无需包管理器。
curl -fsSL https://raw.githubusercontent.com/modcommunity/tmc-app/main/scripts/install.sh | sh
- Windows:从 releases 页面 获取
setup.exe或setup.msi。也有便携版,不过它不会注册启动器入口或tmc://链接处理程序。 - macOS:从同一个 releases 页面获取
.dmg。
在游戏中查找模组枪械
已安装的武器模组不会替换任何东西。它们会与原版武器库并列出现。
进入任意沙盒场景并打开物品生成器(Item Spawner)。Mod 枪械会出现在与原版武器相同的分类列表中,通常带有该 mod 自己的标签,或者根据作者设置的方式拥有单独的页面。Meats ModulAR 添加了模块化的 AR 枪机以及大量配件,因此在枪械和配件两个分类中都能看到相应条目。
如果游戏加载了 mod,但生成器看起来还是原版内容,那是 OtherLoader 的问题,而不是 BepInEx 的问题,BepInEx 控制台通常会给出相应提示。
长期管理模组
r2modman 会在有新 Thunderstore 版本的模组旁显示更新徽章,Update all 会处理整个列表的更新。由于 H3VR 的枪械包依赖共享库,更新一个模组可能会引入某个更新版本的库,而旧的枪械包并不是针对该版本构建的。在大规模更新之前克隆一份配置文件,是这里成本最低的保险措施。
在已安装列表中禁用某个 mod 不会动它的文件;卸载则会将其删除。
要完全恢复原版,请从游戏文件夹中删除 BepInEx、doorstop_config.ini 和 winhttp.dll。Steam 的文件校验不会移除它们,因为它们本来就不是 Steam 安装的。
故障排查
游戏启动但没有模组。 你是从 Steam 启动的。请使用 Start modded。
没有 BepInEx 控制台。 BepInEx 没有正常加载。检查 winhttp.dll 是否直接位于 h3vr.exe 旁边。
Mod 已加载,但生成器中没有新枪。 OtherLoader 缺失、版本过旧,或者物品资源包放错了位置。通过你的 mod 管理器重新安装该 mod 及其依赖项。
加载时间长、出现卡顿。 超过一定 mod 数量后这是正常现象。H3VR 会在启动时加载每一个物品资源包,列表一大确实会花不少时间。将 mod 分散到不同的配置文件(profile)中而不是全部同时运行,会有很大帮助。
贴图缺失或模型呈粉色。 通常是整合包安装不完整,最常见的情况是漏装了 part 2 分包。
游戏更新后启动崩溃。 H3VR 的更新幅度往往较大,会破坏 mod 的兼容性。将 BepInEx/plugins 移出来确认问题,然后等待作者更新。
Linux 与 Proton。 将 H3VR 的 Steam 启动选项设置为 WINEDLLOVERRIDES="winhttp=n,b" %command%。如果你通过 r2modman 启动游戏,它会自行处理这一点。
结语
只要让模组管理器来解析依赖关系链,H3VR 的模组安装就相当简单。安装 r2modman,选择 H3VR,下载并带上依赖项,然后以模组模式启动。
两个值得牢记的 H3VR 特有要点:枪械整合包需要 OtherLoader 及其相关库才能在生成器中显示出来,而且大型整合包会被拆分成多个 Thunderstore 分包,全部都需要安装。
如果你有闲暇时间,TMC App 是开源的,处于早期开发阶段,我们非常期待关于它的反馈。
另请参阅
- H3VR on Thunderstore
- H3VR Modding Wiki - 当前的社区模组维基。
- H3VR Modding Discord
- Official H3VR Wiki - 官方游戏维基而非模组维基,但有助于判断哪些内容是原版内容。
- TMC App
我们会尽力保持本指南的时效性,但 H3VR、BepInEx 以及各种共享库都在各自独立地更新变化。如果本指南中的某项说明与你实际看到的情况不符,请反馈问题,或在本指南的 GitHub 仓库上提交一个 pull request。
如果你有任何问题,或者需要任何与 modding 相关的帮助,欢迎加入我们的 Discord 服务器!

