v4 Changelog

4.8.1 // Word & Phrase Filter censor fixes & colorcode patch

In this build

  • Fixed a handful of bugs caused by the Word & Phrase Filter censor option with certain inputs. The censor is now officially considered stable

  • Fixed the plugin removing colorcodes from any player messages even with permission

4.8.0 // Big bug & bypass fixes

In this build

  • Fixed various StackOverflowErrors caused by the Word & Phrase Filter censor option

  • Fixed various bypasses that would (despite having the filter detect the message) cause the censor to fail actually censoring the message

  • Fixed colorcodes being able to be used mid-word to bypass many of the filters

  • Fixed potential of improper regex behavior in Word & Phrase Filter regex:: entries

4.7.4 // More bug fixes

In this build

  • Fixed the cslockdown only-known & only-exempt allowed kicked messages failing to resolve from the language file

  • Fixed cslockdown exempt players failing to resolve

  • Fixed inaccessible API issue caused by the last update

  • Fixed error when looking up null violation entries

4.7.3 // Bug fixes

In this build

  • Fixed the Word & Phrase Filter failing to cancel command events with the censor option off

  • Fixed the Anti Join Flood module failing to routinely reset its 1 minute join counter

4.7.2 // Patches

Patch update

  • Resolved non-config related Word & Phrase Filter false positives introduced in the last release

  • The plugins Bungee support no longer strictly requires Paper or Spigot to function

In this build

  • Improvements to the Word & Phrase Filters accuracy

  • Fixed numerous Word & Phrase Filter censor issues

  • Fixed word-specific regex blocked entries in the Word & Phrase Filter failing to be matched

  • Fixed custom Chat Executor violation type names not showing up in Admin Notifier messages

  • The Chat Executor now has priority over other modules

  • Admin Notifier messages now support new line insertion with {NL}

  • The default recommended block-similarity-threshold for the Word & Phrase Filter is now 0.82

4.7.0 // Word & Phrase Filter censor option & lang options for violation types and contexts

In this build

  • New 'censor' option in the Word & Phrase Filter. Enabled by default, determines whether detected messages should be censored instead of blocked completely. You can choose the censor character by editing the 'censor-char' value; defaults to '*'. Long censored messages can be auto shortened with the 'smart-censor' option

  • Violation types and contexts shown in Admin Notifier messages can now be customized in the lang file under lang.violation-types & lang.contexts

4.6.1 // Escaped characters config manager fix

Patch update

* Fixed the config manager unescaping escaped characters in string nodes

4.6.0 // New regex:: modifier and lang changes

In this build

  • New Word & Phrase Filter modifier: 'regex::', finds a regex pattern, entry will be subject to minimal checks, such case variants, word exaggerations, and substitution intelligence. Processed text that matches the pattern will be blocked

  • lockdown-only-known-allowed-message & lockdown-only-exempt-allowed-message have been moved from the main config file to the language file, updation is automatic and will copy over your existing messages

  • Updated plugin (& plugin.yml) tagline

4.5.3 // Context prediction improvements, filter improvements, & more

In this build

4.5.2 // Misc. improvements & fixes

In this build

  • Improvements to the Word & Phrase filter's accuracy

  • Fixed the Word & Phrase filter failing to detect short entries with numbers in them

  • Fixed hex colors not working 1.17 servers

  • Fixed cslockdown enabling itself when adding or removing players to the exemption list via /cslockdown add/remove

  • Updated the top level domain list used by the Link & Ad Blocker to version 2021071901 (Jul 20 7:07PM)

  • Removed the plugins bday message

4.5.1 // New server lockdown command & Anti Join Flood fix

In this build

  • New '/cslockdown <onlyknown|onlyexempt|add|remove|exemptlist> [username]' command allows you to toggle a persistent-through-server-restart lock on your server which can either block unseen before/unknown players from joining, or everybody except those who are on the exemption list. This command was designed to be used under the case of a bot attack to disallow the unseen before player-bots entering the server, but it can be used for any other purpose as well. The disallowed join messages are customizable via the main config file. The new permissions can be found here: https://wiki.chatsentry.xyz/pac/commands-and-their-perms#other-standalone-commands

  • Fixed the Anti Join Flood module timer never starting when the startup delay was enabled

  • Fully removed the configurable 'Guarded by ChatSentry' message

4.5.0 // Anti Spam & Anti Parrot improvements and various other improvements

In this build

  • Added a new "flood-combater" option to the Anti Spam and Anti Parrot module: some players (or more likely bots) may append random sequences of numbers and other characters to their messages to try and evade filters. This option will try to simplify incoming message data before core processing in attempt to combat this behavior

  • Fixed an error with the Anti Parrot module processing player names with special characters in them

  • Improved the default Word & Phrase Filter substitution intelligence charset

  • Updated the Link & Ad Blocker's top level domain list to the latest one from IANA

4.4.4 // Chat Executor & Unicode Remover fixes

Patch update

  • Fixed Chat Executor set-matches-as nodes failing to register stacked actions

  • Fixed the Unicode Remover failing to send an admin notification when a chat message with disallowed unicode was modified but not fully blocked

4.4.3 // Proxy command patch

Patch update

  • Fixed {proxy_player_cmd} and {proxy_console_cmd} command entries in the auto punisher & chat executor resolving playername placeholders as console

4.4.2 // Auto clean old logs & misc. improvements and optimizations

Additions

  • Added a new 'clean-logs-older-than' option to the main config that will periodically attempt to erase log data older the value in days. Set to -1 to disable

  • Significantly improved & rewrote the majority of the default Auto Punisher config file with better functioning punishment caps, durations, messages, and more. See the new file here: https://wiki.chatsentry.xyz/files/files/module-configurations/auto-punisher.yml

  • Added a check to cancel and notify console when files attempting to sync cross-server are too large (Java limitation)

  • Minimized, removed, and rewrote various startup messages to be less intrusive

  • Various optimizations

4.4.1 // New module options and performance improvements

Additions

  • Added an 'ignore-usernames' option to the Word & Phrase Filter that determines whether or not detections found in players usernames should be ignored

  • Added an 'ignore-usernames' option to the Anti Parrot module that determines whether or not players usernames in any phrase-whitelist phrases should be ignored

  • Added an 'filter-commands' option to the Unicode Remover module that determines whether or not the module should filter commands. Turning this off is useful if you want people to be able to use unicode in commands such as private messaging. Does nothing if 'process-commands' is false in config.yml

  • Violations are now logged asynchronously to prevent lag when logging lots of violations quickly

  • Performance optimizations with file loading and auto updation, especially noticeable when using sync-configs on BungeeCord

4.4.0 // Experimental BungeeCord support is here!

Additions

  • Added a new "bungeecord" config option that when enabled that comes with 4 sub-settings: enabled, sync-configs, sync-playerdata, global-admin-notifier-messages. These options allow ChatSentry to automatically sync config settings and player data with other ChatSentry instances across your network, as well as other synchronization abilities like cross-server admin notifier messages. For information on how to set up the plugin to work with BungeeCord, see the guide here: https://wiki.chatsentry.xyz/bungeecord-bridge-setup-guide

  • Added a new permission node: 'chatsentry.violations.getnotified.cross_server'. Players with this notification will receive real-time violation notifications across all servers on the network (requires BungeeCord & BungeeCord mode, & global admin notifications enabled in config.yml)

  • Added new lang.yml nodes under the admin notifier used when BungeeCord mode is true. These message nodes are almost identical to the regular notification nodes however they use the {SERVER_NAME} placeholder to show the server in which the notification came from in the message.

  • Added new actions to use in the Auto Punisher and Chat Executor modules: "{proxy_console_cmd}: command" to run a command as the from BungeeCord proxy console, and "{proxy_player_cmd}: command" to run a command as the player from the BungeeCord proxy

  • Additional applicable plugin permissions are now registered in the server on startup to resolve issues with some permission plugins failing to pick up unregistered permissions

  • Various code optimizations and other improvements

Improvements

  • Performance improvements & optimizations

Fixes

  • Fixed the Link & Ad Blocker under rare circumstances failing to skip to the next section of some sequences of input text and "detecting" sections that otherwise would be ignored

  • Fixed potential ArrayIndexOutOfBoundsException related to the Link & Ad Blocker

Improvements

  • Sign context detections now log and display the entire sign text via "{ENTIRE_MESSAGE}" (along with the detected line via "{BLOCKED_CONTENT}") instead of just the detected line

  • Various code optimizations and internal improvements

  • The Auto Grammar module's "capitalize" option will no longer attempt to capitalize messages of 2 or less letters (commonly faces) such as "xD"

  • The Auto Grammar module's "add-periods" option will no longer attempt to append periods to messages of 2 or less letters (commonly faces) such as "xD"

Fixes

  • Fixed the Link & Ad Blocker failing to ignore non-tld domains if any of the characters were uppercase

  • Fixed sign, anvil, and book processors failing to respect negated module permissions or module config overrides on operators

  • Fixed the Auto Grammar module correcting any "typos" that happen to be embedded within a different word

Other

  • Fancy new changelog.txt format!

  • Misc. config.yml layout changes

  • Minor adjustments to the default lang.yml file

4.2.1 // Anti Chat Flood patch and misc. config improvements

Improvements

  • Improvements to the default Anti Chat Flood's custom limits list

  • Fixed a typo in the Chat Executor's config comments

