Guild Structures

版本 v1.2.1·更新於 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

模組介紹 作者原文

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

安裝與使用 安裝:BepInEx 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

denikson-BepInExPack_ValheimSmoothbrain-Guilds

檔案與校驗

檔案名稱
Guild_Structures-1.2.1.zip
檔案大小
100.1 KiB