PwnFilter v3.0.1 - Chat Control Powered by Regex Version: v3.0.1 http://dev.bukkit.org/server-mods/pwnfilter/ PwnFilter is STILL ACTIVE, click on the link above to go to BukkitDev Now with effective CAPS replacement, random word replacements, customizable warning messages and additional punishment methods like "burn" for your potty-mouthed players! Configurable priority settings so that you can use with nearly any other chat plugins! This plugin uses the power of Regular Expressions to filter anything you want from chat. Matching messages can be rewritten, logged and blocked, depending on the rules you define. Stop yourself from accidentally sending those embarrassing .commands to chat. Warn users who use bad language and even turn their profanities into harmless language. Make fun chat replacements for your favorite in-server memes. Possibilities are endless. PwnFilter is basically a revival of the RegexFilter by FloydATC. Myself and so many people loved this plugin that, I thought as my first adventure in to the JAVA / Bukkit development world that I would revive this, the ultimate chat filter plugin that has ever existed. Thanks to FloydATC for originally making this plugin and to Heliwr for preserving the source code after it went inactive. Features: Command typos beginning with certain characters can be stopped (like . and 7). Optionally recover those typos and execute the command as intended. Define your own macros or command aliases. Simple but powerful configuration with built-in debugging. Each regular expression is compiled only once => very fast. Supports filter rules reload with "/pwnfilter reload". Optionally kick or warn players on matches OR Execute commands from console or other plugins. Supports &(0-F) color message replacement. Commands for OP or by permission node. Uses: Extremely effective curse / swear word filter: Assign appropriate punishment levels based on severity. Great for anti-ad / anti-pub: Filter domain names and IP addresses from chat efficiently. Single line spam filtering: Remove repetitive characters like hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii. CAPS Blocking capability: Trigger events when messages have too many caps. Typo correction: Replace common and annoying typos like "teh". Fun filters: Kick players for using a meme in chat. Automatically colorize your admins names. Command aliases: Map !command to /longer command that is annoying to type all the time. More: What things can you think of that PwnFilter can do? Let us know. Installation & Configuration: Place the PwnFilter.jar in your plugins folder and start/restart your server. The /PwnFilter folder and a default "rules.txt" file will be created. Edit your config.yml for plugin priority and default warning messages. Edit your rules.txt file to your liking. This plugin uses RegEx, so it is helpful to understand regular expressions in creating your filter rules. I have provided some samples and additional information on the PwnFilter Bukkit Dev Page. Permissions: pwnfilter.reload: To use "/pwnfilter reload" command and reload rules.txt pwnfilter.bypass: Group/User with this permission will bypass ALL filters. Those with OP or * nodes will have this applied automatically unless you negate the permission. pwnfilter.cls: Ability to clear the chat screen pwnfilter.mute: Ability to mute all players on the whole server with one quick command Download From Bukkit Dev: http://dev.bukkit.org/server-mods/pwnfilter/ Changelog: Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler 2.3.5 Updated for Craftbukkit 1.5 and 1.5.1 servers 2.1.2 Delete your config.yml for this update to generate a new one, rules.txt can remain. Bugfixes on burn, warn, kick and kill messages where replacement text would break. Added default messages for warn, burn, kick and kill to the config.yml with color code support. Default messages can be overridden via rules.txt, also with color code support. More code cleanup for a faster running plugin! 2.1.1 Build for Craftbukkit 1.4.6-R0.1 Some small code tweaks for greater efficiency, thanks to Cryptix. 2.1.0 Build for Craftbukkit 1.4.5-R1.0 New post match operators: then cmdchain - Allows you to create chained command aliases. Usage: then cmdchain command 1|command 2|command 3 Note that these are player issued commands, players will need to have permissions to use commands in the chain. You may use syntax from the standard "then command" operator like &player, &world and &string for data replacement in the chains. New command and permission node /pfmute - permission: pwnfilter.pfmute - description: Globally mute the entire server (regular chat only not PM's or emotes). Using this command will cancel ALL chat events until this command is run again. A long awaited addition for pwnfilter finally added: configurable plugin priority. Important You should delete your existing config.yml for this update. Edit the config.yml "priority" with choice of lowest, low, normal, high, highest. Default is lowest. If Pwnfilter is not working well with any of your other chat related plugins, you may change the priority in order to resolve conflicts. Contact your chat control plugin maker to find out what priority their "listener" runs on. 2.0.0 New post match operators: then randrep - replaces matching regex from a pipe separate list of potential replacements! then lower - replaces matching regex with the same matching regex, forced to lower case! (Basically, CAPS Replacer) Removed the [PwnFilter] prefix from warning, burn and kill messages. You may now use your own warning message from scratch, with color code support! Please review the PwnFilter Pages for updated material on the 2.0 update! 1.9.3 Added "then kill" and "then burn" as optional punishments related to a match. See post match operators page for usage. 1.9.2 Updated for CB 1.4.5-R0.2 Fixed bug with PwnFilter player kicks and asynPlayerChatEvent. 1.9.1 PwnFilter for Craftbukkit 1.4.2-R0.2 and reverted to Java 6. If you prefer for any reason, Java7, 1.9.0 will also work on 1.4.2 servers. 1.9.0 Updated to latest release of Craftbukkit Version 1.3.2-R1.0 Built against Java 7 (should not cause servers on Java6 any problems) 1.8.0 Added a screen clearing command - /pfcls Renamed the rules reload command to - /pfreload Fixed console permissions error. Cleaned up some more unneeded and/or inefficient code 1.7 Updated for CraftBukkit 1.3.1 new AsyncPlayerChatEvent. This will NO LONGER WORK on 1.2.5! Code cleanup for enabling and disabling plugin, code cleanup on chat listener. Removed some unused libraries. 1.6 Added new permission node pwnfilter.bypass to give to users or groups who should not be affected at all by pwnfilter. Built against Bukkit 1.2.5R 5.0 and tested compatible. 1.5 Adjusting PwnFilter's event.priority to lowest setting in attempt to avoid conflicts with other chat control plugins. Updated default "rules.txt" with changes added since 1.2 1.4 Added requested option "ignore string" which will ignore a match if it contains the defined string. Removed "ignore group" and "require group" in lieu of permissions, basically redundant code. Upgraded plugin from "Beta" to "Release" 1.3 Added "ignore permission" and "require permission" rules. Added "then rewrite" rule for soft replacement, ignoring color codes. Edited "then replace" rule for hard replacement, stripping color codes. Added new variable "&string" to rules for "command" & "console". Use &string to insert chat message into your rule. Added the "&player" and "&world" variables to "command" as well as "console". Fixed "command" to ignore chat message unless given "&string" as a variable, great for making aliases. 1.2 Improved detection and replacement of messages for users with colored chat enabled. This would be difficult if not impossible using rules.txt so I built it into the filter. Was told I should include a LICENSE file in my source file so I did. 1.1 Updated default rules.txt Minor code cleanup Added permission node pwnfilter.reload (no longer OP only) 1.0 Built original plugin against CraftBukkit 1.2.5-R4.0 Added in bukkit.ChatColor support Fixed /pwnfilter reload function, actually works now, and reloads the rules.txt Added rules.txt chat color support for &(0-F) color codes. These previously worked in the old version but derped somewhere along the way with CB updates and changes. Renamed plugin from RegexFilter to PwnFilter with intention of eventual code overhaul.