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/
@zSwayz
It should work fine. Maybe tell me what you saw in the console :P
@JediVader20
I don't think it will be possible to support proxies like that since it would block the communication of the website with the plugin. I will have a go though :)
I'm an operator on a server that uses BungeeCord to coordinate between two different servers, however to do so, both servers behind the BungeeCord proxy need to be in offline mode, and BungeeCord handles the authentication of users.
Is there any way to use MineBans on a server configuration like this?
I would only assume this is working perfectly fine with 1.4.5? I use Spigot though.. I tried using this but saw something in console. :x
@wide_load
Lol ok, thanks. In some cases, I think it can come in handy :P
@littlety2
Oh right, I don't really see the use of that but sure why not :P
@wide_load
NoNo, I mean, You know when you kick someone? Well it says "[Player] has been kicked", ( in game ). I was wondering if you could make the a config thing. Thanks!
@littlety2
It's already configurable :s Check the config page.
@baldursgate3
In that case can you check your startup log for any errors ?
@wide_load Hmm, It seems to be set to true..
@Wide_load
Do you think its possible for you to add a type of configurable ban/kick/temp ban message? That would be a great addon. thanks!
@baldursgate3
Set online-mode=true
Hello, For some reason config.yml is not created during the startup/restart. PM me for any ideas or whatsoever.
@tmad40blue
There is no way to view all of the bans made by a server no, this is deliberate and should help to make it a bit harder for people to use the website to find an account that is not banned. As the owner of the server you get access to the web API which does provide the full list for you to use as you like.
'/ban wide_load' is a local ban whereas '/ban wide_load theft' is a global one, the difference is the addition of a reason for the global ban.
Local bans are not uploaded to the website so everything you see there is global.
The ban reason is displayed on the website very clearly :s It's at the top of the ban page and also shown on most of the lists. It's not shown in the kick message though, the player is advised to visit the site for more information.
From what I see there is absolutely no way for any one person to view all the bans made on a single server. There also isn't a way to discern between local/global ban when issuing the command, and no way to view the ban reason on the website, or when you try to join while banned... shame, I'll have to use something else.
@dantheminer3
I'll get it done by tomorrow. It actually require a re-write of most of the temp ban command :P
@wide_load
Thanks, I hope everyone likes the option. How long do you think it will take you to add that to the config file?
@dantheminer3
Not at the moment but that is a good idea ! I'll add it now :)
Would it be possible to configure the plugin so that I could set a max time for a tempban. Because I have a rank that I want to be able to tempban just enough time until a moderator can decide on a permanent ban.
@watarimon
No only global bans are shared between servers, this is so that we don't have to store more information than we have to and also because temp bans are meant to be used tor minor things that would not generally apply to the other servers.
If I tempban a player on one of my servers will ha be banned on all my servers connected to Minebans during that time? Or do I have to do it locally on all servers?
@ShadowedRose
0.14.1 works just fine on 1.4.2, I just need to update the version number :D