Heyaeyaeya-PortalLister icon

PortalLister

Portal map pins, glowing portal names, a nearest-portals list and an F11 finder: which chest has X, with distance, direction and nearest portal. Install on the server too for the full portal list and item finder.

Last updated 2 weeks ago
Total downloads 110
Total rating 0 
Categories Mods Tools Server-side Client-side Deep North Update
Dependency string Heyaeyaeya-PortalLister-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 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.2351

README

PortalLister

Helps you find your portals and your stuff:

  • Portal map pins for every portal, with a distinctive rainbow icon.
  • Floating portal names that glow above every portal in the world.
  • A list of the nearest portals, always on screen.
  • Item finder (F11): answers "which chest has X?", with distance, direction and the nearest portal. The chest you're looking for glows.
  • Portal browser: a searchable list of every portal. It shows whether each portal is linked, and helps you track down "lost" ones.

Installation

With a mod manager (recommended): install PortalLister with r2modman or the Thunderstore Mod Manager. BepInEx is installed automatically.

Manually: install BepInExPack for Valheim, then copy PortalLister.dll into <Valheim folder>\BepInEx\plugins\.

Dedicated server: copy PortalLister.dll into the server's BepInEx\plugins\ as well. The server and all players must run the same version of the mod. In single player, or when you host from your own game, you don't need anything extra.

Client, server, or both?

The same PortalLister.dll works on both sides. On startup it checks whether it's running on a server or a client.

Setup What you get
Single player, or hosting a game from your own client Everything. Your game is the server.
Dedicated server with the mod + clients with the mod Everything. The server sends every client the full list of portals and chest contents.
Dedicated server without the mod + clients with the mod Portal pins, labels and lists only. You don't get the item finder, and a portal appears only once you've been near it (see below).

The server and all clients must run the same version of the mod. The data format has a version number, so clients never misread data from a different version. If the versions don't match, the data is ignored, and the log tells you to update.

Features

Portal map pins

Every known portal gets a pin on the map, labeled Portal: <name>. The pin uses a custom rainbow icon, so you can't mistake it for a regular game pin or for your own map markers.

The pins exist only for your current session. They are never saved to your map or character file. Press F10 to hide or show all portal pins, together with the nearest-portals list.

Floating portal names

Every known portal shows its name in glowing orange letters, in the middle of the frame. The name faces the same way as the portal, so you can read it from a distance without opening the map.

These labels are purely visual and aren't affected by F10. When a portal is renamed, its label updates. When a portal is destroyed, its label disappears.

Nearest portals list

A small box on the right side of the screen lists the 12 portals closest to you, with their distances. It never takes the mouse, so you can keep moving and fighting while it's visible.

The list hides itself while the map, your inventory or a menu is open. F10 toggles it together with the map pins.

Item finder (F11)

Press F11 to open a window in the game's own style, with two tabs.

Items tab

  1. Left side: every item stored in the player-built chests of the world, with its total count. Type in the search box to filter.
  2. Pick an item.
    • The right side lists every place that holds it, nearest first. Each line shows the stack size, the quality level, the chest name, the distance, the compass direction (N, NE, ...) and the nearest portal to that chest.
    • Every chest that holds the item starts to glow:
      • An orange light marks the chest's position, even if the chest is far away and not loaded.
      • When you're close enough for the chest to be loaded, the chest itself glows. This tells apart chests that are packed side by side.
  3. Click a line to close the finder and open the map at that chest.

The glow stays after you close the window, until you click Clear highlight.

Portals tab

Lists every known portal, sorted by name, with its distance. Pick one to see:

  • Distance and compass direction.
  • Coordinates, including height.
  • Linked status:
    • Linked: exactly one other portal has this name.
    • Not linked: no other portal has this name.
    • Ambiguous: three or more portals share the name.
  • > Show on map.

Picking a portal also makes it glow, the same way as chests in the Items tab.

While the finder is open, it takes the mouse, and the game ignores movement, attacks and camera input. Distances refresh every 2 seconds while the window is open.

How it works

Portals

The game keeps a list of all portals, but it only sends a client the portals in areas the client has already loaded.

  • With the mod on the server: the server reads the full portal list and sends it to clients when they join. After that it checks for changes every 30 seconds and sends an update only when something changed (a portal was added, renamed or destroyed).
  • Without the mod on the server: each client checks its own list every 30 seconds. Portals get added as you travel near them, and the mod keeps them for the rest of the session.

If the server ever reports zero portals while the client already knows some, the client ignores that report as a glitch and keeps its current list.

Chest contents (server side)

On a dedicated server, chests are never actually loaded as game objects. So the mod reads chest inventories straight from the world data, without creating any game objects. This keeps the load on the server low, even with thousands of chests.

The server runs two kinds of scan:

  • Full scan (every 5 minutes): walks through the world data to find chests, carts and ships that are new or have been removed.
  • Quick scan (every 20 seconds): re-reads only the chests whose contents have changed since the last scan.

Chests that are indexed:

  • Only containers built by players. World loot, dungeon chests and gravestones are skipped.
  • Carts and ships are included.
  • Private chests are indexed together with their owner. Each client hides other players' private chests, so you only ever find items in public chests and in your own private ones.

Syncing to clients

  1. When a client joins, it asks the server for a full snapshot.
  2. After that, the server sends only changes: the chests that changed, with their current contents, and the chests that were removed.
  3. If a client notices that it missed an update, it asks for a full snapshot again.

Settings

File: BepInEx\config\local.portallister.cfg

Section Setting Default Description
General ShowPortals true Shows the portal map pins and the nearest-portals list. F10 switches this setting.
General ToggleKey F10 Shows or hides the portal pins and the nearest-portals list.
General ItemFinderKey F11 Opens or closes the item finder.
Debug VerboseLog false Also logs every periodic check and network message, not just changes and errors.
Debug LogSlowFramesMs 60 Logs frames slower than this (in ms), with what the mod did in them. 0 turns it off.

Log file: BepInEx\config\PortalLister.log. On a server, the log records the role it detected (Role: SERVER or Role: CLIENT), which helps you check the setup.

Troubleshooting

  • The item finder says "No data from the server yet."
    • The dedicated server doesn't run the mod, or it runs a different version.
    • Check PortalLister.log on both sides.
  • Some portals are missing (server without the mod). This is expected. Portals show up once you've been near them.
  • A chest I just filled doesn't show up. Wait up to about 20 seconds for the next quick scan. A brand-new chest can take up to 5 minutes, until the next full scan finds it.