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.
RustyHeathensModGuard
Heathens' Haven approved-client-mod guard. Server config is the only policy source; bare plugin GUIDs allow normal mod updates without version-lock failures.
| Date uploaded | 2 weeks ago |
| Version | 0.2.2 |
| Download link | RustyLaserGaming-RustyHeathensModGuard-0.2.2.zip |
| Downloads | 30 |
| Dependency string | RustyLaserGaming-RustyHeathensModGuard-0.2.2 |
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.2351README
Rusty Heathens ModGuard
The approved-client-mod guard used by the Heathens' Haven Valheim server.
Install and update
Install ModGuard 0.2.2 on the server and all connecting player PCs. Use Thunderstore Mod Manager or r2modman in the profile used for the server. Keep one active copy of ModGuard; move earlier manually installed test DLLs outside BepInEx/plugins when switching to the mod-manager version.
Keep the server's existing BepInEx/config/com.rustylasergaming.modguard.cfg. This package contains no server policy config or account IDs. Approved plugins and admin access remain controlled by your server config.
What's new in 0.2.2
- Start the report deadline after the peer becomes ready for routed RPC.
- Retry the client mod report every 3 seconds until the connected server acknowledges it.
- Snapshot the server peer list before enforcement so disconnecting a peer does not invalidate iteration.
- Use a 60-second default report timeout and upgrade the previous 20-second default. The supported range is 10 to 180 seconds.
- Accept report acknowledgements only from the connected server.
- Preserve configured allowlists and admin IDs. Intentional version pins remain intact after the earlier config-only migration.
Server policy
Edit only the server config. The policy entries are AllowedForPlayers, AdminOnly and AdminSteamIds.
Use bare BepInEx plugin GUIDs to allow ordinary version updates. Exact guid@version pins remain available when the server owner deliberately chooses them. Approved plugins are optional: players do not have to install every allowed mod. Unapproved plugins and normal players using admin-only plugins are denied in Enforce mode. Audit logs results without disconnecting; Disabled turns admission checks off.
The DLL contains no baked player allowlist, admin-only list or fallback admin IDs. This is a normal-client compatibility/policy guard; client reports can be falsified by a deliberately modified client.
Verification
Built against the supplied Valheim 1.0.16 and BepInEx assemblies. Policy and admission regression checks pass as part of the 282-check update set. Live allow/deny and reconnect behavior must be verified on the server. Startup identifies version 0.2.2 and Policy source=server config only.
CHANGELOG
Changelog
0.3.0 - 2026-10-07
- Added controller/gamepad audit reporting inside the ModGuard Thunderstore package.
- Reports Unity legacy joystick/controller names.
- Reports Unity Input System device details when available: display/product name, manufacturer, interface, layout, device ID, vendor/product IDs.
- Reports whether controller activity was observed.
- Added server log output beginning with
[RHCA] CONTROLLER_AUDIT. - Does not block or kick for controller use yet.
- Does not collect controller serial numbers.
- Preserves ModGuard 0.2.2 approved-mod admission behavior.
- Requires
com.rustylasergaming.controllerauditin the serverAllowedForPlayerspolicy.
0.2.2 - 2026-10-04
- Start admission deadlines when peers are ready for routed RPC.
- Retry client reports until the connected server acknowledges them.
- Snapshot the peer list before enforcement to tolerate disconnects during iteration.
- Change the default timeout to 60 seconds and upgrade the old 20-second default.
- Preserve configured allowlists, admin IDs and intentional pins after the earlier migration.
- Update the package dependency to BepInExPack Valheim 5.4.2351.
0.2.1
- Removed the packaged player allowlist from
Plugin.cs. - Removed the packaged admin-only plugin list from
Plugin.cs. - Removed packaged fallback admin account IDs from
Plugin.cs. - Server
com.rustylasergaming.modguard.cfgis now the only policy source. - Bare plugin GUIDs allow any version so normal Thunderstore updates do not cause version-lock failures.
- Exact
guid@versionpins remain supported when intentionally configured. - Kept Enforce/Audit/Disabled behavior, optional approved mods, admin-only handling, duplicate-plugin detection, report hashing, and server-side admission checks.