v4 Changelog
4.8.1 // Word & Phrase Filter censor fixes & colorcode patch
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
4.7.3 // Bug fixes
4.7.2 // Patches
4.7.1 // Recommended stability update: bug fixes & improvements
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
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
Improvements to context prediction
Improvements to the Word & Phrase filter's accuracy
Internal optimizations
Substantial improvements to the preset Word & Phrase Filter block lists: https://wiki.chatsentry.xyz/misc-info/preset-word-lists
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
4.4.3 // Proxy command patch
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
4.3.1 // Optimizations & Link & Ad Blocker fixes
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
4.3.0 // Recommended stability update: misc. improvements and fixes
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
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
4.1.6 // Link & Ad Blocker improvements & Command Spy whitelist fix
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
Improved the default Word & Phrase Filter substitution intelligence charset (thanks ImFoxxy for the suggestions!) See the default config here for the updated list: https://wiki.chatsentry.xyz/files/files/module-configurations/word-and-phrase-filter.yml
Misc. config comment updates
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
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
4.1.1 // Experimental link identifier improvements
4.1.0 // New experimental link identifier able to detect links in any language and LAAB fix
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
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
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