Troubleshooting
/daisyfilter status shows Database: Degraded
Section titled “/daisyfilter status shows Database: Degraded”The database is unreachable or failing. Filtering continues (censoring, blocking,
warnings) while persistence retries. Check the console for rate-limited storage
errors, verify storage.yml, and confirm the database server is reachable. Queue
depth and dropped counts are shown in status.
A rule is not matching
Section titled “A rule is not matching”- Confirm the list loaded:
statusshows enabled/disabled rule counts. - A rule disabled at load is reported with its rule ID and reason (the pattern is never printed). Invalid regex disables only that rule.
- Run
/daisyfilter test <message>to see the decision and which forms matched. - If a benign word is wrongly flagged, add it to
allowlist.ymland reload.
Rule state shows degraded
Section titled “Rule state shows degraded”The reviewed Daisy core remains active, but the pinned GamerSafer upgrade failed validation or import. Check the safe error above the classic startup banner. Local CSV reference files are not authoritative; verify that the installed plugin JAR is complete and unmodified.
Reload did not apply a change
Section titled “Reload did not apply a change”/daisyfilter reload re-reads configuration and recompiles rules and the
allowlist. The storage backend, spam tuning, and escalation structure require a
restart. A failed reload keeps the previous valid snapshot — check the console
for the compilation error.
Exact evidence is unavailable
Section titled “Exact evidence is unavailable”Exact evidence requires both enabled raw storage and the daisyfilter.view.raw
permission. Existing installations retain their previous privacy setting. If the
key under secrets/ is missing or invalid, raw storage is refused and the GUI
shows the masked preview instead.
A GUI punishment is refused
Section titled “A GUI punishment is refused”Confirm the profile is enabled, the staff member has its permission, its command
root appears in allowed-command-roots, and the selected duration belongs to the
profile. Unknown placeholders and line breaks are rejected. Failed attempts are
recorded in the incident’s staff-action audit.
Temp-mute / kick never fire
Section titled “Temp-mute / kick never fire”Escalation is disabled by default. Enable it in escalation.yml and define
thresholds. RUN_COMMAND steps additionally require the template to be listed in
command-allowlist.
Players bypass filtering unexpectedly
Section titled “Players bypass filtering unexpectedly”Bypass permissions default to false. Check your permission plugin for an
inherited daisyfilter.bypass* grant. Snapshots refresh on join and in batches;
with LuckPerms installed a refresh hook keeps them current.
Export produced no raw content
Section titled “Export produced no raw content”export ... include-raw requires daisyfilter.view.raw and enabled raw storage;
otherwise the raw field is omitted and the run is reported as metadata-only.