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
I would like mods on my server to be exempt from the filter, but there are some commands that reroute through the filter, such as
match (?<!.)/donate
then deny
then warn &bGo to &ahttp://choicecraft.net/pages/donate/ &bto donate!
is it possible for them to still be able to type the other filtered words, but have certain 'matches' apply to them?
Hi i would love to request a perm/command that when you do it, It will make so you can swear and see it (including others) but the player who doesnt have it on will not see the swearing. I would love to see this feature thanks <3 So yeah i hope you will be able to do this....
@CoolLord22
It is compatible with 1.8. You need Java 8, though.
-Sage
@Sage905
So I am assuming it's not compatible with 1.8?
All,
Please see my announcement at the top of the main page. Dev builds are available now, are compatible with 1.9, and REQUIRE Java 8. These builds compile and run, but are ALMOST CERTAINLY BROKEN IN SOME WAY.
If you can help me out, by testing them, and reporting issues, I will fix them asap.
Thanks, Sage
https://www.spigotmc.org/resources/pwnfilter.20162/
For anyone who sees this, 1.9 update progress here:
https://github.com/Pwn9/PwnFilter/issues/16
pfreload broken
[04:25:59 WARN]: Unexpected exception while parsing console command "pfreload" org.bukkit.command.CommandException: Unhandled exception executing command 'pfreload' in plugin PwnFilter v3.3.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:627) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:412) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:375) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_73] Caused by: java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429) [?:1.8.0_73] at java.util.HashMap$KeyIterator.next(HashMap.java:1453) [?:1.8.0_73] at com.pwn9.PwnFilter.DataCache.stop(DataCache.java:106) [?:?] at com.pwn9.PwnFilter.command.pfreload.onCommand(pfreload.java:46) [?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot-R0.1-db6de129199.jar:git-Spigot-5f38d38-18fbb24] ... 8 more
this plugin is having memory leak. I have did cheap dump minutes before out of memory and this plugin was the cause.
@SentryTheDefiant
He didn't say why, but he decided to quit, and stop work on his filter. Maybe soon I'll find the time to convert his filter (with his permission) into the new filter system.
I'm not totally sure about this, but you might be able to put the text file in /plugins/PwnFilter/rules/_.txt and then in one of the other files, like rules.txt, include it with "include _.txt" - But I also think this shouldn't be a permanent solution.
@EnderdragonDotDe
You should open a ticket about it so Sage can see it
@LewisPotato
Pwnfilter doesnt include those kind of administration commands (sides kick), however you CAN use the "then console" action to execute a command from any other plugin that does have mute. Example, if you are using Essentials plugin, it's mute command is "/mute <player> [datediff]", so if you wanted pwnfilter to do that command when there's a rule match, it would be "then console mute %player% 2m" and then the warning "then warn %player% you've been muted for _"
If you wanted specifically for a private message from the server to a player instead of using warn, "then console tell %player% you've been muted" or any message you want
@Pikachu1250
You could try using \s* where you want to match the spaces. so like "Y\s*ay" would match "Yay" and "Y ay" and any number of spaces.
Hi, How do I make the plugin mute players for 2 minutes and the console to message the player a warning?
-Thanks
Is there a way to block people using spaces while saying bad words to bypass the filter? Like someone typing "Y ay" instead of "Yay"? Please help this is very important.
Bug: If somebody gets enough points for 2 or more thresholds at the same time the actions of both thresholds are executed. Just execute the highest should be better.
Could you add an option that if a player gets a certain amount of points the points don't lower over time? Just in case you want somebody get banned for ever.
Config:
Hi, Just wondering, with EpicATrain's filters for the later versions no longer available (for now?), where does that put new users looking to set up this filter on the latest version server? I tried a classic version, just to see what would happen and it doesn't seem to work under 1.8.x. (which I expected)
Alternatively, does anyone have their own filters they could send me? Creating a list from scratch seems... daunting. I don't think I'm nearly as creative as these kids are these days.
@HellJumperCentral
These are not issues with PwnFilter, but it's configuration. For example, if you look at the default rules.txt configuration, you will see this rule:
Your player probably said: "This server sucks", and PwnFilter changed it to "This server is great!", then banned the player.
So the server I have been moderating on has had issues with pwnfilter warning players for curing or using foul language when they never have used any foul language.As well it recently banned a player for saying the server was great, it used console and banned the player, in the ban message it said that he was banned for "server hating". Please fix these issues as soon as you can
@Liger_XT5
Yep. So, in that case, you would need integration with CloudChat. What I'm working on at the moment, is an API for PwnFilter that any chat plugin could call directly. But that still requires the chat plugin to make the integration.