You are viewing a potentially older version of this package. View all versions.
SonicDM-PortalAtlas-1.2.5 icon

PortalAtlas

Personal portal atlas for Valheim. Record gates as you find them; admins can Refresh the full world list. Dedicated Refresh needs Server Devcommands. Optional Auto-pin. Vanilla pairing stays.

Date uploaded 2 days ago
Version 1.2.5
Download link SonicDM-PortalAtlas-1.2.5.zip
Downloads 55
Dependency string SonicDM-PortalAtlas-1.2.5

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
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.2333
ValheimModding-Jotunn-2.30.2 icon
ValheimModding-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.2
JereKuusela-Server_devcommands-1.115.0 icon
JereKuusela-Server_devcommands

Enables devcommands and utilities for server admins.

Preferred version: 1.115.0

README

Portal Atlas

Personal portal journal and map panel for Valheim. Record gates as you find them, sort and search them on the large map, and optionally Refresh the full world list as a dedicated admin. Vanilla tag pairing stays.

Portal Atlas panel on the large map

Version 1.2.5
GUID sonicdm.valheimportallist
Dependencies BepInExPack Valheim, Jötunn, Server Devcommands (dedicated Refresh)

Features

  • Opens from the large map Portals button or the portals command
  • Builds a known-portal journal as you approach, interact with, or travel through portals
  • Filter by tag; sort by name, distance to you, or a map click
  • Connection status: connected, one-way, unconnected, missing
  • Pin for a permanent map pin; Ping / Ping exit to center the map (one player ping at a time)
  • Temporary orange overlay markers while the panel is open (not saved)
  • Optional Auto-pin when I approach (off by default)
  • Refresh world for dedicated admins (session-only; never writes the journal)

How to use

  1. Walk up to, use, or travel through a portal — it is saved to your local journal.
  2. Open the large map (M) and click Portals, or run portals.
  3. Search tags and sort as needed.
  4. Select a row for details, then Pin, Ping, or Ping exit.
  5. Admins can Refresh world for a live server-wide list, then Add to journal on rows they want to keep. Show known returns to the journal.

Approach range for auto-record (and Auto-pin): Pins.ApproachRangeMeters (default 8).

Clear saved only removes pins this mod created. Manually placed map pins are never touched.

Refresh world (admins)

Never runs when the panel opens. Does not write your journal.

Setup What you need
Dedicated server Portal Atlas and Jötunn on the server (UI is skipped headless). Server Devcommands on the admin client and the server, plus your id in adminlist.txt
Offline / listen host Portal Atlas + Jötunn — Refresh scans the local world

Refresh is shown only when Server Devcommands reports you as admin. You do not need to enable devcommands.

Install

Install with Gale / r2modman / Thunderstore — manifest.json pulls Jötunn and Server Devcommands.

Role What to install
Game client Portal Atlas (pulls Jötunn). Server Devcommands for dedicated Refresh
Dedicated server Portal Atlas and Jötunn (same as any other Jötunn mod). Server Devcommands if you use admin Refresh

Commands

Command Purpose
portals Toggle the Portals panel (opens the large map if needed)
portallist Export every portal to CSV under BepInEx/cache/PortalAtlas/ (host, or dedicated admin)

Files

Under BepInEx/cache/PortalAtlas/ (not config):

  • Journal JSON per world + character
  • Host CSV / tag summary / text report (startup dump and portallist)

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.

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 GetPortalList instead 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 the portals command.

1.2.3

  • Renamed to Portal Atlas (Thunderstore PortalAtlas, GitHub Valheim-PortalAtlas).
  • Cache folder is now BepInEx/cache/PortalAtlas/ (copies existing files from ValheimPortalList once 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), or portals.
  • 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.