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 Apr 10, 2013Ah okay, yeah I havent documented them yet, but theyre there.
Okay, yes, that is supported (I use it, but I'm not going to call it stable just yet), you need to set up what ive called syncing. It's in the config, and theres a page here on devbukkt on how to set it up. Basically, you pick a master server, and all your slave servers notify it when they ban someone etc. the master server tells the rest of the slaves to also ban the user etc. It works on network sockets, so you dont need the servers to be based on the same database or computer or anything, just connected to the same network (eg, the internet)
Click the pages link at the top and look for 'Sync' setup.
-
View User Profile
-
Send Message
Posted Apr 10, 2013@netherfoam
Sorry, I just took a glance over the main page and didn't see anything about IP range bans.
As for my BungeeCord suggestion, I was thinking you could add in global bans and per server bans.
-
View User Profile
-
Send Message
Posted Apr 10, 2013@Encrypted
The first two are already there. /rangeban, /unrangeba, /temprangeban.. Plus see the changelog for auto dupeip. Honestly though, I'm not using either of them on my server. Rangebans don't actually work for the majority of IPs (When an IP changes, most ISPs dont actually pick an IP that was similar to the last one) and autodupeip will spam your staff to no end on any decent sized server.
Bungee -> What? Shouldnt you set up syncing and then bungee will work nicely...?
-
View User Profile
-
Send Message
Posted Apr 10, 2013I have a couple of requests, let me know if you can fullfill them!
-
View User Profile
-
Send Message
Posted Apr 9, 2013@DerekZil
/history <name of user> <max number of results>.
So...
/history netherfoam 50
Would report all the mutes/bans/etc I have given AND received.
You can also just do /history 50 to see the last 50 events.
-
View User Profile
-
Send Message
Posted Apr 9, 2013Is there a way I can look at the bans my staff has given?
When I look in the database file it is all messy and hard to see. Thanks.
-
View User Profile
-
Send Message
Posted Apr 9, 2013@rfsantos1996
Nope, you can't change messages. Mostly because this is a total pain to write code with and makes everything horrific to look at. If you really need it, consider editing what you need from the source and compiling it yourself, from github.com/netherfoam/MaxBans
Lockdown works fine for me, as well as colours with it in 1.6.
What syntax are you using for your lockdown command?
-
View User Profile
-
Send Message
Posted Apr 9, 2013Is there a way to change messages and message structure? (like an lang.yml: kick-message: Player kicked by %admin%\nReason: &c%reason%&f etc...)
PS: Lock down messages arent colored and the reason cant be != default
-
View User Profile
-
Send Message
Posted Apr 9, 2013@sephkurai
Unfortunately I cant do that. Permissions systems are on the whole, wrong, when it comes to offline players. This means anyone can checkban you while you're offline and fetch your IP. To make an internal list of 'admins' would basically require me to write my own miniature permissions plugin and code it into MaxBans, unless I did it to a level thats so rigid and basic, Id never be happy with it.
Though I do disagree with you, I think if you have the 'right' to demand your IP remains anonymous, your users and staff deserve the same right too. Plus, at best, IPs will give you the city someone is from. And if you're expecting staff to DOS your home IP or something, you need new staff.
In v1.6 I have split the checkban command from checkip, so that checkban never reports any IP addresses unless used on an already known IP. Staff are still able to dupeip and more on you though. Chalkie wanted this because he wanted users to be able to check the ban status of others as well.
-
View User Profile
-
Send Message
Posted Apr 9, 2013@sephkurai
That's the very thing I requested and he implemented into a test version. I can only imagine it will be out on the next official release.
-
View User Profile
-
Send Message
Posted Apr 8, 2013I would like to say thank you for such an amazing plugin!
-
View User Profile
-
Send Message
Posted Apr 8, 2013I only have one complaint to this amazing plugin. As a server owner I do demand a certain amount of anonymity even from my staff that I trust. Would you be able to make a permission that blocks someones IP from being seen with /checkban and other commands like it?
-
View User Profile
-
Send Message
Posted Apr 5, 2013@netherfoam
Daaaaamn son.
I mean, thanks. Still no donation option. Am I gonna have to buy VIP on your server again? :)
-
View User Profile
-
Send Message
Posted Apr 5, 2013@Chalkie19
The code is done and ready for the next release for the tab complete changes.
-
View User Profile
-
Send Message
Posted Apr 2, 2013@slayr288
Remove permission to do it and add use http://wiki.bukkit.org/Bukkit.yml#aliases if necessary to hide the command.
Banning a player and then IP banning them is unnecessary, as IP banning bans their username, and then it bans their IP... So if their IP changes, their user is still banned.
-
View User Profile
-
Send Message
Posted Apr 2, 2013@netherfoam
Could you make a config option to disable warns completely?
Since I'll have to use a separate plugin for warns.
Also, can you make the broadcast for IpBan and a regular Ban different? It's quite confusing when it looks like I double ban someone.
-
View User Profile
-
Send Message
Posted Apr 1, 2013@Chalkie19
Okay, I've pushed the changes to github: https://github.com/netherfoam/MaxBans/commit/741a0bd42f3b1f239a7de1f8391a3506abda7fd8
The usual link: https://dl.dropbox.com/u/72835893/Plugins/MaxBans.jar
You may /checkban <playerName> which reports player info, or /checkip <playerName> which reports IP info for a player.
You may use /checkban <ip> if you already know the IP address, and it will display similar output to /checkip <ip>.
-
View User Profile
-
Send Message
Posted Apr 1, 2013@slayr288
Well... I have no idea :/
-
View User Profile
-
Send Message
Posted Apr 1, 2013@netherfoam
Everything else writes fine. And yes, it does show up on history.
-
View User Profile
-
Send Message
Posted Mar 31, 2013@slayr288
Does everything else write? What about if you do /history, does the warning message show up there?