SkillLimitExtenderValheim1Compat
Compatibility patch for SkillLimitExtender 1.2.0 on Valheim 1.0.x. Fixes obsolete ConsoleCommand and ZRoutedRpc.Everybody API references.
About this mod Author’s original text
SkillLimitExtender Valheim 1 Compatibility
A narrow compatibility patch for SkillLimitExtender 1.2.0 by dyju420
on current Valheim 1.0.x builds.
The official SkillLimitExtender package remains a dependency. This package does
not redistribute SkillLimitExtender.
Why this exists
SkillLimitExtender 1.2.0 still references two pre-Valheim-1.0 APIs:
- the old Terminal.ConsoleCommand constructor signature;
- the former static field ZRoutedRpc.Everybody.
On Valheim 1.0 these cause:
- MissingMethodException during SkillLimitExtender Awake();
- MissingFieldException during player spawn, which can trigger a repeated
respawn/destroy loop.
How the compatibility patch works
BepInEx 5 discovers this package as a preloader patcher.
SkillLimitExtender itself lives in BepInEx/plugins, so it is not part of the
normal preloader assembly target set. During the patcher's Initialize() phase,
before Chainloader loads plugins, this compatibility package:
- finds the official skill_Limit_Extender.dll;
- verifies SkillLimitExtender is exactly version 1.2.0;
- verifies the supported original DLL SHA256 and the expected legacy IL shape;
- writes a separately patched copy;
- verifies that all four legacy references are gone;
- replaces only the profile copy of the DLL.
The replacement is intentionally performed as a new file rather than an
in-place edit so mod managers such as Gale can use hardlinked package caches
without the shared cached binary being modified.
On later launches the patcher detects that the DLL is already compatible and
does nothing.
Exact fixes
- 2 × ZRoutedRpc.Everybody field reads are replaced with Valheim 1.0's
equivalent constant value 0L.
- 2 × old Terminal.ConsoleCommand constructor calls are upgraded to the
Valheim 1.0 signature, supplying false for the newly inserted boolean
parameter.
Safety
This compatibility package is deliberately strict.
It supports only:
- SkillLimitExtender 1.2.0;
- original DLL SHA256:
30EF37FEFC03C91DAF7F5CE34D68B7CF404112849B87B085AF9AE0635FCA6880;
- exactly two legacy ZRoutedRpc.Everybody loads;
- exactly two legacy ConsoleCommand constructor calls.
Unknown or partially modified binaries are not patched.
Installation
Install normally through, r2modman, or Gale.
Dependencies install automatically:
- BepInExPack Valheim 5.4.2350
- SkillLimitExtender 1.2.0
If SkillLimitExtender was manually modified previously, reinstall its official
1.2.0 package once before the first launch with this compatibility patch.
Uninstalling
This patch modifies the local profile copy of SkillLimitExtender on first launch.
If you uninstall this compatibility package and want the original upstream SLE
binary back, reinstall SkillLimitExtender 1.2.0 through your mod manager.
Tested
- Valheim 1.0.15 / network version 40
- BepInExPack Valheim 5.4.2350
- SkillLimitExtender 1.2.0
- Gale 1.22.3
Credits
SkillLimitExtender is by dyju420:
Upstream source:
This package is an independent compatibility patch and is not an official
SkillLimitExtender release.
The compatibility patch itself is MIT licensed.
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: