
TickProfiler
Valheim server tick profiler with ranked subsystem timing and an optional client-side F8 performance overlay.MagiCorp Valheim Tick Profiler
TickProfiler is a Valheim dedicated-server performance profiler with an optional in-game client overlay.
Server profiler
The dedicated server records:
- Unity
FixedUpdaterate versus nominal tick rate. - Main
Updaterate. - p95 and worst update/fixed gaps plus >20 / >40 / >100 ms stall counts.
- Process CPU, managed memory and GC collections.
- Ranked self/inclusive time for networking, ZDO replication, AI, item drops, spawning, structures, terrain, production and other hot paths.
- Timing for supported Harmony Prefix/Postfix/Finalizer methods from other BepInEx plugins, including ValheimPlus.
Output is written to:
BepInEx/LogOutput.logBepInEx/tickprofiler-latest.txtBepInEx/tickprofiler-status.json
Touch BepInEx/tickprofiler.request to force an immediate server snapshot.
Client overlay
Install the same Thunderstore package on a Windows Valheim client to enable the read-only overlay. The client component does not profile the client and does not alter gameplay.
- Press F8 to toggle the overlay.
- Shows server FixedUpdate and Update rates.
- Shows tick lag/behind percentage, p95/worst fixed gap and stall counts.
- Shows server CPU, memory and GC data.
- Shows the current top server-side consumers and their worst call time.
- Shows snapshot age and client-to-server ping.
The server only sends profiler snapshots to clients that announce the TickProfiler overlay. Clients without TickProfiler are unaffected.
Client settings are created under BepInEx/config/magicorp.valheim.tickprofiler.client.cfg and include toggle key, default visibility, font size, position and width.
Server configuration
Created as BepInEx/config/magicorp.valheim.tickprofiler.cfg. Important settings:
ReportIntervalSeconds = 10DeepGameProfiling = trueProfileModHarmonyMethods = trueTopConsumers = 12SpikeThresholdMs = 20
Compatibility
Built and validated against Valheim 1.0.12 and BepInExPack Valheim 5.4.2350. The profiler does not change gameplay state.

