
ChatManagement2
modSimple Anti-Spam & Chat Protection Plugin

Simple Anti-Spam & Chat Protection Plugin
Advanced Anti-Spam & Chat Protection Plugin for Minecraft 1.21.x
ChatManagement 2 is a complete rewrite of the original ChatProtection plugin, featuring improved spam detection algorithms, fewer false positives, and enhanced performance. Fully compatible with Folia's region-based threading.
"hello everyone" vs "helo everyone" → Blocked if too similarf*ck, fvck, fu<k@→a, $→s, 0→o, 3→ef u c kf.u.c.k, f-u-c-k/msg, /w, /tell, /pm, /dm, /whisper/r and /reply to quickly respond> for custom color (default: light green)/cm reload updates config without restartChatManagement2-1.0.0.jarplugins folderplugins/ChatManagement2/config.yml to your needs/cm reload to apply changesThe default configuration works well out-of-the-box, but you can customize everything:
# Core spam detection
settings:
similarity-threshold: 80 # 0-100%, higher = more strict
message-history-size: 10 # Messages to track per player
# Duplicate message blocking
duplicate-messages:
max-repeats: 2 # Allow 2 repeats before blocking
cooldown-seconds: 30 # Clear history after this time
# Rapid spam detection
anti-spam-kick:
enabled: true
message-threshold: 7 # Messages in time window = kick
time-window-seconds: 5
# Auto-mute for repeat offenders
auto-mute:
enabled: true
kick-threshold: 3 # Kicks in window = mute
kick-window-minutes: 10
mute-duration-seconds: 300
For better performance with many mutes, enable database storage:
SQLite (Recommended for most servers):
database:
enabled: true
type: sqlite
MySQL (For large servers):
database:
enabled: true
type: mysql
mysql:
host: localhost
port: 3306
database: chatmanagement
username: your_username
password: your_password
Configure the word filter to your needs:
blocked-words:
enabled: true
block-partial-matches: false # Prevent false positives
min-word-length: 4 # Minimum length for partial matching
word-list:
- badword1
- badword2
All messages can be customized and toggled:
messages:
notify-blocked-message: false # Silent blocking
blocked-message-notification: "&cYour message was blocked."
anti-spam-kick:
notify-player: true
kick-message: "&cYou have been kicked for spamming!"
auto-mute:
notify-player: true
mute-notification: "&cYou have been muted for &e{duration} &cseconds."
mute-message: "&cYou are muted. Time remaining: &e{time} &cseconds."
Customize PM appearance:
private-messaging:
enabled: true
message-color: "&d" # Magenta
sent-format: "&7[&dYou &7-> &d{receiver}&7] &r{message}"
received-format: "&7[&d{sender} &7-> &dYou&7] &r{message}"
Enable colored chat feature:
chat-colors:
enabled: true
color-prefix: ">" # Type >message for colored text
prefix-color: "&a" # Light green
/chatmanagement or /cm - Main plugin command/cm reload - Reload configuration/cm help - Show help message/cm version - Show plugin version/msg <player> <message> - Send a private message/w <player> <message> - Alias for /msg/tell <player> <message> - Alias for /msg/pm <player> <message> - Alias for /msg/dm <player> <message> - Alias for /msg/whisper <player> <message> - Alias for /msg/r <message> - Reply to last message/reply <message> - Alias for /rchatmanagement.reload - Allows reloading the plugin (default: op)chatmanagement.bypass - Bypass all chat restrictions (default: op)If legitimate messages are being blocked:
Increase similarity threshold:
settings:
similarity-threshold: 85 # Higher = more strict, fewer false positives
Disable partial word matching:
blocked-words:
block-partial-matches: false
Increase minimum message length:
duplicate-messages:
min-message-length: 5
If spam is getting through:
Decrease similarity threshold:
settings:
similarity-threshold: 75 # Lower = catches more spam
Lower spam thresholds:
anti-spam-kick:
message-threshold: 5
Enable debug mode:
settings:
debug: true
Check console for detection information.
If database connection fails:
ChatManagement 2 is designed for minimal impact:
ChatManagement 2 is a complete rewrite with major improvements: