InterServerPortal
Portal to your own local world from a dedicated server and back — no logout/relog. Plus same-world portal networks: mesh all your portals so you can hop between any of them. Entry codes, vanilla assets only.Changelog
0.12.0 — Works without the server mod; crossplay servers unsupported
- Crossplay servers are not supported. On a dedicated server started with
-crossplay, an inter-server portal now refuses to travel with the message "This server runs crossplay — InterServerPortal doesn't support crossplay servers." Crossplay servers are reached through PlayFab rather than a Steam socket, and the reconnect the return trip needs proved unreliable — rather than strand you in your local world with a flaky way back, the trip is refused up front. Run the server without-crossplayto use the mod. (Before this release the mod tried anyway and the return failed with "Could not capture current server address".) - Fixed: returning to the origin server also failed when you had joined it from the Steam friends list (the game keeps the server's Steam id instead of an IP). The mod now remembers whichever of the two the game used.
- New: the mod no longer needs to be installed on the dedicated server. On a server without it, inter-server travel, the return trip, portal config, entry codes, the item restriction and the glow colours all work as before. What changes: the same-world network menu and network glow only see portals in zones loaded near you, and the carry toll uses each player's own config (so it is no longer cheat-proof). You get a one-time notice on joining. Keep the server install to have all of that — it's still recommended.
- New: client and server tell each other their version on connect; a mismatch is logged on both sides.
- Fixed:
RememberServerPasswordnever actually remembered the password, so the return trip always asked for it. It now remembers the one you typed into the game's password dialog (and only auto-fills it for the return trip, not for servers you join by hand later). - New: if the return trip fails with "failed to connect" straight after leaving the server, the mod retries the connection a few times before showing that error.
- Same requirements as 0.11.x — Valheim 1.0.7+, BepInExPack_Valheim 5.4.2350, Jotunn 2.30.0.
0.11.1 — Toll storage opens again
Recommended for everyone on 0.11.0.
- Fixed: on Valheim 1.0, alt-using a portal opened the config panel but the player inventory and the toll storage never came up with it, so there was no way to drag a fee into the box (and the "Open portal storage" button did nothing). 1.0 renamed the container's open message and the mod was still sending the old name, which the game silently ignored. Only affects wood portals with the carry toll; nothing else in 0.11.0 was impacted.
- Same requirements as 0.11.0 — Valheim 1.0.7+, BepInExPack_Valheim 5.4.2350, Jotunn 2.30.0.
0.11.0 — Valheim 1.0 support
Requires Valheim 1.0.7 or later. Stay on 0.10.1 if you are still on a pre-1.0 game build — 1.0 changed the APIs this mod hooks, so a single build cannot serve both.
- Updated for the Valheim 1.0.7 API. Two game changes needed handling: the teleport-restriction check now takes the portal's allow-all-items flag as an argument, and the portal list is now grouped by world sector instead of arriving as one flat list.
- Update your dependencies too — this release needs BepInExPack_Valheim 5.4.2350 and Jotunn 2.30.0 (the first Jotunn built for Valheim 1.0.7). A mod manager will pull these in for you.
- No gameplay or config changes. Portals, networks, entry codes, the carry toll and the log-in guard all behave exactly as in 0.10.1.
0.10.1 — No travel on log-in
- Fixed: logging in (or relogging) while standing inside a portal flagged InterServer teleported you immediately — to your local seed when on the server, back to the server when in your local seed. A portal now never fires on the spawn overlap: step clear of it and walk back in to travel, exactly as after an arrival.
- Fixed: a Network-mode portal likewise opened its destination menu in your face when you logged in standing inside it. Same rule — step clear and walk back in.
0.10.0 — Wood-portal carry toll
- New: bring ore through a wood portal — for a price. Wood portals now have
their own 3×2 storage box. Turn the feature on and you can carry ores,
metals, dragon eggs and Mistlands/Ashlands machinery through a wood portal,
provided two things are true: you've beaten the boss of the biome that cargo
comes from, and the portal's storage holds the fee. The fee is taken the
moment you cross.
- Defaults: 1 Surtling core for any metal, 1 Crystal per dragon egg, 1 Refined eitr for Mistlands machinery, 1 Black core for charred cogwheels.
- Boss gates: copper/tin/bronze → the Elder · iron → Bonemass · silver → Moder · black metal → Yagluth · flametal → Fader · dragon egg → Moder · Mistlands → the Queen · Ashlands → Fader.
- Off by default. Until you enable it, wood portals refuse ore exactly like vanilla. Every fee, item list and boss gate is configurable, and the whole boss requirement can be switched off on its own.
- Charge per stack (default) or per item.
- Open the box with L.Shift + Use on a wood portal — it opens alongside your inventory, with the full price list beside it. Only the player who built the portal can open it, like a private chest.
- Works on all three portal modes — vanilla tag pairs, networks, and inter-server. Stone portals are unaffected; they already carry everything.
- Backing out of a destination menu never costs you a fee.
- Toll settings are server authoritative. On a dedicated server the server's values override every connecting client's, so nobody can edit their own config file to skip the fee. Install the update on the server too.
0.9.2 — Fix network portal glow on dedicated servers
- Fixed: on a dedicated server, network portals could show their "connected" violet glow inconsistently — a portal whose other network portals were in unloaded parts of the map would sit dark even though the network was complete. The glow now asks the server for the full count (like travel already did), so every portal in the same network lights up consistently no matter where the others are. Install the update on the server too.
0.9.1 — Icon refresh
- Updated the mod icon.
- No gameplay changes. (Note: the glowing rune characters on the portal frame keep their vanilla colour — that colour is baked into the portal's texture and can't be re-tinted, the same as the orange flame burst. The frame glow, swirl vortex, sparks and lights still carry the per-mode colour.)
0.9.0 — Per-mode portal glow & Discord
- New: per-mode portal glow. Each portal now glows a colour for its mode — vanilla tag = blue, network = violet, inter-server = cyan — and, like a vanilla portal, only lights up when it's actually connected/usable (a lone network portal or a destination-less inter-server portal sits dark). The inner swirl vortex is coloured to match. (The outward flame burst stays orange — its shader can't be recoloured.)
- New: optional Discord notification. Set
Discord/WebhookUrlin the config and a message is posted whenever you cross from a server into your local world.
0.8.0 — Same-world portal networks
- New: portal networks. Set a portal's link mode to Network and it meshes with every other network-mode portal you built in that world. Walk through one to pick any of the others from a menu and teleport there — an ordinary in-world teleport, no loading screen. Works alongside vanilla 1:1 tag pairing (your other portals are unaffected). Works in single-player and on dedicated servers.
- Removed the item-policy setting.
portal_woodandportal_stonenow keep their fixed vanilla item restrictions (wood blocks ore, stone carries it) with no override — simpler and predictable. - Removed the travel hotkeys. Travel is portals-only now.
0.7.0 — Polish & packaging
- First Thunderstore package: manifest, icon, README, and this changelog.
- Reorganized config: the debug/fallback hotkeys moved to a Hotkeys section
and are now off by default behind
EnablePrototypeHotkeys. Portals are the intended way to travel; the hotkeys remain as a testing/keyboard fallback and still drive the empty-config fallback destination.
0.6.0 — Item policy & portal_stone
portal_stonesupport (all behavior applies to both prefabs).- Wood/stone item policy:
portal_woodblocks teleport-restricted items (ores),portal_stonecarries them. A per-portalISP.policyoverride (Auto / Block / Allow) is set from a new dropdown in the config panel. Blocking reuses vanilla's own teleportability check and names the offending items.
0.5.0 — Lock codes
- Optional per-portal entry code (salted SHA-256; raw code never stored), set/clear in the config panel, masked entry prompt before travel, and an escalating wrong-attempt throttle with a short "recently unlocked" memory.
0.4.0 — Hub routing
- Per-portal destination list
(label, world), a native config/editor panel (alt-use) and a travel selection menu with a single-destination fast path. - Unavailable destinations are greyed with a reason. Local→local hops between your own seeds, and a "Return to origin server" entry inside a local world.
0.3.0 — Destination validation & failure handling
- Validates the target local world before leaving (missing / corrupt / wrong version) and shows a centered reason instead of stranding you. A mid-flight failure reconnects to the remembered origin server.
0.2.0 — Portal integration
- Flag a portal inter-server via a custom ZDO field; flagged portals drive the world switch by walk-through, unflagged portals stay vanilla. Arrival-bounce guard so you don't loop between worlds on spawn.
0.1.0 — Core world-switch
- The core disconnect → load-local-world → return sequence, with a persisted return registry (origin server IP:port) that survives a crash/restart.


