Hermod
Compresses about two thirds of a dedicated server's outgoing traffic away, makes the ZDO send budget adjustable, and measures where the server's time actually goes. Compression needs the mod on each p
模組介紹 作者原文
Hermod
Performance and networking for Valheim dedicated servers. It changes no gameplay.
Hermod cuts the server's outgoing traffic by about two thirds, opens up two limits the game
leaves fixed, and keeps a record of where the server's time actually goes so a slowdown can be
diagnosed rather than guessed at.
What It Does
Compresses network traffic. On a real server 8.6 MB of outgoing traffic became 3.0 MB, with
no change to frame time or CPU. Every player needs the mod for this part; a player without it
just exchanges ordinary packets.
Raises the limit on world data per player. The game stops sending a player world updates once
a fixed amount is in flight to them, which bites hardest on players furthest from the server.
That limit is adjustable.
Limits time spent building new terrain. Generating a zone with a crypt or a village in it is
the single most expensive thing a server does, and several can land in the same tick when people
explore in different directions. The budget spreads them out.
Improves the Steam connection settings. The game pins its send rate to a fixed value and
never disables Nagle batching. Hermod raises the ceiling and turns the batching off, and only
ever in the direction that helps.
Records what the server is doing. One row a minute to a spreadsheet: frame times, memory,
object counts, per-player bandwidth and update rate, compression, terrain generation and saves.
Most of it needs no hooks into the game, so it keeps working after a Valheim update.
Watches for stale player records. When the server still thinks one player can see another
who has gone out of range, it says so and counts it. This is bookkeeping rather than anything
on screen, because each client drops the object on its own. It only watches; nothing about
portals or players behaves differently.
Does not cap the frame rate. A Valheim server sends updates to one player per frame, so
capping the frame rate makes things worse for everyone. Hermod leaves it alone and refuses a cap
that would slow updates below ten a second.
Installing
Install it on the server. Install it on players too if you want compression, which is the one
part that needs both ends.
The commands need it on the client you type them from, because a Valheim dedicated server has no
console of its own. Commands travel to the server and are checked for admin rights first.
A crossplay server gets the measurement but not the networking. Compression and the Steam
settings both need a Steam connection, which a crossplay server never makes. Hermod says which
kind of connection it opened in the log at startup.
What It Writes
Three files in BepInEx/config, and a short summary to the log every few minutes.
| File | Contents |
|---|---|
| gbv.valheim.hermod.session.csv | One row a minute: frame times, CPU, memory, object counts, send rates, compression, terrain generation, saves |
| gbv.valheim.hermod.peers.csv | One row a minute per player: ping, link quality, bandwidth, queue depth, update rate |
| gbv.valheim.hermod.report.json | The session, with the worst frames and slowest zones timestamped |
Four columns answer most questions: ms_p99 is what a bad frame looks like, frames_gt100 is
how often the server actually hitched, gc_stall_ms is how much of the minute went to garbage
collection, and slow_unexplained is slow frames Hermod cannot account for at all.
Percentile columns are bucket edges, so ms_p99 = 16.7 means 99% of frames were at or below
16.7 ms. The _max columns are exact.
Every column is explained in wiki/Reading-The-Session-Log.md.
Commands
Typed from an admin's client.
| Command | What it does |
|---|---|
| hermod_status | Frame time, CPU, object counts, compression and send rate right now |
| hermod_peers | Per player: ping, queue depth, how often they are updated |
| hermod_mark | Stamp a labelled boundary into the logs, for comparing before and after |
| hermod_profile | Flip the whole set of settings at once, live |
| hermod_compress | Packet compressi
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: