
You are viewing a potentially older version of this package. View Latest Version
ModPermChecker
Enables granular per-player mod permissions alongside AzuAntiCheat. Restrict specific mods to specific SteamIDs.ModPermChecker
ModPermChecker is a lightweight server/client verification mod for Valheim. It allows server administrators to enforce granular, per-player mod access control.
Designed to work seamlessly with AzuAntiCheat (AAC), it solves the limitation where AAC can only distinguish between Admins and regular players.
🚀 Features
- Granular Mod Control: Allow specific client-side mods (e.g., building tools, QoL mods) only for designated SteamIDs.
- Auto Disconnect / Kick: Instantly kicks unauthorized players attempting to join with restricted mods.
- AAC Greylist Integration: Works hand-in-hand with AzuAntiCheat without triggering false bans.
- Easy JSON Configuration: Simple, human-readable configuration file.
🛠️ How It Works (with AzuAntiCheat)
- AzuAntiCheat Configuration: Add restricted mods to AAC's Greylist (Optional Mods) so AAC validates the DLL hashes without blocking connections.
- AAC Whitelist: Add
ModPermChecker.dllto AAC's Whitelist (Enforced Mods) so every player is required to install this mod. - ModPermChecker Validation: When a player connects,
ModPermCheckerreports their loaded mod GUIDs to the server. The server verifies them againstCustomModPermissions.jsonand disconnects unauthorized players.
📦 Installation
Server Side
- Install BepInEx for Valheim.
- Place
ModPermChecker.dllintoBepInEx/plugins/. - Start the server once to generate the default configuration file:
BepInEx/config/CustomModPermissions.json. - Configure permissions in the JSON file.
Client Side (Players)
- Place
ModPermChecker.dllintoBepInEx/plugins/(or install via Thunderstore / r2modman).
⚙️ Configuration (CustomModPermissions.json)
The config file is located at BepInEx/config/CustomModPermissions.json.
{
"SpecialMods": [
"com.author.infinityhammer",
"com.author.worldeditcommands"
],
"Permissions": [
{
"SteamID": "76561198012345678",
"AllowedMods": [
"com.author.infinityhammer",
"com.author.worldeditcommands"
]
},
{
"SteamID": "76561198087654321",
"AllowedMods": [
"com.author.infinityhammer"
]
}
]
}