You are viewing a potentially older version of this package. View all versions.
RAGEmedia-Tollbound-0.10.1 icon

Tollbound

Portals you earn one biome at a time. Cargo decides the toll, boss kills decide what survives the trip.

Date uploaded 12 hours ago
Version 0.10.1
Download link RAGEmedia-Tollbound-0.10.1.zip
Downloads 9
Dependency string RAGEmedia-Tollbound-0.10.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202
ValheimModding-Jotunn-2.20.1 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.20.1

README

Tollbound

Portals you earn one biome at a time. What you carry decides what you pay, and which bosses you have put down decides how much of it survives the trip.

Vanilla's portal rule is all or nothing: ore never goes through, and then one day the stone portal arrives and everything does. Tollbound fills that gap with a ladder — six new portal pieces, each built from its own biome's materials, each carrying a little more than the last.

Wood and stone portals behave exactly as vanilla. The stone portal already carries everything, so earning it in the base game is still the graduation. Tollbound's whole ladder sits before it.

How it works

Each portal is a licence with a ceiling. A Swamp portal carries Swamp-tier cargo and everything below it, and refuses anything above.

Portals of different tiers connect freely, and a crossing carries the lower of its two ends. A Swamp portal linked to a Black Forest one is a Black Forest crossing in both directions. Link either to a plain wood portal and nothing restricted goes through at all.

The toll follows the cargo, not the ground you are standing on. Every restricted item belongs to a biome, and carrying it pays that biome's spirit wherever the trip starts. Hauling bronze and iron out of your base costs greydwarf eyes and entrails, exactly as it would leaving the Swamp.

Kill the boss and that biome's cargo travels intact. Leave it alive and the spirit takes a cut of the metal on the way through. Ores and bars can be lost; dragon eggs, extractors, cogwheels and Hildir's chests never are.

Nothing is spent unless the whole crossing is allowed. A refused trip costs you nothing.

The ladder

Portal Cargo it adds Toll per crossing Loss while the boss lives
Black Forest Copper, tin, bronze, their ores and scrap 5 × Greydwarf eye 8%
Swamp Iron, iron ore, scrap iron 6 × Entrails 11%
Mountain Silver, silver ore, dragon eggs 4 × Freeze gland 14%
Plains Black metal, black metal scrap 5 × Needle 17%
Mistlands Dvergr extractors, Hildir's chests 4 × Bilebag
Ashlands Flametal, cogwheels, springs, iron pits 5 × Charred bone 22%

Tolls stack across every biome in your pack, not just the portal's own tier. Losses are rolled once per unit, so a big haul loses roughly the listed share and a small one is luck.

By default one toll covers a crossing however much you carry. Servers wanting more friction can switch Tolls/Scaling to PerLoad, which charges a toll for every stack.

Building the portals

Each portal costs its own biome's metal. That means the first haul out of every biome is still a boat trip — you cannot build the thing that carries iron until you have brought iron home the hard way. From the second run onward the biome is open.

Portal Cost Station
Black Forest Fine wood ×20, Greydwarf eye ×10, Surtling core ×2, Copper ×5 Workbench
Swamp Fine wood ×20, Ancient bark ×10, Surtling core ×3, Iron ×5 Workbench
Mountain Fine wood ×20, Obsidian ×10, Surtling core ×4, Silver ×5 Workbench
Plains Fine wood ×20, Needle ×10, Surtling core ×6, Black metal ×5 Forge
Mistlands Yggdrasil wood ×20, Black marble ×10, Surtling core ×8, Refined eitr ×2 Forge
Ashlands Ashwood ×20, Grausten ×10, Surtling core ×10, Flametal ×5 Forge

Each portal glows in its biome's colour and carries its own icon in the build menu, so six of them in one base are still tellable apart.

Knowing where you stand

Look at a portal and it tells you what this particular crossing will carry, what the toll comes to, and what a living boss is putting at risk:

Swamp to Black Forest. Carries Black Forest cargo and below.
Toll: Greydwarf Eye x5   At risk: 42 at 8% to the Elder (~3)

The no-teleport slash in your inventory tells the truth too. Stand at a Swamp portal and it clears from your iron while staying on your flametal.

The spirits

Each biome's spirit speaks when a crossing is refused or paid for, in its own register — and changes tone once you have killed it.

The bog exhales. Nothing leaves the marsh unweighed.

The mud parts where you walk. The mire outlived him. So did the toll.

Lines live in BepInEx/config/Tollbound/voice.txt and can be edited or added to without reinstalling. The file is never rewritten, so your edits survive updates; sections added by an update are appended without touching anything you wrote. Set Appearance/SpiritDialogue to false for the itemised ledger alone.

Who needs to install this

Every player and the server. This changes game rules. The server registers the pieces and is what recognises them as portals at all; each client decides its own crossings. A client without the mod is refused at the version handshake rather than allowed in to desync quietly.

Gameplay settings are admin-synced from the server, so a client cannot lower its own loss rate or zero out a toll. Appearance settings are local.

Requirements

Installation

Install with a mod manager, or drop Tollbound.dll into BepInEx/plugins/.

