Testimonials/Vouches:
- Tested Minecraft Versions:
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- Source Code:
- https://github.com/kangarko/ChatControl-Free
- Contributors:
- ***********.org
- Donation Link:
- https://paypal.me/matejpacan
![]()
![]()
![]()
![]()
Note: If you appreciated my work over the past seven years, please consider buying the new version here.
ChatControl is chat management and formatting solution for bukkit that significantly reduces amount of spam, ads, swearing and bots on your server! Create custom rules and handlers for complete control over the chat. This also comes with many other, often unique features, see the list below!
Unofficial video by Koz4Christ
Note: In commands, there is no such argument as "username".
Features
Rules and Handlers
Chat Formatting *Vault required
- Example usage:
...rules are entirely up to you, and the possibilities are endless!
- Effective curse/swear word filtering. By default, over 48 curse words are blocked!
- Powerful IP / URL advertisements blocking
- Filter spam and repetitive characters
- Block unicode / non-english messages
- Typo / slang correction
- Command aliases
- Utility commands / messages
- Fun message replacements
- Define your own rules that matches certain regular expressions and applies for: chat, commands, signs or packets
- Packet rules allows you to edit messages from the server itself or even other plugins (or hide them). The support replacing message per different worlds with rewritein operator
- For example, change the unknown command message to no permission message in survival, but to something else in the hardcore world
- Handlers allow you to easily manage a big set of rules without spaghetti code
- Custom syntax and parser, fixing many YAML limitations
- Inspired by popular but now outdated PwnFilter
Anti Spam
- Format chat messages, with variables:
- %pl_prefix and %pl_suffix
- %world (TIP: if you want to customize the world name, use Multiverse-Core and edit world alias in worlds.yml)
- %health
- %player (player name)
- %town and %nation (if Towny plugin is enabled)
- %clan (if SimpleClans plugin is enabled)
- %countryname and %countrycode
- %regionname and %isp (player's internet provider)
- PlaceholderAPI is supported.
- Supports global chat (begin with "!") and local chat (ranged mode)
- Use chatcontrol.chat.overrideranged permission to get all messages in the world
- Use chatcontrol.chat.spy permission to get all messages in all worlds - spy mode
Anti Caps
- Block the same or similar messages and commands
- Strip special and duplicate characters to prevent bypasses (toggleable)
- Ignore first argument in commands to prevent too strict check
- Customizable percentage
- Set the delay between messages and commands
- Lower long unreadable message spam
- Whitelist commands from delay and similarity check
Anti Bot
- Efficient and intelligent CAPS prevention
- Customize minimum message length, caps percentage, amount of caps in the row and a whitelist of ignored words
- Ignore player names
Chat Clear
- Set the delay between logging in again
- Prevent signs with the same text (alert staff + drop the sign) (Useful against "AutoSign" cheat)
- Block chat until player moves on join (Prevent bots joining and spamming)
Chat Mute
- Clear the in game chat. Support reason and arguments:
- -anonymous (-a) (to hide the cleaner's name)
- -silent (-s) (to hide entire broadcast message after clean)
- -console (to clear console)
- Do not clear chat for players with permission
Messages' Customization & Broadcaster
- Globally prevent chatting and executing certain commands under the mute.
- Also hide join/quit/kick and death messages
- Supports reason and arguments
- -anonymous (-a) (to hide the cleaner's name)
- -silent (-s) (to hide entire message after clean)
- -console (to clear console)
Packet Features
- Customize or hide join/quit and kick messages. Support variables:
- %player
- %pl_suffix and %pl_prefix
- (see more variables above in Chat formatter)
- Send fake join or leave messages (/chc fake)
- Broadcast messages in the specified interval
- 3 modes - by order, random and random with cache that prevents messages to repeat until all were broadcasted
- Set a prefix and a suffix
- Supports variables %player and %world
- Different messages per world
- World messages inherit global messages by default, this can be disabled by inserting - excludeGlobal on the first line.
Console Features
- Disable tab complete if no argument is given, leaking server info.
- Notice: If using spigot, it is recommended to disable this feature and to configure it in spigot.yml!
- Change other plugins' or even server messages (see rules/packet.txt file)
Sound Notify
- Remove unwanted messages from the console
Grammar
- Get notified when somebody mentions you in the chat or if you receive '/tell', '/r' (or any specified message)
- Customizable sound, volume and pitch.
- Respects the difference in sound names between MC 1.9 and older
- Can specify a prefix that is necessary to get notified (e.g @kangarko)
- Only notify afk players (toggleable, requires Essentials)
Chat Conversation Saver
- Capitalise sentences automatically
- Insert a dot at the end
- Respects domains and IP addresses
- Define minimum message length for capitalization and punctuation
Localizations
- Save entire chat conversation to file. Unlike console output, this will save only player messages and specified commands
- Ignore certain players
Groups (Permission-specific Settings)
- Current available locations:
- English (en)
- Slovak (sk)
- Czech (cz)
- Spanish (es)
- German (de)
- French (fr)
- Dutch (nl)
- Swedish (se)
- Hungarian (hu)
- Bulgarian (bg)
- To customize the localization, create a file in plugins/ChatControl/localization/messages_LOCALE.yml (replace LOCALE with the short name of the localization - the one above in brackets)
- On reload, it will be filled with all the values and kept up to date with newer versions.
- If you make a localization, it would be appreciated if you send it to me via PM. Thanks!
Updater
- Apply different settings for each group (or players) with certain permission
- Example: Allow trusted players to type quickly but set the message delay for quests to, for example, 5 seconds.
- Example 2: Set different join/leave/kick message for certain players/groups.
Lightweight & Safe
- Automatically update configuration
- NOTE: On update, the YAML comments (#) are lost, due to how bukkit handle the saving. Visit github page if you need reference values or comments
- Intelligently report errors and illegal values
- NOTE: This is heavily improved in the premium version.
- Notify new version availability
- Automatically download new version
- Zero performance impact thanks to asynchronous processing
- Extremely efficient and low CPU / RAM usage
- Asynchronous updater and non-blocking features
- Safety checker to prevent malformed regular expressions running into an infinite loop and freezing the server
- Custom syntax parser
You can turn every feature off and change every message!
NEW: Rules syntax highlightning for Atom
Do you want ChatControl's Rules Syntax in your Atom editor?
Check out https://atom.io/packages/language-mc-chatcontrol by @Piepmatz. Thank you!
Compatibility
Commands
- The plugin is compatible from Craftbukkit 1.2.5 to the latest Spigot / Paper (and the vast majority of versions in between).
- Plugin doesn't use NMS access so it will most likely not break upon next releases (1.10.x etc)
- Minimum Java version to run the plugin: Java 8
- Cauldron & PaperSpigot compatible
- Minecraft 1.7.10 and lower: Please install BungeeChatAPI alongside ChatControl.
Use "/chc list" to display all available commands of the plugin.
Optional dependencies
- ProtocolLib for custom rules in packet.txt file and preventing tab complete.
- If you are on 1.8 make sure you have at least #70 or newer!
- Essentials or EssentialsX for detecting AFK players.
- Vault for chat formatter and taking money players in "then fine" operator in custom rules.
- Multiverse-Core for colored world alias in chat formatter.
- Towny for %nation and %town variables in chat formatter.
- SimpleClans for %clan variable in chat formatter.
- AuthMe Reloaded for better join/kick/quit messages.
- PlaceholderAPI for extra variables.
- NoCheatPlus (not a dependency, but recommended) provides advanced support also against many types of chat spam.
Need help? Ask questions?
Click here to send us a message.
We aim to reply to all customers within 1-5 business days.

ChatControl™ - The Ultimate Chat Plugin [500,000+ Downloads] [1.2.5 - 1.16.4] 5.9.1
The legendary chat plugin. Incredible solution for ads, swear, caps, spam, bots & more!
-
omerbadawy, APTminer, HappyInLife and 55 others like this.
Recent Updates
- 5.9.1 Nov 1, 2020
- 5.9.0 Sep 18, 2020
- Important Compatibility Advisory Aug 12, 2020
Recent Reviews
-
TheStart123
- 4/5,
The plugin is good, I like the antiswear can be configured manually, but I have seen a lie, it does not block the ip or third-party links as it says, I need to know how to solve that or if I do not have to enter those links an a swear, And everyone is going to say that, I don't know how to solve it, if they solved that, I would give them 5 stars
-
Fituu_
- 2/5,
The chat formatting permissions don't work and there's almost no support from the dev.
-
hyenagodking
- 1/5,
I need something to block players from posting URL links and ip's and this plugin doesn't do that like it says it does.
-
BertaLaBallena
- 5/5,
I can separate the chats and tab lists from my worlds or at least the chat just?
-
Parker_Pajamas
- 1/5,
This shiz is garbo.
Scammer developers. you pay them money for PRO version, then instead of fixing the plugin as promised or adding new features that they've been talking about FOREVER - they just force their current users to repurchase a new bullshit version.
!!! VVVV ~~~ Regarding the *********** STAN below ~~~ VVVV !!!
1) You cant decompile and "see for youself" without first purchasing the new version lmao
2) Also - even if a-lot of the code is different, if you know anything about programming you know that once you've made something once and have all that existing code-base and the full skeleton for it - its much easier to go back and optimize it or remake it - i in NO WAY believe the devs spent their claimed "10000 hours reprogramming it" - if they did, they suck as devs.
3) It's not some simple "dispute" between the plugin dev and spigot - they used spigot (the most popular plugin site) to get popular, then repeatedly tried to break rules by advertising their own shitty website, then threw a tantrum when spigot refused to let them re-post trhe same plugin trying to scam their customers
4) Other plugins go through optimizations and reprogramming without forcing users who have already purchased to have to do so AGAIN all the time, its scummy and greedy, no doubt about it - we EXPECT optimizations from time to time when we buy a fucking 20$ plugin. -
mostlybranded
- 5/5,
I don't understand why some people can't read their announcements. They still support ChatControl Free and Pro which are amazing plugins, Pro has been updated yesterday, they left spigot after a conflict so they are no longer publishing here but you can get it there:
https://github.com/kangarko/chatcontrol-pro/releases
Code is no longer obfuscated, anyone can decompile and see for themselves that this is in fact a completely different code base, they've clearly put a lot of effort into it. I've been running Pro for 3 years now without issues what so ever.
Regarding RGB support someone mentioned – RGB was non-existent at the time Free version was rewritten that was long time ago! -
kocy
- 1/5,
Double-Standard plugin...
They purposely not allowed to use RGB in Free edition but allowed on Pro Edition. I can't even write on Prefix nor Chat System. EssentialsX can do that instantly. -
Krynio_
- 5/5,
HEY! IF YOU ARE USING THIS RESOURCE MAKE SURE THAT YOU READ https://***********.org/the-death-of-spigotmc/
-
ChimneySwift
- 5/5,
Legit saved a chat raid for one of my event.
Sub 30s any% chatcontrol install speedrun. Default config worked a charm and 20+ bots got absolutely gamed on. -
not_3than
- 4/5,
Good plugin, but the configs are like learning an entire new language. I would love to see easier configuration options in the future for someone with no java experience at all.