Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
PortalLimit
Limits player-owned portals on Valheim servers and adds admin-configured discovery-locked portals.
By mistydays
| Date uploaded | 2 months ago |
| Version | 0.1.0 |
| Download link | mistydays-PortalLimit-0.1.0.zip |
| Downloads | 32 |
| Dependency string | mistydays-PortalLimit-0.1.0 |
This mod requires the following mods to function
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.2333README
PortalLimit
BepInEx plugins for limiting the number of Valheim portals each player can own and for adding admin-marked discovery portals.
Install
- Server: copy
PortalLimitServer.dllto the dedicated serverBepInEx/pluginsfolder. - Client: copy
PortalLimitClient.dllto each admin/player clientBepInEx/pluginsfolder.
The server plugin is authoritative and deletes excess portals. The client plugin provides nicer placement blocking and the in-game admin UI.
Players can type /portals in chat to see their current counted portal total and the server limit.
Thunderstore packaging
For player modpacks, upload the Thunderstore package that contains only PortalLimitClient.dll. Dedicated servers should install PortalLimitServer.dll separately.
Run package_thunderstore.bat to build both packages:
dist/PortalLimit-0.1.0-Thunderstore.zip: player/modpack package for Thunderstore.dist/PortalLimit-0.1.0-Server.zip: server-owner package withPortalLimitServer.dlland the matchingPortalLimitClient.dllfor AzuAntiCheat whitelist.
If your server uses AzuAntiCheat, copy the exact PortalLimitClient.dll from the player package to BepInEx/config/AzuAntiCheat_Whitelist/PortalLimitClient.dll on the server.
Admin UI
Use /portallimit in chat or press F10 to open the admin window. Admins can also look at a portal and press the normal interact key, E by default, to open the This Portal editor instead of Valheim's tag prompt. Only Valheim admins can edit server settings. The window has separate tabs for server-wide settings and the portal the admin is currently looking at.
Admins with the client plugin also get this window automatically after placing a portal. This can be turned off in the server settings tab with After I place a portal. The E behavior can be turned off locally in the same tab with When an admin presses E on a portal.
Discovery portals
Admins can mark existing portals as discovery-gated pairs from the admin UI:
- Look at the spawn-side portal, open the
This Portaltab, set a portal tag such asBog Witch, chooseLocked entrance, then clickApply. - Look at the remote portal, use the same portal tag, choose
Unlock entrance, then clickApply.
Players must use the unlock entrance first. Once they do, that portal tag is saved for that player and they can use the locked entrance normally.
The This Portal tab automatically reads the portal the admin is looking at, so existing portal settings can be edited later by looking at the portal, changing the choice, and clicking Apply.
Clients with the plugin can also show a colored UNLOCK ON OTHER SIDE marker in the middle of locked entrances. The marker only appears while that entrance is still locked for that player. Each marked portal has a marker color dropdown in the This Portal tab with Red, Black, White, Green, and Orange options, and the server settings tab controls whether the marker is shown and whether the connected orange glow is hidden while locked.
Config
MaxPortalsPerPlayer: maximum portals per creator.0disables the limit.AdminBypass: lets Valheim admins exceed the limit.EnforceOnServer: keeps server-side deletion enabled.PortalPrefabNames: comma-separated portal prefab names. Empty means allTeleportWorldpieces.Discovery Portals.Enabled: enables per-player discovery-gated portals.Discovery Portals.AdminBypass: lets admins use locked discovery portals without unlocking them.Discovery Portals.ShowHoverText: adds discovery status text to portal hover text for clients with the plugin.Discovery Portals.LockedHoverText: hover text for a locked portal before unlock.Discovery Portals.RemoteHoverText: hover text for the discovery side.Discovery Portals.UnlockedHoverText: hover text after unlock.Discovery Portals.LockedMessage: top-left message when a player tries to use a locked portal.Discovery Portals.UnlockMessage: top-left message when a player unlocks a route.Discovery Portals.ShowWorldMarker: shows a coloredUNLOCK ON OTHER SIDEmarker on locked entrances.Discovery Portals.TintPortalModel: legacy setting, currently ignored by the client UI.Discovery Portals.SuppressLockedGlow: hides connected portal particle/light effects while the portal is locked.Discovery Portals.LockedColor: color for locked portals before unlock.Discovery Portals.RemoteColor: color for the far-side portal that unlocks the route.Discovery Portals.UnlockedColor: color after the player has unlocked the route.
Player unlocks are stored on the server in BepInEx/config/PortalLimit/discovery_unlocks.txt.
CHANGELOG
Changelog
0.1.4
- Set the default player portal limit to 10.
- Kept normal tagged portals close to vanilla Valheim behavior, including the orange connected swirl and normal teleport feel.
- Stopped blank-tag portals from connecting or teleporting players.
- Added live portal placement feedback such as
Portals placed: 2 / 10. - Added
/portalsregular-chat command for players to check their current portal count. - Added
/portallimitregular-chat command for admins to open the admin UI. - Added admin F5 commands for counts, portal lists, and server exports.
- Added configurable admin hold-
Eportal editing. TappingEstill opens Valheim's normal Set Tag prompt. - Added discovery-locked portals with
LOCKED ENTRANCE,UNLOCKED ENTRANCE, andNORMAL PORTALroles. - Prevented multiple locked discovery endpoints from using the same portal tag.
- Prevented multiple unlocked discovery endpoints from using the same portal tag.
- Added per-portal marker text options, including custom marker text.
- Added per-portal marker color presets and custom hex colors.
- Added per-portal player-facing hover text overrides.
- Added per-portal locked-glow behavior.
- Added a Portal Information tab with builder, built date, last-used info, unlock history, and world portal counts.
- Added server audit files for portal counts, placements, and discovery unlock history.
- Restricted portal removal so only the builder or an admin can remove a counted portal.
- Clarified that player chat commands go into regular in-game chat, not the F5/dev command panel.
- Updated contact information to the Discord invite.
0.1.3
- Added a first pass at restoring portal particles and lights when a locked portal becomes unlocked or is reset to normal.
- Prevented multiple locked or unlocked discovery endpoints from using the same portal tag.
- Clarified that
/portalsand/portallimitmust be typed into regular in-game chat, not the F5/dev command panel. - Replaced the README email contact with the Discord invite link.
0.1.2
- Updated the public README title and description to Portal Limit and Discovery.
- Moved discovery portal information closer to the top of the Thunderstore page.
- Added
FULL_README.mdfor downloaded config and server-owner details. - Added contact information for questions and suggestions.
- Kept the Thunderstore package ID as
PortalLimitso this uploads as an update to the existing package.
0.1.1
- Changed the default locked discovery portal text color to orange.
- Added the packaged icon image.
- Included both client and server DLLs in the Thunderstore package for public dedicated servers.
- Added server-side global portal counting across unloaded zones.
- Added
portal_counts.tsvfor admin-readable portal ownership/count review. - Hardened server RPC permissions for public servers.
- Fixed admin UI saving for locked/unlock popup message fields.
0.1.0
- Added server-authoritative portal limits per player.
- Added
/portalschat command so players can check their current portal count. - Added admin UI for changing server settings in game.
- Added admin-marked discovery portals with locked and unlock entrances.
- Added
UNLOCK ON OTHER SIDEmarker with per-portal color choices. - Added marker text choices for
UNLOCK ON OTHER SIDE,LOCKED, andX. - Added optional locked-portal glow suppression for clients with the plugin.