Compatibility

Backpacks

Backpack mods hold their contents in a nested inventory that the game's own teleport check never walks. Tollbound reads them directly, so cargo in a pack counts toward the crossing's ceiling, is priced into the toll, and can be taken by a loss roll — stashing ore in a backpack does not get it past a spirit. Tolls come from your own inventory first.

Supported: AdventureBackpacks and Backpacks.

Portal mods

TargetPortal is supported. Warping from a biome portal to a map pin is gated exactly like walking through one — same ceiling from both ends, same tolls, same loss rolls. Leaving a wood or stone portal by map is left alone.

Everything else

Both of the above are soft dependencies bound by reflection, so neither is required and their updates cannot break this mod. If one is installed but its API has changed shape, Tollbound says so in the log rather than quietly letting cargo through.

Tollbound portals deliberately do not set m_allowAllItems. Portal mods read that flag as "this portal has no restrictions" and skip their own safeguards, so setting it would make a biome portal more permissive than a vanilla one. Left unset, a portal mod Tollbound does not yet know about falls back to its own restrictions — stricter than intended, never a way to smuggle cargo.

Items another mod marks non-teleportable that Tollbound has no tier for are refused rather than carried free, so a mod or game update adding a new ore fails closed. Turn on Diagnostics/WriteItemReport and read BepInEx/config/Tollbound/item-report.md to see exactly what your install contains and how Tollbound classifies it.

One limit worth stating: backpack contents are readable only on the owning client, so a server cannot validate them.

Configuration

Settings live in BepInEx/config/com.ragemedia.tollbound.cfg, generated on first launch.

Section Setting Synced What it does
General VerboseLogging no Detailed per-event logging, including why each crossing was allowed or refused. Off by default.
Diagnostics WriteItemReport no Writes a survey of every non-teleportable item in your install, and how Tollbound tiers it.
Appearance SpiritDialogue no The spirits' centre-screen lines. Off leaves only the itemised ledger.
Appearance IdleGlowIntensity no Brightness of a portal's glow before it pairs. Vanilla portals sit dark; the default keeps each biome tellable apart.
Appearance ConnectedGlowIntensity no Brightness once connected. Vanilla uses 5.
Tolls Scaling admin Flat charges one toll per biome per crossing. PerLoad charges one toll for every LoadSize units, so bulk moves cost proportionally more.
Tier – biome TollItem admin Prefab name of the item that biome's spirit takes as passage. A name that does not exist falls back to the default and says so in the log.
Tier – biome TollAmount admin How many, per crossing. 0 makes that biome toll-free.
Tier – biome LoadSize admin Units covered by one toll under PerLoad. Defaults to 30 — one ore stack.
Tier – biome LossRate admin Per-unit chance that biome's ore or bars are destroyed while its boss lives. 0 disables it.

Settings marked admin are server-controlled: a client cannot lower its own loss rate or zero out a toll. Appearance settings are local and change nothing but your own screen.

Source

github.com/egaroib/TollBound

Licence

MIT.

CHANGELOG

Changelog

0.10.1

  • Fix a backpack holding restricted cargo being refused outright. Backpack mods mark the pack itself non-teleportable while it holds ore, and Tollbound was reading that as one giant piece of unrecognised contraband. It now asks the item's prefab rather than the carried instance.
  • Fix TargetPortal refusing every crossing with "item in inventory won't allow me to teleport". Its click handler asks the game's all-or-nothing teleport check before Tollbound is consulted, so the real gate never ran.
  • Backpacks (blaxxun) cargo is now read from the real inventories its API exposes rather than queried item name by item name. Faster, and unrecognised items inside those packs are no longer invisible.

0.10.0

  • Backpack support. Cargo inside a backpack now counts toward the crossing's ceiling, is priced into the toll, and can be destroyed by a loss roll. Previously it crossed free: Tollbound read the player's own inventory, and a backpack holds its contents in a nested inventory that walk never touched. Works with AdventureBackpacks and Backpacks (blaxxun), both soft dependencies bound by reflection. Tolls come from your own inventory first.
  • TargetPortal support. Warping from a biome portal to a map pin is now gated exactly like walking through one: same ceiling from both ends, same tolls, same loss rolls.
  • The gate sits on the game's own TeleportTo and only acts while TargetPortal is handling a click, so none of that mod's logic is replaced and other portal mods that warp the same way should be covered too.
  • Leaving a wood or stone portal by map is untouched, as before.

0.8.0

  • All six spirits are now voiced. Moder, Yagluth, the Queen and Fader join the Elder and Bonemass, each with its own vocabulary and its own shift in tone once its boss is dead. 210 authored lines, and 24 distinct centre-screen messages per situation per spirit.
  • voice.txt now gains sections added by updates instead of missing them. The file is still never rewritten, so existing lines and edits are untouched; only sections absent entirely are appended. To silence a spirit, empty its section rather than deleting it.

0.7.1

  • Loss rates raised after play testing: 8 / 11 / 14 / 17 / 22 percent, up from 5 / 7 / 9 / 11 / 15. A sixty-unit haul now loses about five ore in the Black Forest rather than three, and about thirteen flametal in the Ashlands rather than nine, so killing a biome's boss is worth doing rather than merely nice. Existing configs keep their own values; edit LossRate per tier to adopt the new ones.

