Configuration
All files live under plugins/DaisyFilter/.
| File | Purpose |
|---|---|
config.yml | Core toggles: server label, monitor-only mode, surfaces, command profiles, filter limits, performance. |
messages.yml | Player-facing and staff-alert messages (MiniMessage). |
categories.yml | Category severities and dispositions (see categories.md). |
actions.yml | Action/effect wiring (see actions.md). |
custom-rules.yml | Server-defined literals and RE2/J-safe regular expressions. |
spam.yml | Sliding windows, duplicate/similarity, caps/punctuation/character limits. |
escalation.yml | Severity-point escalation and opt-in punishments (disabled by default). |
allowlist.yml | Benign words and permitted domains that suppress matches. |
webhook.yml | Optional metadata-only incident logging to a Discord webhook (off by default). |
storage.yml | SculkData database connection. |
moderation-storage.yml | Evidence privacy, retention, and write-queue settings. |
gui.yml | GUI appearance. |
runtime-overrides.yml | Machine-managed; written by the GUI and monitor/alerts commands. Do not hand-edit. |
lists/ | Editable copies of the bundled and custom word lists. |
exports/ | Generated export archives. |
secrets/ | Generated encryption keys. Never commit or share. |
Reloading
Section titled “Reloading”Run /daisyfilter reload. DaisyFilter re-reads the configuration files and
recompiles the rule pack and allowlist off-thread, swapping the live snapshot
atomically only if compilation succeeds; a failed reload keeps the previous
snapshot active.
Some settings require a restart:
- the storage backend (
storage.ymldatabase type), - spam/abuse tuning (
spam.yml), - escalation structure (
escalation.yml).
runtime-overrides.yml is never destructively rewritten over your commented
human-authored files — it only holds machine-managed state.
Key config.yml settings
Section titled “Key config.yml settings”monitor-only: forceMONITORfor everything (logs and alerts, never blocks). Toggle at runtime with/daisyfilter monitor on|off.surfaces: enable/disable chat, commands, signs, books, anvils individually.filter.max-input-length: bounded scan input (code points).commands.monitored-roots/recipient-roots: which commands are scanned and which skip a recipient argument.
GUI theming (gui.yml)
Section titled “GUI theming (gui.yml)”Menu layout is fixed (consistent, hand-tuned), but appearance is themable:
theme.pink/blue/lilac/mint: brand colours (hex) used for headings, accents, and the pink-to-blue gradient.theme.border-material/filler-material: the pane materials framing menus. Unknown material names fall back to the defaults with a console warning.theme.use-player-heads: show real player-face skulls on player menus (built from the stored UUID — no main-thread lookup). Disable for plain heads.theme.glow-primary-actions: add a glow to primary buttons (Punish, Confirm).titles.*: optional per-menu title overrides (dashboard,violations,incident,profile,history,audit,mutes,punish). Blank uses the built-in title; MiniMessage is supported. Re-apply with/daisyfilter reload.