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 Aug 29, 2014@Lilmacaroni
MySQL doesn't save upper-case letters, and I'm pretty sure SQLite aswell.
-
View User Profile
-
Send Message
Posted Aug 28, 2014Hello. I'm quite a OCD person and dislike how when typing say /mute (tab) it doesn't get the capital letters within the users name. This happens when banning or unbanning the person being punished.
-
View User Profile
-
Send Message
Posted Aug 24, 2014@Pantherita
Select better staff. No really.
You can use '/mbimmune arct3ck on' alternatively, making you immune to MaxBans punishments, but I seriously recommend against it. What if your account is compromised?
-
View User Profile
-
Send Message
Posted Aug 24, 2014Just one thing, i want my staff to have /ban permission, but they can still ban myself o_o Is there anyway to prevent this? Thanks :D
-
View User Profile
-
Send Message
Posted Aug 23, 2014@Hiddencloud
Would you believe I have done that already, just never said anything about it?
https://github.com/netherfoam/MaxBans-3.0
My development will be coming in bursts when I have free time, and not very consistent though!
-
View User Profile
-
Send Message
Posted Aug 20, 2014@netherfoam
Is it possible that you use GitHub during your maxbans rewrite? I'm sure people would like to contribute to your project by making pull request, or find bugs in the code before it's actually released.
-
View User Profile
-
Send Message
Posted Aug 19, 2014@netherfoam
Wow! Thanks for the info, now i can have a veery nice website with maxbans! :D Thanks
-
View User Profile
-
Send Message
Posted Aug 18, 2014@joshh20
Correct. Set up syncing, it's what you want, just read the page I linked you and it will work. It uses a network to sync any changes, instead of the database. If you need help setting it up, I'm willing to give you tips but only after you've read and understood the page.
@zDylann
Try delete your mutes table in the database (If you're new to databases, that's going to be hard for you).
Alternatively, if you remove your bans.db file, it will regenerate and fix your mutes table for you - Except you'll lose all your bans.
@NextStage
@NextStage
You do not buy a sync server. Check out the page http://dev.bukkit.org/bukkit-plugins/maxbans/pages/ban-syncing/ for how it works, it runs as part of Bukkit.
Also check out http://dev.bukkit.org/bukkit-plugins/maxbans/pages/sync-example-config/ for some example syncing config.yml files, but this will be less helpful than the other link.
Syncing bans is only useful if you have multiple servers.
-
View User Profile
-
Send Message
Posted Aug 18, 2014Or.. how can i get a Sync?
-
View User Profile
-
Send Message
Posted Aug 18, 2014Where i can buy a Sync Server?
-
View User Profile
-
Send Message
Posted Aug 18, 2014I'm having an issue with perm mutes resetting when the server restarts. I'm using flatfile.
We have been using temp mutes for a year for now.
-
View User Profile
-
Send Message
Posted Aug 18, 2014@netherfoam
Oh alright, so I couldn't actually set it up so you could ban a player from either server and the change would take affect on the other one too. I would actually need to just have one of those servers be the one that you ban players from, and the other just reads it, correct?
-
View User Profile
-
Send Message
Posted Aug 18, 2014@joshh20
Use the SyncServer setup, though I think it may have a few bugs at the moment which is part of why I'm rewriting the plugin from scratch (Slowly, uni & work are pretty intense at the moment)
Get started here: http://dev.bukkit.org/bukkit-plugins/maxbans/pages/ban-syncing/
@Pantherita
Check out this guy's work: http://yive.me/maxbans/ he's done some pretty sweet design up for what you're talking about. Though, it is viewing only and not modification (That'd get.. complex)
-
View User Profile
-
Send Message
Posted Aug 17, 2014I am experiencing an issue that I expected, but am not sure how to fix. I have two Minecraft servers running the banning system connected to the same MySQL database. When I ban someone on the one server, I notice that it saves it to the DB, but the other server doesn't actually read the changes without doing /mbreload. So the player can just go on the other server that the ban command wasn't ran from.
-
View User Profile
-
Send Message
Posted Aug 13, 2014I want to have a public ban list in my website, can i do this?
-
View User Profile
-
Send Message
Posted Aug 11, 2014@ItsLemonmelon
(Before you edited your post) \u& is still contained on line 5.
But if you reset your messages, just edit it slowly and test it at each big change so you can more easily rollback if you have an issue.
-
View User Profile
-
Send Message
Posted Aug 11, 2014@netherfoam
Hey, I think it's fixed. I reseted the messages config and restarting it slowly :D
-
View User Profile
-
Send Message
Posted Aug 11, 2014@ItsLemonmelon
So it appears you're trying to escape something in your messages incorrectly.
If you read the error, it says this (I've removed some of the [Server] garbage, again, pastebin/privatepaste makes this stuff a lot easier just like configs!)
"Unexpected escape sequence [...]", "line 4, column 23". So go to line 4, column 23 (eg, the 23rd character on the line) and the error will be there.
In this specific case, you are using \u, which is an escape sequence, but \u& is not a valid escape sequence. If you want colour codes, replace \u& with &. If you want new line characters, use \n instead.
-
View User Profile
-
Send Message
Posted Aug 11, 2014@ItsLemonmelon
Odd. Are you running the latest version? And when MaxBans loads (/mbreload to force it to reload, or on server boot) does it have any errors/messages in the console?
Also can you verify the file has actually changed on the server's disk?
-
View User Profile
-
Send Message
Posted Aug 11, 2014@netherfoam
Soo, this doesn't show up in game.. It's the default announcement etc...