PwnFilter
Update: 2023-04-20 - PwnFilter EOL Statement
Major changes to chat from Mojang that include chat reporting and signed messages may render PwnFilter no longer usable. The developers of PwnFiilter have not maintained the plugin since 2016, and it has continued to work up until now. We don't see a new version coming out anytime soon and urge server owners to find an alternative. We hear good things about VentureChat - https://www.spigotmc.org/resources/venturechat.771/
-tremor.
About PwnFilter
PwnFilter is way more than just your average word-blocking plugin, PwnFilter uses the power of Regular-Expressions ("RegEx") to give you a highly effective and highly configurable plugin to filter anything you want from chat! Matching words can be rewritten, logged, blocked, and managed, depending on the rules you define. Use PwnFilter for:
- Extremely effective chat/command filtering: Filter anything you want with RegEx!
- Extremely effective curse/swear word filtering, warn users who use bad language, turn their profanities into harmless language, or just deny their message entirely!
- Assign appropriate punishment levels based on severity.
- Anti-Advertisement: IP/URL filtering
- Make fun chat replacements for your server's inside-jokes.
- Single line spam filtering: Remove repetitive characters like hiiiiiiiiiiiii to hi.
- CAPS Blocking capability
- Typo correction: Replace common and annoying typos like "teh" to "the" or "u" or "you"
- Customizable warning messages
- Command aliases: Automatically recognize a !command and change to /longer command, Stop yourself from accidentally sending those embarrassing .commands to chat for everyone to see.
- A few built-in punishments like burn, kill, fine (charge money!), warn, kick, and ban. Or simply utilize the "then console" action to make your server console execute almost any command from any other plugin as if you typed it yourself in the console window, especially if you use a plugin that adds a plethora of punishments, like PunishMental, or use it to make PwnFilter send the appropriate commands to your favorite ban-management system to let it handle what to do!
Think of this plugin as a platform for the power of RegEx, the matching rules are 100% entirely up to you, and there are a hundred ways to do something. The possibilities are endless, the power is as dynamic as you want it to be depending on how much effort you put into having the best RegEx rules.
PwnFilter is a revival and complete rewrite of the RegexFilter plugin by FloydATC. Thanks to DreamPhreak for helping with this Bukkit page, to Sage905 for taking over the latest branch of development making PwnFilter even better than ever, and to EpicAtrain for developing comprehensive regex rules for server owners to use.
Features:
- Filter Chat! (of course)
- Filter Item Names! (Anvil)
- Filter Signs!
- Filter Commands!
- Filter Console!
- Filter Books! (Coming in next version!)
- Filter Nametags!
- Built-in anti-spam feature can be enabled in config.
- Commands for OP or by permission node.
- Supports color message replacement.
- Globally clear all player's chat windows with "/pfcls".
- Global mute with "/pfmute" - stops all server chat and commands for making admin announcements.
- Command typos beginning with certain characters can be stopped (like . and 7, accidentally instead of / and &).
- 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.
- Able to reload all your PwnFilter rules & config files without needing to restart the server with "/pfreload".
- Optionally kick or warn players on rule matches AND/OR:
- Execute commands from console or other plugins.
- Use randrep action to replace swears with a random multiple option.
- Use lower action to replace text to all lowercase (great for those CAPS chatters).
- True command aliases, link faux commands like /wave to /me waves at you.
- Customizable 'permission denied' messages
Issues & Conflicts
Plugin Conflicts: If you notice that PwnFilter conflicts/interferes with another chat-related plugin, edit your config.yml, go to the "ADVANCED" section at the bottom, unhide the priority you want to change (by removing the # in front of the line), and change the priority from the default setting "Lowest" to another setting like "Highest". This can sometimes resolve conflicts, otherwise ask on our forum or create a ticket.
Permission Bypass: The permission node pwnfilter.bypass is automatically granted to OP and players with * permission nodes. If you do not want these players bypassing the filter at all, you must negate this permission node for them in your Permissions Plugin's files.
Plugin Metrics
This plugin utilizes Hidendra's plugin metrics system, which means that some information is collected and sent to mcstats.org. If you wish to disable this feature, you can do so by opting out, which you can do in the PluginMetrics' config file under /YourServer/plugins/PluginMetrics/
Links & Info
- PwnPlantGrowth - Customize, modify, block all plant growth with varying configurations, including biome based and light level based farming.
- PwnChickenLay - Configure or block how fast chickens can lay eggs, or replace eggs with other items like diamonds, bricks, anything you can think of.
- ResPwn - Configure useful and fun player respawn options like temporary forcefields, armor and weapons.
- PwnPvpBalance - Balance the tide of uneven game mechanics with options to help players with poor PvP skills be more competitive, and give good players a better challenge.
- PwnFilter Regex Forum - Have questions about using RegEx or want to show your rules.txt off? Visit our RegEx forum here on DBO!
- Pwn9.com - Visit the Pwn9 Gaming Community, the place we call home. Check out our Minecraft servers, other game servers and fun gaming community.
- Discord Server: Join us @ https://discord.gg/qde6rVn - feel free to ask PwnFilter or RegEx questions on the channel or just come hang out with us.
- Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk. ci.sagely.ca
Donate
All of our "Pwn-" plugins are completely free of charge. We work hard to bring you the best, powerful, and up-to-date plugins. If we have helped you in any way, please consider a donation of any amount (Using the "Donate" button on the top-right of this page, or clicking HERE). All donations are GREATLY appreciated for all of the time that goes into this plugin and support.
EpicATrain's version 10.0 filter has been temporarily removed, due to a few issues. The classic language filter is still available here: http://pastebin.com/u/EpicATrain
-
View User Profile
-
Send Message
Posted Dec 3, 2013I am a bit confused with the changes in 3.3.0 and I am not sure what all I need to change if I expect everything to work as it was. If you would not mind taking a look at my rules.txt? Do I need to now put every rule in its own txt file and then have separate txt files if I want multiple responses to run after the match? Does this mean I need 2 or 3 text files for each rule?
http://hastebin.com/nahehufacu.txt
-
View User Profile
-
Send Message
Posted Dec 3, 2013@Hangar
Sure can! It can also check item renaming by anvils. And apparently in the future will do book text too :)
-
View User Profile
-
Send Message
Posted Dec 3, 2013Can this check sign text by any chance?
-
View User Profile
-
Send Message
Posted Nov 28, 2013@stgram
Thank you :)
-
View User Profile
-
Send Message
Posted Nov 28, 2013@Willcomputerguy79
http://dev.bukkit.org/bukkit-plugins/pwnfilter/pages/sample-regex-rules/ the second part. :)
-
View User Profile
-
Send Message
Posted Nov 28, 2013Hello. I am using PwnFilter on my server currently. I love the plugin a lot, and it works extremely well for blocking swears and IP's. I may have just not noticed it in the video, but how do you block extreme usage of capital letters and spamming letters? Like this: "Single line spam filtering: Remove repetitive characters like hiiiiiiiiiiiiiiiiiiiiii to hi.". How do I edit "Single Line Spam Filtering and blocking extreme usage of capital letters in the PwnFilter config? Any help would be greatly appreciated!
-
View User Profile
-
Send Message
Posted Nov 25, 2013@kikotte
Sure thing. Please use the "Donate" button at the top of the page, for priority support.
-Sage
-
View User Profile
-
Send Message
Posted Nov 25, 2013@Sage905
Many thanks for your help. But next time, you can answer a little faster?
-
View User Profile
-
Send Message
Posted Nov 25, 2013@kikotte
The &player tag (which is the old way of doing it. The new way is %player%) is used in actions, eg:
match badword then console say %player% said a badword.
At the moment, there is no way to match the name of an online player, though that is one of the most requested features, so I will try to get it into the upcoming 3.3 build.
@stgram
Please open a ticket (see link above), with more details on how you would like that to work? Also, how should it be different from the cmdlist / cmdblist config?
@paulj1x
The events keyword should work, but it is the old way of doing things, so it may not. Alas, I don't have tests for it. :( The current recommended way of doing this is to put the rules into the individual files (chat.txt, command.txt, etc. as you have noted. If you want a number of rules to be in multiple files, you could create a file like "common.txt", and include it in the appropriate files.
I've started working on a tutorial, but it's a work in progress. Have a look here: http://toal.ca/Tutorial.html
-
View User Profile
-
Send Message
Posted Nov 23, 2013Great plugin! But the documentation isn't clear. Does the events action work? Or is it more a matter of if you include files in, for example, command.txt?
-
View User Profile
-
Send Message
Posted Nov 23, 2013I suggest adding a config list of commands to be treated as chat. You know, /m /t /r /w and their longer versions...
-
View User Profile
-
Send Message
Posted Nov 23, 2013This does not work for me may not charge a name? &player
-
View User Profile
-
Send Message
Posted Nov 20, 2013Little help here please... I am trying to add a check to notify players when they use /tpa, that they dont have the required server rank.
And I simply cant make it work, I've tried require command, I've tried match ^\tp\b, and whatever not...it sometimes works for /tpaccept, but not for tp, really strange. Please tell me where am I wrong?
EDIT: Completely scratch that, I had tpa in the list for commands not to be filtered, due to the antispam check...silly me.
-
View User Profile
-
Send Message
Posted Nov 16, 2013@vinzenco
The logs indicate that it is testing the pattern on commands. Can you sent the section of the log where you try the "/house add" command?
Also, it looks like it's trying to match the rule on chat messages also. Since you only want to match on commands, you might want to just put the rule in your command.txt, not in the rules.txt, or other files.
-
View User Profile
-
Send Message
Posted Nov 16, 2013@Sage905
I changed now &string to -> %string% and cmdlist/cmdblist are empty.
In the log.txt file i see that:
-
View User Profile
-
Send Message
Posted Nov 16, 2013@vinzenco
Sorry... Two things. First, it's now %string%, not &string. (My mistake)
Second, can you set debug: high in your config (just for testing, it generates a lot of info) and then check the plugins/PwnFilter/pwnfilter.log for whether or not it's trying to match?
Also, in the config.yml, you should have:
-
View User Profile
-
Send Message
Posted Nov 16, 2013It seems the command /house add doesn´t work. :(
I changed:
and in the command.txt
My cmdblist are empty.
-
View User Profile
-
Send Message
Posted Nov 16, 2013@vinzenco
There's one more thing you might have to do. By default in 3.2+ the config is set to filter the /me and /nick commands only. Check your cmdlist / cmdblist. Either add 'home' to the cmdlist list, or remove all the commands in the cmdlist to get it to filter all commands.
-Sage
-
View User Profile
-
Send Message
Posted Nov 16, 2013@Sage905
Thank you for the fast answer! :) I changed both now but if if write in the chat /house add Then comes "Unknown command. Type "help" for help."
-
View User Profile
-
Send Message
Posted Nov 16, 2013@vinzenco
First, you need to make sure you have:
in your config.yml
Then, in your rules/command.txt you would do: