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 6, 2013Hey netherfoam, Having a wee bit of a problem, we recently changed over to mysql (since 1.6) and it seems that rangebans are not being saved to the database.
Database image:
Error: http://pastebin.com/F7uKLP7T
Much love.
-
View User Profile
-
Send Message
Posted Aug 6, 2013why does the config kept resetting itself?
-
View User Profile
-
Send Message
Posted Aug 6, 2013@chopstick121
Remove the maxbans.seebroadcast permission from everyone you want to be unable to see the messages.
Or add -s to each command to make the silent.
-
View User Profile
-
Send Message
Posted Aug 6, 2013how do i remove message whenever someone use a command?
-
View User Profile
-
Send Message
Posted Aug 2, 2013Is there a way to switch from one SQLite banning system to yours?
I am currently using BanHammer for all my banning needs. It uses an flatfile to store all its bans. Is it possible for MaxBans to read that file so I don't lose all my banned players?
Here is the file: http://205.196.123.190/d5a15k3v7vbg/no5p1h7sbj02d69/BanHammer+%281%29.db
-
View User Profile
-
Send Message
Posted Jul 29, 2013@toxictroop
What did you do to your database? Try rebooting.
-
View User Profile
-
Send Message
Posted Jul 29, 2013@netherfoam
How the hell didn't I see that!! I must be blind.. Thanks for helping me :)
-
View User Profile
-
Send Message
Posted Jul 29, 2013spamming my console on windows, no mysql setup, will it be ok on the linux though? 18:47:22 [SEVERE] java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (no such table: history) 18:47:22 [SEVERE] at org.sqlite.DB.newSQLException(DB.java:383) 18:47:22 [SEVERE] at org.sqlite.DB.newSQLException(DB.java:387) 18:47:22 [SEVERE] at org.sqlite.DB.throwex(DB.java:374) 18:47:22 [SEVERE] at org.sqlite.NativeDB.prepare(Native Method) 18:47:22 [SEVERE] at org.sqlite.DB.prepare(DB.java:123) 18:47:22 [SEVERE] at org.sqlite.PrepStmt.<init>(PrepStmt.java:42) 18:47:22 [SEVERE] at org.sqlite.Conn.prepareStatement(Conn.java:404) 18:47:22 [SEVERE] at org.sqlite.Conn.prepareStatement(Conn.java:399) 18:47:22 [SEVERE] at org.sqlite.Conn.prepareStatement(Conn.java:383) 18:47:22 [SEVERE] at org.maxgamer.maxbans.database.BufferStatement.prepareStatement(BufferStatement.java:36) 18:47:22 [SEVERE] at org.maxgamer.maxbans.database.SQLiteCore.flush(SQLiteCore.java:91) 18:47:22 [SEVERE] at org.maxgamer.maxbans.database.SQLiteCore$1.run(SQLiteCore.java:115)
-
View User Profile
-
Send Message
Posted Jul 28, 2013@Mr_H4mm3r
There is, use /checkban on the player and it will give you a list of active warnings :)
-
View User Profile
-
Send Message
Posted Jul 28, 2013@netherfoam
Hey Netherfoam!
Is there a way to see a players warnings? It would be nice!
-
View User Profile
-
Send Message
Posted Jul 26, 2013@GPlayer93
Did you reboot?
-
View User Profile
-
Send Message
Posted Jul 26, 2013when i try to change messages in the messages.yml they're still shown like i didn't change them but i did and its saved .. anyone help?
-
View User Profile
-
Send Message
Posted Jul 24, 2013@toxictroop
https://dl.dropboxusercontent.com/u/72835893/Plugins/MaxBans.jar
This will fix your problem. The issue isn't MaxBans's fault, it is your particular setup causing the issue.
-
View User Profile
-
Send Message
Posted Jul 24, 2013Well a plugin called "advanced bans" seem to work..
Your plugin offers way more features and I would really love to use it.. -_-
-
View User Profile
-
Send Message
Posted Jul 22, 2013@toxictroop
One of your other plugins is screwing with you. These players seem to have some permission or other reason that lets them bypass a full server kick - Either increase your player cap, or remove the permission or plugin - your players should not have those kinds of permissions.
-
View User Profile
-
Send Message
Posted Jul 19, 2013@netherfoam
-
View User Profile
-
Send Message
Posted Jul 18, 2013@toxictroop
Okay, and the debug?
2) Try ban someone (Eg. Minegutten again) and then do /mbdebug file again, and send me that. You can then do /unban on them
EDIT: And what is printed to the console when a banned player joins?
-
View User Profile
-
Send Message
Posted Jul 18, 2013@netherfoam
testing, yes also mute works and warnings, clearwarnings checkip ect.... nothing else such as banning/database stuffs.
-
View User Profile
-
Send Message
Posted Jul 17, 2013@toxictroop
Okay then. Hmm.
1) Try this version and see what it prints (to console) when someone who is banned joins: https://dl.dropboxusercontent.com/u/72835893/Plugins/MaxBans.jar
2) Try ban someone (Eg. Minegutten again) and then do /mbdebug file again, and send me that. You can then do /unban on them.
3) Do other punishments - Mutes, ipbans, etc not work as well?
-
View User Profile
-
Send Message
Posted Jul 17, 2013