TechieFilter

This is a powerful chat filter intended for servers of all sizes. Most filters use regex. The issue with regex is that it can't catch everything; there are ways to get around it. You can type the word with a different spelling, put symbols in-between each letter, etc, and regex just won't catch it. This filter is different - it can catch just about every attempted bypass out there, and we're always working to prevent more. Try it out!
TechieFilter 2.0.6 is out! Due to some issues with the advanced curse detection system, the old detection system is enabled by default. To enable the advanced filter use the command /tf aggressivematching (Note: this option is EXPERIMENTAL)
| Command | Description | Node | ||
|---|---|---|---|---|
| /tf s add <word> replacement/command <replacement/command> | Adds a word to the curse list. The replacement/command part is optional, including the word "replacement" will add a specific replacement for that word including the word "command" will add a specific command that will be triggered when that curse is spoken in chat. | techiefilter.admin | or | techiefilter.swears.add |
| /tf s remove <word> | Removes a word from the swear list. | techiefilter.admin | or | techiefilter.swears.remove |
| /tf r add <word> | Adds a word to the replacement list. | techiefilter.admin | or | techiefilter.replacements.add |
| /tf r remove <word> | Removes a word from the replacement list. | techiefilter.admin | or | techiefilter.replacements.remove |
| /tf whitelist <word> | Adds a specified word to the whitelist. | techiefilter.admin | or | techiefilter.whitelist |
| /tf list s/r | Displays a list of all the current Swears/replacements . | techiefilter.admin | or | techiefilter.swears.list |
| /tf debug | If enabled debug features show up in chat. | techiefilter.admin | or | techie.debug |
| /tf aggressivematching | Enables/disables advanced sensitive curse filter. | techiefilter.admin | or | techie.aggressivematching |
| /tf help | Displays a help menu . | techiefilter.admin | or | techiefilter.help |
| /tf version | Displays the current version of TechieFilter . |
(This plugin uses MCStats to gather statistics)
Nodes!
- techiefilter.admin- Access to all commands (members of this node will get notifications when swears/replacements are added/removed)
- techiefilter.swears.add-Permission to add swears to the filter
- techiefilter.swears.remove-Permission to remove swears from the filter
- techiefilter.replacements.add-Permission to add random replacements to the filter
- techiefilter.replacements.remove-Permission to remove replacements from the filter
- techiefilter.whitelist-Permission to add/remove words from/to the whitelist
- techiefilter.swears.list-Permission to view the swears/random replacements list
- techie.debug-Permission to enable/disable debug mode
- techie.aggressivematching-Permission to enable/disable aggressive matching mode
- techiefilter.help-Permission to view the help menu
To do:
- Implement additional bypass protection. (so "b l e e p" is still detected as "bleep")
What will be in the next version?
- Sign filtering.
- Server advertising filter. (Only IPv4's will be filtered in the next update)
- Allow user to specify how data is stored (SQLite, MYSQL or YML)
- Command filtering (EX: /me *insert curse here*)
- Improved Regex filtering
If you find any bugs please post a ticket!
SOURCE:
Due to the lack of time this project hasn't had the attention it deserves. If you wish to fork the project or take it over, feel free. Be ye warned: The source is quite messy as we were in the process of cleaning it up and adding/removing large chunks, as such it is not documented very well (if at all).
We are very sorry that this project has been halted for the time being, the files located in the download section should work with all of the latest versions of Bukkit, but that is not a guarantee, especially with the future releases of Bukkit.
-
View User Profile
-
Send Message
Posted Dec 22, 2012@Littlefryingpan
Thank you. Could you post a link to this?
-
View User Profile
-
Send Message
Posted Dec 22, 2012@Scripthen
Issue resolved in version 2.0.5
-
View User Profile
-
Send Message
Posted Dec 22, 2012Hello,
word replace seems to not work on my server (1.4.6), I have done some editing in config to try and get it to work but nothing
config example:
None of them replace.
ver:
I did get an error, this was random and no words were said however:
Linux Server, OpenJDK 1.7 (tried 1.6 also) (Java 7, Java 6)
SebianOS (Debian based)
-
View User Profile
-
Send Message
Posted Dec 15, 2012@buddmckenna
We'll try our best to have it out by then. We have one major bug to patch, then it should be set.
-
View User Profile
-
Send Message
Posted Dec 12, 2012How is version 2.0 coming along? You guys should release a fixed 2.0 version as a Christmas present to us server owners :D
-
View User Profile
-
Send Message
Posted Nov 30, 2012@Littlefryingpan
Thanks, I will add your file listing to my RSS Reader for future updates :D
-
View User Profile
-
Send Message
Posted Nov 29, 2012@xclucky Currently command chat filtering is not supported, but we will look into putting that into the next update (Or at the least adding filtering the "/me" command)
Also, if the IP address censor is implemented we will have the two config options you listed.
Thanks for the suggestions.
@wolfwork At this time we wish to keep the plugins source private. Sorry.
-
View User Profile
-
Send Message
Posted Nov 29, 2012Does this support command chat filtering? (ie /me curseword)
Also, I support the idea of Ip address censoring, however, make domain and ip censoring two different configs (ie: domain-censor: true, ip-censor: true)
-
View User Profile
-
Send Message
Posted Nov 17, 2012Could you upload this plugin source ?
-
View User Profile
-
Send Message
Posted Nov 17, 2012Could you also add a way to stop ip addresses and domains.
-
View User Profile
-
Send Message
Posted Nov 17, 2012Our new filter is out! Please note that you will need to re-enter all of your curses and replacements.
-
View User Profile
-
Send Message
Posted Nov 14, 2012@matagin
Make sure you have a word/words in your replacement list.
-
View User Profile
-
Send Message
Posted Nov 13, 2012When I type a word that was adding to the swear list in chat, I get the following error in the console:
12:01:30 CONSOLE: [SEVERE] Could not pass event AsyncPlayerChatEvent to TechieFilter v1.3.6 12:01:30 CONSOLE: java.lang.IllegalArgumentException: n must be positive
-
View User Profile
-
Send Message
Posted Nov 10, 2012In response to everybody's comments, we're currently rewriting the plugin to include the following features::
The updated plugin should be complete within a week. Thanks for checking it out!
-
View User Profile
-
Send Message
Posted Nov 6, 2012@Littlefryingpan
That is great! I will be looking forward to an update.
On a side-note, I think you guys should think about expanding the horizons of this plugin past just a chat filter. Once you can set specific commands for specific words, you will be able to use this as a way of running certain commands without needing to type the '/' and this could be used as a trigger for any number of different things. This could eventually be one of the more useful and versatile plugins, so I hope you guys set your sights high :)
-
View User Profile
-
Send Message
Posted Nov 3, 2012@buddmckenna
That is possible. If Plane or I get any free time we'll look into adding specific replacements/commands for specific swears. I'll try and get this done before the end of the month.
-
View User Profile
-
Send Message
Posted Nov 2, 2012@Littlefryingpan
I got it working, thanks. Also, would it be possible to have specific commands tied to specific swears? Because I am actually using your plugin to force a player to run the command '/lagmem' (which shows the ticks per second) any time they say the word lag. If you are able to, this plugin could be used to do a lot of interesting things.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@buddmckenna
I'm pretty sure that command replacements are working.
If you currently have it set to replacement mode (The curses get replaced by certain words) then you need to type, "/tf mode" After doing so you should get a message saying, "[TF] Command mode enabled."
After you set it to "command' mode you should open up the config and find the part that says, "command: kick %player Don't curse!" You can replace "kick" with whatever command you wish to run. The example it gives would be the same as typing "/kick Playerjoe Don't curse!" So basically you replace "kick" with whatever command you wish to run then where you would normally type the player name by hand you put "%player" and all the other arguments that command needs. After you have it will run in the console the command you stated and it will replace "%player" with the player that said a word from the naughty list. Hope this makes sense.
Thanks, Littlefryingpan
-
View User Profile
-
Send Message
Posted Oct 25, 2012This plugin is exactly what I was looking for. Are the command replacements working? B/C it seems to be set up in the config, but it is still in the "to do list". If they are working, what is the syntax for running a command after someone says one of the keywords?
-
View User Profile
-
Send Message
Posted Oct 7, 2012@Kisurahara
It sounds like you might have the techiestaff.admin node attached to all players. Can normal players use any of the /tf commands? You need make it so only admins (or who ever you want) are the only people with rights to the techiestaff.admin node. That should fix your problem.
And that is a good suggestion. We shall look into adding the option to have specific replacements for specific swears.