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/
@AndrewEpifano
:D Thanks !
This is a greater alternative to MCBans. I enjoy the design of the website and the fact that it is more user friendly
@Mayhem777
There would be no point to those bans. You can change your IP so easily these days...
But banned ips can be legit...
Fun statistic: 1,033,490 API requests have been processed so far.
@abcedea
The format of the .txt files is just a list of names so you can paste your old banned-players.txt in there and it will work fine. I will add a nice way to do it with commands though.
The group bans feature should stop players that were globally banned from connecting to your other servers. Can you let me know if it definitely does not do that and I will look into it :)
@wide_load
Oh I see :)
At least it disables. :) Oh and might I say, I like the idea of not being able to ban people if they haven't joined the server before (yay, no random bans from people that are raging from being banned) but could you put something to import MCBans bans to MineBans ? I have people from a long time ago coming on my server and reminding me why I banned them in the first place >.>
Oh and one more suggestion, group bans. I hate it when people get banned on Creative just to go on Survival and do the same thing. But because I have your other plugin, AutoMod, it wont add bans with high severity (required to ban from all MineBans servers). I have to base bans for griefing off what their intent was. A few blocks just to get inside, I'll restore their build perms. But if they were systematically breaking blocks with the purpose of deleting it, I global ban. The data is not submitted to the website based off how I choose to ban obviously, so if there was a system to link server bans (not incl. local or temp) I would be complete :D
/EDIT: Oh.... It appears I may have done something wrong when I made my account... I noted the "check if the player is banned on another server owned by the same person" but they can still join :? I'll have a look...
@abcedea
Small correction, it disables itself if you try to make a ban while the server has offline-mode=false. The other stuff you said is the reason for that :P
@Mayhem777
I think it does work, but you shouldn't use this plugin.
If you make a global ban, it would be unfair because there is now way of knowing if that is actually their account. I could log in to your server as Notch and get banned, though it wouldn't be him who had done wrong to be banned.
I would recommend that you use the essentials plugin for banning, though you wouldn't have the luxury of networked bans.
Works on offline servers?
@Geekin_It_Up
SKIP THIS COMMENT - If its too long to read or off-topic.
^ I'm being responsible :D
In my opinion, that is more of a banner (hehe lol, pun) I would assume an actual logo would be needed, for things like site headers.
Take MCBans for example:
Yes, it is a good banner but I'm not too sure on the excessive bevel / emboss.. Looks too industrial for me. If you were to put that in the top of the MineBans.com website... It'd look a little funny.
I quite like the MCBans logo, its just the color let it down. I prefer the Apple style logo thing, its really quite modern. So I had a bit of a play around in Ai and came up with this. I kept a few personal notes, wide_load has an obsession with drop shadows, likes Ubuntu (the font), likes shiny things, and everything has to be clean. Exactly how I feel 99% of the time.
FULL RES: http:legacy.cdn.stratuscraft.net/IMG/MineBans/minebans.png
The only thing with that logo, is that it may not work very well with the current header bar (if wide_load decides to put the logo there) So a color inverse may very well do the trick.
FULL RES: http:legacy.cdn.stratuscraft.net/IMG/MineBans/minebans_vert.png
Though that looks awful here, it may very well look amazing on a darker background. (don't worry, I won't put yet another image showing that)
And correct me if I'm wrong, but that hammer and font didn't look CC reuse allowed when I googled it :3 (though it could have been clipart, in which case the Microsoft acceptable use policy or whatever they use would have covered it, but not commercially)
Sorry for turning this into a giant logo tut, but I thought you may have been interested :)
And lastly, wide_load if you would like to use the original logos I had made, there are full resolution links below the pictures, and the PSD's and Ai's can be supplied at any given time. Just PM me and I'll give you the correct permissions. :) Plus, the Ubuntu font is under the "Ubuntu Font Licence" and can be read here: http:font.ubuntu.com/licence/
Did u get the logo?
@abcedea
It could be done on the server quite easily, the evil part would be storing all of that information so that when a new player joins you see how many alts they have. I could add an option so that a ban is also an IP ban which would basically do what you are suggesting.
Chances are I have the accounts already since I used a bot to scrape them from paste sites and forums, but PM me anyway and I'll check :)
Ticket help would be awesome ! I'll get back to you once the support system is made I guess.
@wide_load
"The only way to work that out is based on the players IP address, and one of the things I don't want to do is start collecting loads of evil looking information on random players. When you join a server that uses MCBans (I know, sorry for the comparison again) your IP is sent to their servers if you want it to be or not."
Why don't you use the information that's already on the server? IP's are logged as soon as you join in the console, and most people know that. So I wouldn't believe its evil if you use the clients server to stop that. :) And I know that would cause a problem on other [external] servers, I mean, they don't have direct access to all of your files. But instead of logging IP's, why not compromised accounts and the instances that they login with?
/EDIT: Also, I'd like to be a helper-outer-rer with tickets ! I love this moderation stuff :P
Oh, and I have a small list of accounts I KNOW are compromised. :) If you'd like me to PM them to you... Just let me know. Plus I believe Dinnerbone has a compromised account checker: http:dinnerbone.com/minecraft/compromises/
u like?
Oh! heres a little logo i made up for the plugin! If it needs to be edited in anyway just ask!
https://www.dropbox.com/s/g4to8br72mpn0tn/MIneBanslogo_edited-1.png\
@Geekin_It_Up
They are all meant to be, it's only the message on the kick screen though not the in-game message,
Hmm.... in the newest update only kick messages are customisable? not local bans?
@Geekin_It_Up
That would be awesome !I need to make it possible for people to actually do things though, at the moment I am doing stuff like updating player names in the terminal which is not that user friendly. I'll let you know when the ticket system is done I guess.
Regarding the alts thing. The only way to work that out is based on the players IP address, and one of the things I don't want to do is start collecting loads of evil looking information on random players. When you join a server that uses MCBans (I know, sorry for the comparison again) your IP is sent to their servers if you want it to be or not. Basically it's a bit of a nightmare in terms of privacy policies and so on. The idea was that the compromised account feature should stop anyone being able to use hundreds of other accounts and for those few people that have their own accounts, each one should be treated as a separate player, chances are they will have been used to break rules before anyway so will be blocked. I'm open to suggestions though.
Can u add max alts support? Alts are a pain in the butt!