Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
last week
Downloads
802
Size
76KB
ADDatHost Valheim hosting
€1

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:

  • Effective server tick rate versus the nominal 50 Hz target. Missed real-time deadlines reduce this rate and later Unity catch-up FixedUpdates do not restore it.
  • Main Update throughput plus p95/p99/worst wall-clock gaps.
  • Main-thread stall count, worst contiguous gap and excess wall time lost to stalls, independent of whether the cause can be attributed to managed code.
  • 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.log
  • BepInEx/tickprofiler-latest.txt
  • BepInEx/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 overlay. The client component profiles local frame/main-thread timing but does not alter gameplay.

  • Press F8 to toggle the overlay.
  • Shows local client frame throughput, p95/p99 frame gaps, main-thread stall count, worst gap, cause and lost wall time.
  • Shows rolling 5-minute client FPS/hitch and server tick-rate/hitch graphs.
  • Shows local process CPU, managed memory and GC activity.
  • Shows server effective tick rate and Update rate.
  • Shows server main-thread stalls, p99/worst update gaps and event-correlated cause, including exact plugin/type/method where measurable.
  • 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, width, UI scale, local stall threshold and ProfilePluginMethods. UIScale = 0 automatically scales from 1x at 1080p to 2x at 4K.

Server configuration

Created as BepInEx/config/magicorp.valheim.tickprofiler.cfg. Important settings:

  • ReportIntervalSeconds = 10
  • DeepGameProfiling = true
  • ProfileModHarmonyMethods = true
  • TopConsumers = 12
  • SpikeThresholdMs = 20
  • MainThreadStallThresholdMs = 75
  • AnnounceHitchesInChat = true broadcasts significant hitches into normal Valheim chat for connected TickProfiler clients.
  • HitchChatTitle = Server controls the chat sender/title.
  • AnnounceHitchesInGame = false optionally also shows a top-left HUD notification.
  • AnnounceHitchesInGame = true
  • AnnounceHitchThresholdMs = 250
  • AnnounceHitchCooldownSeconds = 10

Compatibility

Built and validated against Valheim 1.0.12 and BepInExPack Valheim 5.4.2350. The profiler does not change gameplay state.

DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro