Valheim专用服务器的性能和网络优化。不改变任何游戏玩法。
赫尔莫德将服务器的出站流量削减了约三分之二,解除了游戏原本固定不动的两项限制,并记录服务器时间实际花在了哪里,以便在出现卡顿时能够诊断原因,而不是靠猜测。
压缩网络流量。 在真实服务器上,8.6 MB 的出站流量变成了 3.0 MB,而帧时间和 CPU 均无变化。这部分需要每位玩家都安装该模组;没有安装的玩家只会交换普通数据包。
提高每位玩家的世界数据上限。 游戏向玩家发送的世界更新数据在传输量达到固定上限后便会暂停,这对距离服务器最远的玩家影响最大。该上限是可以调整的。
限制建造新地形所花费的时间。 生成带有墓穴或村庄的区域是服务器最耗资源的操作,当玩家朝不同方向探索时,多个区域可能在同一刻生成。预算机制会将它们分散开来。
改善 Steam 连接设置。 游戏将发送速率固定在某个值,并且从不关闭Nagle批处理。Hermod提高了上限并关闭了批处理,而且只朝着有利的方向调整。
记录服务器正在执行的操作。 每分钟往电子表格里写一行:帧时间、内存、对象数量、每名玩家的带宽与更新频率、压缩、地形生成和存档。其中大部分不需要挂钩进游戏,因此瓦尔海姆更新后它仍能继续工作。
监视过期的玩家记录。 当服务器仍认为一个玩家能看到另一个已超出范围的玩家时,它会这样记录并计入。这属于内部记账,而非屏幕上的任何表现,因为每个客户端都会自行丢弃该对象。它只是进行监视;传送门或玩家的行为都不会有任何不同。
不限制帧率。 一个英灵神殿服务器每帧只向一名玩家发送更新,所以限制帧率会让所有人的体验都更糟。赫莫德不予理会,拒绝将更新速度限制到每秒十次以下。
把它装在服务器上。如果你想启用压缩,也装在玩家端,因为压缩是唯一需要两端都装的部分。
这些命令需要在输入它们的客户端上执行,因为英灵神殿专用服务器本身没有控制台。命令会发送到服务器,并首先检查管理员权限。
跨平台服务器可以获取测量数据,但不具备网络连接功能。 压缩和Steam设置都需要Steam连接,而跨平台服务器从不建立这种连接。Hermod会在启动时于日志中说明它打开了哪种连接。
三个文件已载入 BepInEx/配置/,并每隔几分钟向日志添加一段简短摘要。
| 文件 | 内容 |
|---|---|
瓦尔海姆·赫莫德·会话.csv |
每分钟记录一行:帧时间、CPU、内存、对象数量、发送速率、压缩、地形生成、存档 |
赫尔摩德同伴CSV |
每位玩家每分钟一行:延迟、链路质量、带宽、队列深度、更新率 |
赫尔莫德报告 |
记录了最差帧率和最慢区域的会话数据 |
四列内容可回答大部分问题: ms_p99 这是一个糟糕画面该有的样子, 帧数大于100 是服务器实际卡顿的频率, 摊位毫秒 是这一分钟里有多少时间用于垃圾回收,以及 缓慢未解释 是赫尔莫德完全无法解释的缓慢帧。
百分位列是分桶边界,因此 ms_p99 = 16.7 意味着99%的帧都在16.7毫秒或以下。 最大值 列完全匹配。
每一列都有说明,详见 wiki/阅读-会话日志.md.
从管理员的客户端输入。
| 命令 | 它的作用 |
|---|---|
赫莫德状态 |
帧时间、CPU、对象数量、压缩和当前发送速率 |
赫尔莫德同伴 |
每位玩家:延迟、队列深度、更新频率 |
赫尔莫德印记 <label> |
在日志中标记一个带标签的边界,用于比较前后变化 |
赫尔莫德档案 <vanilla|tier1|relay> |
一次性实时翻转整套设置 |
hermod_compress <开|关|状态> |
数据包压缩。对所有已连接玩家立即生效 |
赫尔莫德队列 <bytes|off|status> |
飞行中的世界数据每位玩家的上限 |
赫尔莫德中继 <开|关|状态> |
设置中描述的更新改写 |
赫尔莫德网络 [应用] |
显示当前生效的 Steam 设置; 应用 在活动连接上重新声明它们 |
赫尔莫德帧率 <n|auto|off> |
限制帧率,并拒绝上述情况 |
hermod_probe <开|关> |
详细计时,其余测量继续运行 |
赫耳摩德报告 |
现在写报告 |
赫尔莫德重装 |
重新读取设置文件 |
赫耳墨德_存档 |
将当前生效的设置写回文件 |
赫尔莫德恐慌 |
立刻把一切都恢复成游戏原本的样子。 |
BepInEx/config/gbv.valheim.hermod.json. 已启用 且 仅测量 在BepInEx配置中,因此无需编辑JSON即可关闭模组。
| 设置 | 默认 | 它的作用 |
|---|---|---|
压缩已启用 |
开启 | 数据包压缩。联机双方都需要安装此模组 |
压缩级别 |
1 | 1到9。更高设置以数倍CPU占用换取几个百分点的提升 |
飞行升限 |
0 | 玩家在世界数据飞行中的单人上限。0会保持游戏自身的 |
区域生成预算毫秒 |
50 | 每个tick中可用于构建地形的时间(毫秒)。0表示无限制 |
应用Steam设置 |
开 | 连接设置总开关 |
纳格时间微秒 |
0 | Steam的批处理延迟。0 表示禁用,-1 表示保持原样 |
最小发送速率 |
153600 | 留在游戏自身的价值上 |
最大发送速率 |
1048576 | 天花板允许蒸汽达到的上限 |
发送缓冲区大小 |
0 | 保留 Steam 的默认设置不变 |
每秒最大总上传KiB |
0 | 你的上传预算,已分配到各玩家槽位 |
目标帧率 |
0 | 0 自动, -1 不设上限,或输入一个数字。自动表示不设上限 |
中继已启用 |
关 | 按计时器向每位玩家发送更新,而不是每帧发送一次。当玩家存在实际延迟时最有帮助;在保持开启前请先测试。 |
中继目标频率 |
20 | 中继每秒尝试通过的次数 |
中继帧率上限 |
60 | 当接力运行时,上限会自动选择 |
中继中止帧毫秒 |
250 | 延迟帧时间必须差到什么程度,中继才会自行关闭 |
修复Zdo额外数据泄漏 |
关闭 | 修复了游戏本身的内存泄漏问题。注意 额外数据比率 在日志中关闭后再开启 |
探测已启用 |
开启 | 详细时间安排 |
举报分钟数 |
5 | 报告和日志摘要的写入频率 |
慢帧毫秒 |
100 | 比这更差的帧都会记录在报告中 |
慢速区生成毫秒 |
50 | 比这里更慢的区域会被保留,并带有其坐标 |
写入CSV |
开 | 写两个电子表格 |
写入JSON |
开启 | 撰写报告 |
最大CSV字节数 |
8388608 | 将电子表格旋转超过此尺寸 |
遵循其他网络模组 |
开启 | 如果安装了其他网络模组,请关闭本模组 |
更好的网络指南 |
DIT.BetterNetworking10 |
要让哪个模组退出 |
无法解析的设置文件会保持原有设置不变,而不会将其读取为空。
只运行一个网络模组,不要运行两个。如果Hermod发现另一个模组,它会停止压缩、发送速率、批处理延迟和中继功能,并在日志中说明,然后继续测量。两个模组同时改写相同的封包会导致流量损坏,而不是干净地失败,这就是为什么这是自动的。
如果英灵神殿的更新移动了赫尔莫德所依赖的某些内容,它会在日志中指明该内容,并继续处理其他所有事项。阅读日志以 赫尔莫德: 更新后值得做一次。
专为……打造 维京兄弟.
数据包压缩改编自 杰西的强化网络,经由 拉博迪大卫的
Valheim 1.0分支,遵循MIT许可证,包含基于真实Valheim流量训练的压缩字典。完整声明见 第三方声明.md,授权于
许可证-BetterNetworking.txt.
Zstandard 来自 ZstdSharp.Port 作者:奥列格·斯捷潘尼谢夫。

