Valheim
Install with App

Details

Latest version
0.3.1
Last Updated
First Uploaded
Downloads
1.2K
Likes
1
Size
105KB
Dependants
ADDatHost Valheim hosting
30% off

Changelog

0.3.1 — 2026-09-27

  • Every on/off switch is now in [01 General] under its own name, listed in a fixed order in ConfigurationManager: Enabled, then SendWindow, SteamTransport, Scheduler, RelayThrottle, Priority, Deadband, Telemetry, StatsFile, PeerExtras, ClientExtras, DesyncCounters, CensusOnBoot, ItemReport (was [09 Items] ReportEnabled), ItemCleanup (was Cleanup), ItemMerge, and the one-shot RunCensus, RunItemReport, RunItemCleanupOnce, RunStats (were [11 Triggers]). Tuning values stay in [99 Advanced] and diagnostics in [12 Diagnostics]. The first start moves the switches once, keeps anything you had changed, and logs config: moved N switches to [01 General]: ....
  • BeanheimNet no longer switches itself to telemetry only when another networking mod is loaded. It logs a warning naming that mod and keeps running. The two are not compatible; remove one of them. The stats file's boot line says conflicts= instead of refused=.
  • README rewritten: what you might want to change, installing with a mod manager, and a plain compatibility note. The package description no longer says "No version lock"; a player without the mod can still join, as before.

0.3.0 — 2026-09-27

Settings

  • The on/off switches stay in the numbered sections. The 51 tuning values moved into one [99 Advanced] section, each named after its old section (Scheduler.SendIntervalSeconds, RelayThrottle.OtherHz, ...).
  • The first 0.3.0 start carries values over once from a 0.2.1 or 0.2.2 cfg (a 0.2.0 cfg uses older section names and starts at the defaults) and logs config: moved 51 settings to [99 Advanced]: kept N changed values .... A value you changed is kept. A value equal to the old default counts as a default, so the new default applies. If a [99 Advanced] key is already in the file, it wins, and a differing old value is named in a warning.
  • New defaults on a dedicated server: Scheduler.ServerTargetFrameRate 60, Scheduler.SendIntervalSeconds 0.033, RelayThrottle.OtherHz 0,5,3. Clients keep 0.05 and 0,0,0; the frame-rate setting does nothing on a client.
  • A cfg copied from a server to a client (or back) carries the other side's values, because they are written into the file.
  • Downgrading to 0.2.2 ignores [99 Advanced] and runs 0.2.2's defaults. Keep a copy of the pre-0.3.0 cfg if you may roll back.

Fixes

  • Items: cleanup re-checks every condition for each candidate at the moment of deletion. The game recycles object records, so a record freed between the scan and the delete could belong to an unrelated object by then. Skips are logged as items: recheck skipped N at delete.
  • Deadband: when a body comes to rest, its body velocity and angular velocity are written as exactly zero once, and the game's own write of the small leftover velocity is skipped that frame, so other players' games put the body to sleep. This matters for tree logs and some creatures; no item prefab syncs body velocity.
  • Deadband: the moored-ship band applies only while the hull is still (horizontal speed at most 0.25 m/s, turning at most 0.1 rad/s). Vanilla ships are Prioritized objects, which the deadband never touches, so in 0.2.2 and 0.3.0 the moored-ship band only reaches modded ships of the default object type.
  • When another networking mod is detected, the frame-rate setting, ItemMerge and item cleanup now also stand down; reports, census and stats continue.
  • SteamTransport: reads Steam's send buffer size before changing it and restores it when SendBufferBytes goes back to 0 or the feature is switched off. SendBufferBytes is now applied at a SendRateKBps of 150 too. If the original size cannot be read, the buffer is left alone.
  • A prefab that is not loaded yet is no longer classed as "other" for the rest of the session; it is looked up again after 30 s.
  • Five more networking mods switch BeanheimNet to telemetry only: DIT.BetterNetworking10, com.Fire.FiresGhettoNetworkMod, sighsorry.SkadiNet, dzk.warheimnetwork, Searica.Valheim.NetworkTweaks.
  • 0.2.1 said the mod no longer referred to any particular installation. That was incomplete: some comments and descriptions still did, and the DLL carried a local build path. Both are removed.

