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

Details

Date Uploaded
2 weeks ago
Downloads
802
Size
55KB
ADDatHost Valheim hosting
€1

MagiCorp Valheim Tick Profiler

Server-side BepInEx diagnostic plugin for Valheim dedicated servers.

What it reports

  • Effective Unity FixedUpdate rate versus configured nominal rate.
  • General Update rate.
  • Fixed/update gap average, p95, worst gap, and >20/>40/>100 ms stall counts.
  • Process CPU use, managed memory and GC collections.
  • Ranked self-time and inclusive-time for key Valheim subsystems:
    • ZNet / ZDO replication
    • ZNetScene / ZoneSystem / spawning
    • AI and Character fixed updates
    • ZSyncTransform / ZSyncAnimation
    • item drops, projectiles, ships, fish
    • building wear/support
    • smelters / loot spawners / terrain
  • Optional timing of Harmony Prefix/Postfix/Finalizer methods from other loaded BepInEx plugins, including ValheimPlus.

Instrumentation uses a thread-local nested timing stack, so tracked child time is removed from tracked parent self-time. This makes the ranked selfMsPerSec field useful for identifying the actual instrumented consumer instead of simply double-counting nested calls.

Output

  • BepInEx/LogOutput.log: compact periodic report.
  • BepInEx/tickprofiler-latest.txt: most recent human-readable snapshot.
  • BepInEx/tickprofiler-status.json: machine-readable current snapshot.

Touch BepInEx/tickprofiler.request to force an immediate snapshot. The plugin consumes and removes the request file.

Config

Created as BepInEx/config/magicorp.valheim.tickprofiler.cfg.

Important settings:

  • ReportIntervalSeconds = 10
  • DeepGameProfiling = true
  • ProfileModHarmonyMethods = true
  • TopConsumers = 12
  • SpikeThresholdMs = 20

Build

Targets .NET Framework 4.8 and references the Valheim 1.0.12/BepInEx assemblies under /opt/valheim-port/reference-1.0.12 by default.

HOME=/root DOTNET_CLI_HOME=/root /opt/valheim-port/dotnet/dotnet build -c Release

The plugin does not change gameplay state. Installing or removing the DLL requires a normal BepInEx process start to load/unload it.

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