


Portal Limit and Discovery is a Valheim server mod for communities that want portals to stay useful without letting every player cover the world in unlimited fast travel.
The mod enforces a server-side portal limit per player, counts portals across the whole saved world including unloaded zones, and gives players a simple /portals command so they can check their own count. Admins can also create discovery-locked portal pairs where one entrance stays locked until each player finds and uses the matching unlock side first.
Portal Limit and Discovery is built for public dedicated servers. The server DLL handles enforcement and saved-world counting. The client DLL adds player feedback, portal visuals, the /portals command, and the admin UI.
All Portal Limit and Discovery commands are typed into regular in-game chat, not the F5/dev command panel.
/portals command to check current portal count.Discovery portals let admins create a pair where one side is locked until a player discovers the other side first.
Example use cases:
To create a discovery-locked portal pair:
Bog Witch.LOCKED ENTRANCE.Then configure the unlock-side portal:
UNLOCKED ENTRANCE.Each player unlocks the route individually after using the unlocked entrance.
Players can type this into regular in-game chat:
/portals
This shows their current counted portal total and the server limit.
Admins can type this into regular in-game chat to open the Portal Limit and Discovery UI:
/portallimit
Admins can also press F10, or look at a portal and press E if that option is enabled.
Non-admin players cannot open or use the admin editor.
Install the Thunderstore package on both the dedicated server and players.
The package includes:
PortalLimitServer.dll: runs only on dedicated servers.PortalLimitClient.dll: runs only on player clients.BepInEx/config/AzuAntiCheat_Whitelist/PortalLimitClient.dll: convenience copy for servers using AzuAntiCheat.If your server uses AzuAntiCheat, whitelist the exact PortalLimitClient.dll that players install. The Thunderstore package already includes a matching copy at:
BepInEx/config/AzuAntiCheat_Whitelist/PortalLimitClient.dll
Back up your world before installing.
Existing portals are not automatically deleted just because a player is already over the limit. The global limit applies when new portals are placed. Players who are already over the limit will need to remove portals before they can place more.
For a live server, consider installing with a high temporary limit first, confirming everything works, warning players, and then lowering the limit.
The downloaded package includes FULL_README.md with config settings, server storage paths, manual install notes, and admin audit file details.
This Thunderstore package contains the files needed by both public dedicated servers and players:
manifest.json
README.md
FULL_README.md
CHANGELOG.md
icon.png
BepInEx/plugins/PortalLimitClient.dll
BepInEx/plugins/PortalLimitServer.dll
BepInEx/config/AzuAntiCheat_Whitelist/PortalLimitClient.dll
Join the Discord for questions, bug reports, balance feedback, or suggestions: