Source-checkedAdmin & protection

ProgressionGater

by catosaurluna · for Valheim

Admin-controlled server-wide boss unlocks and crafting progression for Valheim.

366Downloads
56d agoLast updated
BepInExLoaders
ThunderstoreSource

About ProgressionGater

From Thunderstore

Admin-controlled server-wide boss unlocks and crafting progression for Valheim.

Progression Gater

A lightweight, server-wide Valheim progression scheduler. Administrators decide when bosses may be summoned; defeating a boss releases its configured crafting tier for everyone.

Created by Catosaur.

Progression Gater is designed for community servers that want a shared release schedule without adopting a large progression overhaul.

Features

  • Live admin commands for unlocking and relocking boss summons.
  • Server-wide boss-defeat state with immediate client synchronization.
  • Independent boss-summon and crafting gates.
  • Configurable vanilla or modded bosses.
  • Exact-prefab and case-insensitive keyword recipe rules.
  • Optional matching against recipe ingredients as well as outputs.
  • Optional admin bypass.
  • Optional Discord webhook posts when a boss is unlocked or genuinely defeated.
  • Config hot reload and server-authoritative rule synchronization.

This initial version gates boss altars and ordinary crafting recipes. It does not yet gate equipment use, building, cooking-station conversions, smelting, loot drops, traders, portals, or biome entry.

Requirements

  • Valheim
  • BepInEx
  • The mod must be installed on the dedicated server and every client. ServerDevcommands is optional; Progression Gater authorizes its own pg_* commands against the server admin list.

Installation

Copy ProgressionGater.dll into BepInEx/plugins/ on the server and all clients. Start the server once to generate:

BepInEx/config/com.catosaur.progressiongater.cfg

The server's rules and state are synchronized to clients. Client-side copies of the rule configuration do not override the server.

Admin commands

Commands are authenticated against Valheim's server admin list.

pg_status
pg_unlock next
pg_unlock <boss>
pg_lock <boss>
pg_defeat <boss>
pg_undefeat <boss>
pg_reset confirm
pg_webhook_test

pg_unlock next selects the first configured boss that has not been defeated. An explicit boss ID may be used to unlock out of order.

pg_defeat repairs/imports state administratively and intentionally does not send a boss-kill webhook. Only a real RPC_SetGlobalKey boss-defeat event sends that notification.

Default progression

| Defeated boss | Crafting keywords released | |---|---| | Eikthyr | Bronze | | The Elder | Iron | | Bonemass | Silver, Obsidian | | Moder | BlackMetal | | Yagluth | Mistlands material keywords | | The Queen | Ashlands material keywords | | Fader | No default next-biome rule yet |

All seven bosses begin summon-locked and undefeated on a new configuration.

Rule configuration

Boss records use this format:

id|display name|boss prefab|defeat global key|alias,alias

Records are separated with semicolons. Their order controls pg_unlock next. Aliases may be used by commands and prefab lookup; alternate defeat-key aliases must begin with defeated_.

Keyword recipe rules use:

bossId=keyword,keyword;bossId=keyword

Keywords match substrings without case sensitivity. For precise rules—especially modded content—prefer exact-prefab rules:

elder=MyMod_IronWand,MyMod_IronStaff;moder=MyMod_PlainsBlade

When MatchRecipeIngredients = true, both recipe output and ingredient prefab names participate in matching. When false, only the output prefab is checked.

Invalid records and references to unknown boss IDs are ignored with warnings in the BepInEx log. If every boss definition is invalid, the built-in definitions are restored as a safe fallback.

Discord webhook

Set these values in the server config:

[Discord]
WebhookUrl = https://discord.com/api/webhooks/...
ServerLabel = My Valheim Server
PostBossUnlocks = true
PostBossDefeats = true

Messages are configurable:

  • Unlock tokens: {boss}, {bossId}, {admin}, {server}
  • Defeat tokens: {boss}, {bossId}, {server}

The webhook suppresses Discord mentions. By default, only HTTPS Discord hosts are accepted. Compatible third-party endpoints require explicitly enabling AllowNonDiscordWebhookHosts.

Run pg_webhook_test after configuring the URL to verify delivery without changing progression state.

Building

Place the required game/framework references in lib/, or use the 1.0-aware setup script. The game and BepInEx files live in separate directories:

.\scripts\setup-references.ps1 `
  -GameManagedDirectory "C:\Program Files (x86)\Steam\steamapps\common\Valheim\valheim_Data\Managed" `
  -BepInExCoreDirectory "C:\Program Files (x86)\Steam\steamapps\common\Valheim\BepInEx\core"
.\scripts\build.ps1

For a dedicated server, use its BepInEx core directory and the client game's valheim_Data\Managed directory for the game references. Install BepInExPack Valheim 5.4.2350 on every client and server.

Build output:

src/ProgressionGater/bin/Release/net48/net48/ProgressionGater.dll

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 56d ago.

ProgressionGater on Nxeon

From our catalogue
One-click install
Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
0.2.3, released 2026-09-09

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 4 recorded builds of ProgressionGater.

Recent builds

BuildReleasedGame versionsLoaders
0.2.32026-09-09n/aBepInEx
0.2.22026-09-09n/aBepInEx
0.1.22026-09-06n/aBepInEx
0.1.12026-09-05n/aBepInEx

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run ProgressionGater on a Valheim server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Content”

Admin & protection

Permissions, moderation, anti-cheat and land protection for the people running the server.

Compatibility

Game
Valheim
Loaders
BepInEx
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-02Open ↗
  • ✓Authorcatosaurluna, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

ProgressionGater, answered

Generated from the mod’s own source data.

Which loaders does it support?

BepInEx.

Is it free?

Yes. ProgressionGater is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run ProgressionGater on a Valheim server.

Deploy in about a minute from $9.99 a month, then add ProgressionGater in one click.