SpamX
Features
Have you ever had annoying spammers? Perhaps they got kicked from your server by another plugin but had a hack to keep logging back in? You banned a few of their accounts but they had a ton?
Fear no more. SpamX is the anti-spam plugin to end all anti-spam plugins.
They way it works is it has a configurable level defining what is spam(default 3 messages per second).
It can be configured via SpamX.yml which is located in the same folder as your craftbukkit.jar. Every time you cross that limit you get an offense. if you get too many offenses you are banned(default offense limit is 3. configurable by the same file).
If that annoying spam hack finds it's way onto your server just set the offense limit at 1 and watch the magic!
Added a log feature.
When a player is kicked it logs the time they were kicked(or banned), their ip address<sub> and the time.</sub>
Uses the file spamx.log which is located in the same directory as craftbukkit.jar
Commands
/xreload Reloads the config file.
/xoffense <player> Checks a players offense level.
/xsetoffense <player> <number> Set's the players offense level.
Permissions
SpamX.reload Grants the permission to use the /xreload command.
SpamX.checklevel Grants the permission to use the /xoffense command.
SpamX.setlevel Grants the permission to use /xsetoffense command.
SpamX.bypass Let's a user bypass the spam check.
Other
If you would like to browse the source click here for a github link.
@ummbobee98
Put the offense limit really high.
@MacProClub
That's how it works. It kicks for each offense then bans where there is a lot.
Can I make it so it just kicks them at first, but if it gets severe they get banned?
how do i set up the config so it does not ban people?
@7cardcha
Just finished testing it. Works perfectly for me. Only problem is that in sub par text editors like notepad it doesn't read the log quite right but you shouldn't use notepad anyways :)
Hi guys sorry for the long hiatus. It worked perfectly on the version it was designed for but that was quite some time ago. I'm going to test it and try to fix any problems. Thanks!
Very nice on the plugin, good work!
works perfectly i get no errors but the spamx.log does not get written too even tho it kicks someone no log is written
@shankomaster
I've used it on Craftbukkit 1.3.1-R1.0 and it worked but gave errors.
Does this work on 1.3.1?
Any reason why the SpamX.yml and spamx.log files generated not in the plugins folder?
This is the only plugin i could find to actually ban the hundreds of premium accounts logging on my server and spamming it with account's. This helped me a ton! I would definetly recomment it, but be carefull because this plugin can probably ban regular user's who didn't do anything wrong.
@drdeft
Does this happen often?
2012-05-07 12:53:47 [INFO] /31.181.159.66:28772
2012-05-07 12:53:47 [INFO] < Sheon> куплю кирпич
2012-05-07 12:53:50 [INFO] /31.181.159.66:28772
2012-05-07 12:53:50 [INFO] < Sheon> куплю кирпич
2012-05-07 12:53:51 [INFO] /31.181.159.66:28772
2012-05-07 12:53:51 [INFO] < Sheon> куплю кирпич
2012-05-07 12:53:52 [INFO] /31.181.159.66:28772
2012-05-07 12:53:52 [INFO] < Sheon> куплю кирпич
2012-05-07 12:53:53 [INFO] /31.181.159.66:28772
2012-05-07 12:53:53 [INFO] < Sheon> куплю кирпич
2012-05-07 12:53:54 [INFO] /31.181.159.66:28772
2012-05-07 12:53:54 [INFO] < Sheon> куплю кирпич
2012-05-07 12:53:54 [WARNING] Task of 'SpamX' generated an exception
java.lang.NullPointerException
at src.EventManager$1.run(EventManager.java:100)
at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:126)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:588)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:506)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
2012-05-07 12:53:55 [WARNING] Task of 'SpamX' generated an exception
java.lang.NullPointerException
at src.EventManager$1.run(EventManager.java:100)
at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:126)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:588)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:506)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
@kevile
And if the error bothers you post a stack trace and i'll fix it.
@Ieatlego
Thanks for the info!
Figured you'd wanna know.
Not sure if it's of any use to you, but here goes. The "alt" possibilities is now impossible due to the switch of servers from minecraft.net to mojang.com which makes it impossible to login (for some reason) without knowing the full email of the account they will log onto.
Which is probably more than impossible since they don't disclose that information on any of the sites.
Sure, there will probably still be alts around, but they will not be seen nearly as much. Saw a link somewhere earlier, can't remember the source to it, but it was probably minecraft forums. but here's some information. http://pastebin.com/C102AJ0A
Good plugin, none the less. - Cheers
@izak1245
Thanks
@kevile
Welcome
@7cardcha
It works :) It still throws that error when it kicks, but functionally it seems fine. My test user was kicked for 3 msgs, then after rejoin and normal chat, was not kicked!
Happy Bday even if im late, thanks for the hotfix :D
I love this plugin <3