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 Jan 8, 2015Guy's he is in university, this means he doesn't have much time to work on the plugin. I did see him working on Maxbans v3.0 a while back, but I think his personal life has been quite busy so he hasn't gotten much time to work on the plugin.
-
View User Profile
-
Send Message
Posted Jan 6, 2015Please release a new version
-
View User Profile
-
Send Message
Posted Jan 2, 2015I want to use this plugin on my server so bad! I'm just waiting for UUID support! ;O
-
View User Profile
-
Send Message
Posted Dec 31, 2014This Plugin dont work in bungeecord mode i test it for 2 months and it dont work...
On the Sync-Server i do /ipban NAME reason and nothing happend on the second server... very very sad...
And the temp mutes dont work, everytime when i mute a player he can still write in the chat lol
And the dates+mutes are not translatable.
And on Startup is everything fine but when i reload the whole plugin:
We use spigot 1.7.9 r0.2
-
View User Profile
-
Send Message
Posted Dec 23, 2014Big fat error on /mute
22:02:36 CONSOLE: WARN]: java.sql.SQLException: Parameter index out of range (4 > number of parameters, which is 3). 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3709) 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3693) 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4544) 22:02:36 CONSOLE: WARN]: at com.mysql.jdbc.PreparedStatement.setObject(PreparedStatement.java:3948) 22:02:36 CONSOLE: WARN]: at org.maxgamer.maxbans.database.BufferStatement.prepareStatement(BufferStatement.java:38) 22:02:36 CONSOLE: WARN]: at org.maxgamer.maxbans.database.MySQLCore.queue(MySQLCore.java:71) 22:02:36 CONSOLE: WARN]: at org.maxgamer.maxbans.database.Database.execute(Database.java:60) 22:02:36 CONSOLE: WARN]: at org.maxgamer.maxbans.MaxBans$2.execute(MaxBans.java:193) 22:02:36 CONSOLE: WARN]: at org.maxgamer.maxbans.banmanager.BanManager.mute(BanManager.java:939) 22:02:36 CONSOLE: WARN]: at org.maxgamer.maxbans.commands.MuteCommand.run(MuteCommand.java:39) 22:02:36 CONSOLE: WARN]: at org.maxgamer.maxbans.commands.CmdSkeleton.onCommand(CmdSkeleton.java:103) 22:02:36 CONSOLE: WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) 22:02:36 CONSOLE: WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) 22:02:36 CONSOLE: WARN]: at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) 22:02:36 CONSOLE: WARN]: at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628)
-
View User Profile
-
Send Message
Posted Dec 21, 2014When will there be UUID support?
-
View User Profile
-
Send Message
Posted Dec 19, 2014netherfoam , please answer my request: @ThisUsernameIsMine =/
-
View User Profile
-
Send Message
Posted Dec 13, 2014Is it possible to move my FlatFIle to MYSQL?
my max bans keeps corrupted in FlatFile and not working :(
-
View User Profile
-
Send Message
Posted Dec 13, 2014Is it possible to translate us everything? i mean for example the things from mute
-
View User Profile
-
Send Message
Posted Dec 12, 2014@BlackAndWhite101
I couldn't agree more.
-
View User Profile
-
Send Message
Posted Dec 11, 2014This plugin should be moved over to the spigot website
-
View User Profile
-
Send Message
Posted Dec 11, 2014@netherfoam
can you pls add an option so that the ipbans have names? i mean the usernames not the ips...? is this possible?
and please add IDs to the bans ipbans warnings for better sorting in the mysql table
-
View User Profile
-
Send Message
Posted Dec 10, 2014@bubblefatOnTheForums
There's definitely an option for that in the config. Check it, you may have to reset it by deleting it and rebooting.
@NoHoPeLess @toxictroop
Your mutes table is missing the expires column. Deleting the database should work, but if you edit it with a database editor (Eg, google Navicat, they have a free version) and add the mutes column, it will be fine.
@Done84
There is not.
-
View User Profile
-
Send Message
Posted Dec 10, 2014PLEASE PLEASE make it so that when your muted in config it give you the option to disable certain commands or muted players cant msg people.
-
View User Profile
-
Send Message
Posted Dec 8, 2014The plugin writes its data (expires) wrong in the database, i cant catch them until the date is wrong... Can you please look over this? I need the time in my script to show when a user has banned/warn ... and the time if they are unbaned to join the server-network.
-
View User Profile
-
Send Message
Posted Dec 8, 2014@netherfoam
Mutes are deleted on server reset, please could you save them? I have been using your plugin for around a year now :)
-
View User Profile
-
Send Message
Posted Dec 5, 2014Theres no way to set the maximum tempban time?
-
View User Profile
-
Send Message
Posted Dec 3, 2014@kristijan260393
There is no ban weighing in maxbans, if your staff is banning the other staff, you need better staff. Btw, try the /immune player TRUE. Makes you immune to any maxbans commands
-
View User Profile
-
Send Message
Posted Nov 29, 2014@ThisUsernameIsMine
This is what I would also like, I would like the mute message to be editable.
-
View User Profile
-
Send Message
Posted Nov 29, 2014Hi netherfoam :-)
When muted players try to chat, they only see "You're muted!" I would appreciate it very much if you added the reason to this, so that muted players instanty see what they are muted for.
Thank you in advance! :-)