Telemetry (every new line reads only; nothing is sent or changed)

  • peerx (server, after each peer line): Steam queue time and packet loss, how long a moving object near that player waited before it was relayed, who owns the creatures near them, ownership changes (and how many moved straight between two players), helm holder vs ship owner, the longest silence.
  • client (client, after the stats line): arrival gaps of moving objects near you, position corrections (jumps and snaps) by creature/player/ship, clock corrections from the server, objects waiting to be created, received object data.
  • desync (server): copies left out of date after an object crossed a zone border, damage sent to a player who does not own the target, routed RPCs by name.
  • census (server): PlanBuild ghost counts by zone and age, and object counts by class and type.
  • gc on the stats line counts every garbage collection in the interval; it was described as gen-0 only.

Diagnostics ([12 Diagnostics], all off by default, live)

  • Profiler: a prof line with per-frame time by game phase, the slowest named systems, BeanheimNet's own hooks and its own overhead.
  • ReflectionSampler: a refl line naming which code makes reflection calls in long frames.
  • GcTimeSliceMs (dedicated server): sets Unity's incremental garbage-collector time slice, for measuring long frames. 0 leaves Unity's value alone.

0.2.2 — 2026-09-22

  • RelayThrottle: two new object classes. FloatingHz (default ∞/5/3) for floating objects that are neither items nor creatures (prefabs with a Floating component: logs, debris), which were unthrottled at any distance and the top uplink talker at a harbour; EffectHz (default 10/5/3) for networked sfx_/vfx_ prefabs (a sound that follows a bird). Floating objects use the item deadband.
  • Deadband: a ship with nobody aboard gets its own deadband (MooredShipPosMeters 0.05, MooredShipRotDegrees 2); a ship with a player aboard, players and carts stay untouched. Ship.HasPlayerOnboard is bound once at startup; if it is missing only this part is skipped.
  • Items: an item whose item data cannot be read (no data blob) is treated as valuable and never deleted, like enchanted, quality and gear items.
  • Telemetry: the stats line gains frames >50ms N >100ms N and gc N heap N MB cpu N% (gen-0 collections in the interval, managed heap, process-wide CPU as a share of one core).
  • Text: the Commands boot line names the 11 Triggers section; three leftover feature-key labels removed from a log line and two cfg descriptions.
  • README rewritten: short overview, before/after numbers from a live two-player A/B, settings and stats-line details under Advanced, build notes removed; manifest description shortened.

0.2.1 — 2026-09-21

  • cfg sections renamed to plain names (02 SendWindow, 03 Scheduler, 04 SteamTransport, 05 RelayThrottle, 06 Priority, 07 Deadband, 08 Telemetry, 09 Items, 10 ItemMerge, 11 Triggers); log tags match. Existing cfg files keep the old sections as orphans and the new ones start at defaults.
  • Scheduler credit carries across slow frames (a peer is still served at most once per frame), so a CPU-bound server reaches the configured rate.
  • README, comments and cfg text no longer refer to any particular installation.
  • MinWindowBytes defaults to 32768.

0.2.0 — 2026-09-21

  • Defaults: everything invisible to players is ON (window, scheduler, Steam rate, throttle, priority, deadbands, telemetry); Cleanup and ItemMerge stay OFF. A vanilla baseline was measured first.
  • Client uplink throttle measures distance from the nearest loaded player, not just the owner; gentler rates (fish 6/3/2, creature ∞/10/5, item ∞/5/3).
  • MinWindowBytes defaults to 16384.
  • Unwrap ServerSync's BufferingSocket wrapper to reach the real Steam socket (server-side status, window sizing and per-connection rate apply were inert without it).
  • Client-side item merge; hard rule that enchanted / quality / gear items are never deleted.
  • ServerTargetFrameRate; cfg Triggers; Steam status and per-connection diagnostics on the stats lines.
  • Thunderstore packaging (tools/package.sh).

0.1.0 — 2026-09-20

First build, against Valheim l-1.0.15 (network version 40), BepInEx 5.4.23.5, Harmony 2.9.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.