KadettNPSCompat
ServerManager-compatible NPS fork: keeps network improvements while ServerManager owns player limits and admission.
About this mod Author’s original text
KadettNPSCompat
KadettNPSCompat is an unofficial, ServerManager-compatible modification of NetworkPerformanceSystem 1.14.0.
It is not affiliated with or endorsed by MidnightsFX or the MidnightMods team.
What changed
Only NPS's Player Limit mechanism is disabled. It normally rewrites ZNet.RPC_PeerInfo, the same admission check that ServerManager needs to manage server-side characters. Leaving that method untouched lets ServerManager safely control player admission and the configured player limit.
All other NPS networking mechanisms remain in the build, including send scheduling, connection-loss handling, ownership tuning, routed-RPC filtering, station request routing, and allocation reductions.
Installation
- Remove the official MidnightMods-NetworkPerformanceSystem package from the server and every player profile. Do not run both packages together.
- Install KadettNPSCompat with Gale on the server profile and every player profile.
- Keep the player limit in ServerManager.yml. The NPS Player Limit configuration is deliberately ignored by this package.
- Start the server and confirm its log has no ServerManager Fatal error.
Compatibility
Tested with Valheim 1.0.16 / network version 40, BepInEx 5.4.2351, Jotunn 2.30.2, ServerManager 1.1.7, and NPS upstream 1.14.0.
Source and license
This package is licensed under GPL-3.0. Its complete corresponding source is available at KadettTeam/KadettNPSCompat.
Upstream source: MidnightsFX/Valheim-Network-Performance-System.
Credits
Original NetworkPerformanceSystem created by MidnightsFX and published by MidnightMods.
KadettNPSCompat changes disable NPS player-limit and lobby-capacity patches for ServerManager compatibility.
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: