v2 Changelog

2.7.1 // Minor changes & bug fixes


  • The plugins message prefix is no longer automatically appended to violation notification messages in the console.

  • Corrected a typo in a hard coded console message sent by the auto punisher if auto warning expiry was set to never.

  • The link and ad blockers extra sensitivity mode is now enabled by default on fresh installations of the plugin.

  • The spam blockers block-repeated-message-similarity-threshold value is now set to 0.82 on fresh installations of the plugin.

  • The chat cooldowns chat-cooldown-in-ticks value is now set to 160 on fresh installations of the plugin.


  • Fixed "{console_cmd}: cswarning[...]" command entries under auto punisher command sets not running.

  • Fixed the admin notifier module not enabling until a reboot even if /kcs reload was ran.

2.7.0 // New Intelligent Chat Modifier module, new Auto Grammar module, & performance optimizations


  • Introducing the new Intelligent Chat Modifier module. The ICM module modifies or blocks chat messages based on entries using simple or complex matching techniques. You can use regular expressions to target specific parts of messages and replace the matches with new content, or block the message entirely with a custom block message. This module is incredibly useful for creating custom chat rules that other modules aren't as equip to handle, such as easily detecting numerous variations of messages. Ex. easily detecting "Can I have staff?" or "I would like admin" as the same, blocking it, and sending the player a message that staff applications are not open. This module has all the functionality of the old word replacer module plus ample more abilities; with this, the ICM module has taken the word replacer modules place. This module supports the admin notifier and auto punisher modules.

  • Introducing the Auto Grammar module. The AG module attempts to convert players' messages to proper grammar and correct typos based on a preset list of common typos. You can fine tune the module to 1. automatically capitalize the first letter of the first word after a new sentence, 2. automatically add periods to the end of applicable messages, and 3. automatically fix common typos (ex. changing youre to you're). For obvious reasons, this module does not support admin notifications or auto punishments via the AP module.

  • Note: the wiki has been updated with the new bypass permissions and other information about the above two new modules.


  • Removed the word replacer module. The config file will not be deleted in case you need to get anything from it. When you no longer need it you can safely delete it.

  • Improved various internal code for maximum plugin performance.

  • Removed some no longer in use code for supporting legacy plugin updating from very old plugin versions.

2.6.0 // Optional automatic subdomain whitelisting, LAAB intelligence overhaul, & large internal code optimizations and improvements


  • The link and ad blocker module now supports automatic subdomain whitelisting. If you wish to whitelist all subdomains of a domain, you can now do so with "*."; ex. "*.google.com" will permit all subdomains of Google ("mail.google.com", "maps.google.com", etc.)

  • Significantly improved LAAB intelligence, you can expect a notable decrease of false positive detections from this module now.

  • Various internal optimizations and improvements to the LAAB detection algorithms.

  • Improved lots of various internal code relating to the majority of the plugins modules.


  • "<unable to fetch>" will be displayed in place of where the newest plugin version should be in the update notification message in the case the plugin is unable to fetch it from Spigots API.

  • Changed various comments and the default link whitelist for the link and ad blocker config file.

  • Changed some hard coded messages sent from the plugin for better readability and clarity.


  • FIXED: The LAAB module detects and blocks long numeric values such as "0.000000000000000000000000"

2.5.2 // Major SCU improvements, Misc. smaller improvements, & NPE when jumping versions fix


  • Smart config updater improvements add support for updation of more complex yml structures (will be especially useful in future builds).

  • Misc. internal improvements to the auto punisher.

  • Various improvements to other misc. bits of code.


  • Modified comments in all the files within the storage folder for better clarity and readability.


  • Fixed a potential one-time anti parrot related NPE error when jumping versions from a legacy version.

2.5.1 // Update notifier fix & improvements, better LAAB algorithms, & various other improvements


  • Improved various portions of the link and ad blockers main detection algorithms.

  • Improved various portions of the link and ad blockers extra-sensitivity mode algorithms.


  • Various modifications and improvements to the automatic update checking system. Spigot api calls have been substantially reduced.

  • The stacktrace will no longer be shown if ChatSentry fails to verify the plugins version from Spigot - only the console notification message.


  • Fixed the outdated version notification message sending in console more than once; it is now only sent once on startup.

  • Fixed the link and ad blocker blocking numeric values starting with or ending in various punctuation marks.

2.5.0 // Update checker server crash fix


  • Fixed an issue regarding the update checker that would crash the server due to buildup of outdated schedulers if the server had been online for about a week or more straight without rebooting.

2.4.9 // 2.4.8 Message bug hotfix


  • Fixed an issue where violation notification messages display as "This node does not support empty values!" instead of their configured values.

2.4.8 // Numerous code improvements and optimizations, reworked permission handler, lower laab false positives, & more


  • Added a new permission node "chatsentry.updatenotify". Players will require this permission or operator status to be notified when new plugin updates are available (if update notifications are enabled).


  • Misc. code optimizations to almost all internal classes.

  • Reworked permission handler for less checks, increased optimization and efficiency.

  • Introduced new logic improvements to the link and ad blockers automatic false positive recognition abilities.

  • Lookalike link text like "x.16.4", "10.5mil", etc. are now less likely be detected by the link and ad blocker.


  • Changed the "Searching for " message to "Indexing " in the kcs lookup command output.

  • Changed the default no-permission value to "You are not permitted to do that." in misc-lang.yml

  • If a config message node does not support being empty and is attempted to be sent by the plugin, "This node does not support empty values!" will be sent instead of a console null pointer error.

  • "Permissions for commands can be found here: " is no longer shown in /kcs help if no other commands were shown due to the sender not having any of the required permissions.

  • Tidied help command spacing.

  • '/kcs author' is now shown in the place where '/kcs resources' used to be in the '/kcs output'. '/kcs resources' has been moved to the first part of '/kcs help' (page 1).

  • Modified the plugin description line in plugin.yml


  • Fixed "clearmodulewarnings" / "cmw" not tab completing after "/cswarnings" even when the sender has proper permission.

  • Fixed "clearchat" / "cc" not tab completing even when the sender has proper permission.


  • The plugin is now using a globally improved link detection engine for any operations involving recognition of web links.

  • Added a new "ignore-long-links" option to the anti chat flood module that determines whether web links longer than the maximum "word" length limit should be ignored.

  • Reworked considerable portions of the anti chat flood logic for compatibility with the new ignore-long-links option and improved optimization.

  • Misc. logic and structure improvements to various portions of code, especially to final variables.


  • Fixed custom anti chat flood limits only updating after a server restart/reload.

2.2.6 // Major module data processor & executor optimizations, toggle chat bug fix & more


  • Reworked large portions of the main module data processor & executor for increased efficiency and optimization.

  • Added a join notification message visible to all players that can be changed or disabled in the misc lang file.


  • Corrected a typo in the main config file


  • Fixed a console error printing when chat is disabled and a non-authorized player attempts to speak

2.2.5 // Anti parrot hotfixes


  • Fixed a one-time startup error when updating from previous versions to 2.2.4

  • Fixed the ignore-short setting in the anti parrot config applying itself to the wrong internal setting

2.2.4 // Immense improvements to the cap limiter & anti parrot modules

Main additions / changes

  • The cap limiter now uses a more advanced and smarter cap detection algorithm that offers more flexibility and improved accuracy with its detections. The new algorithm comes with 2 (1 renamed, 1 added) new options available in the cap limiter configuration file: you can now set the maximum repeated caps in a row limit before the filter is triggered, and a master cap limit which is a hard limit of how many caps any message can contain.

  • The anti parrot module now uses a more advanced and smarter parroting detection algorithm that offers an incredible increase in it's accuracy. The new algorithm comes with 3 (3 added) new options available in the anti parrot configuration file: you can now automatically ignore short messages such as "lol" or "xD" with the new ignore-short option, preventing false positives massively. If you'd like to get more specific or whitelist longer phrases, you can also now define whitelisted common phrases that the anti parrot module will ignore - which allows them to be said by multiple players within a short time frame. With this new whitelist list, you can additionally define a similarity threshold value that determines how similar chat messages must be to a message on the whitelist in order to be considered also whitelisted.

  • Logic optimizations to the spam blocker & anti parrot modules.

Smaller Changes

  • Changed the default recommended phrase whitelist similarity threshold value to 0.65.

  • Changed a map using player instances to uuids to prevent memory leaks.

  • Misc. config comment changes to the spam blocker.

  • Fixed a typo in the anti chat flood config.

  • Fixed a typo in the spam blocker config.

  • Misc. config comment and default value changes to the command spy config.

  • Misc. config comment modifications to the main config file.

Updating notes

  • After updating, the old cap limiter limit option will be reset to its default and recommended value. You may want to review it and change it along with its partner maximum limit setting to what works best for your server.

2.1.3 // NPE fix & minor default config changes


  • Changed the update notification link to go directly to the plugins updates section instead of the homepage.

  • Changed the default recommended chat cooldown value to 120 ticks.

  • Changed the default recommended allowed message sends per chat cooldown to 4.

  • Changed the default recommended allowed command runs per chat cooldown to 6.

  • Modified some comments in the word and phrase filter config.


  • Fixed a potential NPE related to the anti chat flood module.

2.1.2 // Config comment clarity improvements & spelling fixes


  • Rewrote the majority of the comments in the word and phrase filter module config to be a lot clearer on what entry modifiers do and how to use them.

  • Fixed all grammar and spelling mistakes across all plugin files config comments.


  • Mini improvements to the link and ad blocker to further lower the chances of false positive detections.

  • Added a debug file generator that when executed (/kcs gendebug) compiles a file in the plugins directory containing a bunch of useful information related to ChatSentry. This is mainly a tool that kixmc might ask you to run to help provide info if you are requesting support.

2.1.0 // New anti chat flood & spam blocker options, auto punisher fix, & many other improvements


  • Added a custom-limits list to the anti chat flood module config that allows you to specify individual repeated char limits for particular chars/symbols. Since some characters take up less space (like "!") you can optionally allow them to be repeated additional times to reduce interferences with people being extra expressive in chat who aren't attempting to flood it

  • Made various improvements and optimizations to the anti chat flood detection logic and intelligence

  • The spam blocker now extends repeat durations the more times a player attempts to repeat a message when it's already being blocked creating a dynamic and infinitely expanding block period that will disallow spam bots trying to repeat the same messages over and over for long durations of time

  • Added a new 'allowed-repeats' option to the spam-blocker module that determines how many times a player can repeat any messages they said within the last repeat-cooldown-in-seconds (that is not on or similar to the phrase-whitelist) period of time before being blocked for spam. This allows players to repeat themselves, but not excessively.

  • Improvements to the auto punishers ability to ignore and notify console of improperly defined config entries instead of throwing huge errors and breaking.

  • Optimized plugin reload command handler.


  • Modified various default module settings and messages for improved out of the box compatibility

  • Command spy handler logic is now called after all other command checks to avoid the command spy messages being sent when a command has already been blocked by a module

  • Any in-game info messages sent to players reloading the plugin via /cs reload (malformed yml notifications, reload time, etc) will now also be shown in the console when reloading through the console


  • Fixed a bug that stopped one of the auto punisher punishment actions from parsing correctly and running.

Internal (smaller) changes

  • Changed a map using player instances to uuids to prevent memory leaks

  • Changed plugin.yml description

  • Moved certain module checks order of execution around for consistency between chat and command blockings

  • Lowered anti parrot other player repeat period by 2 seconds

  • [...lots of various embedded config changes (no actions required by you)...]

Last updated