SpamHammer

23.9k Downloads

SpamHammer v3.0

SpamHammer

SpamHammer detects people sending too many messages in short amounts of time (and optionally repeated messages). Mutes, kicks, and then bans players that spam the same message in that order. Server OPs and people with appropriate permissions are unaffected.

Commands

  spam:
    description: Base command for SpamHammer.
    usage: |
           /<command> unmute
           /<command> reset
           /<command> reload
  spamunmute:
    description: Unmutes a player banned by SpamHammer.
    usage: |
           /<command> <playername>
           /<command> dumptruckman - unmutes dumptruckman if he was muted by SpamHammer.
    permission: spamhammer.cmd.unmute
  spamreset:
    description: Resets a player's history with SpamHammer
    usage: |
           /<command> <playername>
           /<command> dumptruckman - Makes it like dumptruckman never spammed in the first place.
    permission: spamhammer.cmd.reset
  spamreload:
    description: Reloads the SpamHammer config.yml
    usage: |
           /<command>
    permission: spamhammer.cmd.reload

Permissions

  spamhammer.*:
    description: Allows full access to SpamHammer
    children:
      spamhammer.bypass.*: true
      spamhammer.cmd.*: true
    default: op
  spamhammer.bypass.*:
    description: Allows to bypass ban punishments
    children:
      spamhammer.bypass.repeat: true
      spamhammer.bypass.punish.*: true
    default: false
  spamhammer.bypass.punish.*:
    description: Allows to bypass ban punishments
    children:
      spamhammer.bypass.punish.ban: true
      spamhammer.bypass.punish.kick: true
      spamhammer.bypass.punish.mute: true
    default: false
  spamhammer.bypass.repeat:
    description: Allows to bypass repeat message limit
    default: false
  spamhammer.bypass.punish.ban:
    description: Allows to bypass ban punishments
    default: false
  spamhammer.bypass.punish.kick:
    description: Allows to bypass kick punishments
    default: false
  spamhammer.bypass.punish.mute:
    description: Allows to bypass mute punishments
    default: false
  spamhammer.cmd.*:
    description: Allows use of all commands
    children:
      spamhammer.cmd.unmute: true
      spamhammer.cmd.reset: true
      spamhammer.cmd.reload: true
    default: false
  spamhammer.cmd.unmute:
    description: Allows use of the unmute command
    default: false
  spamhammer.cmd.reset:
    description: Allows use of the reset command
    default: false
  spamhammer.cmd.reload:
    description: Allows use of the reload command
    default: false

More

Check out the info page for more details.

Phoning home

Yes, SpamHammer phones home. The plugin calls my server, www.slipcor.net and saves the following to the database:

  • the plugin name
  • the plugin version
  • the server IP
  • the port

The IP and port are never shown, they just are used to differentiate servers from each other. I would like you to keep the plugin doing this, so I have an idea how many servers are using which version, that's basically it. To turn it off, change the config yml setting settings.callhome to false

Credits

Thanks a lot to dumptruckman for creating this plugin, I hope I do not disappoint ppl by rewriting everything. But I feel that the PluginBase hook is something that bloats the plugin in an unnecessary way, the file size fell from 100+KB to 30KB ;)

Source

GitHub