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/
@EndCraftMC
So you want an anti silence permission node? That's quite the opposite of what I thought you were asking :|
@netherfoam
Staff on my server like to know when and why a certain player was punished. And it could stop any possible abuse from staff, sort of. Like if one day a staff member goes rouge and starts banning players, the other staff won't really be able to tell what's going on if he happens to use the "-s" in the command.
@EndCraftMC
I can add this, but may I ask why? You can silence commands by putting -s in the command somewhere.. like /ban asdf -s SomeReason will ban asdf for SomeReason without announcing it.
Anyway you can add a permission node for who can see the punishment broadcast? ._.
@EndCraftMC
/mbexport vanilla will export all perma bans into banned-players.txt and banned-ips.txt :)
Could you possibly make it so that even bans via MaxBans get printed into bukkit's ban system? Just if in the case this plugin ever becomes inactive for whatever reason or if it breaks with future updates.. etc..? It would be pretty nice!
@amfm93
I've added the /history command for when I release v1.1
@DekuHero
You will have to add these new permissions.
If someone had regular permission perms to ban before I added this plugin can they still ban? or do I have to add these new permissions?
@flong55
No ban weightings. Strip their perms to ban completely then. You shouldnt have immature mods like that anyway
@DekuHero
Most players on my server have up to a dozen alternate accounts. You can do /dupeip nameofplayer to find anyone else from their IP address, but there is no way of telling if theyre the owner of both accounts or just say... Siblings from the same house/school/connection.
@mig4ng
Where? You're IP banned makes sense, and your ip is banned makes sense too.
quick question? when someone joins the server does it say to the ops if he has a alternate account? If not can you add that?
Your* IP is Banned! Grammar Nazi!
Author read my last post and answer it please, just want to know if you could do that
I like this a ton. D: Ill test it on my test server tonight.
@EndCraftMC
If Bukkit has bans loaded, Bukkit will deny players in banned-players.txt.
If MaxBans has bans loaded, MaxBans will deny players in plugins\MaxBans\bans.db.
Same applies to IP bans. So no, no bans will be wiped, unless you delete banned-players.txt/ips.txt.
If you want to import those bans into MaxBans, you can try /mbimport vanilla, then it should be safe to delete banned-players/ips.txt.
Will it work with previous bans in banned-players.txt/banned-ips.txt, even a simple ban message thingy mobboby? or will all bans be wiped?
@amfm93
Me too, It'll take me a little while to do this though. Maybe in 1.1 or 1.2.
I see that you've written that you are never going to implement "Ban weightings" but I am asking if you can do it because the staff of my server i complaining so much because they are kicking/banning each other for fun (Yes I want to demote them but the other owners don't want to).