WordFilter
WordFilter- Filters Words.
Objective
WordFilter is aimed to be a lightweight plugin to filter unwanted words that may be used on your server in everyday chat. From the occasional slip-up to full-blown ragequits, WordFilter will keep your server's chat nice and clean.
Features
WordFilter is capable of filtering words based on a strict blacklist, allowing specific words with a whitelist, and is capable of filtering similar words with the fuzzylist using a specialized algorithm that is even able to decipher leet speak.
Setup and Use
For help installing and setting up, try the Installation page.
For help using the plugin, check the Usage page.
Know Your Rights
WordFilter is Free Software as it is defined by the Free Software Foundation. It is software that respects your rights and freedoms as a user of the software.
You have the four essential freedoms:
- The freedom to run the program for any purpose.
- The freedom to study how the program works, and change it so it does your computing as you wish.
- The freedom to redistribute copies, so you can help your neighbor.
- The freedom to distribute copies of your modified versions to others, so you can help your community.
This plugin is licensed under the GNU General Public License, version 3. It is a copyleft license which ensures that you have these four freedoms, instead of taking them away as most copyright does.
Bugs
If you find any bugs, please OPEN A TICKET. Note: WordFilter requires that you be using Java 7. Please make sure your java is up to date with AT LEAST Java 7.
I would be interested to see an update. Or dev builds.
When will this be updated?
Any word on an update or can someone suggest a quick replacememnt ?
@polo3400
I'm getting around to it. Should have it up within a day or two.
Yup, this plugin is broken. Please update.
Note: I'm pretty sure, with the changes to the chat system in 1.3.1, this plugin WILL need updating and will probably be hopelessly broken until I get an update out.
@Everdras
Is there a way to define one replacement map for all words
@Puttanesca621
...What's the point of a filter if you can opt out of it?
I actually have a permission node that can be assigned to a player to let the player bypass it, but I haven't actually made it a usable permission yet. I'll stick that in the next release.
Is there an option for players to opt out of the filtering?
Amazing Plugin, plan to switch over from NoSwear
v2.0.0 is up!
If you check the downloads section on bukkitdev before a Bukkit mod has a chance to approve the file, you may need to navigate to the latest release manually by choosing the "Files" tab and picking "WordFilter v2.0."
After a lot of debating, I decided on this implementation:
Blacklist: If any word on this list is founed to be contained within a word that is said on the server, the message is in violation.
Fuzzylist: If any word on this list is found to be "similar" to any word said on the server, the word is in violation.
Whitelist: If a word has been found to be in violation, but it is on the whitelist, the word is allowed and no longer in violation.
All methods are case-insensitive.
Does anyone care about how the old way allowed you to replace words with funny replacements? Because right now the plan is to allow you to, once a message is found to have a violating word, either suppress the message entirely and nothing appears in server chat, or you can replace the message with a funny phrase or something. I don't know if anyone was particularly attached to the old way where you could replace a single word.
So, while I was reviewing the old codebase, I remembered how completely dissatisfied with my old solutions I was. They were simple and naive and easy to work around. All the options and stuff that I offered to change the comparison algorithm were crappy and cluttered. The whole thing was really disappointing for me, both as a developer and user.
So, this time, I'm coming at it from a different direction.
I've been playing around with algorithms for finding the similarity between Strings, and I think that's the way I'm going to go. I did some simple tests and if you filter words that have over a 20 or 30% similarity to a blacklisted word, you can catch a lot of the simple variants people try to use to get around filters.
Let's say "pookie" is a bad word we don't want said in chat.
Here's how similar certain words are according to the algorithm:
Now, you'll notice the more "leet speak"-y we get the worse the algorithm performs. Using LeetSpeak is probably also the first thing people go to when they're trying to swear around a filter. So, I made some modifications to wisen it up to the intricacies of Leet Speak.
Now...:
The algorithm works almost perfectly now. For this word, you could easily set the threshold at 50% and you'd filter out everything you wanted.
So, that's the hard part done. I'll sleep on it to see if I can come up with anything better, and for good measure I'll see if I can run the past day or two of chat on my server through the plugin and see what it picks up on, both to see how good it is at catching words and to see how many false positives we get.
Enough of the codebase for this plugin is obsolete that I'm going to rewrite it from scratch. Might have something up by tomorrow or tomorrow night, depends on how much I can get done.
@realkangabean
Can you open a ticket about what's not working? Post console output.
EDIT: Actually, I know why it's not working, ignore that.
It does need updating as it posted a ton of errors in our console starting with 'is wordfilter uptodate"
It doesn't need updating guys, it still works perfectly.
I still laugh when new player cuss for the first time and die from fire, their responses are awesome.
I too hope to see an update to this, I would very much like my server to be better protected. A word might be just that, however, every word has a meaning and it is the meaning that is not called for in most cases.
@Iyeru
I hope it will. I don't mind cursing at all, they're just words in my opinion. However, this plugin des offer much in respect to joking around - such as filtering 'brb' to 'I will return, my sweet love.' Also, filtering skeleton to dem bones gives me a laugh as well.
Good plugin though, I love it.
@Baron6
Yeah, wonder if this will be updated. Doesn't look like anyone who plays minecraft wants a wordfilter, and wants to swear up storms. I don't like that in-game.