Fixes

  • Fixed a potential PatternSyntaxException error related to the Anti Chat Flood module when using no custom limits

4.2.0 // Show context in admin notifications, bug fixes, developer API, new Chat Executor features, and more

Improvements

  • Admin Notifier messages can now display the context in which the notification is related to with {CONTEXT}. All the notification messages use this starting format: "&7(&b{VIOLATION_TYPE}&8 - &b{CONTEXT}&7)" - ex. "(Link or Ad Block - Sign)". In order to make use of this placeholder you will need to manually add it to your notification messages in lang.yml, or delete the file and let the plugin regenerate a fresh one

  • The plugin now has a developer api! See more here: https://wiki.chatsentry.xyz/api/about

  • Updated the top level domain list utilized by the Link & Ad Blocker, now version 2021031101 (Updated Fri Mar 12)

  • You can now use "{dont_notify}" in Chat Executor set-as nodes to not send any admin notifier message when matched (if admin notifications are enabled for the Chat Executor)

  • You can now use "{dont_log}" in Chat Executor set-as nodes to not log anything the when the entry is triggered (if logging is enabled for the Chat Executor)

  • Various code improvements and optimizations across the plugin

Fixes

  • Fixed the plugin taking an increasingly longer amount of time to reload when reloading within similar timeframes. This issue was due to a part of the cache failing to dispose of its previous instance before recache thus continued to eat a growing amount of memory. Was only noticeable when reloading over and over as GC took care of it eventually

  • Fixed the Link & Ad Blocker failing to block links with directories with only filter TLDS enabled

Improvements

  • Coverage improvements to the Link & Ad Blocker's extra sensitivity mode

  • Improvements to how the Link & Ad Blocker determines what parts of extra sensitivity detections to show as the most likely content that triggered the detection

  • You can now negate / disable the permission node "chatsentry.basecmd" to disallow players from running the plugins base command (/chatsentry, /csentry, /kcs, /cs)

Fixes

  • Fixed the Command Spy's command whitelist not working properly

4.1.5 // Chat Executor & Auto Punisher message action patch & more Word & Phrase Filter default config improvements

Improvements

  • More improvements the default Word & Phrase Filter substitution intelligence charset; added "| -> L", removed "! -> I" (the ! to L translation could cloud messages ending in one or more ! and allow them to slip through the filter if the circumstances were right. Not super likely, but removed to be on the safe side)

Fixes

  • Fixed Chat Executor & Auto Punisher message (broadcast & player_msg) actions showing before the players initial message appears in chat (if set to be sent)

4.1.4 // Word & Phrase Filter default config improvements & substitution intelligence fix

Improvements

Fixes

  • Fixed an issue with Word & Phrase Filter substitution intelligence characters not being translated on some messages

4.1.3 // Chat Executor & Auto Punisher action fixes

Fixes

  • Fixed synchronous message execution (now async) on Chat Executor execute action lists and Auto Punisher punishment action lists (before this, messages sometimes sent out of order when there was multiple message actions defined)

4.1.2 // Violation content serialization fix & minor changes

Changes

  • Small config comment modifications and updates to accurately reflect the plugins abilities

  • The default anti join flood allowed joins per minute value has been increased to 12

Fixes

  • All blocked content is now force encoded in UTF-8 to fix serialization of particular characters when being written to the violation log file

Changes & Improvements

  • Improvements to the new experimental url identifier; significantly lowers false positive chances

  • The Link & Ad Blocker's extra-sensitivity mode is no longer enabled by default

Changes & Improvements

  • Introduced a new experimental & improved url identifier that notably is able to detect links from any language instead of just English. Enabled by default via the new "experimental-url-identifier" true/false option in the config file. This option applies to any modules or processes that try to identify urls from text (note that some modules that are not mainly based around urls still may process them). If you experience new kinds of false positives after this update with this option on, please report them (and optionally switch back to the stable identifier by setting "experimental-url-identifier" to false)

Fixes

  • Fixed the Link & Ad Blocker on extra-sensitivity mode detecting messages with "..." in them, such as "some phrase...another phrase" or alike

4.0.5 // Various Word & Phrase Filter, cleanlogs, and gendebug improvements

Changes & Improvements

  • Added a Word & Phrase Filter startup check that aims to skip loading invalid blocked entries, ex. blank or just a modifier ("exact::"). Previously these invalid entries would be loaded and caused the filter to act unexpectedly.

  • Various cleanlogs message improvements. Ex. if you request to clean all logs older than 1 day, it will now show "older than 1 day" instead of "older than 1 days".

