{"id":38870,"date":"2026-06-01T23:15:46","date_gmt":"2026-06-01T20:15:46","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/"},"modified":"2026-06-01T23:15:46","modified_gmt":"2026-06-01T20:15:46","slug":"chatmanagement2","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/","title":{"rendered":"ChatManagement2"},"content":{"rendered":"<p># ChatManagement 2<\/p>\n<p>**Advanced Anti-Spam &#038; Chat Protection Plugin for Minecraft 1.21.x**<\/p>\n<p>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&#8217;s region-based threading.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udfaf Key Features<\/p>\n<p>### Smart Spam Detection<br \/>\n&#8211; **Similarity Matching** &#8211; Detects spam even with typos using an improved Levenshtein distance algorithm<br \/>\n  &#8211; `&#8221;hello everyone&#8221;` vs `&#8221;helo everyone&#8221;` \u2192 Blocked if too similar<br \/>\n  &#8211; Configurable similarity threshold (default: 80%)<br \/>\n  &#8211; Length-based filtering prevents false positives on short messages<\/p>\n<p>### Blocked Words System<br \/>\n&#8211; **Intelligent Pattern Matching** &#8211; Automatically detects obfuscations:<br \/>\n  &#8211; Leetspeak: `f*ck`, `fvck`, `fu<k`\n  - Character substitutions: `@\u2192a`, `$\u2192s`, `0\u2192o`, `3\u2192e`\n  - Spacing tricks: `f u c k`\n  - Special characters: `f.u.c.k`, `f-u-c-k`\n- **Partial Match Control** - Optional partial word blocking with minimum length requirements\n- **False Positive Prevention** - Smart boundary detection prevents blocking legitimate words\n\n### Anti-Spam Protection\n- **Duplicate Prevention** - Blocks repeated messages with configurable threshold\n- **Rapid Spam Detection** - Auto-kicks players sending too many messages too quickly (default: 7 msgs in 5 sec)\n- **Rate Limiting** - Time-based message tracking per player\n\n### Auto-Mute System\n- **Repeat Offender Detection** - Automatically mutes players who get spam-kicked repeatedly (default: 3 kicks in 10 min = 5 min mute)\n- **Persistent Storage** - Mutes survive server restarts (database or YAML)\n- **Smart Timer** - Pauses when player disconnects, resumes on rejoin\n- **Configurable Durations** - Fully customizable thresholds and durations\n\n### Private Messaging\n- **Built-in Commands** - `\/msg`, `\/w`, `\/tell`, `\/pm`, `\/dm`, `\/whisper`\n- **Reply System** - `\/r` and `\/reply` to quickly respond\n- **Color Customization** - Private messages in custom colors (default: magenta)\n- **Spam Protection** - All anti-spam checks apply to PMs\n- **Mute Compatibility** - Optional setting to allow muted players to receive (but not send) PMs\n\n### Chat Enhancement\n- **Colored Messages** - Prefix messages with `>` for custom color (default: light green)<br \/>\n&#8211; **Silent Blocking** &#8211; Configurable notifications when messages are blocked<br \/>\n&#8211; **Permission Bypass** &#8211; Trusted players skip all checks<br \/>\n&#8211; **Customizable Messages** &#8211; All plugin messages can be customized<\/p>\n<p>### Technical Excellence<br \/>\n&#8211; **Folia Compatible** &#8211; Full support for region-based threading<br \/>\n&#8211; **High Performance** &#8211; Minimal overhead (<1ms per message)\n- **Database Support** - SQLite or MySQL for persistent storage\n- **Hot Reload** - `\/cm reload` updates config without restart\n- **Comprehensive Logging** - Debug and verbose modes for troubleshooting\n\n---\n\n## \ud83d\udce6 Installation\n\n1. Download the latest `ChatManagement2-1.0.0.jar`\n2. Place in your server's `plugins` folder\n3. Start\/restart your server\n4. Configure `plugins\/ChatManagement2\/config.yml` to your needs\n5. Run `\/cm reload` to apply changes\n\n### Requirements\n- **Minecraft Server**: 1.21.x (Paper, Folia, or compatible fork)\n- **Java**: 21 or higher\n\n---\n\n## \u2699\ufe0f Configuration\n\n### Basic Setup\n\nThe default configuration works well out-of-the-box, but you can customize everything:\n\n```yaml\n# Core spam detection\nsettings:\n  similarity-threshold: 80  # 0-100%, higher = more strict\n  message-history-size: 10  # Messages to track per player\n\n# Duplicate message blocking\nduplicate-messages:\n  max-repeats: 2            # Allow 2 repeats before blocking\n  cooldown-seconds: 30      # Clear history after this time\n\n# Rapid spam detection\nanti-spam-kick:\n  enabled: true\n  message-threshold: 7      # Messages in time window = kick\n  time-window-seconds: 5\n\n# Auto-mute for repeat offenders\nauto-mute:\n  enabled: true\n  kick-threshold: 3         # Kicks in window = mute\n  kick-window-minutes: 10\n  mute-duration-seconds: 300\n```\n\n### Advanced Configuration\n\n#### Database Setup\n\nFor better performance with many mutes, enable database storage:\n\n**SQLite (Recommended for most servers)**:\n```yaml\ndatabase:\n  enabled: true\n  type: sqlite\n```\n\n**MySQL (For large servers)**:\n```yaml\ndatabase:\n  enabled: true\n  type: mysql\n  mysql:\n    host: localhost\n    port: 3306\n    database: chatmanagement\n    username: your_username\n    password: your_password\n```\n\n#### Blocked Words\n\nConfigure the word filter to your needs:\n\n```yaml\nblocked-words:\n  enabled: true\n  block-partial-matches: false  # Prevent false positives\n  min-word-length: 4            # Minimum length for partial matching\n  word-list:\n    - badword1\n    - badword2\n```\n\n#### Custom Messages\n\nAll messages can be customized and toggled:\n\n```yaml\nmessages:\n  notify-blocked-message: false  # Silent blocking\n  blocked-message-notification: \"&#038;cYour message was blocked.\"\n  \nanti-spam-kick:\n  notify-player: true\n  kick-message: \"&#038;cYou have been kicked for spamming!\"\n\nauto-mute:\n  notify-player: true\n  mute-notification: \"&#038;cYou have been muted for &#038;e{duration} &#038;cseconds.\"\n  mute-message: \"&#038;cYou are muted. Time remaining: &#038;e{time} &#038;cseconds.\"\n```\n\n#### Private Messaging\n\nCustomize PM appearance:\n\n```yaml\nprivate-messaging:\n  enabled: true\n  message-color: \"&#038;d\"  # Magenta\n  sent-format: \"&#038;7[&#038;dYou &#038;7-> &#038;d{receiver}&#038;7] &#038;r{message}&#8221;<br \/>\n  received-format: &#8220;&#038;7[&#038;d{sender} &#038;7-> &#038;dYou&#038;7] &#038;r{message}&#8221;<br \/>\n&#8220;`<\/p>\n<p>#### Chat Colors<\/p>\n<p>Enable colored chat feature:<\/p>\n<p>&#8220;`yaml<br \/>\nchat-colors:<br \/>\n  enabled: true<br \/>\n  color-prefix: &#8220;>&#8221;       # Type >message for colored text<br \/>\n  prefix-color: &#8220;&#038;a&#8221;      # Light green<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcdd Commands<\/p>\n<p>### Main Commands<br \/>\n&#8211; `\/chatmanagement` or `\/cm` &#8211; Main plugin command<br \/>\n&#8211; `\/cm reload` &#8211; Reload configuration<br \/>\n&#8211; `\/cm help` &#8211; Show help message<br \/>\n&#8211; `\/cm version` &#8211; Show plugin version<\/p>\n<p>### Private Messaging<br \/>\n&#8211; `\/msg <player> <message>` &#8211; Send a private message<br \/>\n&#8211; `\/w <player> <message>` &#8211; Alias for \/msg<br \/>\n&#8211; `\/tell <player> <message>` &#8211; Alias for \/msg<br \/>\n&#8211; `\/pm <player> <message>` &#8211; Alias for \/msg<br \/>\n&#8211; `\/dm <player> <message>` &#8211; Alias for \/msg<br \/>\n&#8211; `\/whisper <player> <message>` &#8211; Alias for \/msg<br \/>\n&#8211; `\/r <message>` &#8211; Reply to last message<br \/>\n&#8211; `\/reply <message>` &#8211; Alias for \/r<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd10 Permissions<\/p>\n<p>&#8211; `chatmanagement.reload` &#8211; Allows reloading the plugin (default: op)<br \/>\n&#8211; `chatmanagement.bypass` &#8211; Bypass all chat restrictions (default: op)<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd27 Troubleshooting<\/p>\n<p>### Too Many False Positives<\/p>\n<p>If legitimate messages are being blocked:<\/p>\n<p>1. **Increase similarity threshold**:<br \/>\n   &#8220;`yaml<br \/>\n   settings:<br \/>\n     similarity-threshold: 85  # Higher = more strict, fewer false positives<br \/>\n   &#8220;`<\/p>\n<p>2. **Disable partial word matching**:<br \/>\n   &#8220;`yaml<br \/>\n   blocked-words:<br \/>\n     block-partial-matches: false<br \/>\n   &#8220;`<\/p>\n<p>3. **Increase minimum message length**:<br \/>\n   &#8220;`yaml<br \/>\n   duplicate-messages:<br \/>\n     min-message-length: 5<br \/>\n   &#8220;`<\/p>\n<p>### Messages Not Being Blocked<\/p>\n<p>If spam is getting through:<\/p>\n<p>1. **Decrease similarity threshold**:<br \/>\n   &#8220;`yaml<br \/>\n   settings:<br \/>\n     similarity-threshold: 75  # Lower = catches more spam<br \/>\n   &#8220;`<\/p>\n<p>2. **Lower spam thresholds**:<br \/>\n   &#8220;`yaml<br \/>\n   anti-spam-kick:<br \/>\n     message-threshold: 5<br \/>\n   &#8220;`<\/p>\n<p>3. **Enable debug mode**:<br \/>\n   &#8220;`yaml<br \/>\n   settings:<br \/>\n     debug: true<br \/>\n   &#8220;`<br \/>\n   Check console for detection information.<\/p>\n<p>### Database Issues<\/p>\n<p>If database connection fails:<\/p>\n<p>1. Check credentials in config<br \/>\n2. Ensure database exists (for MySQL)<br \/>\n3. Plugin will automatically fall back to YAML storage<br \/>\n4. Check console for error messages<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcca Performance<\/p>\n<p>ChatManagement 2 is designed for minimal impact:<\/p>\n<p>&#8211; **Average overhead**: <1ms per message\n- **Memory usage**: ~2-5 MB for typical servers\n- **Database queries**: Optimized with prepared statements\n- **Thread-safe**: Fully compatible with Folia's threading model\n\n---\n\n## \ud83c\udd9a Differences from ChatProtection\n\nChatManagement 2 is a complete rewrite with major improvements:\n\n1. **Better Accuracy** - Improved spam detection with fewer false positives\n2. **Length-Based Filtering** - Prevents blocking short, legitimate messages\n3. **Partial Match Control** - Smart boundary detection for blocked words\n4. **Database Support** - Optional SQLite\/MySQL for better performance\n5. **Enhanced Mute System** - Pause\/resume on disconnect\/reconnect\n6. **Improved Configuration** - More granular control over all features\n7. **Better Documentation** - Comprehensive comments and examples\n\n---\n\n## \ud83d\udccb Changelog\n\n### v1.0.0 (Initial Release)\n- Complete rewrite of ChatProtection\n- Improved spam detection algorithms\n- Database support (SQLite\/MySQL)\n- Enhanced mute system with persistence\n- Better configuration options\n- Comprehensive documentation\n- Folia compatibility\n- Fewer false positives\n- Performance optimizations\n\n\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Simple Anti-Spam &#038; Chat Protection Plugin<\/p>\n","protected":false},"featured_media":38871,"template":"","meta":{"_minecraft_slug":"chatmanagement2","_minecraft_project_id":"MGsMaOSN","_minecraft_author":"MistaSoup","_minecraft_license":"MIT","_minecraft_downloads":63,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"chatmanagement2.zip","_minecraft_size_bytes":39849,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T20:39:40.944691Z","_minecraft_date_created":"2026-02-08T05:53:16.445909Z","_minecraft_date_modified":"2026-02-07T22:58:36.194396Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/chatmanagement2","_minecraft_icon_attachment_id":38871,"_minecraft_imported_at":"2026-06-01T20:15:47+00:00","_minecraft_import_hash":"d287efe0d0e5c901eec2c5fb50f50c1d","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[125,127,128,129],"mod_loader":[131,132,133,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-38870","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-folia","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_loader-folia","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ChatManagement2 - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ChatManagement2 - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Simple Anti-Spam &amp; Chat Protection Plugin\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/\",\"name\":\"ChatManagement2 - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chatmanagement2-icon-889e6cab14ad025b46aa6a7511e253772f046188_96.webp\",\"datePublished\":\"2026-06-01T20:15:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chatmanagement2-icon-889e6cab14ad025b46aa6a7511e253772f046188_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chatmanagement2-icon-889e6cab14ad025b46aa6a7511e253772f046188_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chatmanagement2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ChatManagement2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ChatManagement2 - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/","og_locale":"en_US","og_type":"article","og_title":"ChatManagement2 - Minecraft","og_description":"Simple Anti-Spam & Chat Protection Plugin","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/","name":"ChatManagement2 - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chatmanagement2-icon-889e6cab14ad025b46aa6a7511e253772f046188_96.webp","datePublished":"2026-06-01T20:15:46+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chatmanagement2-icon-889e6cab14ad025b46aa6a7511e253772f046188_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chatmanagement2-icon-889e6cab14ad025b46aa6a7511e253772f046188_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chatmanagement2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"ChatManagement2"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/38870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/38871"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=38870"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=38870"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=38870"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=38870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}