修改前置工具
2026-09-12 14:33:53
修改前置工具

史诗战利品
randyknapp2026-09-09 21:20:10
为英灵神殿添加战利品掉落、魔法物品和附魔。

制作 建造 熔炼 烹饪 燃料 从容器中取出
aedenthorn2025-06-30 08:34:14
让你在制作、建造、使用熔炉和窑炉、添加燃料、烹饪食物等时,可以使用附近容器中的资源。

种植一切
Advize2025-09-09 11:15:37
重写了bkeyes93的种植增强模组。允许你的种植者种植浆果丛、蓟、蒲公英、蘑菇、此前无法获取的树种以及其他装饰性植物。还包括许多其他杂项功能(详见

无限制传送门
frostedplaything4102023-09-02 17:39:40
无限制传送门是一个客户端模组,允许玩家通过传送门传送任何物品。该模组提供广泛的自定义选项,让玩家能够控制物品限制、移除限制,

农场格子
Sarcenzzz2023-06-14 11:38:34
允许所有通过种植器种下的植物自动对齐并放置在网格中,确保它们有足够的生长空间。

更好的UI
MKMasa2021-04-15 09:19:42
这个模组对游戏界面做了一些细微的调整。你可以编辑并选择想要启用的更新内容。

更好的射箭
Ishid42026-09-10 16:16:51
为弓术玩法添加了许多功能和改动,包括全新的箭袋系统、可回收的箭矢、更精准的瞄准以及逼真的箭矢物理效果。