DiagnoseServerLag
Names the cause of lag instead of guessing. Measures your client and the server once a second and tells you which it is: starved server, saturated link, packet loss, object churn, world loading, or yo
模組介紹 作者原文
Diagnose Server Lag
Says which kind of lag you actually have, instead of guessing.
"The server is lagging" covers six unrelated failures. They feel identical while playing — the game goes sticky — and they have nothing in common but that. A starved server, a saturated link, a lossy connection, an overloaded base, a world still loading and a computer that cannot keep up each need a different fix, and picking the wrong one costs an evening. Worse, the measurement people reach for first actively misleads: a frame-rate counter reads perfectly fine while the server burns, because your machine has nothing to struggle with when the updates never arrive.
This mod measures both ends once a second, and names the cause.
What it tells you
Press F8 and the report opens with a verdict in plain language, the evidence it was decided from, and what is actually worth doing about it. For example:
The server is badly starved: 84 ms per tick sustained (12 per second).
Nothing on your machine will change this, and it is happening to everyone online at the same time.
- tick 91.2 ms now, 84.4 ms median over the server's last 60s
- worst single tick in that window 340 ms
- 47 server stalls over the window
- 18,402 networked objects in the world, 612/s sent to 3 players
or
Packets are being lost: connection quality 91.4%.
This is the network path, not the server and not your computer, so neither restarting the server nor turning settings down will touch it.
The six causes it separates:
| Cause | What proves it |
|---|---|
| Server starved | The server's own tick times, which a client cannot see at all |
| Link saturated | Bytes handed to the socket that have not left, and whether that number is climbing |
| Connection quality | Steam's measured packet-loss fraction, and ping jitter judged apart from latency |
| Object churn | Object updates per second against this server's own recent normal |
| World loading | Objects being built into the scene at the moment the frame stalled |
| Your machine | Frame times, but only claimed once the other five have been measured and ruled out |
More than one can be true at once and often is — a saturated link and heavy churn are usually one event seen from two ends — so the report ranks them and shows the rest under the headline.
Why it needs the server
The server half is the point of the mod. A client watching itself can tell you the game feels bad; only the server's own tick times can tell you whether the server was keeping up at the time, and that is the single measurement that decides whether anything on your machine is worth changing.
Without it the mod still works and still finds link saturation, packet loss, churn and loading — it simply cannot rule the server in or out, and it says so rather than quietly guessing:
The server is not running this mod, so it cannot be measured. Every verdict below is made from this machine's side alone, and "the server was fine" is the one thing it cannot tell you.
Installation
Install on the server and on every client (Gale, r2modman or Mod Manager, or drop DiagnoseServerLag.dll into BepInEx/plugins). Keep the same version everywhere.
- Server without the mod: clients diagnose their own end and say the server half is missing. Nothing breaks.
- Client without the mod: that player gets no report. Everyone else is unaffected.
- Hosting the world yourself: both halves are the same process, and the server numbers are read directly with no asking involved.
Works on Windows and Linux dedicated servers. Requires BepInExPack for Valheim.
Keys (configurable)
| Key | Does |
|---|---|
| F8 | Open and close the report. Escape closes it too. |
| F7 | Turn the corner readout on and off. |
There is also a pause toggle in the report's top-right corner, the same mark used on the large map and GrabMaterials' inventory panel: gray when off, Valheim orange while the game really is paused, red with a slash when the pause was asked for and refused. It is off by default.
Pau
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: