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.
PortalAtlas
Personal portal atlas for Valheim. Record gates as you find them; admins can Refresh the full world list. Optional Auto-pin. Vanilla pairing stays.
| Date uploaded | a week ago |
| Version | 1.2.4 |
| Download link | SonicDM-PortalAtlas-1.2.4.zip |
| Downloads | 75 |
| Dependency string | SonicDM-PortalAtlas-1.2.4 |
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.2333ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.2JereKuusela-Server_devcommands
Enables devcommands and utilities for server admins.
Preferred version: 1.115.0README
Portal Atlas
Personal portal atlas for Valheim. Record gates as you find them; admins can Refresh the full world list. Vanilla tag pairing stays.
| Version | 1.2.4 |
| GUID | sonicdm.valheimportallist |
| Dependencies | BepInExPack Valheim, Jötunn |
How to use
- Approach, interact with, or travel through a portal — it is saved to your local journal.
- Open the large map (
M) and click Portals, or runportals. - Search tags, sort by name, distance to you, or a map click (nearest to that point).
- Connection status shows connected, one-way, unconnected, or missing.
- Pin saves a permanent map pin for the selected portal. Ping / Ping exit center the map and ping that portal or its paired exit (only one player ping can be active at a time). Temporary orange overlay markers appear while the panel is open (not saved).
- Optional Auto-pin when I approach creates permanent portal pins as you walk up (off by default).
Refresh world
Never runs automatically when the panel opens. Does not write your journal.
- Dedicated admin (
adminlist.txt, synced via Jötunn): Refresh pulls the live server list over RPC. - Offline / listen host: Refresh scans the local world (no
devcommandsrequired). - Use Add to journal on a selected row if you want that portal saved.
- Show known returns to the journal.
Approach range for auto-record (and Auto-pin) is configurable: Pins.ApproachRangeMeters (default 8).
Troubleshooting: set General.DebugLogging = true in the mod config. Detailed [DEBUG] lines for journal, approach, pins, UI, refresh RPC, access checks, and world scans go to BepInEx/LogOutput.log.
Clear saved only removes pins this mod created (private name marker). Manually placed map pins are never touched.
Files
Under BepInEx/cache/PortalAtlas/ (not config):
- Journal JSON per world + character
- Host CSV / tag summary / text report (startup dump and
portallist)
Commands
portals
portallist
Install
Place the DLL (or Thunderstore zip) into your BepInEx plugins via r2modman. Install on the dedicated server for admin Refresh and CSV dumps; the client journal works even if the server lacks the mod.
CHANGELOG
Changelog
1.2.6
- Client handshake on connect (
PortalAtlas_Hello/HelloAck): Refresh world only works when the dedicated host has Portal Atlas and Server Devcommands reports admin. - Panel shows a Refresh status line (ready / checking server / missing mod / need admin) and greys the button when Refresh is unavailable.
1.2.5
- Refresh world on a dedicated server uses Server Devcommands on the admin client for the button, and PortalAtlas.dll on the dedicated host for the scan RPC.
- Dedicated host needs Jötunn as well (standard headless skip via
GUIManager.IsHeadless()); one DLL for client and server. - Refresh / host CSV scan is time-sliced (~2ms per frame) so the server keeps networking while scanning; uses
GetPortalListinstead of a full ZDOMan walk.
1.2.4
- Removed the configurable toggle key (default
P). Open the panel from the large map Portals button or theportalscommand.
1.2.3
- Renamed to Portal Atlas (Thunderstore
PortalAtlas, GitHubValheim-PortalAtlas). - Cache folder is now
BepInEx/cache/PortalAtlas/(copies existing files fromValheimPortalListonce if present). - GUID unchanged (
sonicdm.valheimportallist) so BepInEx config carries over.
1.2.2
- Dedicated Portals panel from the large map button, toggle key (default
P), orportals. - Personal known-portal journal: record on approach / interact / teleport; stored under
BepInEx/cache/PortalAtlas/. - Full world list only after explicit Refresh world (session-only; never writes the journal). Use Add to journal to keep a world row.
- Refresh access: dedicated clients via Jötunn
PlayerIsAdmin/adminlist.txt; local and listen hosts can always refresh. - Ping / Ping exit open the map, center on the portal, and place the player ping.
- Panel closes when the large map closes.
- Toggle key ignored while chat, console, rename prompts, or the panel filter have focus.
- Temporary tinted map overlay while the panel is open; optional Auto-pin for permanent portal pins.
- Connection status (connected / one-way / unconnected / missing) using live portal connection ZDO links.
- Map-click nearest sort; scrollable list; map zoom blocked while the cursor is over the panel.
- Debounced journal saves and lighter approach / UI polling to reduce hitching.