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/
Spigot 1.10.2 Java 8 Error:
[12:55:08] [Craft Scheduler Thread - 7/INFO]: [MaxBans] Downloading geoIPDatabase... [12:55:10] [Server thread/INFO]: [Citizens] Cargando a 8 NPCs. [12:55:11] [Craft Scheduler Thread - 7/WARN]: java.io.FileNotFoundException: http://maxgamer.org/plugins/maxbans/geoip.csv [12:55:11] [Craft Scheduler Thread - 7/WARN]: at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at java.net.URL.openStream(Unknown Source) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at org.maxgamer.maxbans.MaxBans$1.run(MaxBans.java:101) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [12:55:11] [Craft Scheduler Thread - 7/WARN]: at java.lang.Thread.run(Unknown Source) [12:55:11] [Craft Scheduler Thread - 7/INFO]: Failed to download MaxBans GeoIPDatabase
Best plugin for my server ever!
@Henaminator
Have a look at the config
@RoyalFeeds
you're thinking of the /dupeip command
Hello... How to fix this problem???
IT says N/A How to fix it??
You should add a /alts command were it tells you other users on that ip is ether banned / offline / online
the messages.yml isn't working for me
List of blocked commands when people are muted? Such as /tell, /m, etc.
@netherfoam @CoolLord22
I have to agree with @PixelHacks, I have checked the SQLite and MySQL db's and in either of them I can find the UUID listed to ban/warn or tempban a player. Somehow there should be a reference to the UUID in the MySQL-DB or it wont know it is banned
I use v2.7 so updating to a newer version will not fix this.
This might be a serious issue that needs to be addressed very quick with a fix.
@CoolLord22
I have the version 2.6. But if I ban a player and he changed his name he can still join.
@PixelHacks
Which version are you using? It has UUID support lol xD
Ok Ok Ok. This is a very nice plugin BUT: If I ban a player for permanent he easily can change his name on mojang.com and now the player can join because he's unbanned... Thats not nice. Please add a full UUID Support. A player will be banned for permanent and if he change his name he is still banned for permanent. Also i would add a /banlist or a /rollback. If a staff member do anything (banned all players) the owner or other player can do /rollback <NAME> and then all Bans, Warns, Mutes will be cleared from this player (like Litebans). Pls add this 3 features or i must to buy the plugin Litebans.. sry but Litebans is currently better as Maxbans.
I have a found Bug all commands with temp in name is buggy / Broken please Fix this
Sorry if this is dumb, but could you explain a little how to setup the webpage? Thank you!
Can you fix the spelling of "monthes" for the times, there is no "e" in months. I'm sorry, I know this is a small detail, but it really bugs me.
In reply to Jaxtrex:
Can you make it so when a player gets warned a message shows on their screen like.
- You resived a warning - Reason Spam
and maybe add /tempipmute
@TheHadDad
One of your plugins is interfering with MaxBans. Ask them to fix their issue.
@AntZaro
Pretty sure there's a permission node like maxbans.seebroadcast - Have a look at the configuration page. It's given to everyone by default, but if you negate the permissions from regular players without negating it for staff, you should be fine. permissions documented here: https://dev.bukkit.org/bukkit-plugins/maxbans/pages/permissions/
@xRoyalFeeds
Okay, so you can sort through 10,000 bans that you've handed out in the lifetime of your server? No.
You most likely want the /history command
@AtomMitte
Yes, if you configure Spigot and Bungee correctly with IP forwarding. Get started with https://dev.bukkit.org/bukkit-plugins/maxbans/pages/notes-on-bungee/
We currently just use essentials commands for banning. What we really want is a feature to see punishment history, which your plugin offers. However, it seemed to me when I was reading about it that all players can see bans unless you specific silent? That just wouldn't work for us. We have essentials notify permissions that are set up to only notify certain people (staff) about bans and kicks and such. If that's not how this plugin works, I don't know if we could use this.
I don't mean to be rude, but this had a few let downs.... I banned a player on my server, and he still managed to join back somehow?! It said {Player} tried to join but was banned. But he still joined?! You might need to fix this. Or it's a problem in the config or on my server... But really, I would have loved this plugin until I needed to remove it.
You should add a /banlist