Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
SkadiNet
Reduces network pressure and desync with adaptive ZDO scheduling, smarter ownership recovery, payload reduction, compression, and safe visual RPC filtering, all controlled by simple unified sliders.
| Last updated | 3 hours ago |
| Total downloads | 133 |
| Total rating | 0 |
| Categories | Mods Tweaks Server-side Client-side AI Generated |
| Dependency string | sighsorry-SkadiNet-1.0.1 |
| Dependants | 1 other package depends on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
SkadiNet

SkadiNet is a Valheim networking optimization mod for BepInEx servers. It reduces network pressure and ownership-related desync with adaptive ZDO scheduling, smarter client ownership, payload reduction, negotiated compression, and conservative visual RPC filtering.
The config surface is intentionally small: each major system is controlled by one 0-100 slider. 0 disables that system.
Features
- Adaptive ZDO send scheduler with queue pressure handling and lagging-peer backfill.
- Fixed Steam socket send-rate ceiling at 36 MB/s while SkadiNet is enabled.
- Vector3/Quaternion micro-update reducer for non-critical ZDO data.
- Adaptive client ownership using distance, ping, jitter, owner load, cooldowns, and combat hints.
- Negotiated Deflate compression with per-peer fallback after a compression/decompression failure.
- Whitelist-only RPC AoI for safe visual RPCs such as
DamageTextandTalkerSay. - Optional client-side stutter guard that delays/coalesces
GC.Collectduring sensitive gameplay windows. - ServerSync-backed config sync.
Recommended Config
Start with the default profile:
[General]
Enabled = true
LockServerConfig = true
DebugLogging = false
SchedulerThroughput = 35
PayloadReducerStrength = 30
CompressionAggression = 50
OwnershipIntensity = 45
ClientStutterGuardStrength = 50
RpcAoiAggression = 35
Server-synced sliders: SchedulerThroughput, PayloadReducerStrength, CompressionAggression, OwnershipIntensity, RpcAoiAggression.
Client-local settings: DebugLogging, ClientStutterGuardStrength.
Presets
Use these as practical tuning points. Raise one area at a time when diagnosing a specific bottleneck.
| Slider | Conservative | Recommended | Worth Trying | Aggressive | Very Aggressive |
|---|---|---|---|---|---|
SchedulerThroughput |
20 | 35 | 50 | 70 | 85 |
PayloadReducerStrength |
15 | 30 | 45 | 60 | 75 |
CompressionAggression |
25 | 50 | 65 | 80 | 90 |
OwnershipIntensity |
20 | 45 | 60 | 75 | 90 |
ClientStutterGuardStrength |
25 | 50 | 65 | 80 | 90 |
RpcAoiAggression |
15 | 35 | 50 | 65 | 80 |
Very Aggressive is a practical upper preset for strong servers and stable clients, not the absolute maximum. Values closer to 100 are best reserved for targeted testing.
Slider Guide
| Slider | Default | Higher Values |
|---|---|---|
SchedulerThroughput |
35 | Shorter send intervals, larger ZDO package caps, more peers per tick, faster lagging-peer backfill. |
PayloadReducerStrength |
30 | More suppression of tiny repeated position/rotation updates. |
CompressionAggression |
50 | Compresses smaller packages and accepts smaller bandwidth wins. |
OwnershipIntensity |
45 | Scans farther/faster, uses stronger combat hints, and rejects poor ping/jitter candidates more strictly. |
ClientStutterGuardStrength |
50 | Keeps longer GC protection windows when memory pressure allows it. |
RpcAoiAggression |
35 | Uses a smaller visual radius for eligible safe visual RPCs. |
Notes
- SkadiNet does not make the server own every ZDO. It nudges ownership toward suitable nearby clients.
- RPC AoI is whitelist-only and falls back to vanilla routing for unknown, directed, unresolved, global, animation/noise, and state-critical RPCs.
- If every peer would receive an eligible RPC anyway, SkadiNet uses vanilla fanout.
Resources.UnloadUnusedAssetsis not delayed or patched by ClientStutterGuard.DebugLoggingis useful for short diagnostics, but should stay off during normal play.