ProgressGuard
Server-side multiplayer progression and boss lock for Valheim that blocks solo rushing with player-count checks and /agree summon votes.
About this mod Author’s original text
ProgressGuard
ProgressGuard is a server-side Valheim mod focused on multiplayer progression control, boss lock enforcement, and anti-rush gameplay.
It prevents solo rushing by blocking undefeated boss summons until enough players are online and the group approves the summon with an agree or /agree vote.
Features
- Server-side enforcement for multiplayer worlds and hosted servers
- Boss progression lock for undefeated bosses
- Anti-rush protection against solo boss summons
- Minimum online player requirement before summon approval is possible
- Group approval with unique agree or /agree votes
- Vote only unlocks the next summon attempt
- No automatic boss spawn
- Extensive logging for validation and troubleshooting
How It Works
When a player tries to summon a boss:
- If the boss has already been defeated, the summon is allowed immediately.
- If the boss has not been defeated, ProgressGuard checks how many players are online.
- If the minimum player count is not met, the summon is blocked.
- If enough players are online, the summon is still blocked and a vote starts.
- Players type agree or /agree in chat.
- Once the required number of unique approvals is reached, the mod unlocks only the next summon attempt.
- The boss is not auto-spawned. A player must try the summon again.
- After the approved summon attempt, the vote state resets.
Why Use It
ProgressGuard is built for multiplayer servers that want tighter progression pacing.
It is especially useful for:
- co-op groups that want shared boss progression
- anti-rush server setups
- community servers where early boss kills can disrupt progression
- hosted friend-group worlds where the host wants server-enforced boss approval
Installation
- Install BepInEx for Valheim.
- Place ProgressGuard.dll into:
BepInEx/plugins/
- Start the game or server once to generate the config file.
- Configure the values as needed.
Package Layout
This package is intended to contain:
- plugins/ProgressGuard.dll
- manifest.json
- README.md
- icon.png
Configuration
ProgressGuard uses standard BepInEx configuration entries:
- MinPlayersRequired
Minimum number of online players required before an undefeated boss can be approved for summon.
- MinAgreesRequired
Number of unique player approvals required to unlock the next summon attempt.
- VoteTimeoutSeconds
Duration of the active vote window before the approval vote expires.
- DebugLogging
Enables detailed debug output in the BepInEx log.
Example Usage
Example server scenario:
- MinPlayersRequired = 2
- MinAgreesRequired = 2
- VoteTimeoutSeconds = 60
Flow:
- A player offers the boss trophies at an undefeated altar.
- The summon is blocked.
- The server announces that boss summon approval is required.
- Two players type agree or /agree.
- The server announces that the boss summon is approved.
- A player interacts with the altar again.
- The next summon attempt succeeds.
Multiplayer Notes
ProgressGuard is designed around server-side logic.
- The host or dedicated server enforces the rules.
- Core progression and boss lock behavior does not rely on client-side mod logic.
- This makes it suitable for multiplayer progression control and anti-rush server management.
Logs
Runtime output can be checked in:
BepInEx/LogOutput.log
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: