Generated reference. This page mirrors
Code/Bulletin/README.md, this module's source-of-truth documentation (Standards/02_DOCUMENTATION_STANDARDS.md ยง1). Edit it there, not here -- this file is regenerated on every docs build and any local edit is silently overwritten.
Bulletin¶
Purpose. A short, server-wide announcement admins can set, visible to every player. The worked example Documentation/Guides/01_WRITING_A_MODULE.md builds end to end, here built for real.
Responsibilities. - Owns the current bulletin text and who last set it. - Persists the bulletin across restarts.
Not responsible for. Chat messages (owned by Chat, not built yet). Admin permission checks
beyond "is this connection an admin" (owned by Character.HasPermission).
Dependencies. Core (events, persistence, logging). Persistence (IPersistenceBackend).
Character (Character.HasPermission for RequestSetBulletin, ConnectionExtensions.
GetCharacter() for caller identity).
Public API. IBulletinService.Current (read), IBulletinService.SetAsync (caller must
already be validated as an admin -- the RPC handler that calls it does that check, not this
service).
Events published. BulletinChanged.
Persistence. bulletin/server -- one document, schema version 1.
Future improvements. No history/log of past bulletins; add if ever requested.