Guild Structures

v1.2.1·Updated 2026-08-29

Guild-based access for doors, gates & storage, plus password chests. Per-piece Guild stamps instead of ward-radius protection. Features a PvP-only Guild Ballista that exclusively targets enemy players

About this mod Author’s original text

Guild Structures

Protect doors, gates, and storage with Guild identity — no wards required.

Each listed piece is stamped once with the placer’s Guild. Opening, using, and de-hammering then check the player’s current Guild against that stamp. Built for dedicated and listen (Steam host) servers, with server-synced settings so clients can’t widen the rules locally.

Features

Guild protection

  • Stamp configured doors / gates / chests with the placer’s Guild
  • Only that Guild’s members can open or use them
  • Only that Guild’s members can de-hammer them (switching Guilds does not keep remove rights)
  • Denied pieces show vanilla-style No access hover text
  • Make a single piece public with WEC / ZDO: GS_GuildCheckEnabled = false

Password-protected storage (optional)

  • Separate prefab list — no Guild check
  • Owner sets or clears a password with SHIFT+E
  • Owner always opens with normal E
  • Others enter the password once; enforcement is server-side (salted hash)
  • While locked, only the owner can de-hammer

Faction ballistas (optional)

  • Separate CFG list for WackyDB / faction ballista clones
  • Guild-stamped on place; same guild id+batch only may de-hammer
  • Aims at enemy-guild / guildless players in one pass (never locks allies)
  • Unknown membership: holds fire on that player until known
  • Optional players-only mode (no mobs / AI)
  • GS_GuildCheckEnabled = false on a piece → vanilla targeting for that ballista

Server-friendly

  • Dedicated + listen-host compatible
  • Access settings synced from the server
  • CFG live-reload on dedicated / listen host (edit + save, no restart)
  • Server-authoritative guild generation (safe against Guild id reuse after disband)

Requirements

| Mod | Required |

|-----|----------|

| BepInEx | Yes |

| Guilds (Smoothbrain) | Yes — hard dependency |

| World Edit Commands | Optional — readable GS_* field names in ZDO dumps |

Installation

  • Install via r2modman, or place GuildStructures.dll in BepInEx/plugins/
  • Install on the server and every client
  • Launch once to create BepInEx/config/com.rdmods.guildstructures.cfg
  • Fill in the prefab lists, then restart or save the CFG on the server (live reload)

Until you list prefabs, the mod does nothing.

Configuration

File: BepInEx/config/com.rdmods.guildstructures.cfg

Guild protection — 2 - Access Control

  • Protected Prefabs (Exact Names) — e.g. wood_door,wood_gate,piece_chest_wood
  • Protected Prefabs (Name Contains) — e.g. gate to catch many variants
  • Deny Access If Player Has No Guild — usually true
  • Allow Access If Piece Has No Recorded Owner — keep true while testing

Password storage — 4 - Protected Storage

  • Separate exact / contains lists for password-lockable chests only
  • Do not put the same prefab on both Guild and password lists

Faction ballistas — 5 - Faction Turrets

Faction Ballista Prefabs (Exact Names) = piece_turret_shadowborn,piece_turret_bloodfire

Faction Ballista Prefabs (Name Contains) =

Target Creatures / Mobs / AI = false

  • Exact / Contains lists for your faction ballista prefabs (leave empty to disable)
  • Target Creatures / Mobs / AI — true = may still shoot creatures; false = enemy / guildless players only
  • Do not put the same prefab on Access Control or password lists unless you intend those rules too

Finding prefab names

Enable Debug Logging, place one of each piece, then read:

[Prefab Discovery] You just placed '…'

Turn debug logging off again when done.

Public override (one piece)

bool, GS_GuildCheckEnabled, false

Guild stamp fields (WEC data dump)

| Field | Meaning |

|-------|---------|

| GS_Locked | Piece has a guild stamp |

| GS_GuildId | Owning guild numeric id |

| GS_BatchNo | Batch / generation at stamp time (id-reuse safety) |

| GS_GuildName | Guild display name (always stamped) |

| GS_GuildCheckEnabled | Enforce guild check; default true (set false to make public) |

| GS_OwnerPlayerName | Placer display name (always stamped) |

Notes

  • Controls interaction and hammer-remove for listed pieces only — not separat

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.

Dependencies

Install these first, or the mod will not work:

denikson-BepInExPack_ValheimSmoothbrain-Guilds

File & checksum

Filename
Guild_Structures-1.2.1.zip
File size
100.1 KiB