BeanheimNet
Networking fixes for Valheim dedicated servers and clients: a bigger send window, a higher Steam send rate, a fairer send order and fewer wasted updates, plus per-player network stats.
模組介紹 作者原文
BeanheimNet
Networking fixes for Valheim dedicated servers. Install it on the server and on every player's game.
It sends more of what players need, sooner, and stops sending updates nobody needs. It also writes
network stats to a log file so you can see what your server is actually doing.
Why
Vanilla Valheim keeps at most 10 KB of updates in flight per player and caps Steam's send rate at
150 KB/s. A player 150 ms away can receive about 68 KB/s at most, and the same limit caps what each
player uploads. Building pieces always go out before creatures, carts and dropped items. Fish and
ambient animals send an update every frame they move. On a busy server you see creatures that
stutter or teleport, carts that freeze and snap, drops that show up seconds late, and hits that land
late.
What it does
| Feature | What it does | Default |
|---|---|---|
| SendWindow | Sizes each player's window from their ping instead of the fixed 10 KB | on |
| SteamTransport | Raises Steam's per-connection send rate from 150 KB/s to 1 MB/s | on |
| Scheduler | Sends to every player each round instead of one player per frame | on |
| RelayThrottle | Sends fish, far creatures, far items, floating logs and sound effects less often. Near a player only fish (6 updates/s) and sound effects (10/s) are slowed | on |
| Priority | Creatures, carts and drops next to a player no longer wait behind a distant building backlog | on |
| Deadband | Whoever simulates an object skips updates for movement under a centimetre or a degree, and sends one exact stop when it comes to rest | on |
| Telemetry | Network stats every 10 s in the BepInEx log and in BepInEx/BeanheimNet-stats.log | on |
| Items | Reports dropped items on the server. Can also delete old floating junk | report on, delete off |
| ItemMerge | Merges nearby stacks of the same plain item | off |
| Diagnostics | Frame profiler and reflection sampler, for chasing long frames | off |
A dedicated server's frame cap also goes from 30 to 60 fps (Scheduler.ServerTargetFrameRate).
That setting follows the master switch, not the Scheduler switch.
What you might want to change
Most servers need nothing changed. The server and the clients pick their own defaults on first start.
- Server short on CPU: set [99 Advanced] Scheduler.ServerTargetFrameRate = 0 to go back to
vanilla's 30 fps.
- Too many dropped items lying around: set [01 General] RunItemReport = true to see what is
out there, then ItemCleanup = true to delete items that have sat for 6 hours of play more
than 200 m from everyone. By default only items in the water go. Enchanted items, gear, anything
above quality 1 and anything near a base are never touched.
- Piles of small stacks: [01 General] ItemMerge = true merges nearby stacks of the same plain
item.
- Less log output: [01 General] Telemetry = false, or switch off just the extra lines
(PeerExtras, ClientExtras, DesyncCounters).
- Something seems wrong: [01 General] Enabled = false puts every patch back to vanilla behaviour
within 5 s, without a restart.
Install
- Install with your mod manager on the server and on each player's game. A player who doesn't have
it can still join; they just don't get the client side of it.
- The config is BepInEx/config/helix.beanheim.net.cfg. Changes are picked up within 5 s, no restart.
Every on/off switch is in [01 General] (the General group in ConfigurationManager). The tuning
values are in [99 Advanced], named Section.Key (for example Scheduler.SendIntervalSeconds),
and the diagnostics in [12 Diagnostics].
- Some defaults differ between server and client: a dedicated server gets a 60 fps frame cap,
Scheduler.SendIntervalSeconds 0.033 and RelayThrottle.OtherHz 0,5,3, while clients keep 0.05 and
0,0,0. The values are written into the file, so don't copy a server cfg to a client or the other way.
- Coming from 0.2.1, 0.2.2 or 0.3.0, your settings move on the first start (switches into [01 General],
tuning values into [99 Advanced]) and anything you h
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: