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 Jun 19, 2013What happened with tremor77?
-
View User Profile
-
Send Message
Posted Jun 19, 2013@mormaii2
Not a stupid question at all.
In your config.yml, set: loglevel: fine
-Sage
-
View User Profile
-
Send Message
Posted Jun 19, 2013I know this is a stupid question but what setting do I have to change not to see <match> <sent> in the console?
-
View User Profile
-
Send Message
Posted Jun 19, 2013@Eutherin
why you have | at the end your match?
-
View User Profile
-
Send Message
Posted Jun 19, 2013@Eutherin
This doesn't crash my server. Can you give me a traceback and the exact rule that you are using?
I suspect that you have a regex which is causing runaway backtracking: http://www.regular-expressions.info/catastrophic.html
-Sage
-
View User Profile
-
Send Message
Posted Jun 18, 2013If someone spams the crap out of a word it crashes a filter, please fix. IE: match e+u+t+h+e+r+i+n| then replace The Chosen One
Crashes server when they say eutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherineutherin
-
View User Profile
-
Send Message
Posted Jun 18, 2013@PhanaticD
Yes.
The version you are running (3.0.1) implements actions in a non-threadsafe way.
Upgrading to 3.1.0 (currently pending approval) will fix this problem. In the mean time, you can upgrade to 3.1.0-rc2, which is also very stable and fixes that issue.
-Sage
@MegaCodeFilms
When you say "give players potion effects" I presume that you mean that you want an action that applies an effect to a player? You could do something like this:
This would give the player the poison effect for 5 seconds
-
View User Profile
-
Send Message
Posted Jun 18, 2013would there be a way to give players potion effects?
-
View User Profile
-
Send Message
Posted Jun 18, 2013do you know what this error is from http://pastebin.com/x67nVWKt
-
View User Profile
-
Send Message
Posted Jun 18, 2013@Boomer_24
@MrREOM
You can add word-boundaries \b so it only match the single word hell and not hello for example.
-
View User Profile
-
Send Message
Posted Jun 18, 2013Does anybody know how to block Caps? Or to switch capitalized words to lower case?
-
View User Profile
-
Send Message
Posted Jun 18, 2013My players can't say Hello or full any words that have a curse word in it counts as a swear is there a way to fix that?
-
View User Profile
-
Send Message
Posted Jun 18, 2013@calldeath1
You can either disable the filters completely in the config.yml (eg: commandfilter: false) or you can select which events a rule applies to by doing:
-Sage
-
View User Profile
-
Send Message
Posted Jun 18, 2013hi there just want to ask about how to stop signs and commands events not using some of the filters as i seen this in the logs and looks like it can be done i just dont know how :P
[CONFIG] [PwnFilter] CHAT Rules:17 SIGN Rules:17 COMMAND Rules:17
the problem is on u cant do a lines on sign as im blocking that in chat and if someone got 1111 in there name commands get hit too.
-
View User Profile
-
Send Message
Posted Jun 17, 2013@MrREOM
Change "the deny" to "then deny", everything else looks good.
-
View User Profile
-
Send Message
Posted Jun 17, 2013How do I make it so when a person advertises an IP the message doesn't show up and it kicks them. this is what I did and it isn't working for some reason:
-
View User Profile
-
Send Message
Posted Jun 16, 2013@BaptizedByFire
I have some enhancements to the sign filter that I want to do. One of them will be to allow the operator to change how sign test is processed, either per-line or all lines at once. The current behaviour may cause an issue when it reformats signs that match a rule. The reformatting should only happen when a rule matches, though, so you can exclude any rules that cause problems from the sign filter by doing "events not sign" on them.
@joshwenke
This is an interesting idea and I've put it on my list of things to explore when I get time. :)
-
View User Profile
-
Send Message
Posted Jun 16, 2013@joshwenke
Interesting idea, but yes I think that's possible:
Its a bit crude, but you could have it private-message all your staff, and messaging only sends if the player is online, (or if you wanted something slightly more permanent, could change msg to mail)
-
View User Profile
-
Send Message
Posted Jun 16, 2013Is there any way to add a feature that sends a censored message to some users (using astericks for matched words), and shows the full message to some users? For example, a user who doesn't want to see certain words can use /pfoff or a similar command, and then all words from maybe a separate rules.txt would show up as astericks to that user, while everyone else who didn't do the /pfoff command would still see the full words. Just a suggestion so some people don't have to see swear words!
-
View User Profile
-
Send Message
Posted Jun 14, 2013Not sure if this has been mentioned at all before but there is a Conflict with PwnFilter and Lockette.
If both plugins are installed and "Signfilter" is set to true non OP players cannot create door locks.
To create a lock on door you need to type "[private]" into the first line of a sign and with the default rules.txt PwnFilter will change the sign into "[ private ]" which will not create a door lock.
Is there any way to fix this while still having signfilter enabled?