0.7.0

  • Each portal now renders its own build-menu icon in its biome colour, so the six are tellable apart without hovering. The icon colour is baked into the sprite rather than applied in the UI, leaving vanilla's affordable/unaffordable icon tinting intact.
  • Configured toll items are checked against the item database on load. A name that does not exist falls back to the shipped default with a loud error, instead of silently making that biome's cargo impossible to move.
  • Portal hover text now shows the expected loss alongside the rate, not just the percentage — the number actually worth deciding on.

0.6.0

  • New Tolls/Scaling setting. Flat (default) keeps one toll per biome per crossing whatever the haul. PerLoad charges one toll for every LoadSize units of that biome's cargo, so moving a warehouse costs proportionally more and boats stay worth using for bulk.
  • LoadSize is per biome and defaults to 30, Valheim's own ore stack size, so the rule reads as one toll per stack. Rounds up: a single unit over a stack is a second load.
  • Hover text and the ledger now price tolls through the gate's own calculation, so a quoted price cannot drift from the charged one, and both show the load count when above one.

0.5.1

  • Surtling cores now scale across the ladder: 2, 3, 4, 6, 8, 10. They are already vanilla's portal ingredient, so a bigger portal wanting more core reads better than swapping in a different core at the top.
  • Stations simplified to Workbench for the first three rungs and Forge for the last three. The Artisan table and Black forge read oddly in sequence for what is the same structure six times, and a Workbench is far easier to plant in the field than a Forge.
  • Item report gained a candidate group for late-game recipe materials.

0.5.0

  • The spirits speak. A crossing that is refused or paid for now draws a centre-screen line composed from two pools: an atmospheric opener and a demand, each a complete sentence, so six of each gives thirty-six combinations. Tone shifts once a biome's boss is dead.
  • Lines live in BepInEx/config/Tollbound/voice.txt, written on first run and never overwritten. Add or edit lines without reinstalling; a new [mountain.restless.opener] section starts being used immediately.
  • Black Forest and Swamp are fully voiced. Every other spirit uses the generic [fallback] pool until authored.
  • New Appearance/SpiritDialogue setting turns the centre lines off, leaving only the itemised ledger.

0.4.1

  • Loss rolls now log every lot under VerboseLogging, including skipped ones, so that "rolled and came up empty" can be told apart from "never rolled". At these rates a small haul losing nothing is the single most likely outcome, which makes a working mechanic look broken.

0.4.0

  • Portal hover text now names the crossing: this portal's tier, the tier on the far end, and what the pair actually carries. Adds the toll due, what a living boss puts at risk, and what is blocking the crossing when something is.
  • The inventory no-teleport slash now reflects the nearby portal instead of the vanilla all-or-nothing flag: it clears from cargo the crossing accepts and stays on the rest.
  • Cargo the game restricts but Tollbound has no tier for is now refused rather than carried free. A game update adding a new ore fails closed instead of opening a hole.

0.3.0

  • Portals of different tiers now connect freely. A crossing carries the LOWER of its two ends, so a Swamp portal linked to a Black Forest one is a Black Forest crossing both ways, and either linked to a vanilla portal carries nothing restricted at all.
  • Removed the same-tier pairing restriction that made connections exclusive.
  • The toll gate: ceiling check, per-biome tolls charged on the cargo you carry, and per-unit loss rolls for biomes whose boss still lives. Nothing is spent unless every check passes.
  • The proximity swirl now reflects Tollbound's rules instead of vanilla's all-or-nothing check, and is tinted to match its portal.
  • Biome portals deliberately do NOT set m_allowAllItems. Other portal mods read that flag as "no restrictions" and skip their own safeguards, which would have made these portals more permissive than vanilla rather than less.

0.2.2

  • Fix biome portals never connecting. Game.Awake builds PortalPrefabHash from a serialized prefab list, and ZDOMan gates every portal path on it, so a portal whose hash is absent is never added to m_portalObjects and ConnectPortals never sees it. Tollbound's prefabs now register themselves as portals.
  • Raise the default unconnected glow from 0.6 to 2.0, which is above the bloom threshold. Existing configs keep their own value; edit IdleGlowIntensity to change it.

0.2.1

  • Fix the plugin failing to load at all: TierInfo.Recipe used a C# value tuple, which compiles against the net462 reference assemblies but has no System.ValueTuple at runtime under Valheim's Mono. The type initializer threw during Awake, before any pieces or patches were registered, so no portals appeared in the build menu.

0.2.0

  • Six biome portal pieces, cloned from the vanilla wood portal and tinted per biome.
  • Cargo tier model covering all 26 non-teleportable items, with per-tier toll and loss settings bound as admin-synced config.
  • Same-tier portal pairing: a biome portal will not connect to a portal of another kind. Vanilla wood and stone portals still pair with each other as they always have.
  • Item report now records Tollbound's own tier and loss classification per item.

0.1.0

  • Initial release.