BadWords
DO NOT INSTALL / UPGRADE TO VERSION 1.5 (or above) OF BADWORDS UNLESS YOU ARE RUNNING CRAFTBUKKIT 1.7 OR GREATER
An auto censor plugin that enables you to stop worrying about players swearing on your server. The number of warnings can be specified, as can the action that is taken once the warnings are expired (kick or ban).
For Portuguese speaking users, user AbsintoJPl has very kindly provided a video tutorial for Badwords. Thanks AbsintoJ!
Features:
- Individual words or entire phrases supported
- Regular expression support
- Banned words can be substituted for less offensive words
- Admin can define how many warnings players get
- Admin definable punishment (kick or ban)
- Case insensitive matching
- Only whole words or phrases are matched (i.e. "the" would not match in "tether")
- Admin can define who gets notified of profanities
- Nominated players (and op) can be ignored by BadWords
What's new?
- New to 1.52 - Hopefully fixed async kicking bug (Tickets 31, 33 & 34)
- New to 1.52 - Added UUID support (when you first start this version it will migrate your config file to using UUIDs instead of usernames)
- New to 1.52 - Added "reload" command to reload BadWords config
- New to 1.52 - Added "ignore.op" config option which makes BadWords ignore swearing by ops
- New to 1.52 - Added ability to tell BadWords to ignore swearing by nominated players
- New to 1.52 - Added optional auto-update of plugin
- New to 1.52 - Added "update" command to update plugin (if available)
- New to 1.52 - Added "banreason" config option
- New to 1.41 - Fixed bug in warning timestamps
- New to 1.40 - Added functionality that unbans a player when their warnings are reset
- New to 1.40 - Fixed bug that broke update checking enabling/disabling
- New to 1.40 - Fixed bug in "warnings" that would give remaining warnings for non-existant players
- New to 1.40 - Fixed bug preventing commands from being issued on the console
- New to 1.31 - Update checking can now be disabled
- New to 1.30 - Warnings can now be reset by an op
- New to 1.30 - Warnings can be configured to expire after a set time
- New to 1.24 - Fixed bug causing players to be warned of remaining warnings, when warnings -1 was set in config
- New to 1.23 - Fixed bug causing sporadic exception when adding or delete word from banned list in game
- New to 1.22 - Banned words can now be substituted for less offensive words
- New to 1.22 - Changed command from /bw to /badw to avoid collisions with other plugins (e.g. ButtonWarp)
- New to 1.2 - Various admin commands now available in game (see details below)
- New to 1.2 - Log censored messages
- New to 1.2 - Server logs and Ops are now notified when an update to BadWords is available
- New to 1.2 - Permission support
@ChuckHunky
I'm not sure how you read your config. But I have a suggestion. In the config you have something like..
1:jail {player} MainJail 5 m
2:kick {player}
3:ban {player}
You get the idea. This could be used with any number. You could do it in a format of
Actions:
-"1:cmd"
-"2:cmd"
And interpret it into an Array.
You should really add jail and mute to the list of actions, on my server, people get muted on the first warning, jailed and muted on the second and then temp banned for half an hour on the third.
Does anyone have a list of all profane, sexual, offensive, etc. words? This would be great as I don't allow that on my server
@Gnomeo76
Ah, yes, a bug, thanks for that, I'll fix it
@GeneralShep
Thanks for that, I'll investigate
Getting this error with 1.2.5 Beta build
2012-04-29 09:33:26 [SEVERE] Could not pass event PlayerChatEvent to BadWords org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:786) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:103) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:169) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.util.regex.PatternSyntaxException: Unclosed group near index 7 \bFu(\b ^ at java.util.regex.Pattern.error(Unknown Source) at java.util.regex.Pattern.accept(Unknown Source) at java.util.regex.Pattern.group0(Unknown Source) at java.util.regex.Pattern.sequence(Unknown Source) at java.util.regex.Pattern.expr(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.<init>(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at uk.co.warmlight.andrew.BadWords.BadWords.didTheySwear(BadWords.java:150) at uk.co.warmlight.andrew.BadWords.ServerChatPlayerListener.onPlayerChat(ServerChatPlayerListener.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ... 13 more 2012-04-29 09:33:26 [INFO] RiotShielder: shit
This probably isn't this plugins proper use, but it would still be good to have it, I need an option in the config to turn off the warnings and kicks completely, as I am using this plugins to automatically correct language to old english. Example: when a player says 'you', it becomes thou, and 'your' becomes thine. Its great for this use, other than that whenever you lgin, it says [BadWords]19804978123948 warnings left.
@gabriel11798
Created a ticket
Can there be a timer for when the warnings reset? (maybe after they are kicked)
@KyleBoyer
This is already requested in ticket 5 and is in the pipeline
@Invicter
I'll make the source available soon, it's in SVN at the moment and I'd like to move it to Github, once that is done I'll put a link here
It can be changed in source, but when I try to compile decompiled Java class there are errors even if i haven't changed anything...
Please add the ability to add a custom punishment such as jail or tempban.
Could You share source? I would like to make this plugin use my language (PL - Poland) :)
I work for a large media company. Several years ago, I helped compile a list of words that would be filtered from our message boards and article comments.
You can find a copy of it here.
It's what I used as a starting point for my install of BadWords. You'll want to edit this list for simple and substring matches as well as review some of the words. For example, the word "clam" is on this list, which is not normally used as profanity but in context, could be.
Feedback is welcomed, along with any additions you may have.
This is a dirty job, but somebody have to do it ;)
@CosmicVoyager
I wasn't previously aware of CensorIt, looks like a great plugin!
@hanswalter123
I'm afraid not, the plugin will only ban the player. You could look in the server logs for the player's IP address and manually ban it
is there a way to ban ip adresses?
I wish CensorIt and Badwords could be combined so I could have CensorIt's filter abilities and dictionary check, and BadWords' warning, kick, and ban features.
http://dev.bukkit.org/server-mods/censorit/