Moderation
The Moderation module unifies moderation actions across Discord and Minecraft. Bans applied on one platform mirror to the other, a configurable chat filter blocks listed words and regex patterns, and players can file reports from in-game with cooldown-gated/report.
Overview
Moderation combines three concerns: synchronized bans between Discord and Minecraft, a chat filter for both plain words and regular expressions, and an in-game reporting flow that respects verification and per-player cooldowns.Configuration
All keys live underfeatures.moderation in plugins/XDiscordUltimate/config.yml.
Key behavior
Ban sync & logging
Ban sync & logging
sync-bans— Whentrue, bans propagate between platforms. A Minecraft ban applies a Discord ban, and a Discord ban removes the player’s access accordingly.log-channel— Discord channel where moderation actions (bans, reports, filter hits) are logged (defaultmod-logs).auto-moderate— Whentrue, the chat filter runs automatically on player chat.
Reports
Reports
report-cooldown-minutes— Cooldown applied per player between reports (default5).require-verification-for-reports— Whentrue, only players who have completed Verification can submit reports. This prevents abuse from throwaway accounts.
Filter words
Filter words
The
filter-words list accepts two kinds of entries:- Plain words — Matched literally (e.g.
badword). - Regex patterns — Prefixed with
regex:and evaluated as Java regular expressions (e.g.regex:\b(somepattern)\b).
xdiscord.bypass.filter permission skip the filter entirely.Commands & Permissions
| Permission | Description |
|---|---|
xdiscord.bypass.filter | Bypass the chat filter entirely. Grant to staff. |
Ban sync behavior
Whensync-bans: true, the direction is bidirectional:
- Ban a player in Minecraft (e.g.
/ban) → the bot applies a Discord ban to the linked account. - Ban a user on Discord → the corresponding Minecraft player is banned on the server.
Regex patterns are powerful and evaluated as Java regular expressions. A malformed or overly broad pattern can silently match far more than you intend — for example,
regex:abc matches any chat containing abc anywhere. Always test new patterns on a staging server before enabling them in production, and anchor patterns with \b word boundaries where possible.moderation_logs database table for audit.
Next Steps
Support Tickets
Route player complaints into private, transcript-backed support channels.
Permissions
Full reference for every permission node, including the filter bypass.

