[INACTIVE][ADMN/CHAT] ChatCensor v0.23 - Chat censor system with auto-kick/fine/jail [860]

Discussion in 'Inactive/Unsupported Plugins' started by ddj, Mar 17, 2011.

  1. Offline

    ddj

    ChatCensor - Chat censor system with auto-kick/fine/jail

    Version: v0.23
    (USE SQLITE? Rename your database from csensor.db to ccensor.db manually before using v0.23!)

    Tested with craftbukkit builds: b860

    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

    Prerequisites (open)


    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 b860
    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



    Installation (open)


    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!



    Config.yml (open)


    Code:
    
    # Configuration for ChatSensor
    #  - ddj 2011
    #
    # fine-amount: nr of iconomy units to pay as fine
    # jail-time: time in minutes player is sent to jail
    # auto-increase-jail-time: (jail-time + (auto-increase-jail-time*total times in jail) = variable jailtime
    #                          If you want to use the default fixed jailtime, set this number to 0.0
    # kick-when-broke: if a player is fined, but don't have enough coin, kick him/her instead.
    # use-regex: In development, doesnt do much atm
    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 (Values at startup) ###
    # use-autofine = let the player pay a fine
    # use-autokick = kick the player
    # use-autojail = automatically put the player in the nearest jail
    # use-automute = Mute player chat while in jail
    
    toggles:
        use-autofine: true
        use-autokick: false
        use-autojail: false
        use-jailmute: false
    
    ### database type sqlite or mysql
    database:
        type: sqlite
        mysql:
            name: minecraft
            username: root
            password: root
            hostname: localhost
            port: 3306
    
    ### Labels ###
    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'
    
    ### Broadcast messages  ###
    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!'
    
    ### Messages to player(s)
    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@'
    

    Permissions (open)

    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
    

    Commands (open)

    Code:
    /cc or /cc status -> shows status page (with all settings on fines/jail/time etc)
    /cc list <text> -> Lists all forbidden words, '/cc list abc' only show words with abc in it
    /cc import -> Imports words from censor.txt which you can place in the plugins/chatcensor folder
                  This should be a simple textfiles with one word per row.
    /cc export -> Exports all words to a censor.txt in the plugins/chatcensor folder
    /cc clearall -> Clears wordlist, use with care!
    /cc reload -> reloads configuration settings from config.yml
    /cc -> own stats
    /cc check <player>  -> show others stats
    /cc top -> top10 userlist
    /cc setfine <amount> (NOT stored, change in config.yml for persistence)
    /cc setjailtime <minutes> (NOT stored, change in config.yml for persistence)
    /cc add <word>
    /cc remove <word>
    /cc reset <player> -> Reset stats on player
    /cc toggle pay|jail|kick|mute -> toggles options on/off (NOT stored, change in config.yml for persistence)
    /cc kick player -> Let chatcensor kick this player manually
    /cc jail player -> Let chatcensor jail this player manually
    /cc fine player -> Let chatcensor fine this player manually
    


    Download latest version:
    http://www.crafters.nl/cc/ChatCensor_v0.23.zip (Jar only)

    Source Code is included in Jar and available through my github
    Changelog:
    Version 0.23
    Fixed bug (error messages) when chatcensor was used without jail plugin
    Version 0.22
    Fixed compatibility with jail plugin

    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
    All Versions (open)

    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

     
    ItsQ, dark1256 and KillerBunnys122 like this.
  2. Offline

    ddj

    1) Just keep it @ false.. still work in progress, I doubt if it will ever exceed that stage:)
    2) the action.kick permission is for the /cc kick player command
    the /cc toggle kick toggle is for toggling kicking (to do this permanently, use the config file)

    Try to test with /cc kick playername - /cc fine playername - /cc jail playername

    These errors should be gone in v0.22, please test

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  3. Offline

    tremor

    Still getting the error, however the plugin is now functioning properly, it continues to catch and kick swearing players nicely...., I have it set to just kick and nothing else. Using CB860 on v0.22. The jail plugin is not loaded and jail is set as false.
     
  4. Offline

    ddj

    Use v0.23 where I fixed a nasty little bug with caused errors while using the censor without using the jail plugin
     
    dark_hunter likes this.
  5. Offline

    The PC Tech Guy

    I just posted on tee jay's SimpleCensor thread. Hopefully you can implement this simple checking, while we wait on regex to be implemented (and then learn about it... yay).
     
  6. Offline

    dark_hunter

    Great plugin, using it, however I have hit a snag, when I censor the word "ass" people start getting fines for saying "grass", or any words that has that censor word in it, is there anyway to pinpoint only those words that are said?
     
  7. Offline

    EssentialsTeam

    There is a bug in ChatSensor that breaks GroupManager, please read the first post of the Essentials-Thread.
     
  8. Offline

    invis45

    i dont see anything about chat censor there
     
  9. Offline

    EssentialsTeam

    The problem is gone with Craftbukkit 935, but 928 had a problem that plugins would break other plugins, if they enable them.
     
  10. Offline

    XtenD

    Is it possible to replace every bad word at least bad option?
    example:
    badword1 = bananas
    badword2 = peaches
    badword3 = apples
    etc
     
  11. Offline

    Muyloco1

    great plugin, except words aren't being replaced even by the default "bananas" Here's my config. I'm using RB1000 and the latest jail.

    Code:
    # Configuration for ChatSensor
    #   - ddj 2011
    #
    
    # fine-amount: nr of iconomy units to pay as fine
    # jail-time: time in minutes player is sent to jail
    # auto-increase-jail-time: (jail-time + (auto-increase-jail-time*total times in jail) = variable jailtime
    #                          If you want to use the default fixed jailtime, set this number to 0.0
    # kick-when-broke: if a player is fined, but don't have enough coin, kick him/her instead.
    # use-regex: In development, doesnt do much atm
    # jail-api-type: api for direct plugin command (uses jail plugin internal method calls)
    #                consolecommand acts like someone enters /jail player 4 command from server console
    
    settings:
        fine-amount: 0
        jail-time: 5
        auto-increase-jail-time: 0.0
        kick-when-broke: true
        use-regex: true
        jail-api-type: consolecommand
    ### Toggles (Values at startup) ###
    # use-autofine = let the player pay a fine
    # use-autokick = kick the player
    # use-autojail = automatically put the player in the nearest jail
    # use-automute = Mute player chat while in jail
    toggles:
        use-autofine: false
        use-autokick: false
        use-autojail: true
        use-jailmute: true
    
        ### database type sqlite or mysql
    database:
        type: sqlite
        mysql:
            name: minecraft
            username: root
            password: root
            hostname: localhost
            port: 3306
    ### Labels ###
    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'
    ### Broadcast messages  ###
    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!'
    ### Messages to player(s)
    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@'
    Edit: I found out it was because I enabled regex. I guess once regex is fully implemented, it will start censoring?
     
  12. Offline

    MuisYa

    Genius plugin, id just set a fine on using the fword :)
    And i will collect all the money, Im rich baby :3
     
  13. Offline

    killerhunt0

    Can you add a feature that automatically mutes the player? I find that jailing someone will just make the player what to curse more.
     
  14. Offline

    ThePrall44

    Not sure if this has been said,

    But can there be a permission node or white-list for players immune to punishment, e.g. admins.
     
  15. Offline

    darkhelmet

    So far this plugin is the best censor for us. Thank you! There's still too many issues with words like "glass" kicking people when "ass" is in the word list, etc.
    Anyway, is there a way for me to allow a certain group to not be punished? It's very goofy when I'm kicked as the owner for saying "glass" or "password".
     
  16. Offline

    bassbeast

    has the dev gone inactive? this plugins amazing keep it up!
     
  17. Offline

    tremor

    It seems so, but this is probably the best of the censor plugins and still working for me still at least on CB1060 - would like to see some new features added and an update.
     
    goldseed likes this.
  18. Offline

    nabakin

    I LOVE IT but.... it's not in craftbukkituptodate can you please add it at dev.bukkit.org?
     
  19. Offline

    bassbeast

    still working with 1.8 but its making me nervous not being updated in so long.
     
  20. Offline

    ddj

    At the moment I don't have the time to update it.

    Without a promise, I will see what I can do!
     
  21. Offline

    bassbeast

    well if I knew anything about java I'd totally help you but I don't :(... its an awesome plugin thanks for all the work!
     
  22. Offline

    chrcms

    It dosen't autojail people after I updates to jail 2.x, hope you will get some time to update soon :)
     
  23. Offline

    12maruu

    broken link?
     
  24. Offline

    crfptb0808

    Link doesnt work :(
     

Share This Page