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.
ValheimEnforcer
Make your friends use the agreed mods and stop bringing stuff into the server.
| Date uploaded | 4 days ago |
| Version | 0.7.1 |
| Download link | MidnightMods-ValheimEnforcer-0.7.1.zip |
| Downloads | 176 |
| Dependency string | MidnightMods-ValheimEnforcer-0.7.1 |
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.2333ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.26.1ValheimModding-YamlDotNet
Shared version 16.3.0 of YamlDotNet from Antoine Aubry and contributors, net47 package for use in Valheim mods. Maintained by the ValheimModding team.
Preferred version: 16.3.1README
Valheim Enforcer
Valheim Enforcer is a lightweight Mod Synchronization, and Server sided character progression enforce tool.
This mod is designed to be a drop-in, no maintenance solution for those who are wary of configuration, or those that would rather spend time playing than configuring.
By default this mod will enforce character server saves and require clients to only connect with mods that are installed on the server. All of this is configurable.
Feature Roadmap
The following features are not yet implemented but currently planned:
- Automatic Mod suggestions/download-links for clients that are missing mods or have incorrect versions
- Platform ID based 'Moderator' mod list that allows server owners to easily give mod permissions to specific players without making them admins
Got a bug to report or just want to chat about the mod? Drop by the discord or github.
Features
Server saved character progression lock. All of the following features are configurable (server authoratative).
- Character progress is saved on the server
- Prevents characters from bringing untracked items onto the server
- Prevents characters from raising skills externally
Mod Enforcement. All of the following features are configurable (server authoratative).
- All mods are checked on connection, allows strict version enforcement
- Prevents users connecting with mods not listed
- Optional configuration for requiredMods, optionalMods and adminOnlyMods
Cheat detection.
- Automatic log, kick or ban for common cheating utilities
Disclaimer: Valheim is client authoratative and without extremely invasive measures, cheating cannot be fully prevented.
Server Management
Add the mod, setup your required mod list, optional mods and admin mod lists (setup is OPTIONAL, mods loaded by the server will automatically be required). Your clients and server must both run the mod.
Restoring user Items
Someone brought on their priceless Epicloot Askavin cloak? Some Prestine +InfinitePower Jewels? You can restore confiscated items!
Note: All commands require devcommands as such they require admin on the server.
There are two ways to do so.
- In-Game commands
- Run
enforcer-list-playersto get the player's account ID and character name - Run
enforcer-list-confiscated AcountID999999 CharacterName(Not sure about what the players account ID is? Runlist-players) - Run
enforcer-retrieve-confiscated AcountID999999 CharacterName prefabName(just want it all back? use 'all' as the prefab) - Give the items to said player
- Run
- Manual config file edits.
- Ensure the player is offline (server can be running)
- If you are unsure about the player's account ID, run
enforcer-list-playersin-game to get the player's account ID and character name - Move any item listed under
confiscatedItemsto theplayerItemslist in the player's save file. Player save files are located inBepInEx\config\ValheimEnforcer\Characters\<PlatformID>\playername.yamlon the server.
CHANGELOG
0.7.1
- Adds a very small amount of variance allowed for float rounding when validating item durability
- Adds extra details to the confiscation reason
0.7.0
- Added a confiscation reason field on items confiscated, field is optional but will be set for all confiscated items
- Removed redundant NewCharacterSkillsCleared setting (replaced by NewCharacterSetSkillsToZero)
- Set NewCharacterSetSkillsToZero default to false
- Added CheatDetector module (in testing, disabled by default)
- Client-side scanning for ValheimTooler (loaded assemblies) and Cheat Engine (process name, window class, injected speedhack/DBK modules, debugger, time-drift speedhack)
- New Anti-Cheat config section; default ActionOnDetection=Log
- Detections reported to server via new VENFORCE_CHEAT RPC
0.6.4
- Cache busting between player sessions
- Fixes character switching allowances for local only usage
- Add Extraslots compatability (restores items to the correct slots for characters with extraslots)
- Restores equipped status of items when they are returned to the player
0.6.3
- Explicitly requires yaml.net
0.6.2
- Improves item durability save bounding
0.6.1
- Adds item durability validation (configurable through ValidateItemDurability setting, default on)
0.6.0
- Improves custom data validation
- Enables Enforcer- commands for admins to retrieve confiscated items
- List player saves
- List confiscated items for a player
- Retrieve confiscated items (give to admin) from a player save
- Retrieve confiscated items (give to player) from a player save
- Optional (disabled by default) portable mode which stores all data inside the world
0.5.5
- Enforce quality and custom data consistency for all characters, including new characters on first load
- Added extra safety checks for player data settings
0.5.4
- Defaults to enforcing mod versions for active mods
- Automatically updates mod versions in all lists when the mod is updated on the server
- Fixes inconsistent server save IDs when recieving data from the client
0.5.3
- Fixes character fallback logic to more consistently select a non-mutating ID, prefers steamID and playfabID
0.5.2
- Fixes skill removal for new chracters on first load
0.5.1
- Fixes player custom data loading for new characters on first init
0.5.0
- Initial public beta

