ChatCensor is a project mainly written in Java, it's free.
Bukkit Plugin: Chat censor system with auto-kick/fine/jail
ChatCensor - Chat censor system with auto-kick/fine/jail
Version: v0.21 (USE SQLITE? Rename your database from csensor.db to ccensor.db manually before using v0.21!)
Tested with craftbukkit builds: b617/b670/b740
This plugin lets you control used languaged on your server, by censor words you want.
You can also let users be kicked, fined and/or jailed, if you are running the appropiate plugins.
Features:
Filters words by pattern
Auto-Kick on use of forbidden word(s)
Let players pay a fine on use of forbidden word(s)
Let players spend time in jail on use of forbidden word(s)
Keeps track of players by storing stats in database
Lets you also use the different actions manually.
Toggle different actions on/off with commands
Set jailtime/fine amount with commands
Auto increase jailtime for recidivists
import/export wordlists
[spoiler=Prerequisites]
A mysql*.jar or sqlite*.jar in your bukkit or bukkit/lib folder
iConomy (tested with 5) - optionally
Jail (tested with v0.6.1) - optionally
Tested craftbukkit b617/b670/b740
GroupManager v1.0(alpha-5) - should work on permission, but this is untested
It checks on groupmanager first, then on permissions plugin. If not found, the plugin is disabled
[/spoiler]
[spoiler=Installation]
1) Drop the Jar in your plugin directory, and start your server.
2) Stop your server and open the generated config.yml (in plugin/ChatCensor)
3) Setup your defaults, save the config.yml and start your server
4) Start adding forbidden words with /cc add word, this can be done on the server console, or in the mc client
5) set the right toggles with /cc toggle pay|jail|kick|mute
6) off you go!
[/spoiler]
[spoiler=Config.yml]
[code]
#
settings: fine-amount: 50 jail-time: 2 auto-increase-jail-time: 0.0 kick-when-broke: true use-regex: true jail-api-type: consolecommand
toggles: use-autofine: true use-autokick: false use-autojail: false use-jailmute: false
database: type: sqlite mysql: name: minecraft username: root password: root hostname: localhost port: 3306
labelsandcolors: chat-prefix: '[CC]' chat-prefix-color: '&d' chat-message-color: '&f' chat-highlighted-color: '&a' replace-color: '&e' replace-word: bananas marked-words-color: '&c'
broadcasttext: player-fined-message: '@playername@ received a fine of @fine-amount@ coin!' player-kicked-message: '@playername@ is kicked for not following our rules on cursing!' player-jailed-message: ' @playername@ is jailed @jailtime@ min for not following our rules on cursing!'
messagetext:
player-fined: 'You have been fined @fine-amount@ because you were not following our rules!'
player-kicked: 'Kicked automatically because you were not following our rules!'
player-kicked-fined: 'Kicked automatically and fined @fine-amount@ for not following our rules!'
player-muted: 'You shout, but nobody is hearing you'
internal-possible-toggles: 'Possible toggles: jail - pay - kick'
internal-jail-status: 'Autojail status: @autojail-status@'
internal-kick-status: 'Autokick status: @autokick-status@'
internal-payfine-status: 'Autopay fine status: @autopayfine-status@'
internal-jailmute-status: 'Prevent chatting in jail: @jailmute-status@'
[/code]
[/spoiler]
[spoiler=Permissions]
[code]
ChatCensor.reload /cc reload|import|export
ChatCensor.status /cc - /cc check|top
ChatCensor.list /cc list|status
ChatCensor.modify /cc add|remove|setfine|setjailtime|toggle|reset|clearall
ChatCensor.action.* /cc jail|kick|fine
ChatCensor.action.kick
ChatCensor.action.jail
ChatCensor.action.fine
[/code]
[/spoiler]
[spoiler=Commands]
[code]
/cc or /cc status -> shows status page (with all settings on fines/jail/time etc)
/cc list
Download latest version: http://www.crafters.nl/cc/ChatCensor_v0.21.zip ([url=http://www.crafters.nl/cc/ChatCensor.jar]Jar only[/url])
Source Code is included in Jar and available through my github Changelog: Version 0.21 Fixed path bug for sqlite/linux systems Changed sqlite database name from csensor.db to ccensor.db (Use SQLITE? rename your db manually to ccensor.db before using v0.21!)
Version 0.20 Fixed autojail bug Fixed iConomy 5 support
Version 0.19 Made plugin compatible with jail 0.6.1
Version 0.18 Fixed bug with upper/lower case words not being replaced
Version 0.17 Fixed bug which caused whole sentence being replaced by 1 word [spoiler=All Versions] Version 0.16 Fixed error after disabling plugin Added some code for full regex search (not functional yet)
Version 0.15 Little changes to iconomy setup (use subtract instead of setbalance) If player is fined, but don't have enough balance -> kick Forbidden words now have to be at least 3 chars long Fixed bug where it could happen that console was spammed with bananas;) This had to do with emtpy, or very small 'words' (spaces etc). Any 'word' shorter than 3 characters now will be ignored. Added one argument to /cc list -> /cc list abc now returns all words containing abc Added /cc clearall -> used for clear all words from databae; use with care!
Version 0.14 Added multiple replacement-words. Instead of only bananas, you can set your word-value to bananas,apples,peers It will then take one randomly each time a word is replaced.
Version 0.13 Added more flexible database libraries. Having a mysql*.jar or sqlite jar in your bukkit folder or lib, it will work in both cases, with most mysql versions. Fixed bug where newly (/cc add) added words would not be active right away. Added better error-handling while accessing iconomy/jail plugins.
Version 0.12 Broadcast messages also show on console now (player fined/jailed etc). Fixed bug in jail/iconomy check. If they were not used, this resulted in errors. This plugin now can be used without them without any problems.
Version 0.11 Fixed bug with jail toggle Ignore chat events if the are cancelled (by other plugins). Added option to let the jailtime auto-increase by a certain factor If the jail-time: 4, the auto-increase-jail-time: 0.5 and a player uses a forbidden word for the 10th time, his jailtime will be: (0.5*10) + 4 = 9 mins Added /cc reset command to reset playerstats
Version 0.10 Initial Release
[/spoiler]