MineBans
MineBans - The Fair Global Banning System
Put simply, MineBans is a global banning system for Minecraft servers. We offer a way for server admins to publish the player bans they make on their servers to our database. The owners of other servers can then use this information to decide if a player that just joined their server should be allowed to stay.
How Does it Work ?
When a player joins the server a summary of any previous bans they may have is downloaded from minebans.com and the following checks are done on the user
- Is the player on the local exception list, if they are let them join.
- Is the player banned from this server (global, local or temporary), if they are prevent the connection.
- Is the player banned from another server with the same owner, if they are prevent the connection.
- Is the player using a public proxy, if they are prevent the connection.
- Is the player using a Minecraft account that is known to be compromised, if they are prevent the connection.
- Does the player have too many bans from other servers, if they have prevent the connection. Each of these checks is fully configurable.
What About MCBans, MCBlockIt, Glizer, etc
The way I see it MineBans is nothing like the other systems available for a few reasons (feel free to judge for yourself though):
- Our ban reasons are fixed. This means that the plugin can collect supporting evidence for each ban. Ultimately this means instead of a single word, "xray" as the ban reason we can provide a full page of statistics and calculations. As the bans are backed up by data we believe they are much more trustworthy. (At the time of writing over 80% of our bans have supporting evidence)
- We don't track players, we only collect the necessary information from the server. There is no log of who logged in to a specific server or how long they were online.
- Less potential for abuse. Did you know the MCBans team could globally ban a player from all servers for no good reason, with MineBans there is no concepts of a system wide ban like this. Did you also know that the MCBans team can configure their plugin (without your consent) to broadcast a message of their choice when a player joins, this has previously been used for political messages unrelated to Minecraft. There is no such feature with MineBans. The compromised account feature is the only way that a player could be banned incorrectly and you are free to disable that feature if you do not trust the origin of the data.
Some Things you Should Know
- All moderators of the server will need an account at minebans.com. This might seem like an unnecessary pain but it allows us to hold a certain player responsible if the system is abused without having to take a drastic step like removing all of the servers bans from the database. It also will help to prevent abuse of the system as a valid Minecraft account is needed to sign up.
Installation
This is a summary of the information that can be found on the wiki
- Sign up for an account on our website
- Download the plugin from the files page and put the .jar in your plugins folder
- Run the server once for the config file to be created and then shut it down again
- Open the config.yml file and edit the api-key option so that it matches the value from the My Servers page on the website
- Give your admins and moderators the necessary permissions
Usage
The basic commands are listed here, for more information please see the commands page on the wiki. All commands can be used with no arguments to show usage information.
- /ban - Bans a player from the server. Requires the minebans.admin.ban permission.
- /unban - Removes any bans that a player currently has. Requires the minebans.admin.ban permission.
- /kick - Disconnects a player from the server. Requires the minebans.admin.kick.
- /exempt - Used to manage the exempt list. The exempt lists acts as a list of players that will be made exempt from the join checks meaning they can join even if they are over the servers limits. Requires the minebans.admin.exempt permission.
- /minebans - Provides various commands relating to the system.
Since the page needs some colour here is an example of an in-game lookup
The colours next to each reason denote that ban's severity. Limits can be configured for each ban reason and each severity.
For Developers
The plugin provides it's own API for other plugins to use, the features provided by this are documented in detail on the GitHub wiki page.
Contributing
Contributions to the project are very much welcome, if you have a feature that you want implemented and know a nice way to do it then consider forking the repo and submitting a pull request. These will be accepted as long as the following simple guidelines are followed.
- Do not edit the structure of the pom.xml file, feel free to add a dependency if you need it but the formatting and structure should not be changed.
- If you are exposing a new API method, add a JavaDoc comment to it, but don't over-comment internal code.
- Follow the existing code style, don't antagonise over every space though !
All dependencies that are used are now available from a public Maven repo, so you don't have to worry about building several other projects just to add a simple change any more.
Source Code
Dev Builds
Changes Since Last Release
Download
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
http://bukkit.jacekk.co.uk:8000/job/MineBans/
@BOOMBOOMMINECRAFTROCKS
No, when the server has online-mode set to false it does not validate the username that joins meaning anybody can join with any name at all. This would lead to people being banned unfairly by people pretending to be them on offline servers. Your friends should buy the game,
if it is not please add that in! Because I still want my friends to play :(
cause i have some friends who play but they don't have the full version of minecraft. They play offline. EDIT: Nvm you do need to be on online. Can you make it able to be offline too please.
oh wait nvm it works lolz. Does the server have to be on online mode at all times?
@wide_load
Yes
@BOOMBOOMMINECRAFTROCKS
Do you have online-mode set to true in the server config ?
I got a problem, when i startup my server with minebans. no config file is generating... Only an empty folder
@iTristan
Sorry I forgot to reply, I'm working on it :)
@watarimon
The latest version should, is AntiCheat enabled correctly ? You can ignore the warning for now everything will work as normal.
I'm trying to run Minebans together with AnitCheat but I'm not sure if it works or not. When starting the server I get:
If I run NoCheat+ I don't get the exploit warning. I thought latest version would work with AntiCheat?
Hello, I used to use your plugin but when I installed to bungeecord, it does the authentication and sends the players to servers that are retired to be in offline mode. Therefore I could no lose use the plugin. I know that I'm asking a lot but whenever you have the time, could you make a minebans bungeecord plugin please.
@xron89
Is your server set to online-mode=true if not the plugin will disable before the files are created. There should be a warning in the server log if this is the reason.
Hey, I'm trying to install this when I add the plugin jar it creates a folder but theres nothing inside the folder no configs or place to put my api key etc...
"There are no files in this directory or it doesn't exist!"
Our 4000th ban was issued on christmas morning :(
@DeprecatedNether
Yes that would be cool :)
@wide_load
If this does get implemented, could you also add some parameters so for example, the message could be set to: "<Moderator> banned <player> for <reason>", example (names are taken from minebans homepage): "wide_load banned jeeperscreep427 for Destroying another player's building" (similar would be for kick).
Thanks :)
@wide_load
That is correct. /mb i should do it. Just need to export my bans from McBans.. YUCK D=
@zSwayz
There is a command to import them, I think it's /mb i (really should know that !) check the commands page if not.
@wide_load
I'll have to let ya know later. Can i import all my local bans from McBans? I don't think i saw an option for that on the site. :x
@JediVader20
Yeah that would work fine, the problem would be caused by the system used to verify that the ban uploaded actually came from the server that claimed to sent it. When you upload a ban the website will make a request back to the server that was originally registered for a random code. This is done via the server list MOTD since that is a reliable way to communicate without setting up a listening server occupying a port. As far as I know these proxy things usually override the server list ping with their own info which means that the plugin would not be able to set it's special MOTD. Like I said though none of this has actually been tried yet, if the proxy thing allows for plugins to set custom MOTDs then it should work fine, you would just have to register it as one server and use the same API key on both.
I can't see why it wouldn't, if the plugin is using HTTP requests to query bans etc it should still work, the only firewall configuration is to disallow any clients bar the proxy from connecting to the port that the minecraft process is running on.