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.
TerroritySmellatory
Admin-marked multiplayer territories: set the rules in a small panel, mark the ground with Infinity Hammer, and every player's game enforces them - protection, safe/war zones, no spawns or raids, sanctuary bonuses.
| Last updated | 17 hours ago |
| Total downloads | 17 |
| Total rating | 0 |
| Categories | Mods Tweaks Server-side Client-side Utility AI Generated Deep North Update |
| Dependency string | Wubarrk-TerroritySmellatory-0.3.1 |
| Dependants | 0 other packages depend on this package |
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.2350ValheimModding-JsonDotNET
Shared version 13.0.3 of Json.NET from Newtonsoft, net45 package for use in Valheim mods. Maintained by the ValheimModding team.
Preferred version: 13.0.4README
TerroritySmellatory
Admin-marked multiplayer territories for Valheim 1.0. An admin sets a territory's rules in a small panel and marks the ground with Infinity Hammer, then combines territories into any shape they like. The server saves them and sends them to every player. Everyone's game then enforces them: build and chest protection for non-members, safe or war zones, no monster spawns with an optional runic barrier that holds monsters out, no raids, no skill loss, and sanctuary bonuses.
- Players need only this mod. They see territories on the map and on the ground, get an entry banner like a newly found biome, and get whatever the admin set.
- Admins also run Infinity Hammer, and only to mark territories. Nothing a player experiences depends on it.
What a territory can do
Building, door and harvest protection apply to everyone who is not a member. The owner and members are never stopped by them, and neither are server admins (configurable). Buildings cannot be damaged applies to everyone.
The runic barrier only exists while No monster spawns is on, and Keep non-members out too only while the barrier is. In the panel each is greyed while the one above it is off, and the server clears a barrier setting whose rule is off, so a hand-edited file cannot leave one switched on by itself.
| Rule | What it does |
|---|---|
| Building | Only members may place, remove, repair or dig. It works exactly like a ward: red ghost, "private zone". |
| Doors, chests & stations | Only members may use doors, chests, portals, signs, item/armour stands, fermenters, beehives and the rest of what a ward locks. |
| Harvesting | Only members may pick crops, berries and other pickables. Vanilla wards cannot do this. |
| Doors close by themselves | Off by default. A door or gate left open inside shuts after AutoCloseDelay (10 s), unless a player is within AutoClosePlayerClearance (3 m) of it, so nobody has a door shut in their face. Run by the server, so every player sees it close, and it applies whoever opened the door, members included. Drawbridges and window shutters are left alone, and so are doors that need a key. Where territories overlap, the one that governs the door's spot decides. If you press Use on a door in the moment the server is closing it, the press is dropped: press again. |
| Buildings cannot be damaged | No hit harms them: creatures, fire and every player, members and admins included. Take a piece down with the hammer instead. Weather and support still apply. |
| No monster spawns | No hostile world spawns, raid spawns, spawn points or nests. Deer, boars, birds and fish still spawn. |
| Runic barrier | Part of No monster spawns, and on by default in a new territory. Monsters cannot walk in: a hostile creature that reaches the edge is held outside it, and a blue rune shield flares where it pushes. Tamed creatures and peaceful animals pass; bosses are held too. A monster already inside is set down just outside. Arrows and spit still cross it. A combined territory has one barrier, around all its ground. |
| Keep non-members out too | With the barrier: players who are not members are held at the edge as well, with the same flare, and one already inside is set down outside. Members and the owner always pass, and so do admins while AdminsBypassProtection is on. Off by default. |
| No raids | A raid never picks a player standing inside. |
| No skill loss on death | Dying inside does not lower your skills. |
| PvP | Players choose, Forced off (a safe zone) or Forced on (a war zone). The inventory toggle locks while you are inside and your own choice returns when you leave. |
| Sanctuary effect | A status effect named after the territory, with health, stamina and eitr regen multipliers, bonus carry weight and bonus armour. |
| Entry / exit banner | Entering announces the territory the way the game announces a new biome: its name as the big title, your own text beneath it ({name} and {owner} filled in), and the discovery sound the first time. Leaving shows "Leaving Hrafnborg", or your own text. The game's PvP notice shows when the territory switches your PvP. |
| Show on the map | Its real outline and name on the large map and the minimap, a combined territory as one shape. While you are inside, its name replaces the biome name above the minimap. |
| Show its border | Players near the edge see where the border runs on the ground. |
Where territories overlap, the smaller one rules its own ground, so a public market drawn inside a protected kingdom works without further setup. Priority lets the bigger one win when you want that instead.
A banner never spams at an edge: you count as inside until you are 3 m past it, re-entering within 90 seconds is silent, and dying inside is not leaving.
Players
- Home (or
terrin the console) opens the panel. Here shows where you are, whose land it is and what applies to you. All lists every territory with its distance. terr_whoamiprints your player id. An admin needs it to add you while you are offline.
Admins: marking a territory
- Open the panel (Home). On Rules, set the name, colour and rules. On Members, pick an owner and members from the players online, or add someone offline by player id.
- Press Place → Pick up the hammer to mark a new territory, or choose Territory from the hammer's tool menu.
- The ruler shows the area. Scroll to resize, use Infinity Hammer's shape key for circle, square or rectangle, rotate as you would a piece, and place.
The server checks that you are an admin (its own adminlist.txt, never your game's opinion), saves the territory and sends it to everyone. The answer appears in your console, top-left and on the panel.
Fixing a bad placement. Two more hammer tools come with it:
- Territory remove: place it inside a territory, then place it again on the same one within 6 seconds. The confirmation stops a stray click deleting one.
- Territory edit: place it inside a territory to open the panel on it. Change its rules and members and press Save changes, or Move / reshape to mark new ground with the hammer while keeping its rules.
No hammer? Use Place → Mark a circle here, or terr_here <radius>, for a circle centred on you.
Combining territories: any shape
A territory can be made of several circles, squares and rectangles that count as one territory: an L-shaped keep, a road with a market at its end, a ring of towers. Its protections, PvP, Sanctuary and banner cover all of it, walking from one part into another is not leaving, and the map draws one outline around the whole shape.
- Territory combine (a hammer tool): place it inside the territory to keep, then within 15 seconds inside the one to join into it. Placing in the first one again cancels.
- Or in the panel: edit the territory to keep, and on Place → Ground → Combine, press Join into this beside the other one (click twice).
- Or
terr_combine <into id> <from id>.
The territory you combine into keeps its name, rules and owner. The other's owner and members become its members, and the other's own name and rules are dropped.
The Ground section (Place, while editing a territory) lists its parts. Move marks new ground for one part with the hammer, Split off makes a part a territory of its own with the same rules, and Remove drops a part (click twice for both). Add ground with the hammer adds a part at each placement until you press Cancel; Add a circle here adds one around you.
Infinity Hammer's tools need devcommands on (Server Devcommands). The panel tells you if they are off.
Console
| Command | |
|---|---|
terr |
Open or close the panel. |
terr_list |
Every territory, with ids, owners and rules. |
terr_here [radius] |
Mark a circle around you with the panel's rules. |
terr_delete <id> |
Delete a territory. |
terr_reload |
Make the server re-read its territory file after a hand edit. |
terr_whoami |
Your player id, and what the server says about you. |
terr_combine <into> <from> |
Join the second territory into the first. |
terr_place, terr_remove_at, terr_edit_at, terr_combine_at |
What the hammer tools run. |
Server
Territories are saved per world in BepInEx/config/TerroritySmellatory/worlds/<world>.json, with a .bak of the previous version beside it. The file is plain, readable JSON; rules are listed by name ("flags": ["BuildProtect", "NoRaids"]), a combined territory lists its extra ground under "parts", and a barrier is the names "RunicBarrier" and "BarrierKeepsOutVisitors" in the same list. You can edit it by hand and run terr_reload.
If the file cannot be read, the server says exactly where it is broken (line and column) and refuses to save until it is fixed, while the territories it already had stay in force. A typo never turns into lost territories. A file written by a newer version of the mod is enforced but never saved over. 0.3.0 writes file version 3, so a server rolled back to 0.2.x keeps the file safe the same way and will not save over it.
Configuration (wubarrk.terroritysmellatory.cfg)
| Setting | Default | |
|---|---|---|
[1 - Server] RequireClientMod |
true | Kick players without the mod. Protections run in each player's game, so a player without it is not bound by them. |
[1 - Server] AdminsBypassProtection |
true | Admins are never stopped by territory protections. |
[1 - Server] MaxRadius |
600 | Largest radius or half-width a placement may have, in metres. |
[1 - Server] MaxTerritories |
500 | Per world. |
[1 - Server] MaxParts |
16 | The most parts one territory may have. 1 turns combining off. |
[1 - Server] AutoCloseDelay |
10 | Seconds a door may stay open before a territory with Doors close by themselves closes it (1 to 600). |
[1 - Server] AutoClosePlayerClearance |
3 | A door is not closed while a player is within this many metres of it; the delay keeps counting and it closes when they step away (0 to 30, 0 turns the check off). |
[1 - Server] AutoCloseExcludedPrefabs |
piece_drawbridge,piece_drawbridge_log,Morkhalla_Drawbridge,wood_window |
Door prefab names that are never closed by themselves. Add a modded door here to leave it open. |
[2 - Client] PanelKey |
Home | |
[2 - Client] ShowBorders |
Always | Off, PanelOnly, PanelOrBuilding or Always (near an edge). |
[2 - Client] BorderRange |
60 | How close to an edge before its border shows. |
[2 - Client] ShowOnMap / EnterLeaveBanners |
true | |
[2 - Client] EntryBannerStyle |
Epic | Epic (the big title, like a new biome) or Simple (a line in the centre of the screen). |
[2 - Client] EntrySound |
FirstEntry | The discovery sound with the banner: FirstEntry (the first time each session), EveryEntry or Off. |
[2 - Client] BannerCooldownSeconds |
90 | Re-entering a territory within this time shows no banner. |
[2 - Client] MinimapTerritoryName |
true | The territory's name replaces the biome name above the minimap while you are inside. |
[2 - Client] BarrierEffects |
true | Show a runic barrier's blue flare, with its sound, where something pushes against it. The barrier holds monsters out either way. |
[3 - Infinity Hammer] WriteHammerTool |
true | Keep infinity_tools_terroritysmellatory.yaml for the hammer's tool menu. Delete its first line to take it over yourself. |
[3 - Infinity Hammer] InitialRadius |
20 | The Territory tool's starting size. |
[1 - Server] settings are locked to the server's values.
Compatibility
- Valheim 1.0, BepInEx 5.4.23+. No Jotunn. Install on the server and on every client.
- ValheimModding-JsonDotNET (Newtonsoft), the usual JSON dependency. Mod managers install it automatically; the server uses it for the territory file.
- Better Continents: compatible. Nothing here assumes a world size, heights come from the game's own (Better Continents-patched) terrain, and the network sync waits until a joining player is fully in the world, well after Better Continents' own download.
- Infinity Hammer 1.84+ (admins only), with Server Devcommands and World Edit Commands as IH requires. IH is a soft dependency: without it everything else still works.
- Servers with RPC whitelists (such as Wonderland): regular players only ever receive this mod's traffic, and only admins send requests.
Credits
By Wubarrk. Inspired by HanonHeim's BaseTerritory.