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 26, 2011.

  1. Offline

    Chrono7

    [​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/
     
    bobbysmithyy likes this.
  2. Offline

    NuclearW

    The proper title for the new RB system is [1.0.1.-R1]
     
  3. Offline

    Chrono7

    Right, Thanks for the heads up.
     
  4. Offline

    NuclearW

    And with that fixed, moved to releases.
     
    Chrono7 likes this.
  5. Offline

    asm0deus

    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.
     
  6. Offline

    Chrono7

    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.)
     
  7. Offline

    asm0deus

    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.
     
  8. Offline

    Chrono7


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

    Thinking of adding a reputations system. Any more input or suggestions?

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

    asm0deus

    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 :)
     
  10. Offline

    Chrono7

    @asm0deus
    thanks for the suggestions!

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

    n3wton

    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
     
  12. Offline

    adde

    where the hell do I download??
     
  13. Offline

    Chrono7

    Currently it only has support for PermissionsBukkit, but I will be adding support for others soon.

    [​IMG]
     
  14. Offline

    adde

    I did, but I only came to the commands and permissions site. But I changed the website address and found it :p
     
  15. Offline

    Chrono7

    Oh lol, I should probably fix that
     
  16. Offline

    adde

    hehe yeah
     
  17. Offline

    2Bucks

    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
     
  18. Offline

    Chrono7

    Currently, SpamGuard does not have any mcMMO party options, but it may be considered in the future.

    I need opinions for a reputations system! Take the poll and help me out:
    http://dev.bukkit.org/server-mods/spamguard/polls/got-reputations-suggestions-post-them/

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

    King_KYl3

    ILY no homo Good work keep it up only updated good working 100% plugin hehe :D
     
  20. Offline

    Chrono7

  21. Offline

    2Bucks

    Could you actually get this working with factions? I'm willing to donate 15 bucks to see it happen
     
  22. Offline

    Chrono7

    Define "get working"... Can you explain what doesn't work, or what feature you want added?
     
  23. Offline

    2Bucks

    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
     
  24. Offline

    Chrono7

    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.

    Version 0.3.1 is up and waiting for approval.
    Added the aliases "sguard" and "spamguard" for the command /sg as per request.

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

    fawlcun

    Amazing plugin, this is one of the best anti-spam plugins with all the features I could have asked for.
     
  26. Offline

    asm0deus

    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.
     
  27. Offline

    OkinKun

    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)
     
  28. Offline

    Chrono7

    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

    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.

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

    asm0deus

    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???????????????????????????????????????????????
     
  30. Offline

    Chrono7

    Ok, it's what I suspected. The new, fixed version of 0.3.1 is awaiting approval from the Bukkit staff at the moment.
     

Share This Page