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 Aug 7, 2013Could you add a feature to this plugin that will add chat cooldown as well as a feature to deny a customizable amount of repeating?
For Example:
-
View User Profile
-
Send Message
Posted Aug 7, 2013@DreamPhreak
Thanks!
-
View User Profile
-
Send Message
Posted Aug 7, 2013@Nickshelton80
Check out the actions page for a list: http://dev.bukkit.org/bukkit-plugins/pwnfilter/pages/post-match-operators/
Replace "then command ban" with "then console ban"
-
View User Profile
-
Send Message
Posted Aug 7, 2013How can I make it automatically ban a player for saying a certain word?
I tried:
I also tried:
-
View User Profile
-
Send Message
Posted Aug 6, 2013@kymotsujason
nope... you can't write regex to match language. theoretically you can, but I don't wanna see that regex :D
you can match specific unicode characters by \uHEX
you can find unicode table here: http://www.tamasoft.co.jp/en/general-info/unicode.html
for example, if you want block any character, that is not in english alphabet and puncuation, you can match (and block) [\u00C0-\uFFFF]
-
View User Profile
-
Send Message
Posted Aug 3, 2013Would it be possible to use PwnFilter to filter certain languages or filter all languages but english? (or even filter all but english and other selected languages) This would include special characters from other languages as well.
I've been trying to figure out a way to do this without manually typing in the letters.
-
View User Profile
-
Send Message
Posted Aug 3, 2013Can you please add two variables? <randomplayer> The plugin will output a random online player.
<nearplayer> the plugin will output the nearest player to the player who performs the command.
-
View User Profile
-
Send Message
Posted Jul 23, 2013Bukkit Ticket Tracker is now available for use for PwnFilter. Server admins with bug reports, questions, feature requests, etc who want the fastest response and trackability on progress should use the Ticket submit feature rather than posting here in comments.
http:dev.bukkit.org/bukkit-plugins/pwnfilter/create-ticket/
Tickets will get the highest priority in development and bug fixes moving forward.
-
View User Profile
-
Send Message
Posted Jul 22, 2013@Sage905
Why did you respond here instead of Private Message =P? Ill test your theory.
Edit: I sent you a PM with my findings.
-
View User Profile
-
Send Message
Posted Jul 22, 2013@Sage905
Okay.. I looked at your video and config. The config looks fine.
Here's my best guess on this. At the moment, it's the only thought I have...
I think that there's another plugin being loaded at the HIGHEST priority that is decoloring the message after PwnFilter generates it. I -think- that PwnFilter is adding the colors, but they are subsequently being stripped. When plugins are registered, there's no guarantee of which one will come first in any one level of handler (LOWEST, HIGHEST, etc.) So, there could be two plugins being registered at the HIGHEST priority, but PwnFilter might be getting registered before another one at startup. When you do /pm reload of PwnFilter, it removes PwnFilter from the listener list, and adds it back at the very end of the chain.
This is the only thing I can think of that could be causing the problem. You could test this theory by changing PwnFilter to "HIGH" priority. My suspicion is that then you would never be able to get the colors to work, because whatever plugin is registered at the HIGHEST priority would override the colors even after a /pm reload.
Can you send me a PM with the list of plugins you have enabled? Specifically any ones that do something with chat events?
Also, can you have your user manually type the same message into chant manually? (eg: with the &4&l, etc? If -that- works, then I'm really doubly confused. :)
-Sage
-
View User Profile
-
Send Message
Posted Jul 22, 2013@Sage905
Sent you a private message with a video i made showing the issue i place and the config. Thanks.
-
View User Profile
-
Send Message
Posted Jul 21, 2013@mrchasez
This is very strange, indeed. I tried to reproduce this with the rule you provided on my local dev server, running 3.1.1, but couldn't do it. I presume you have decolor: false in the config, correct?
Can you PM me a list of your plugins, as well as your PwnFilter config? Also, if PwnFilter is set to HIGHEST priority, that means that it will be run -last- on all the messages. So another plugin may be doing something to the message before PwnFilter gets it.
When you say 'reload the plugin', do you mean /pfreload? Or are you using a plugin manager? And is it -just- the colors that aren't working, or is that whole rule not working?
-Sage
-
View User Profile
-
Send Message
Posted Jul 20, 2013@Sage905
Sage. I found the color issue again. It's really strange. Colors do NOT work in the plugin. However i found out something really strange, and it's the reason i thought upgrading fixed the plugin. If i reload the plugin (not the config but the whole plugin) colors work again until next restart. However after the restart colors are off again. Unless the plugin is reloaded. This is a huge problem because clearly i can't reload the plugin everytime the server restarts.
So i would really appreciate if this issue was fixed. This is what i mean for colors: http://pastie.org/8159951
After a reload. The message would be rewrote with all the colors specified. However if the plugin isn't reloaded it will just rewrite it all pure white. The plugin has highest priority.
-
View User Profile
-
Send Message
Posted Jul 18, 2013Could you possibly add a way to carry a user variable into the expression? For example I have a command namely !maul and I want it so if a player says !maul Zaonhort it will say in console "Player mauls Zaonhort"
I have it setup like this:
match !maul then deny then console say &player mauls &string
However it always shows the !maul part
-
View User Profile
-
Send Message
Posted Jul 18, 2013@HansaHalim1515
Here, EpicATrain's giant rules.txt file is what you might be looking for: http://pastebin.com/Z7yFci59
As for the random "23o4rk2p3o44" spam, that might be impossible to actually catch. Us humans can see that its spam, but from a computer's (programming/code) perspective, it can't recognize that it isn't actual words.
-
View User Profile
-
Send Message
Posted Jul 18, 2013hello can anyone give me a good example.txt i copied the one from actions but its not good enough... people can still do 112312e1231421348e1hdencer2chbjklwfbnsdhnxe2 or ui cx3noebdxindgyqgnwerydhu2sdfijyhiruwyqfgeihdi76i2 plz help thanks in advanced :)
-
View User Profile
-
Send Message
Posted Jul 17, 2013Sage905: Downloaded from bukkit, got that version not 1.2.26. Not sure what's going on.
-
View User Profile
-
Send Message
Posted Jul 17, 2013@giffordj
This is probably because PwnFilter is built against Vault 1.2.26. If you upgrade vault, it should get rid of the error.
Also, note that Vault support is only required for the "then fine" action. At the moment, nothing else uses it. If you don't need that action, this message is harmless.
-Sage
-
View User Profile
-
Send Message
Posted Jul 17, 2013I have vault installed, but getting this error message. Using the latest vault on bukkit.org.
2013-07-17 04:13:21 [INFO] [Vault] Loading Vault v1.2.25-b333 2013-07-17 04:13:21 [INFO] [Vault] Enabling Vault v1.2.25-b333 2013-07-17 04:13:21 [INFO] [Vault][Permission] GroupManager found: Waiting 2013-07-17 04:13:21 [INFO] [Vault][Permission] SuperPermissions loaded as backup permission system. 2013-07-17 04:13:21 [INFO] [Vault][Chat] GroupManager found: Waiting 2013-07-17 04:13:21 [INFO] [Vault] Enabled Version 1.2.25-b333 2013-07-17 04:13:21 [INFO] [Vault][Permission] GroupManager hooked. 2013-07-17 04:13:27 [INFO] [Vault][Chat] GroupManager - Chat hooked
2013-07-17 04:14:05 [INFO] [PwnFilter] Vault dependency not found. Disabling actions requiring Vault
Any ideas
-
View User Profile
-
Send Message
Posted Jul 15, 2013@DreamPhreak
Alright, thanks man ;)