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.
Thunderstore 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