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.
2. Installation
Updated a week agoInstallation
ServerGuard has two pieces — the server mod and a client companion. Both are required.
Server side (dedicated server only)
- Make sure BepInEx is already installed on the dedicated server (
denikson-BepInExPack_Valheim). - Install TaegukGaming-Valheim_ServerGuard through your usual workflow:
- Manual: drop
Valheim-ServerGuard.dllintoBepInEx/plugins/. - Manager: install the Thunderstore package onto the server profile.
- Manual: drop
- Start the server. First boot creates:
BepInEx/config/ServerGuard/conf/settings.yaml— main config, with a freshly-generatedsharedSecret.BepInEx/config/ServerGuard/conf/admins.yaml— empty list. Add your own SteamID to use admin commands.BepInEx/config/ServerGuard/conf/allowed_mods.yaml— empty allowlist. You'll populate this in step 5.
- Note the
sharedSecretvalue printed in the server log on the first start:
You'll give this to every player. Treat it like a password — change it (and update all clients) if it leaks.[Info] [ServerGuard] sharedSecret in use (copy to every client.yaml): yFJC+nCWfJdTAfCqlfNRluR0CAlzhRXdGhcFJPEEd38= - Build your allowlist — see Allowed Mods and Modset Fingerprint.
Client side (every player)
- Install TaegukGaming-Valheim_ServerGuard_Client via your mod manager (r2modman / Thunderstore Mod Manager).
- Launch Valheim once to the main menu, then close. The companion creates
BepInEx/config/ServerGuard/client.yaml. - Open
client.yaml. Paste in thesharedSecretyour server host gave you:sharedSecret: "<the value from the server's settings.yaml>" - Save. Restart Valheim. Done — the next time you connect to the ServerGuard server, the companion handles the handshake automatically.
Self-test
After boot, the server runs a smoke test. If it passes silently, you're good. If it posts to your admin Discord, follow the listed fix. You can re-run on demand with sg selftest from the F5 console.
Updating
Server and client versions must match. When you update one, update the other in the same session.