Inactive [ADMN/CHAT/GEN] SpamGuard v0.5 - Fully configurable chat & spam prevention [1.2.5-R0.1]

Discussion in 'Inactive/Unsupported Plugins' started by Chrono7, Dec 27, 2011.

     
  1. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    [IMG]

    BukkitDev Page|Download|Help|Setup and Installation

    SpamGuard's purpose is to prevent spam through the use of real-time chat monitoring. SpamGuard uses methods such as disallowing more than 1 message per every x seconds, as well as counting a user's total messages for 10 seconds and flagging them if the message count is higher than a certain number. Featuring several configurable options, SpamGuard is an excellent way to keep your server's chat clean of spam.


    How does SpamGuard check for spam?
    • Word blacklisting
    • Number of messages (you can set this number) sent within a certain number of seconds
    • Caps lock detection
    • Repetitive message detection
    • More coming soon!
    How does SpamGuard prevent spam?
    • SpamGuard features a message cooldown time (configurable), so if a spam bot comes on, you won't even see 90% of the spam!
    • A Command cooldown time will prevent spamming of commands like "/me" to bypass a normal message-only spam filter.
    • If a player is flagged for sending spam-like messages, they are given a warning. If a player receives 3 (configurable) warnings, they will be kicked from the game.
    • If a player is kicked 3 (configurable) times, they will be auto-banned. SpamGuard now uses its own banning system, so it won't conflict with other ban-changing plugins.
    Features:

    • Custom cooldown setting to prevent a player from sending more than 1 message or command per 0.25 (configurable) second.
    • Kicks spambots within milliseconds.
    • Only 1 message from a spambot will enter the chat, not 15+
    • Warning feature that tracks how many times a player has been flagged for spam.
    • Auto-Kick will automatically remove a player from the game if they have received a specific number of warnings.
    • Caps Lock detection will determine the percentage of upper-caps letters in a message, and flag it if it contains a high enough percentage.
    • Removes annoying message filled with numbers or symbols!
    • Word filtering will check every message against a defined list of blacklisted words, and flag the message if it contains a blacklisted word.
    • Message repeat detection will compare a player's message to their previous message, and flag it if the message is repeated a certain number of times.
    • Distance Calculating determines how similar one message was to the last and flags it!
    • Flagged messages will not be seen in the chat, and the sender will receive a warning as well as a description of the rule broken.
    Video Description:




    Have a suggestion? Read this:
    http://dev.bukkit.org/server-mods/spamguard/pages/help-and-support/


    Donate

    Feel free to click below to donate if you like the plugin!

    [IMG]

    TODO List

    Check out the official SpamGuard TODO list:
    http://www.toodledo.com/public/td4f08f7842c380/0/226804/SpamGuard.html

    ChangeLog

    v0.5
    • Added message distance checking: http:en.wikipedia.org/wiki/Levenshtein_distance
    • Fixed /reload
    • Tweaked cooldown settings
    • Removed Kick for x messages in x seconds - cooldowns are faster and more effective!
    • Cooldown time is now in milliseconds!
    • CapsLock blocking can now cover numbers and symbols in addition to uppercase
    • And More!
    View older versions here: http://dev.bukkit.org/server-mods/spamguard/pages/main/change-log/

    This post has been edited 26 times. It was last edited by Chrono7 Apr 18, 2012.
    bobbysmithyy likes this.
  2.  
  3. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hmm, that confirms that I included a sort of incorrect jar file.

    As for the error, it's probably a problem with it trying to check factions when you don't have it...
    However, it could be caused by having SpamGuard installed twice, for instance having both SpamGuard_v0.3.jar and SpamGuard_v0.3.1.jar in the plugins folder at the same time. If that is the case, please have only 1 SpamGuard jar at a time.

    I'll re-upload now :D
  4. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Can I see one of the full stack traces? (the whole error message, if you don't know)
    There appears to be an error with the factions checking code, I'll re-upload in a minute. Look for my edit below when it is ready.

    As for the towny support, sadly it does matter, I need to hook into each chat-altering plugin manually and change settings for each different plugin. I'll let you know when I have a version that supports towny.
  5. Offline

    asm0deus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    loaded up 3.1 back up just to get you the error :)

    http://pastebin.com/HsFX9ARz

    (paste expires in 24 hours).

    Awesome plugin so far. It's so close to perfection, it really is.

    edit: 1 more request, could you please add something to "add a warning" for players who use 200 thousand ? or !

    example: Hey???????????????????????????????????????????????

    This post has been edited 1 time. It was last edited by asm0deus Jan 7, 2012.
  6. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Ok, it's what I suspected. The new, fixed version of 0.3.1 is awaiting approval from the Bukkit staff at the moment.
  7. Offline

    King_KYl3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    It randomly kicking all my users for spamming, they aren't even spamming -.-
  8. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    It kicked all of your users? Literally all of them? Also, it prevents you from seeing most of the messages anyway, so they may have actually been spamming.
  9. Offline

    asm0deus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Also, it loads up but most things fail to operate correct with multiverse loaded. Not a huge deal but for some people it will.
  10. Offline

    King_KYl3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Didn't Kick all of them once they joined slowly all got kicked think it may be fixed :confused:, Anyways Maybe add feature in config disallow to see messages when users kicked/banned, Thanks :)
  11. Offline

    hqSparx

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    <3 good plugin, just got it to work
  12. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Sure, Ill add that in 0.4
    Good to hear it!
  13. Offline

    hqSparx

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Could u add feature to set how long will bans be or to use mute instead of ban? Configurable messages would also be nice :)

    btw. im getting error when plugin loads - its nothing important, but still:
    [IMG]

    //edit: another thing is that bans doesnt work for "Kick for more than x messages per y seconds:"

    This post has been edited 4 times. It was last edited by hqSparx Jan 8, 2012.
  14. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    That error normally appears when enabling SpamGuard for the first time, you shouldn't see it again unless there is a problem.

    For the feature, I will consider it.
  15. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
  16. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
  17. Offline

    Dooderdo

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    What should I do If I don not want people to get banned? "Kicks before ban: x"? What should I do?
  18. Offline

    Lunga

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    very nice plugin
  19. Offline

    cuddylier

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Is there a reason why spamguard uses an extreme amount of cpu? When I tested spamguard on my server, the cpu went up by 70% and my host staff confirmed that spamguard was the cause of the 70% increase as the cpu reduced by 70% when spamguard was removed. It is a pity as spamguard is such a good plugin.
  20. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    A dev build for 0.4 will be out in the near future, however it will not include reputations.

    I apologize for the lack of frequent updates; I am extremely busy with midterms, getting my black belt next week, the robotics team, and others. Please understand this!

    Thanks for the patience!
    o0AzzA0o likes this.
  21. Offline

    tom

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    You said it has its own bannign system. Does that mean it takes over /ban ?
  22. Offline

    DarthSalamon

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I get this error:
    22:46:10 [SEVERE] Could not pass event org.bukkit.event.player.PlayerChatEvent t
    o SpamGuard
    java.lang.NumberFormatException: For input string: "45,7"
    at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
    at java.lang.Double.valueOf(Unknown Source)
    at com.chrono7.spamguard.playerListener.messageAllowed(playerListener.ja
    va:110)
    at com.chrono7.spamguard.playerListener.onPlayerChat(playerListener.java
    :65)
    at org.bukkit.plugin.java.JavaPluginLoader$6.execute(JavaPluginLoader.ja
    va:305)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:57)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:453)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:742)

    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:725)
    at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:33)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:7
    8)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:536)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)

    I think this has something to do with the decimal separator (comma,period),
    but I'm not sure.. any suggestions?
  23. Offline

    SupremeSurvival

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Just added this plugin to my server, hopefully everything works out okay. From the looks of it you have things down pretty well here, I'm putting my trust into this one! Keep up the great work!
  24. Offline

    Hkdavid1008

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hello, is there a way to configure how many characters are allowed to be capitalized? I've been searching the configuration file and have come to no avail. Help would be great! Thanks!
  25. Offline

    LordHareobrine

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    On the reputation thing, there should be a command that lists the rep of other players. Your rep decreases for every time you are kicked. If your rep hits 0 in a specific catagory, you are banned. The lower your rep gets, the more stringently it should check the player. I would suggest a different set of coding for each reputation range, 10-8 should be one 7-5 5-4 and 3-1. For each time it goes to the next rank down you are warned "you are now in 7-5 range, 5-4." etc. For each rank down the time between checks for each player should go down (yes I agree with that part of the survey.) The rep should be for different catagories, like swearing, caps lock, commands, etc. It should check more for each one the less rep you have in that catagory. If you have 5-4 rep in swearing, it will check you with more stringent and focused checks. Just a suggestion. Good luck, I know it wouldn't be easy to program, but it would really help the effectiveness of the plugin. No disrespect to the way it is. I really like the plugin. It works very well.

    This post has been edited 1 time. It was last edited by LordHareobrine Feb 8, 2012.
  26. Offline

    LordHareobrine

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Ive seen this before with groupmanager. It is certainly a syntax error in the config. You have added an unneeded comma. Please post the config, so I can take a look at it.
  27. Offline

    LordHareobrine

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    "Try setting x to -1. It may give you a syntax error message, if so, then go back to what you were using before." Appologies, this does not work. It reads it like positive one. You will be banned after spamming once.

    This post has been edited 1 time. It was last edited by LordHareobrine Mar 4, 2012.
  28. Offline

    ibreaktoucher

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    can you add translation
  29. Offline

    DarthSalamon

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Message Cooldown:
    Enabled: true
    Message Cooldown Time: 1
    Command Cooldown:
    Enabled: true
    Command Cooldown Time: 3
    CoolDown Kicking:
    Enabled: true
    Kick after _ cooldown warnings: 5
    Warnings to kick: 3
    Kicks before ban: 3
    Kicks expire after _ minutes: 60
    Kick for more than _ messages per x seconds: 4
    Kick for more than x messages per _ seconds: 3
    Word Filter:
    Enabled: false
    Give Warning if blocked: true
    Filtered Words:
    - list removed for obvious reasons
    Block CapsLock:
    Enabled: true
    Disallow more than _ percent uppercase characters: 50
    Disallow more than _ message repeats: 3
    Custom ban message: 'SpamGuard: You have been banned for spamming!'
    AutoSave every _ minutes: 60
  30. Offline

    Clavus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    It would be nice if there was a "Word whitelist" too. My Factions plugin reads chat like "f claim" (making it act like the command "/f claim"), but to SpamGuard is just looks like spam if used a lot in quick succession.

    This post has been edited 1 time. It was last edited by Clavus Feb 18, 2012.
  31. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hey everyone, updated for CB 1.2.3-R0.1 / Minecraft 1.2.3
    I finally got some more free time after getting my blackbelt, doing well on midterms, several orchestra concerts, etc.
    No big changes, just updated to the new events system and fixed some performance issues. I might put reputations on hold or cancel it, I don't find it too important at this point.
  32. Offline

    GarretSidzaka

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    omg im getting this right now!!! thank you!

Share This Page