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/




-
View User Profile
-
Send Message
Posted Dec 17, 2013@Chalkie19
Bugger. I know that feeling
-
View User Profile
-
Send Message
Posted Dec 17, 2013@netherfoam
Ill try to do it, it spams ALOT. *Prepares to look though lots of logs* -_-
-
View User Profile
-
Send Message
Posted Dec 17, 2013@Chalkie19
Do you have the exact stacktrace? I have an idea, and that could tell me what went wrong (It should be slightly different to the previous one)
-
View User Profile
-
Send Message
Posted Dec 17, 2013@netherfoam
Ok, it has started to send the error again in console, seemed to start when I restarted the sync server and not the other server (sync being the lobby/gateway). This was not an issue in 2.0
-
View User Profile
-
Send Message
Posted Dec 16, 2013Just wanted to say I really love this plugin. Thank you, so much, for sharing it with us. Our server loves it very much as it helps us to keep everyone in good manner.
-
View User Profile
-
Send Message
Posted Dec 15, 2013@palipali
I don't think Minecraft sends a players MAC address at any point (Though things may have changed since 2012), and even if it did - MAC addresses are very easy to spoof -
At least, with IP's you cannot pick the IP you want to use
Though, it is a cool idea.
@Chalkie19
Looking forward to hearing how it goes!
-
View User Profile
-
Send Message
Posted Dec 15, 2013@netherfoam
Thanks, Ill roll out another update today.
-
View User Profile
-
Send Message
Posted Dec 15, 2013-
View User Profile
-
Send Message
Posted Dec 15, 2013@Chalkie19
I'll PM you a new version then, I have no idea where this empty packet is coming from. I'll PM you a version that discards the empty packets, I guess - Though that just hides the stacktrace unless I can find out why.
-
View User Profile
-
Send Message
Posted Dec 14, 2013@netherfoam
Nope, Only on the servers. Prior to 2.1, yes. I assume they do prior to it spazing out in 2.1 as the lobby server receives the "Connection Authenticated" message. Not 100% sure as it's quite hard to test on a live server (once it through the error I had to revert back). At the time, no one was on due to the lobby server being whitelisted as I was updating a few other things and wanted to make sure nothing had caught on fire. Once it started in the lobby server the other servers followed with the spamming. Yes, all the server were running 2.1.
-
View User Profile
-
Send Message
Posted Dec 14, 2013@Paxination
Easiest way? Write your own plugin, and make it run this code (Or something similar)
As for IP's, IP's change regularly. You can use the BanManager to fetch a players most recent IP address using their name, and fetch the ban for the IP address using the BanManager as well, but I DO NOT recommend that!
-
View User Profile
-
Send Message
Posted Dec 14, 2013netherfoam, I am trying to make my plugin remove player files of players that have been bant from my servers. Accessing your plugin, what would be the best method to use just to find out if they are bant? I attempted and fount several methods, but one required an IP and the other i was unsure about. Maybe you could make a method thats just a straightup yes this player is bant, and it checks both name bans and IP bans its self?
-
View User Profile
-
Send Message
Posted Dec 14, 2013@zaino60
Bungee displays some characters incorrectly, you'll need to update your Bungee server to fix the bug (It's not MaxBans causing it)
@Chalkie19
Strange, it seems like you have empty strings being written to your SyncServer as requests (Which are invalid) - Here's what I can come up with on the spot:
@CommodoreAlpha
Cool idea! I'll see what I can do
-
View User Profile
-
Send Message
Posted Dec 14, 2013The plugin works perfect for me. However, The ban message is messed. Could u fix this? http://i39.tinypic.com/11sfof7.jpg EDIT: fixed by removing the" ' "and "/n" that appeared to be causing problems
-
View User Profile
-
Send Message
Posted Dec 14, 2013Just tried to roll out an update across my servers and was getting the following error (2.1) (Spammed) Still running 1.6.4.
http://pastebin.com/YUjxnzGY
Thanks
-
View User Profile
-
Send Message
Posted Dec 13, 2013Could you add a "maximum time limit" to temporary bans, so that moderators (who do not have access to permanent banning) cannot bypass this by banning for a very long time?
-
View User Profile
-
Send Message
Posted Dec 13, 2013@Adondriel
There's already a config option for this, here's the link to the config tutorial: http://dev.bukkit.org/bukkit-plugins/maxbans/pages/config-tutorial/
It's this option:
Just add all the commands a muted player shouldn't be able to use to the list.
-
View User Profile
-
Send Message
Posted Dec 12, 2013could you make it so that when a player is muted they cannot do commands?
-
View User Profile
-
Send Message
Posted Dec 11, 2013@netherfoam
what wrong with it?, im the admin, i made 5 accounts for test plugins, and now every time i loggin it say i have 6 accounts :/, make it only for OPs or Admin, and i dont want disable dupeip :P it is usefull
-
View User Profile
-
Send Message
Posted Dec 10, 2013@Chalkie19
Thanks, always appreciated haha
Yeah I had to reupload v2.1 after there was an error in /ipreport, it was uploaded about a day ago though so it should be online sometime soon. I'll PM you the link anyway though