GUI
Open with /daisyfilter or /daisyfilter gui (requires daisyfilter.gui).
Every menu loads its data asynchronously and is built on the main thread, so the
GUI never queries the database from the server thread.
All menus share one navigation convention: Back is bottom-left, Close is bottom-right, and page controls are centred in the bottom row — so they behave the same everywhere. Colours, pane materials, player-head skulls, button glow, and titles are themable in gui.yml.
Dashboard
Section titled “Dashboard”Entry point. Shows the current mode (enforcing / monitor-only), database health and queue depth, and a button into the recent violations.
Recent violations
Section titled “Recent violations”A paginated list of the latest records. Each entry shows the player, surface, disposition, severity, categories, and review status. Click an entry to open its detail.
Violation detail
Section titled “Violation detail”Shows the full safe metadata for one record and offers review actions:
- Mark Reviewed — records who reviewed it and when.
- Add Note — closes the menu and captures one private chat line as a staff note.
- Pardon (false positive) — marks the record pardoned and removes its contribution from the player’s running totals.
- Exact Evidence — displayed automatically only when encrypted evidence exists
and the viewer holds
daisyfilter.view.raw; everyone else sees a masked preview. - Add Allowlist Exception — adds only the matched span, pardons the incident, and atomically reloads the filter.
- Disable Matched Rule — disables one opaque rule ID through runtime overrides.
- Punish Player — opens configured external command profiles, duration choices, confirmation, and audited dispatch results.
- Teleport to Sign — for sign records that carry a location.
The screen also shows confidence, matched ranges, context, player history, and recent staff-action audit entries. Privacy-dependent controls are visibly disabled rather than failing silently.
Active mutes
Section titled “Active mutes”The Active Mutes panel manages DaisyFilter’s built-in fallback mute (for servers
without a punishment plugin). If you delegate mutes to Essentials/LiteBans, manage them
there instead. It lists each fallback mute with its remaining time, reason, and the staff
member who applied it. Click an entry to lift the mute.
A player who has appealed their mute (/appeal <reason>) shows the appeal text here
for review. Mutes persist across reconnects and restarts; use /daisyfilter unmute
or /daisyfilter extend <player> <minutes> from chat.
Staff audit log
Section titled “Staff audit log”The dashboard’s Staff Audit Log lists every staff command-profile action
(who, what profile, on whom, duration, success, and when), newest first, with a
click-through to the originating incident. Also available as
/daisyfilter audit [staff] to filter by a staff member.
Player profile
Section titled “Player profile”Aggregate statistics for a player (total violations, severity points, last action)
plus a shortcut to that player’s violations. Open with /daisyfilter player <name>.
The profile also shows shared staff notes and watchlist status. Click
Staff Notes to add a note (typed in chat), and Add to / Remove from Watchlist
to flag the player. A watchlisted player shows a ⚠ WATCHED banner here, and every
one of their incidents alerts staff (bypassing the grouping cooldown) with a
⚠ WATCHED tag.
History & Trends opens a breakdown of the player’s incidents by disposition
(block/censor/monitor counts) and top categories, with a shortcut to the full
violations timeline. Also available as /daisyfilter history <name>.
Notes on safety
Section titled “Notes on safety”Previews are masked and bounded; raw terms are never shown without the raw-view permission. The note-capture session does not filter, log, or broadcast the typed line.