MaxBans
Support Spigot from 1.7.x to 1.12.x
MaxBans is a project I've been writing for my server, MaxGamer. I struggled to find a banning plugin that wasn't a joke, and the good plugins were all designed for Premium servers anyway. Nothing gave us the tools that SHOULD have been out there - Like temp mutes, temp IP bans, duplicate IP lookups, and good autocompletion!
It is thoroughly tested on an Offline-Mode server, so you can bet it's rock solid and feather light!
Databases
- MySQL
- SQLite (Flatfile)
Best Features
Here are the top ten features of MaxBans over other banning plugins:
- Full UUID support
- Ability to view players' previous username(s) - date of change
- Full server lockdown - Prevent anyone from joining with a custom message (Such as bot attacks)
- Offline player name auto completion
- Warnings system
- Duplicate IP detection
- DNSBL lookups to stop proxys!
- Multiline kick messages! No more running off the screen!
- Notifications when a banned player tries to join!
- All times are relative! (Eg. "You're banned for 4 minutes 6 seconds", not "You're banned til 5:43pm CST")
- Customize every colour!
- Block commands like /me when muted!
Commands
- /unban <name, IP or UUID>
- /ban <name, IP or UUID> <reason>
- /ipban <name, IP or UUID> <reason>
- /tempban <name, IP or UUID> <number> <minutes|hours|days|weeks|etc> <reason>
- /tempipban <name, IP or UUID> <number> <minutes|hours|days|weeks|etc> <reason>
- /mute <name or UUID>
- /tempmute <name or UUID> <number> <minutes|hours|days|weeks|etc>
- /kick <name, * for everyone or UUID>
- /checkip <name or UUID>
- /uuid
- /togglechat
- /dupeip <name, IP or UUID>
- /checkban <name, IP or UUID>
- /warn <name or UUID> <reason>
- /clearwarnings <name or UUID> <reason>
- /unwarn <name or UUID> - Removes a players most recent warning
- /unmute <name or UUID>
- /history [name] [number of records] - Displays a history of bans, kicks, mutes & more dealt
- /mbreload - Reloads the plugin
- /mbdebug - Outputs debug information for me if you're having issues!
- /mbwhitelist <name or UUID> - Allows the given user to bypass IP bans (Not regular bans! Eg, use for players with siblings who need to be IP banned)
- /ipreport - Basically, a mass /dupeip, on everyone who is online
- /lockdown [reason]
- /forcespawn - Teleports someone to the spawn (Twice, so /back won't work)
- /mbreload - Reloads maxbans
- /mbimport - Imports vanilla minecraft (And others) bans.
- /mbexport - Export bans to vanilla, MySQL or SQLite databases. (Allows swapping SQLite <-> MySQL), and others ban plugins.
- /rangeban <ip1-ip2> [reason] - Bans the IP range from ip1 to ip2 for the supplied reason.
- /temprangeban <ip1-ip2> <time> <hours/min/sec> [reason] - Temporary variant of above
- /unrangeban <ip> - Removes any RangeBan which overlaps with the given IP. Eg, if 127.0.0.1-127.0.0.5 is banned, unbanning 127.0.0.3 will lift the whole ban on 127.0.0.1-127.0.0.5.
Almost any command may have -s added in it to prevent announcing it, for example:
/tempban NewGuy101 -s 1 hour MaxBans is Awesome!
- Nobody will see the announcement that NewGuy101 was temp banned, just the fact he "has left the game."
If you want an in-depth analysis of each command, try here:
http://dev.bukkit.org/server-mods/maxbans/pages/command-tutorial/
Configuration Guide
http://dev.bukkit.org/server-mods/maxbans/pages/config-tutorial/
This is an in-depth guide on how to configure MaxBans :) If I've missed anything, ask in the comments!
Common Issues
http://dev.bukkit.org/server-mods/maxbans/pages/common-issues/
This is a list of common issues people have with MaxBans, such as plugin conflicts.
Features that will never implement
- Fines (Use your economy to do this!)
- Jails
- Regional bans
- Ban weightings
Ban Listing Webpage
Check out this guy's work for an amazing webpage setup to view MaxBans while using MySQL.
Demo (dont download from here): http://yive.me/maxbans/.
Its updated and is working on latest version of MaxBans!
You can download the updated version from here: https://github.com/FabioZumbi12/maxbans-php
- Added pagination;
- Fixed other ban pages not loading;
Metrics
This plugin uses Hidendra's plugin metrics system (http://mcstats.org/plugin/maxbans) which tracks server information including:
- A unique ID
- Java version
- Online/Offline mode
- Plugin & Server version
- OS name, version, architecture
- Number of CPU cores
- Players online
- Metrics version
These stats can be disabled using the PluginMetrics config file (BukkitServer/plugins/PluginMetrics/config.yml).
GeoIP Lookup
MaxBans will download a GeoIP.csv file, which allows it to look up the country of origin for IP addresses. The file is downloaded directly from maxmind GeopIP site. The file is only downloaded once (Unless it is renamed/removed).
FabioZumbi12:
Hello all. I am other dev and now i assuming the Project for bugfixes and possible improvements.
Netherfoam still busy but still online on comunity. I have a lot of time to code (i have a home work) and i can maintain this plugin (and my others) Always updated ;)
See ya o/
@AragurLp
Im not planning on doing this, it makes it too difficult and untidy to code new things. Possibly later when the project is more mature.
Can you pleas make a possibility, to change the messages or make a translatable version, I can it translate it for German.
Sorry for my bad English... :)
@qwertyhgfdsaqwertyhgfdsa
Can you export the bans to vanilla by any chance? If not I will have to write a converter to convert essentials <-> MaxBans. If you can export to vanilla, then you can import from vanilla already with /mbimport vanilla
(Don't forget to delete the bans from Essentials's database, and then remove the bans from the vanilla banned-players/ips.txt, otherwise if you unban them on one system... they'll remain on the other two)
@ThisUsernameIsMine
Interesting, I'll assume you're using build 1.5. Was it /mbreload you used? Or /reload? Were you doing anything interesting at the time? Can you repeat it? And did you change your config? If so, what changes did you make? Can you possibly upload the two copies to a site like privatepaste.com? (Blurr the passwords if you have any set, please :) )
Ooh, and can you send me the snippet of server.log where you tried to reload MaxBans?
@netherfoam
Around 800.
Wonderful plugin/mod!
Will you add the option to add a reason for given mutes?
Thanks :)
edit: reloading the plugin locks/freezes the server :-/ (there were players on)
@qwertyhgfdsaqwertyhgfdsa
About how many bans do you have?
Is it possible to transfer my bans from essentials to MaxBans? This plugin looks amazing and I am wondering if transferring bans will be a problem.
@J0NNYxD "Features that I will NEVER implement
1. Could you add a permission that people protects from being kicked, please? 2. Could you add, that people can't kick himself?
Sorry for my bad english. I am from Germany.
@Marium0505
If you mean vanilla servers, no. Will work on bukkit/craftbukkit, spigot servers.
This works normal on normal servers too, right?
@netherfoam
Thanks.
@zSwayz
If you want to avoid something from being broadcasted, try add -s in there somewhere.
Example:
/warn NewGuy101 -s Read the rules!
/warn NewGuy101 Read the -s rules!
/ban NewGuy101 Failure to read the rules! -s
Works with pretty much every command that broadcasts things.
If you don't want anyone to ever see a command, remove their permission for maxbans.seebroadcast (They're given it by default). Anyone with maxbans.seesilent will still see any silent commands you use.
EDIT: Actually, looking at the code for the warn command, I haven't put a silent option in for it... I'll add it now.
Here it is: https://dl.dropbox.com/u/72835893/Plugins/MaxBans.jar
I won't upload it to Bukkit until there's some more meat to put on the changelog though.
@netherfoam
Would it be possible to only show the player that was warned and not broadcast a warning to all users? This is causing loads of problems between all the players in my server. Trying to get everyone to calm down with a warning and it just ends up making things a lot worse.
The whole "Why did i get warned, but not him?" Children don't seem to understand these things...
@Arcsteryx
That's interesting, how recent is recent? I dump the buffer to the database every 60 seconds, but generally you won't be banning someone 60 seconds before reboot. (I also dump the buffer when the plugin is disabled, but I haven't tested that part specifically)
@zSwayz
True, but generally plugins don't cause noticable lag to servers. It's badly written plugins that cause lag - Like how mcMMO queries a database everytime a player logs in, in the main thread, or just huge ones like NCP which are coded by pro's but their nature is just so intensive.
@netherfoam
Only reason i ask is because i'd rather not have a load of plugins on my server.
Fines (Use your economy to do this!)
Jails (Servers owners with Jails should go do something more mature, like watch Rugrats) Regional bans (No, I will not help you ban China. You're kidding yourself if you think that'll work anyway) Ban weightings (If your mods are kicking/banning you, they should be demoted instead) ======
That was extremely funny to read :)
I need to /restart my server everyday.
When I do so, I usually loose a few recent bans. Is there a way to save the stuff to disk so I don't loose bans upon reloading?
Regards, Arc
@zSwayz
Possibly, yes, feasible no. I could add it but its not worth the time to add it when you can already use another plugin to do the rollback for you.
Would it be possible to add a command /rban like they have in mcbans?
I could use logblock questioner but id rather not roll people back every time.