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 Nov 16, 2013Hello
I have a short question. How can i rewrite commands ? I want to change a command from /srm addmember to -> /house add
With that doesn´t work
-
View User Profile
-
Send Message
Posted Nov 13, 2013Hey all,
Just a heads up that I'm going to release a new 3.2 build soon that includes support for a new feature: Penalty Points.
The general concept is similar to a "demerit system", where you get points for bad behaviour. For example, if someone says the word "damn", maybe they get 0.5 points. "shit" gets them 2 points, and really bad words get them 10, 20, or maybe even 30 points. You use the "then points <amount> [message]" action in your rules.txt files. (The [message] to be sent to the player is optional)
In your config.yml, you can set "thresholds" and use actions when a player hits them. For example, when a user accumulates 10 points, you could use the "respond" action to send them a warning message: "Hey! Watch your language. If you keep swearing, you'll get kicked!". Then, when they cross the 20 point threshold, they get a "kick". At 40 points, maybe you give them a temporary ban.
The other aspect of the system is that the points "drain" at a configurable interval. By default, they get 1 point back every 30 seconds. As they cross the thresholds downwards, different commands can be executed, (eg: /pardon, /unmute, etc.)
This feature is currently available in the latest Development Build on our Jenkins server, if you want to give it a try. If you do, please leave some feedback! (You may wish to temporarily rename your config.yml, so that a default one with the new options gets generated)
-Sage
-
View User Profile
-
Send Message
Posted Nov 13, 2013@PhanaticD
Thanks! I appreciate the positive feedback! :)
-Sage
-
View User Profile
-
Send Message
Posted Nov 13, 2013love the update good job :)
-
View User Profile
-
Send Message
Posted Nov 10, 2013String filters dont seem to work anymore. I use a ! infront of my texts to send the string in global chat but it gives me "&string" instead of what i typed.
EDIT: Ok got it working again after chaning &string to %string%
-
View User Profile
-
Send Message
Posted Nov 8, 2013@IwannaDashInName
Doh! Documentation bug! Sorry. :)
-Sage
-
View User Profile
-
Send Message
Posted Nov 8, 2013@Sage905
about actiongroups, here: http://dev.bukkit.org/bukkit-plugins/pwnfilter/files/42-pwn-filter-3-2-0/ is
then actions <actiongroup> as example, so I tried it that way. thanx for updated info, i'll try it.
-
View User Profile
-
Send Message
Posted Nov 7, 2013@diannetea
Thanks for the report. This is a problem with the interpreter not parsing the plain "shortcuts" line properly.
This empty shortcuts command just disables shortcuts for subsequent rules anyway. You don't need to use it, if you want the shortcuts to be available for the whole file. It was just a way to disable them for parts of the rule file.
I will fix this bug for the 3.2.1 release.
-Sage
-
View User Profile
-
Send Message
Posted Nov 7, 2013with your shortcuts example I get this error in the console
I have created a file named scuts, and in the example below I numbered these with their lines so you can see where the error occurs.
-
View User Profile
-
Send Message
Posted Nov 7, 2013@IwannaDashInName
Somewhere along the line, I must have deleted the saveDefaultConfig() call, which is what copied the default config with all the comments. I have put it back in. The latest version of the Development builds on the Jenkins server should restore this behaviour. (You will have to rename your current config to something else, in order for the default config to be re-created.
Also, I'm working on more documentation for PwnFilter. It should be available within a few days.
As to the question about actiongroups... The command is:
not:
-Sage
-
View User Profile
-
Send Message
Posted Nov 6, 2013I just download new version and generated config. It have no comments to what is what, and there is 1 new thing I dont know that it does: consolefilter in console.txt is even warning:
but how can I really known what am I doing, if there is no info (i try google also) about this?
thanks for answer ;)
/EDIT also actiongroup seems not working.
from my rules:
on reload log show: 2013-11-06 19:14:05 [WARNING] [PwnFilter] (sco/nadavky.txt:20)Unable to add action/condition: then actions vulgaritaaction
-
View User Profile
-
Send Message
Posted Nov 6, 2013Just a heads up for everyone...
Last Friday, we updated PwnFilter to 3.2.0. This is a major update, and has a number of new features. You *MUST* read the release notes (on the file download link) before updating your server. Almost everything is backward compatible, and the plugin tries to make migration to the new formats seamless, but there is some risk that this upgrade will not be without problems.
Also, please note that we have included EpicATrain's Language Filter as one of our downloads. This filter is the most comprehensive language filter out there, and it takes advantage of some of the new features in PwnFilter 3.2.
Finally, I am working on a Tutorial for using PwnFilter, that will hopefully be useful for people brand new to PwnFilter, as well as have an introduction to the new features in 3.2 for those experienced with previous versions. I hope to post the tutorial by the end of the week.
Regards, Sage
-
View User Profile
-
Send Message
Posted Nov 6, 2013@DreamPhreak
Thanks buddy!!!
-
View User Profile
-
Send Message
Posted Nov 6, 2013@mrchasez
I don't know if you ever solved this, but in my experience, this happens because some other plugin is stripping the chat color after PwnFilter puts it in.
When you have multiple plugins installed that handle chat messages, they all get to process the message in a particular order, depending on their listener priority.
If you set chatpriority: to "highest" in your config.yml, I suspect that the colors will work again. That said, though, it may cause other issues, since PwnFilter will be one of the -last- plugins to get to process the message. So if you have other plugins that do things with chat, you will have to experiment to find the right priority setting for the chat listener.
Please note... This is -not- a bug with PwnFilter. This is an interaction issue with some other plugin.
-Sage
-
View User Profile
-
Send Message
Posted Nov 4, 2013Welcome back, EpicATrain, from MineCon! :)
-
View User Profile
-
Send Message
Posted Nov 3, 2013@Prominentc
Those messages only show up at server startup, or when you reload the plugin. I could change it so some of them are debugging messages, but honestly, they are only 8 lines at server startup. I don't understand why they are an issue.
I thought I had answered your question in my last response. If you want to see MATCH/SEND messages in your console log, you can use "then log" on the rules you're interested in, or you can change loglevel to "info" in your config.yml.
If you're looking for something else, please explain specifically what it is you would like to see. Example output would be ideal. Also, please file it as a ticket, rather than a comment.
-
View User Profile
-
Send Message
Posted Nov 3, 2013@Sage905
It's the junk I don't really need to see like below because I know the plugin is logging, that I have vault and how many rules I have and what the listeners are set too.
What I do want to see is the advertisers caught and those breaking the rules without sifting through useless info.
[2013/10/26 02:25:00] [PwnFilter] Now logging to plugins\PwnFilter\pwnfilter.log [2013/10/26 02:25:00] [PwnFilter] Vault found. Enabling actions requiring Vault [2013/10/26 02:25:00] [PwnFilter] Read 31 rules from file. Installed 31 valid rules. [2013/10/26 02:25:00] [PwnFilter] CHAT Rules:31 SIGN Rules:17 COMMAND Rules:17 ITEM Rules:17 [2013/10/26 02:25:00] [PwnFilter] Activated PlayerListener with Priority Setting: LOWEST [2013/10/26 02:25:00] [PwnFilter] Activated CommandListener with Priority Setting: LOWEST [2013/10/26 02:25:00] [PwnFilter] Activated SignListener with Priority Setting: LOWEST [2013/10/26 02:25:00] [PwnFilter] Activated ItemListener with Priority Setting: LOWEST [2013/10/26 02:25:34] [PwnFilter] Disabling PwnFilter v3.1.2 [2013/10/26 02:25:51] [PwnFilter] Now logging to plugins\PwnFilter\pwnfilter.log [2013/10/26 02:25:51] [PwnFilter] Vault found. Enabling actions requiring Vault [2013/10/26 02:25:51] [PwnFilter] Read 31 rules from file. Installed 31 valid rules. [2013/10/26 02:25:51] [PwnFilter] CHAT Rules:31 SIGN Rules:17 COMMAND Rules:17 ITEM Rules:17 [2013/10/26 02:25:51] [PwnFilter] Activated PlayerListener with Priority Setting: LOWEST [2013/10/26 02:25:51] [PwnFilter] Activated CommandListener with Priority Setting: LOWEST [2013/10/26 02:25:51] [PwnFilter] Activated SignListener with Priority Setting: LOWEST [2013/10/26 02:25:51] [PwnFilter] Activated ItemListener with Priority Setting: LOWEST
-
View User Profile
-
Send Message
Posted Oct 30, 2013@Prominentc
So, if you set loglevel: info, the MATCH/SEND messages should show up in your server log.
The message you pasted below is part of the plugin startup, so you can't disable those.
-Sage
-
View User Profile
-
Send Message
Posted Oct 30, 2013@drmccoy1993
I got your message. Pastebin your rules.
-
View User Profile
-
Send Message
Posted Oct 30, 2013In the log is there a way to just show matches/violations? Instead of:
[2013/10/26 02:25:00] [PwnFilter] Now logging to plugins\PwnFilter\pwnfilter.log
[2013/10/26 02:25:00] [PwnFilter] Vault found. Enabling actions requiring Vault
[2013/10/26 02:25:00] [PwnFilter] Read 31 rules from file. Installed 31 valid rules.
[2013/10/26 02:25:00] [PwnFilter] CHAT Rules:31 SIGN Rules:17 COMMAND Rules:17 ITEM Rules:17
[2013/10/26 02:25:00] [PwnFilter] Activated PlayerListener with Priority Setting: LOWEST
[2013/10/26 02:25:00] [PwnFilter] Activated CommandListener with Priority Setting: LOWEST
[2013/10/26 02:25:00] [PwnFilter] Activated SignListener with Priority Setting: LOWEST
[2013/10/26 02:25:00] [PwnFilter] Activated ItemListener with Priority Setting: LOWEST
[2013/10/26 02:25:34] [PwnFilter] Disabling PwnFilter v3.1.2
[2013/10/26 02:25:51] [PwnFilter] Now logging to plugins\PwnFilter\pwnfilter.log
[2013/10/26 02:25:51] [PwnFilter] Vault found. Enabling actions requiring Vault
[2013/10/26 02:25:51] [PwnFilter] Read 31 rules from file. Installed 31 valid rules.
[2013/10/26 02:25:51] [PwnFilter] CHAT Rules:31 SIGN Rules:17 COMMAND Rules:17 ITEM Rules:17
[2013/10/26 02:25:51] [PwnFilter] Activated PlayerListener with Priority Setting: LOWEST
[2013/10/26 02:25:51] [PwnFilter] Activated CommandListener with Priority Setting: LOWEST
[2013/10/26 02:25:51] [PwnFilter] Activated SignListener with Priority Setting: LOWEST
[2013/10/26 02:25:51] [PwnFilter] Activated ItemListener with Priority Setting: LOWEST