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 May 3, 2013Is there a way to specify only certain rules for signs? I have a user trying to make signs that say
Room 101
but the filter is blocking the ===== because it thinks it is spam (which in chat, it would be)
-
View User Profile
-
Send Message
Posted May 3, 2013Hey, can you add a line of code that will allow me to ignore player names on the server? For example, If I have a filter that stops players from putting numbers in words, such as hi7llo, but there's a person with the name t0mmy, I want to add a line of code to each one of my filters that's something like...
This would SERIOUSLY help out my filter.
-
View User Profile
-
Send Message
Posted May 2, 2013Hi,
got a bit wrong
2013-05-03 01:46:37 [INFO] [Viktigt!] !!Ni får själva bestämma vad ni vill ha tillbaka från förut och spara!! ... 19 more [ at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [ at me.confuserr.banmanager.Commands.BanCommand.onCommand(BanCommand.java:46) [ at me.confuserr.banmanager.Commands.BanCommand.ban(BanCommand.java:91) [ at org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer.kickPlayer(CraftPlayer.java:217) [ Caused by: java.lang.IllegalStateException: Asynchronous player kick! [ at java.lang.Thread.run(Thread.java:722) [ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [ at java.util.concurrent.FutureTask.run(FutureTask.java:166) [ at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [ at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [ at org.spigotmc.netty.NettyNetworkManager$2.run(NettyNetworkManager.java:113) [ at net.minecraft.server.v1_5_R3.Packet3Chat.handle(Packet3Chat.java:44) [ at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:841) [ at net.minecraft.server.v1_5_R3.PlayerConnection.chat(PlayerConnection.java:901) [ at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:461) [ at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479) [ at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [ at com.pwn9.PwnFilter.PwnFilter$1.execute(PwnFilter.java:61) [ at com.pwn9.PwnFilter.listener.PwnFilterPlayerListener.onPlayerChat(PwnFilterPlayerListener.java:50) [ at com.pwn9.PwnFilter.PwnFilter.filterChat(PwnFilter.java:568) [ at org.bukkit.Bukkit.dispatchCommand(Bukkit.java:201) [ at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServer.java:547) [ at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189) [ at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [ org.bukkit.command.CommandException: Unhandled exception executing command 'ban' in plugin BanManager v2.4 [ [SEVERE] Could not pass event AsyncPlayerChatEvent to PwnFilter v2.4.1
-
View User Profile
-
Send Message
Posted May 2, 2013Uff, I have a little problem... I'm using PEX to manage my permissions, and when i negate the pwnfilter.bypass.* with "-pwnfilter.bypass.*" it doesn't work... I'm De-opped but admin class has '*' permission.
I don't know if it is a failure from PEX or from your plugin, can you add to the config a way to disable bypass? I like all people including admins can't bypass the chat.
EDIT: Error is from PEX and there is no solution ('*' node). I hope you add a way to avoid this perm, I found a temporality solution but it is annoying, it consists into assign every admin -bypass permission manually.
-
View User Profile
-
Send Message
Posted May 1, 2013Regarding the "then console say" getting passed /mute, is there any way around it?
-
View User Profile
-
Send Message
Posted May 1, 2013@_DioM_
Yeah, replace is for the word, but you can "then deny" for the whole message.
-
View User Profile
-
Send Message
Posted May 1, 2013@DreamPhreak
Alright, thanks. I'd thought the 'replace' setting simply replaced the banned word, as opposed to the message itself. I've not done a ton of testing, yet.
-
View User Profile
-
Send Message
Posted May 1, 2013Suggestion: Add a way to specify burn time... players actually are burned to death.
Ex: then burn 5s Esa boca!!
I have searched on the pages how to specify seconds but i don't find any like this.
I've found a possible solution "then console burn 5 &player Esa boca!!" but i think that you can add this feature... Thanks.
Edit: Warn worked very well, thanks"
-
View User Profile
-
Send Message
Posted May 1, 2013@_DioM_
I believe if you did "then replace" without anything after it, it should make it blank.
-
View User Profile
-
Send Message
Posted May 1, 2013Is there any way to cut a profane message from chat entirely?
-
View User Profile
-
Send Message
Posted May 1, 2013@Shelmak
Its no problem at all! Feel free to let us know about anything else, and also if the "then warn" worked. :)
-
View User Profile
-
Send Message
Posted May 1, 2013Ouch.... FAIL... I don't need anymore. Sorry for the questions. I don't considered to use the warn command...
Thanks for your help :)
-
View User Profile
-
Send Message
Posted Apr 30, 2013@Shelmak
Try "then warn That server doesn't use any plugin"
-
View User Profile
-
Send Message
Posted Apr 30, 2013@DreamPhreak
Ok, i only hope to make sure that it will no affect to server performance. I like to replace more than 100 words (Im really impressed how my users can destroy a language)
Thanks for your response. But i like to make a suggestion, add a new then parammeter to "send text" to a player. (I'm using msg from console to inform admins that his pex group have changed when they use /adminmode on/off)
Ex:
-
View User Profile
-
Send Message
Posted Apr 30, 2013@Shelmak
It shouldnt lag. It uses the ASync chat so pwnfilter doesnt have to interfere with the server. And especially with 80 players, it should be virtually unnoticeable.
-
View User Profile
-
Send Message
Posted Apr 30, 2013Umm, i have a question. Can this plugin cause lag? I'm the admin of a spanish server and there are many users that write very bad (Very much ortographic errors), then i like to add very much word replacements... (I think it can cause lag because of replacements)
My server usually has 50-80 users, this plugin is awesome and very usseful. I made a "/adminmode on/off" with this and the permissions ex plugin that works very well.
-
View User Profile
-
Send Message
Posted Apr 29, 2013Is there an option to Not ByPass all OPs ?
-
View User Profile
-
Send Message
Posted Apr 29, 2013New version of my language filter out for Pwnfilter. Currently I'm only supporting 2.3.5 because I haven't even downloaded, tested, or played with the new 2.4.x versions that are out. Version 9.15 MAY work with these, but I'm not really sure. If somebody could test, that would be awesome!
https://www.facebook.com/LanguageFilter
-
View User Profile
-
Send Message
Posted Apr 29, 2013Nice plugin, there is a option for repeter ? ( once = kick, second = ban|mute) ?
-
View User Profile
-
Send Message
Posted Apr 29, 2013@TNT24X Dont even need regex...
So even if you typed something like "butterbars", it would change it to "goldbars".
@jake0o0 In the config.yml, under: cmdlist: [], (not cmdblist), change it to: