CensorIt
How to use video by Samkio and Torrent
Tired of people cursing on your server and reading their immature messages or what they think of your family? Search no more! CensorIt is the plugin for you. CensorIt has been specifically designed to remove unwanted words no matter how they are spelt, let it be with special characters, repeated characters, spaces or capitals!
The plugin contains a list of censored words and a list of allowed words. This way you can censor for example ass without censoring glass, assassin, grass, etc. You only need to add the normal form of the word in lower case. For example if you censor only ass, the plugin takes care of preventing ass, AsS, @$$, a ss, a.ss, a s s or a_s_s.
The plugin also has a learning function with which verifies online for the existence of a word and automatically adds them to the allowed list. It makes censoring a little slower at first, but as words are added automatically to the allowed lists it will become faster.
The plugin also contains a public API which can be used by Other plugins to censor many different things involving text like signs, whispers, shouts (these features are not included in this simple plugin).
Installation
- Get the latest recommended build of CraftBukkit here.
- Download file CensorIt.jar and place it in your Plugins subfolder
- Start the server once and stop it.
- Go in folder Plugins\CensorIt
- Open file censored.txt and add the words that you want to censor. It is suggested to modify these files in Notepad++.
- Optional : Open file allowed.txt and add the words that you want to prevent from being censored. (e.g. assassin, grass, glass)
- Optional : Open file replacement.txt and add the words that you want to use as replacement words when /censorit replaceon is active. (e.g. cloud, hug, happy)
- Start your server
Commands
General commands (require CensorIt.word and/or CensorIt.admin permissions)- /censorit config - List configuration commands.
- /censorit word - List word management commands.
- /censorit enable - Server-wide enable censoring.
- /censorit disable - Server-wide disable censoring.
- /censorit reload - Reload configuration.
- /censorit verify - SLOW! Verify words online (added to allowed list). Currently using http://dictionary.cambridge.org/ dictionary. Other plugins can change this property through the API.
- /censorit unverify - Stop verifying words online.
- /censorit replaceon - Enable word replacement (e.g. bird, flower).
- /censorit replaceoff - Disable word replacement.
- /censorit censor|uncensor - Censor or uncensor a word. (e.g. ass, fuck)
- /censorit allow|unallow - Allow or unallow a word. (e.g. grass, assassin)
- /censorit replace|unreplace - Add or remove a replacement word. (e.g. bird, flower)
How to connect to the API from your plugin
- Add an external reference to CensorIt.jar
- Modify your onEnable event to verify if the CensorIt plugin is present like so : getServer().getPluginManager().isPluginEnabled("CensorIt")
- In the class you want to use the API in, import com.worldcretornica.censorit.CensorItAPI
- You do not need to instantiate the API, it is a static class and contains the same configuration as other plugins. Just type CensorItAPI.something to get the list of available commands.
- Basic usage : use the function CensorItAPI.censor(string) to receive the string censored
Things to do
- Save the censoring state configurations : verify, enabled, replace words. Currently only the word lists are saved.
- Add option to color censored words/replacement words.
- If possible, need to find a way to disable censoring for the current player. Best would be to leave this to other plugins to implement. If someone has a suggestion on how to implement this without breaking other plugins please tell me how.
- Check for 8 used as a b and () used as an o
- Fix incompatibility with SpamHammer. Censored text don't count as spam for some reason
- Put option to censor IPs
- Add other charset support (e.g. russia). I thought they would already work but I've been told otherwise.
Changelog
Version 0.1- Initial release
@Brangspears
No need, it works in 1.5.1
Update Pleaseeeee
Its nice that your implementing the ip censor, but can u see if you can add caps as well? That would he awesome because this plugin is great :D
This a great plugin, but it's not smart enough. I censored noob, I type in a lot of ways to say noob. When I said it like N()()B It is censored, but when I say N@0B it isn't. should I just block these words?
@Crazykool5
It's not abandoned, it just still worked from all this time.
Could you elaborate on how this breaks because of Vault?
It breaks with the newest version of Vault. A question: Is this plugin abandoned?
When I censor a word that is in a sentence, it screws up the sentence. For example 'what the hell' turns into 'whathe #&%$'
Wow, great plugin. It would be even better if players could add a word to censor but optionally could include a corresponding word. For example, I want to replace "ass" with "butt," so I would type /censorit add ass:butt. Now when I type "ass" it says "butt." If I don't want a corresponding replacement word, it would just say the normal &%#. So I would just type /censorit add ass. So the command layout would be like this: /censorit add <word>:[replacement]. Thanks. :)
i can't censor the Number or simbol. Fix it please
@kenaston
it still works
Update?
Exploit Found!
You can type a ! in the middle of any word and it is not censored!
Dear Zachbora,
Thank you very much for creating this plugin. I am an owner of a Christian server called HolyTrinity and I've been looking for an intelligent word censor that will block cursing. I love how you have the replacement feature, that is going to be a lot of fun to play with :P Keep up the great work and PLEASE keep this plugin alive, my server depends on this.
Sincerely, joeydev
Website: www.holytrinity.biz (website is still under construction) IP: mc.holytrinity.biz
Is it possible to make an update with the latest version of Vault? The new Vault update broke the plugin, thus it does not censor. Thanks for the great plugin! :D
I've found a bug, When I censor some word with * in it the censorit plugin crashes. Sometimes the players type Fk with in it then I have to censor Fk but I can't then.
/Carlgo11
@krconv
That's why it says slow on the feature... Depends on the latency you have with said website. It depends on your internet speed more than your computer spec.
@krconv
I've never had any issues, with much more modest specs. The chat lags slightly, but it certainly does not crash the server.
[rage]
WARNING
DO NOT USE THE VERIFY FEATURE! IT TOOK DOWN A SERVER RUNNING ON 48GB DDR3 1333 ECC RAM AND 2x 6 Core Intel(R) Xeon(R) CPU X5650 @ 2.67GHz (12 cores, 24 with hyper threading)!!! THE FEATURE CAUSED HUGE CHAT LAG! DON'T EVEN THINK OF USING IT! THE STUPID DEV THINKS ITS A GOOD IDEA TO ONLY USE THE WORD "SLOW!' TO TELL US ALL THIS!!!! WHY THE HECK WOULD YOU MAKE THE PLUGIN VERIFY EVERY SINCE WORD SAID ONLINE! AT LEAST DOWNLOAD THE LIST ONTO A FILE!
[/rage]
@Technius
I've noticed this too. Sometimes I'll get the whole sentence "?null"ed, and other odd stuff.
If you want to turn on replace words instead of manually doing it. Use AutoCommand bukkit plugin which has an option to run any command when the server starts. (has many more options) But I use this as a work around so replace words will always be on without me having to do it.