ChatSentinel
Production-ready chat protection for Spigot, Paper, Folia-aware Bukkit servers, BungeeCord, and Velocity networks.
ChatSentinel is a free, open-source Minecraft chat moderation plugin built for server owners who need practical chat protection without outdated filters, heavy regex mistakes, or fragile proxy behavior.
It protects public chat and supported command messages against spam, flood, repeated messages, excessive caps, advertising, offensive language, syntax abuse, unsafe patterns, and custom blacklist rules. Staff get live alerts, Discord webhooks, SocialSpy modules, chat clear/delete tools, module toggles, runtime regex additions, server mute, and multilingual messages.
SocialSpy • SocialSpy • SocialSpy • SocialSpy • SocialSpy • SocialSpy • SocialSpy
---
What is ChatSentinel?
ChatSentinel is a serious chat-filtering core for Minecraft servers and networks.
Most old chat filter plugins only check a few words, break on bypasses, or stop being maintained. ChatSentinel is built around configurable modules, source-aware regex filter files, per-module actions, staff visibility, proxy support, and safe defaults for real production communities.
Use it for SMP servers, practice servers, PvP networks, survival networks, proxy networks, and any server where chat needs to stay readable, safe, and controllable.
---
Core Chat Protection
- Player-name sanitization — block offensive language, advertisements, hacked-client spam, custom rules, and security payloads. - Player-name sanitization — default rules are split into `security`, `advertisement`, `offense`, `client`, and `user` modules. - Player-name sanitization — advanced patterns are compiled from YAML filter files with compile reports and admin notifications. - Player-name sanitization — allow trusted expressions and proxy server names where filtering should not apply. - Player-name sanitization — selected commands such as `/msg`, `/reply`, `/tell`, `/broadcast`, and `/global` can be checked like normal chat. - Player-name sanitization — block namespaced command syntax such as `minecraft:me` unless whitelisted. - Player-name sanitization — replace or block characters outside a configured regex. - Player-name sanitization — ignore online player names during moderation when configured.
---
Anti-Spam and Message Quality
- No-move-chat module — control normal chat, command cooldown, repeated message cooldown, and global repeat delay. - No-move-chat module — block or reduce repeated characters, oversized messages, and symbol spam. - No-move-chat module — detect repeated similar messages using normalized text comparison. - No-move-chat module — correct excessive caps, optionally capitalize sentence starts, and ignore configured tokens such as `VIP` or `USA`. - No-move-chat module — correct common misspellings without turning moderation into punishment. - No-move-chat module — Bukkit backend protection that can require players to move before chatting.
---
Blacklist System Built for Maintenance
ChatSentinel does not force every rule into one giant config string.
Default and custom rules live in structured YAML files under blacklist folders. Each file compiles into a source-aware filter, so staff alerts can include the source file, module, matched text, and original message.
Built-in rule groups include:
- User — Log4Shell/JNDI-style payload patterns. - User — domains, spaced domains, IPv4 addresses, and port-style spam. - User — English, Spanish, and Spanglish offensive-language patterns. - User — hacked-client spam signatures. - User — your own custom rules.
Each blacklist module can have its own enabled state, display name, warning behavior, webhook behavior, censorship behavior, fake-message mode, raw block mode, and punishment commands.
---
Staff Visibility and Live Moderation
- Compile reports — alert online staff when a user triggers a module. - Compile reports — optional staff spy channel with file, module, matched text, and message context. - Compile reports — send moderation events to Discord with configurable username, avatar, author, fields, colors, footer, and thumbnail. - Compile reports — optionally publish and receive alerts across multiple plugin instances. - Compile reports — verify command output, player messages, and warning delivery in-game. - Compile reports — invalid regex rules are reported instead of silently breaking protection.
---
SocialSpy System
ChatSentinel includes a configurable SocialSpy stack for staff oversight.
Supported SocialSpy modules:
- Commands — `/msg`, `/tell`, `/w`, `/reply`, `/r`, `/dm`, and configurable patterns. - Commands — sign placement/edit content. - Commands — book titles and content snippets. - Commands — item rename changes. - Commands — general command visibility, with sensitive authentication commands ignored by default.
SocialSpy supports per-module permissions, default-enabled states, content trimming, ignored command roots, self-include control, and a Bukkit `/socialspy menu` interface.
---
Chat Snapshot, Clear, and Delete Tools
ChatSentinel keeps a recent visible-chat snapshot so staff can clean chat without relying only on blank-line spam.
- Live delete click — send a clear payload to non-bypass players. - Live delete click — staff with bypass permission keep visibility. - Live delete click — inspect recent tracked messages. - Live delete click — mark a message deleted and replay visible chat. - Live delete click — on Bukkit, staff can receive a clickable delete prefix beside live chat lines.
This gives staff faster moderation during raids, advertisement spam, or public chat incidents.
---
Server Mute
Server-wide mute is built in.
- Toggle server mute from command. - Define bypass permission. - Persist mute state in config. - Broadcast configurable mute/unmute messages. - Use aliases such as `/servermute`, `/muteall`, and `/muteserver` where supported.
---
Network and Platform Support
ChatSentinel supports multiple deployment styles:
- Java 8 target for Spigot, Paper, Purpur, and Folia-aware servers. - Java 8 target for network-wide chat moderation. - Java 8 target with configurable signed-chat behavior. - Java 8 target for multi-instance staff notifications. - Java 8 target for broad hosting compatibility.
Velocity signed-chat behavior is configurable. `legacy-deny` can block or modify chat, while `warn-only` keeps notifications, webhooks, and spy alerts without mutating signed-chat messages.
---
Commands
Main command:
- `/chatsentinel help` — show available commands. - `/chatsentinel status` — show module and filter status. - `/chatsentinel selftest` — test message and warning delivery. - `/chatsentinel reload` — reload config, messages, filters, and online-player cache. - `/chatsentinel clear [reason]` — clear visible chat for non-bypass players. - `/chatsentinel notify` — toggle moderation notifications. - `/chatsentinel spy` — toggle ChatSentinel spy alerts. - `/chatsentinel delete <id>|list [limit]` — delete or list recent chat snapshot entries. - `/chatsentinel module list|enable|disable|toggle <moduleId>` — manage modules live. - `/chatsentinel regex add <moduleId> common <text...>` — add a generated common regex rule. - `/chatsentinel regex add <moduleId> raw <regex...>` — add a raw regex rule. - `/chatsentinel mutechat [on|off|toggle] [reason]` — mute or unmute server chat. - `/chatsentinel socialspy [module|status]` — toggle or inspect SocialSpy modules. - `/chatsentinel autocorrect [on|off|toggle]` — toggle personal auto-correction.
Common aliases:
- `/autocorrect`, `/correction` - `/servermute`, `/muteall`, `/muteserver` - `/socialspy`, `/sspy` - `/deletechat <id>` - `/recentchats [limit]`
Some aliases are platform-specific depending on Bukkit, BungeeCord, or Velocity command registration.
---
Permissions
Staff permissions:
- `chatsentinel.admin` — access to all staff commands. - `chatsentinel.help` — use help/status command surfaces. - `chatsentinel.reload` — reload ChatSentinel. - `chatsentinel.clear` — clear chat. - `chatsentinel.notify` — toggle and receive moderation notifications. - `chatsentinel.spy` — toggle ChatSentinel spy alerts. - `chatsentinel.delete` — use chat snapshot delete/list tools. - `chatsentinel.module` — toggle modules live. - `chatsentinel.regex.add` — add user regex rules. - `chatsentinel.mute` — use server mute controls.
Bypass permissions:
- `chatsentinel.bypass` — global moderation bypass except excluded UX modules. - `chatsentinel.bypass.capitalization` — bypass capitalization correction. - `chatsentinel.bypass.correction` — bypass auto-correction. - `chatsentinel.clear.bypass` — bypass visual chat clear/delete refresh. - `chatsentinel.mute.bypass` — chat while server mute is active.
SocialSpy permissions:
- `chatsentinel.socialspy` — use SocialSpy. - `chatsentinel.socialspy.messages` — receive private-message spy alerts. - `chatsentinel.socialspy.signs` — receive sign spy alerts. - `chatsentinel.socialspy.books` — receive book spy alerts. - `chatsentinel.socialspy.anvils` — receive anvil rename spy alerts. - `chatsentinel.socialspy.commands` — receive command spy alerts.
---
Configuration Philosophy
Everything important is configurable.
- Module enable/disable state. - Filter folders and regex files. - Per-module display names. - Warnings and warning thresholds. - Punishment commands. - Censorship, fake-message, hide, and raw-block behavior. - Cooldown timings. - Flood regex. - Similarity normalization rules. - Capitalization behavior and whitelisted tokens. - Auto-correction replacements and ignored words. - Server mute state and bypass. - No-move-chat distance. - SocialSpy modules, formats, permissions, trimming, and ignored commands. - Chat snapshot history, clear lines, live delete prefix, hover, and command. - Discord webhook payload style. - Redis channel, URI, instance ID, publish, and receive behavior. - Multilingual messages.
---
Why Choose ChatSentinel?
- Built for production use — handles spam, flood, caps, similarity, syntax, ads, unsafe payloads, and command messages. - Built for production use — notifications, spy alerts, Discord webhooks, SocialSpy, and chat snapshot tools. - Built for production use — Bukkit backend mode, BungeeCord mode, Velocity mode, and optional Redis alert sync. - Built for production use — source-aware YAML filter files instead of one unmanageable blacklist. - Built for production use — per-module actions, runtime toggles, regex additions, bypasses, permissions, and reload workflow. - Built for production use — compile reports, safe defaults, Folia-aware backend scheduling, and signed-chat policy controls for Velocity.
---
Installation
1. Stop your server or proxy. 2. Download the ChatSentinel `.jar`. 3. Place it in the correct `plugins` folder. 4. Start the server or proxy once to generate files. 5. Edit `config.yml`, `messages.yml`, `whitelist.yml`, and blacklist filter files. 6. Run `/chatsentinel reload` after configuration changes.
For proxy networks, install ChatSentinel where you want chat moderation to run. Use backend Bukkit mode when you need Bukkit-only features such as no-move-chat, sign/book/anvil listeners, or clickable live delete chat.
---
FAQ
What kind of server is this for?
SMP, survival, PvP, practice, factions-lite, proxy networks, and community servers that need configurable chat moderation.
Does it support proxy networks?
Yes. ChatSentinel includes BungeeCord and Velocity support.
Does it support Bukkit backend servers?
Yes. ChatSentinel includes Bukkit-family backend support and declares Folia support for Folia-aware runtime behavior.
Can I add my own words or regex rules?
Yes. Add rules in blacklist YAML files or use `/chatsentinel regex add` for runtime additions.
Can staff see what triggered a filter?
Yes. Alerts can include source file, module, matched text, message, player, and server context.
Can punishments be customized?
Yes. Configure commands per module. This works with external punishment plugins such as LiteBans or AdvancedBan-style command systems.
Does it require Discord or Redis?
No. Discord webhooks and Redis alert sync are optional.
Can users disable auto-correction?
Yes. Players can use `/autocorrect off` when the module is enabled.
---
Links
- Donate: https://discord.gg/gF36AT3 - Donate: https://paypal.me/LinsaFTW
---
Run cleaner chat with a moderation core staff can actually control.
SEO keywords: ChatSentinel, Minecraft chat filter, chat moderation plugin, Spigot chat filter, Paper chat filter, Bukkit chat filter, Folia chat plugin, BungeeCord chat filter, Velocity chat filter, Minecraft anti-spam, Minecraft swear filter, Minecraft advertisement blocker, Minecraft flood protection, Minecraft caps filter, SocialSpy plugin, Discord webhook moderation, Redis Minecraft plugin, regex chat filter, Minecraft server mute, chat clear plugin, Minecraft chat snapshot.