Guild Structures
Guild-based access for doors, gates, and storage, plus optional password-locked chests. Per-piece Guild stamps instead of ward-radius protection.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
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 / Thunderstore, or place
GuildStructures.dllinBepInEx/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.
gateto catch many variants - Deny Access If Player Has No Guild — usually
true - Allow Access If Piece Has No Recorded Owner — keep
truewhile 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
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 separate no-build / siege systems
- Optional WEC soft-dependency registers all
GS_*ZDO fields for readabledata dump/data printoutput
Support
Bugs and questions: Discord
