You are viewing a potentially older version of this package. View all versions.
MidnightMods-ValheimEnforcer-0.7.1 icon

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-5.4.2333 icon
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.2333
ValheimModding-Jotunn-2.26.1 icon
ValheimModding-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.1
ValheimModding-YamlDotNet-16.3.1 icon
ValheimModding-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.1

README

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.

discord logo github logo

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.

  1. In-Game commands
    • Run enforcer-list-players to get the player's account ID and character name
    • Run enforcer-list-confiscated AcountID999999 CharacterName (Not sure about what the players account ID is? Run list-players)
    • Run enforcer-retrieve-confiscated AcountID999999 CharacterName prefabName (just want it all back? use 'all' as the prefab)
    • Give the items to said player
  2. 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-players in-game to get the player's account ID and character name
    • Move any item listed under confiscatedItems to the playerItems list in the player's save file. Player save files are located in BepInEx\config\ValheimEnforcer\Characters\<PlatformID>\playername.yaml on 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