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

Details

Date Uploaded
Downloads
213
Size
34KB
ADDatHost Valheim hosting
30% off

Rusty Heathens ServerSync 1.0.3

Network diagnostics and guarded optional scheduling for Rusty Heathens servers.

What changed

Dedicated servers now query Steam's game-server networking API for ping, local/remote connection quality and traffic rates. Clients and listen hosts query the client API. The previous client-only getter could throw Steamworks is not initialized on a working dedicated server.

Summary lines include stats_source=steam-gameserver or steam-client, transport_stats_available and stats_status. A successful connected query reports actual measurements, including valid zeros. Missing, failed or unsupported readings show n/a, rather than fabricated zeros or stale values. Failed queries retry after 30 seconds and do not disable queue diagnostics or scheduling. Steam must already be initialized by the game; this mod never initializes it or opens extra connections. Non-Steam transports retain queue/frame diagnostics without claiming Steam statistics.

This release changes diagnostics only. Network packet formats, queue limits, peer order, object ownership, inventories and saves are unchanged. Runtime method fingerprinting remains absent.

Installation

Stop the server and close the game before replacing RustyHeathensServerSync.dll. Keep only one active copy under BepInEx/plugins. Install this version on the server for the dedicated-server statistics fix; clients can update to receive the clearer diagnostic output. Existing 1.0.2 clients use the same network protocol.

Keep BepInEx/config/com.rustylasergaming.serversync.cfg. No new config setting or plugin GUID is required. Existing mode and budgets carry over. Enable diagnostics to see measurements.

Modes and compatibility

Observe is the default for new configs and adds no send work. BoundedScheduler is an experimental dedicated-server option, bounded by call count, elapsed time, frame time and save cooldown. Clients stay observation-only. This update does not change scheduling behavior or automatically switch modes.

Reviewed game/network pairs remain 1.0.16/40, 1.0.17/40 and 1.0.20/41. Exact version and required member signatures are checked before installing scheduling hooks; unknown builds fail closed. Harmony-overlap checks remain active. Signature checks do not detect every same-version method-body change.

Build dependency: BepInExPack Valheim 5.4.2351. The plugin references the game's existing Steamworks.NET assembly; do not install or redistribute a replacement Steamworks DLL.

Validation

Compiled against supplied Valheim 1.0.20 references. Offline validation passed 32 scheduling/version tests, 11 binding tests and 23 transport tests. Transport tests use the production reader and formatting code with simulated API responses; they do not make native Steam calls. 20 compiled metadata checks also verified the API bindings, unchanged scheduling methods/hooks and absence of runtime fingerprinting (86 offline checks total).

The new native statistics query still needs live dedicated-server verification. After restart and a player joins, look for transport_stats_available=True stats_source=steam-gameserver stats_status=ok with numeric ping and rates. If unavailable, keep the stats_status value and send the log for diagnosis. Live latency improvement and Thunderstore approval are not established by these checks.

Source/build files are provided separately in RustyHeathensServerSync_1.0.3_SOURCE.zip. The install ZIP contains no source, tests, build tools, game DLLs or private server policy.

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