About NetworkPerformanceSystem
From ThunderstoreGeneral Network Performance overhaul. What if it felt like singleplayer for everyone?
NetworkPerformanceSystem
Network Performance Systems is a general networking overhaul, designed to tackle the problem created by high ping.
In Valheim, most objects are simulated by users. So a single high ping user in an area can make everything or all sorts of things feel terrible. This mod aims to address that in a number of ways.
Why this is different from the other networking mods
Every other Valheim networking mod treats multiplayer performance as a bandwidth problem — compression, bigger buffers, higher send rates, filtered broadcasts. That is the right diagnosis for ten people in one base saturating a shared cap. It does not handle a larger distributed server, or multiple players from vastly different goegraphic locations.
NPS addresses these issues in a number of ways
- Each peer gets their own Round Trip timing (RTT), Healthcheck and bandwidth estimates
- This allows dynamic adjustments to route around a poor connection
- This higher ping players with decent bandwidth allow the server to send more aggressively to these players in compensation
- Object ownership can be dynamically adjusted around players with poor connections to provide the best experience for all players in the area
- Objects which need network calls to interact with get ownership transferred ahead of time, delay scenarios much less likely
- Objects that change ownership during active requests get their requests properly re-targeted against the new owner, and an item that still cannot be delivered is dropped at the station instead of lost
- Digging and other changes to the ground reach whoever owns that ground, so the ground does not split open along tile borders when nearby players own neighbouring ground
- Objects which are locally important (footsteps for example) are only network broadcast locally, instead of globally around the server
- Server Garbage collection churn is significantly reduced compared to vanilla
Installing
Server-only works. Vanilla clients get the send window, ownership, scheduler, station-request and creature-hit fixes with nothing installed on their end, and the server follows where they actually are rather than where they were two seconds ago. Picking up a dropped item, and opening chests and doors, picking berries, using item stands, beds, wards, portals, map tables and beehives, and commanding tames, reach whoever owns the object now instead of being lost on a player who owned it a moment ago, and an item is sent to the player the moment it is theirs. The server times every player's ping itself, from the game's own ping to their answer (Ping / Use In-Game Ping), so crossplay players have one too and who runs what is decided by each player's best ping rather than one inflated by a busy fight. The server also sends settled or distant creatures, fish and birds, and drifting ice, logs and dropped items in water, to each player less often, holds back building, tree and rock updates that change nothing a player can see, and sends the world's list of past players only when it has actually changed. Damage numbers go only to players close enough to see them, and Routed RPC / Damage Numbers can limit them to the player who landed the hit, or stop sending them at all. The server finds its own send rate, too: above the game's 150 KB/s per player while somebody's connection is full - in a big fight - up to Auto Send Rate Max KBps (500), and only as far as its own line has shown it can carry, shared among however many players are on (Steam Transport / Auto Send Rate).
Installing on clients too adds latency compensation, live position reporting and the clean exit from a dead session for those clients, and lets a ship they own pass to whoever takes its helm. Creatures they simulate stop re-sending themselves while standing still, which matters most next to a pen of tamed animals, and fish, birds and anything floating in water they simulate are sent a few times a second instead of every frame, which matters most by water - a Jotun invasion on a coast, or a ship in sea ice (Creature Updates / Quiet Floating Objects; anything a player stands on or is next to still goes out every frame). Their game also tells the server how smoothly it is running, so a player whose machine slows down in a big fight is given fewer creatures to run, and how much of their own upload is waiting, so the server can let them upload faster than the game's 150 KB/s while it is full (Steam Transport / Auto Player Uploads), or give them fewer creatures when that is not enough. Other players' icons on their map jump straight to where somebody went after a portal trip or a respawn, instead of sliding there for up to a minute, and players near them are shown where they are right now (Player List / Map Pins Follow Players). With the mod on the server as well, a player's new position reaches everyone as soon as their icon is 20 m out of date (Map Position Accuracy), instead of on the game's 2-second player list, and a portal trip goes out at once (Send Map Positions Right Away). Mixed groups are fine — benefits are per-player, and a client without the mod behaves exactly as vanilla. There is no version lock: nobody gets kicked for not having it.
Works on dedicated servers and on player-hosted games.
Diagnosing and Reporting a problem
An easy way to start is enabling the nps_stats display Run nps_stats_collect (needs devcommands, since sampling costs a Steam call per peer per tick), play, then nps_stats.
Highlights
From source dataLoaders
Runs on BepInEx.
Footprint
Rated a light load on a server.
Dependencies
Needs 2 other projects installed alongside it.
NetworkPerformanceSystem on Nxeon
From our catalogue- One-click install
- Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
- Server side
- Optional on the server
- Server type needed
- BepInEx
- Server load
- light
- Smallest plan we suggest
- Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
- Latest build
- 1.18.2, released 2026-10-28
Game versions by loader
| Loader | Game versions | Newest |
|---|---|---|
| BepInEx |
From 25 recorded builds of NetworkPerformanceSystem.
Recent builds
| Build | Released | Game versions | Loaders |
|---|---|---|---|
| 1.18.2 | 2026-10-28 | n/a | BepInEx |
| 1.18.1 | 2026-10-26 | n/a | BepInEx |
| 1.18.0 | 2026-10-17 | n/a | BepInEx |
| 1.17.0 | 2026-10-12 | n/a | BepInEx |
| 1.16.0 | 2026-10-07 | n/a | BepInEx |
| 1.15.1 | 2026-10-06 | n/a | BepInEx |
Dependencies
- Required: Jotunn
- Required: BepInExPack Valheim
Declared by the newest build that lists any. Required ones are installed with it on one-click installs.
Run NetworkPerformanceSystem on a Valheim server
Pick a server or deploy a new one above; it is installed in one click.
What kind of mod it is
From the catalogQuality of life & UI
Small conveniences, tweaks and interface improvements players notice straight away.
Works on a server
From source side supportThunderstore lists server-side support for NetworkPerformanceSystem as optional: it can run on a server, but isn’t required there.
Compatibility
- Game
- Valheim
- Loaders
- BepInEx
- Runs on
- Serveroptional on the server
- Requires
- One-click install needs a BepInEx server. 2 other projects installed alongside it.
Verified at the source
- ✓ThunderstoreOfficial listing, checked 2026-10-29Open ↗
- ✓AuthorMidnightMods, as published on Thunderstore
- ✓LicenseNot published by the sourceFree