Fixes

  • Fixed cleanlogs showing logs to clean even after they've been erased (this issue was merely visual)

  • Fixed various issues with the cleanlogs command displaying outdated / out of sync info

  • Fixed a typo in gendebug output

  • Fixed various configurations failing to remove their comments from gendebug output

4.0.4 // Misc. fixes & improvements

Changes & Improvements

  • Improvements & modifications to how context prediction interacts with the Word & Phrase Filter

  • More misc. hard coded message changes

Fixes

  • Fixed the Word & Phrase Filter's whitelist only working if the input was in lowercase

  • Fixed string to big int validation working improperly in relation to various modules under some circumstances

  • Fixed potential NPE under some circumstances when various modules tried validate certain words as a number

4.0.3 // Mini message updates

Changes

  • Improved and modified various outdated hard-coded messages

  • Fixed a typo in kcs resources output

4.0.2 // More LAAB patches

Patches

  • Fixed the Link & Ad Blocker under some circumstances displaying the wrong part of the message that was detected when the message also contained a numeric value or when using ignore-handles

  • Fixed the Link & Ad Blocker failing to perform all of its checks under some circumstances

  • Fixed the Link & Ad Blocker with only filter top level domains enabled failing to detect valid links with a prefix (www/http/https)

  • Fixed the Link & Ad Blocker processing subdomains incorrectly with only filter top level domains enabled

4.0.1 // LAAB patches and gendebug improvements

Patches

  • Fixed the Link & Ad Blocker throwing errors with certain messages

  • Fixed the Link & Ad Blocker detecting "-.-" and "?.?" faces on extra sensitivity mode

Other

  • Modifications and improvements to /kcs gendebug output

  • Added /kcs env output to /kcs gendebug output

  • Fixed a typo in /kcs env output

4.0.0 // All around major improvements, fixes, and optimizations

Changes & Improvements

  • Mass code restructuring, improvements, and optimizations

  • Added a new 'only-filter-top-level-domains' option to the Link & Ad Blocker module that when enabled (is by default), the plugin will only block roughly 1,500 of the most widely used (TLD) domains (like .com, .net, .org, etc). Keeping this on can substantially decrease false positive detections and will still effectively block advertising - however the downside is that uncommon, more suspicious links are unlikely to be detected. Only turn this off if you're worried about players writing more likely to be malicious links and are willing to sacrifice the decreased false positive rates for better coverage

  • Significant intelligence improvements to the Link & Ad Blocker module, large amounts of its code has been reworked and improved

  • The Link & Ad Blocker no longer detects invalid links such as "website.e" or "website./"

  • Adjustments to the Link & Ad Blocker's extra sensitivity mode

  • Improved the Link & Ad Blocker's extra sensitivity mode detection outputs in block messages. The plugin will now try to display the section of the message that was blocked instead of always showing the entire message as blocked

  • Other misc. improvements to the Link & Ad Blocker

  • Significant optimizations to the plugins permissions handler

  • Improved & optimized join related checks

  • The plugin now will force the server to register module bypass permissions as children of the bypass all permission instead of relying entirely on code to process inheritance

  • If one of the words under the "corrections" list in the Auto Grammar on the left side is typed in all caps by the player, the right side translation will be converted to uppercase as well

  • Default configuration improvements to almost all configs

  • Added a new /kcs environment command that reports important system information and whether it's compatible / meets the minimum requirements with your version of ChatSentry

  • Added missing command aliases in /kcs help output

  • Improved & modified various default lang.yml block messages

  • Major improvements and optimizations to the Anti Command Prefix module, only processes the base command prefix itself now instead of the entire command

Fixes

  • Fixed module negated bypass permissions not being respected by the plugin when the player also had the bypass all permission

  • Fixed toggled chat not respecting negated exemption permission when the player also had the bypass all permission

  • Fixed cleared chat not respecting negated exemption permission when the player also had the bypass all permission

  • Fixed the Auto Punisher not respecting negated exemption permission when the player also had the bypass all permission

  • Fixed manual warnings not respecting negated exemption permission when the player also had the bypass all permission

  • Fixed potential NPE when various modules tried validate certain characters as a number

  • Fixed potential NPE related to the anvil processor

  • Fixed the Anti Command Prefix module having issues when there was additional :'s in commands

  • Fixed the Link & Ad Blocker falsely detecting common faces such as "o.o"

  • Fixed the Link & Ad Blocker falsely detecting common file name extensions such as "example.txt" or "example.exe"

  • Fixed the Link & Ad Blocker under some circumstances displaying the wrong part of the message that was detected

  • Fixed the Link & Ad Blocker failing to detect blocked links when an acronym was also present in the message

  • Fixed the Link & Ad Blocker failing to detect blocked links when a number with decimals was also present in the message

  • Fixed the Link & Ad Blocker logging the modified version of blocked messages and not the original

Last updated