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)
    [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

    NuclearW Citrullus lanatus Administrator

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    The proper title for the new RB system is [1.0.1.-R1]
  4. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Right, Thanks for the heads up.
  5. Offline

    NuclearW Citrullus lanatus Administrator

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    And with that fixed, moved to releases.
    Chrono7 likes this.
  6. Offline

    asm0deus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    1. How much load is it for it to be checking every message and reviewing if its its a duplicate, filtering words, checking how many per 4 secs, etc
    2. Does this have command spam? That's one of the big ones now (stopping someone spamming commands)
    3. Does this stop join / leave spam. that's the other big one that can crash you faster than spam.
  7. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I would say there's not too big of a load to check those things, because all it is doing is comparing variables and setting new ones. There are no difficult calculations it has to do.

    As for command spam, it has a cooldown time for commands at the moment, but I may implement all of the message spam filtering methods for commands if people want it.

    For join / leave spam, it is a planned feature, but currently does not. (I assume you mean the spamming of the logout or login packets, not actually disconnecting and reconnecting.)
  8. Offline

    asm0deus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thanks Chrono, I will put this up on my test server and review. The only thing that is a must is the command spam - ban check and the /leave spam (packet sent or whatever :)).

    I get that almost daily so I can't put anything live without having that protection.


    Looks great sir.
  9. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)

    Currently you can have it ban players who abuse the cooldown, but it is not enabled by default.
  10. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thinking of adding a reputations system. Any more input or suggestions?
  11. Offline

    asm0deus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    well, if your asking. I've always looked for a spam plugin that has permission groups based on rank. So guests could send VERY little messages. 1 per 10 seconds (config) then get a warning, then a kick (followed by a ban if ignored).
    Members could talk much more but still, I hate entire conversations in general chat (I have towny chat and such).. then VIP's are pretty much ignored from the filter, etc.

    The most important is to lock downs guests, hardcore (to stop spambots, spamleavers, etc) and to make an overall better environment for larger servers with lots of players / chat.

    thanks :)
  12. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @asm0deus
    thanks for the suggestions!

    Also, added a video to the OP above.
  13. Offline

    n3wton

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    The exempt permission doesn't seem to be working... I'm using PEX is that supported?
    Works great though, just the staff that are complaining as they have commands bound to keys so they can help other members more efficiently but keep getting warned :p

    Yours
    N3wton
  14. Offline

    adde

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    where the hell do I download??
  15. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Currently it only has support for PermissionsBukkit, but I will be adding support for others soon.

    [IMG]
  16. Offline

    adde

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I did, but I only came to the commands and permissions site. But I changed the website address and found it :p
  17. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Oh lol, I should probably fix that
  18. Offline

    adde

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    hehe yeah
  19. Offline

    2Bucks

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Will this work with mcmmo parties? I'd like to restrict main chat but I'd like people to chat freely when they're in an McMMO party
  20. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Currently, SpamGuard does not have any mcMMO party options, but it may be considered in the future.
  21. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
  22. Offline

    King_KYl3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    ILY no homo Good work keep it up only updated good working 100% plugin hehe :D
  23. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
  24. Offline

    2Bucks

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Could you actually get this working with factions? I'm willing to donate 15 bucks to see it happen
  25. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Define "get working"... Can you explain what doesn't work, or what feature you want added?
  26. Offline

    2Bucks

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Sorry let me be clear. I'd like it so that when people are in private chat with the Faction chat function, spamguard is disabled. I'm running a 150 player server and the spamguard needs to be set to like 30 seconds per message, but I want people to chat freely when they're in their faction private chats
  27. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Done. PMing you the jar, it will be a special jar file until I work out a way to implement different configurations for all sorts of different chat-altering plugins.
  28. Offline

    Chrono7

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Version 0.3.1 is up and waiting for approval.
    Added the aliases "sguard" and "spamguard" for the command /sg as per request.
  29. Offline

    fawlcun

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Amazing plugin, this is one of the best anti-spam plugins with all the features I could have asked for.
  30. Offline

    asm0deus

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Could I have this as well? I'm in the same boat (but with towny... not sure if that matters?)

    Pretty much large servers need to lock down global to avoid a spamfest.
    Low rank players need to be more in check than say VIP's. They should have free rain in town chat.

    This is still way ahead of any other chat spam plugin.

    edit: btw 3.1 doesn't work. everytime I sent a message I got a flood of errors. 3.0 works fine.
    I changed nothing in the config (yet).

    edit2: adding the ignore permission to stop people from being banned does block bans either - it just hides the warnings and kicks. I can promote someone to mod who has that permission and they can type and then all of a sudden they get banned without any warnings.

    This post has been edited 2 times. It was last edited by asm0deus Jan 7, 2012.
  31. Offline

    OkinKun

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I tried out 0.3.1 just now, but every time someone said something in chat, I got this error message in the console. I didn't notice anything else going on, but I still went back to 0.3 just in case.
    Code:
    2012-01-06 17:40:55 [SEVERE] Could not pass event PLAYER_CHAT to SpamGuard
    java.lang.NullPointerException
        at com.chrono7.spamguard.playerListener.checkFactions(playerListener.java:90)
        at com.chrono7.spamguard.playerListener.messageAllowed(playerListener.java:105)
        at com.chrono7.spamguard.playerListener.onPlayerChat(playerListener.java:71)
        at org.bukkit.plugin.java.JavaPluginLoader$6.execute(JavaPluginLoader.java:300)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:727)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)

Share This Page