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 21, 2013@Sie
1. Use /emute instead then, or remap using bukkit.yml's aliases section from mute to emute. Details here: http://wiki.bukkit.org/Bukkit.yml#aliases
2. You can't translate it without editing and compiling the sourcecode yourself. This might be possible in the future, but while I'm actively developing it, I refuse to add this feature as it makes the whole plugin messy and painful to code.
-
View User Profile
-
Send Message
Posted Apr 21, 20131. How i can off using mute/tempmute in this plugin ? Because i want to use that function in essentials?
2. How i can translate each message to my own language ?
-
View User Profile
-
Send Message
Posted Apr 21, 2013@gaz1812
It broadcasts most actions (It doesn't currently broadcast announcements, though) as long as you have Syncing set up properly in the config (Including allowing ports on firewalls if your servers aren't on the same box)
The options you are looking at are the config settings in config.yml of the plugin, you need to look at all of them to set up syncing properly.
There is possibly an issue with cross-server kicking at the moment, it will be fixed in the next version I upload (But it's fairly minor, so it shouldn't bother you)
-
View User Profile
-
Send Message
Posted Apr 21, 2013If I get this plugin will it broadcast both bans on my 2 servers? I have a factions and a survival server. I looked at your ban syncing page however which option should I choose to use?
Will the plugin broadcast who was banned/kicked/muted across my servers? I am pretty sure it does that right?
Thanks.
-
View User Profile
-
Send Message
Posted Apr 20, 2013@ThisUsernameIsMine
Well, I'm glad to hear that! Next I'd like to know exactly what I changed that caused a difference lol. The database was changed, but in theory it should stay pretty much the same speed :|
-
View User Profile
-
Send Message
Posted Apr 20, 2013netherfoam: Remember when i said that i would stop using MaxBans because of the massive delay on server stop? Well.. 1.6 seems to have solved the problem :)
I can finally enjoy your mod and i'm grateful for that! ^_^ (what was the catch?)
Thanks a lot bro(fist)! +1 :D
-
View User Profile
-
Send Message
Posted Apr 18, 2013@CoderTristan12
Ahahahaha no. That would be an excellent tool for anyone that gained access to your server or a mods account and decided they didn't like it.
-
View User Profile
-
Send Message
Posted Apr 18, 2013Can you add a /banall So you can ban all player on the server online and offline
ThanksComme on this server: 88.191.237.170:25629
-
View User Profile
-
Send Message
Posted Apr 18, 2013Please, for the next version added a language file. To edit all messages and their colors. Suggestion .. Regards
-
View User Profile
-
Send Message
Posted Apr 15, 2013@Chalkie19
Yup ofcourse, I know what I did wrong there and I dont even need to look at the source... Its because youre looking up an IP with no users I believe. I shpuld have it fixed in the next version
-
View User Profile
-
Send Message
Posted Apr 15, 2013Whilst trying to do /checkip or /dupeip. I get the following error. (Version 1.6)
Command works fine with a name (/dupeip Chalkie) not with IP's (/dupeip 123.123.123.123)
-
View User Profile
-
Send Message
Posted Apr 13, 2013@Chalkie19
There isn't one, can't do it because of offline permissions AFAIK either.But the change would be minimal.
-
View User Profile
-
Send Message
Posted Apr 12, 2013@netherfoam
Is there a permission node to bypass being added to the history? Might be able to reduce the amount if staff are not logged and only the players.
-
View User Profile
-
Send Message
Posted Apr 12, 2013@Chalkie19
Uh, I believe (2^31)/(60000) is the max number you can have, but honestly, a year (524,160) would do you fine I think. It only purges history on boot. Even ten years would work, but remember that it stores every action done by MaxBans, so you could end up with a ..rather large... ban database. (Not such an issue on MySQL, possibly an issue on SQLite)
I handle expiring bans smartly. When the server boots, it deletes any expired bans. When the "BanManager" is asked "Give me X's ban", it checks if it has expired first. If it is expired, it deletes it, and says "Nope, no bans here". This means nothing has to constantly check "Has it expired yet? Has it expired yet? Has it expired yet?". But I don't think history even does that because I'm lazy.. only does it on boot.
-
View User Profile
-
Send Message
Posted Apr 12, 2013@netherfoam
I prefer to believe you hacked my server to add it :)
Is there a limit to how many 9's I can add? Also would a long number effect the plugin at all? Or is it just a check on boot? Id hate for it to have to check every x minutes for if it's been 137 years pr w/e yet.
-
View User Profile
-
Send Message
Posted Apr 12, 2013@Chalkie19
Would you believe me if I said I actually wrote this feature, but forgot to add it to the config file? -_-
Just add this line:
history-expirey-minutes: 9999999
Or something to that effect, to your config.yml. Setting it to 0 will just make history expire everything on reboot.
-
View User Profile
-
Send Message
Posted Apr 12, 2013@netherfoam
Yea a week is not long enough. If someone is re-banned within a week they more then likely should not be playing. We have kinda a 3 strikes and your out policy on small things (Like small griefs, spamming ect). Didn't even tell my staff about the command because I felt that a week was way to short.
The results should be fine at 15 still.
-
View User Profile
-
Send Message
Posted Apr 11, 2013@Chalkie
So that would seem a bit awkward to add into the plugin, how about increasing the lifespan of /history? As it stands, you can do /history Chalkie to see all bans given to or given by Chalkie. If you want more than 15 results, you can append the number, eg /history Chalkie 50.
Currently though, it only lasts for a week and I dont think it is configurable. After that, the history 'expires' and is removed on reboot
-
View User Profile
-
Send Message
Posted Apr 11, 2013Hi...
I kinda have maybe another request -_-. This one "should" be simple, maybe in the check ban display it show how many times that player has had the /ban /tempban ect command used against them.
Temp Banned: 1
Banned: 3
I feel this would be handy for servers that have a large ban/appeal rate to keep track of multiple offenders. The reasons why they were banned would not be needed I feel since if you really needed to know you could track it down on the forums.
Just a thought :)
-
View User Profile
-
Send Message
Posted Apr 11, 2013@netherfoam
Thanks a lot, keep up the good work with your plugins.
I am taking General Studies in college, but I would like to do web design and coding for computers. What class would you prefer? I mostly want to do game design, modeling, scripts, all that stuff.