Hello everyone, I have been thinking about the plugins i have made for bukkit and frankly I am going to start updating them all. I have this idea for my criminal records plugin that could be very useful to everyone for greif protection etc.. Would you guys like me to addon to my plugin a global database of records. It would store the users infraction and also the reasons. If you guys think this is a good idea go ahead and post your opinion below.
@fred302 So a bit like those ban networks where you get banned on one server and you get banned on 100 more?
@timtower No tim, The banning is all up to. The way this works is that you will be able to see everyones criminal background and how many infractions they have and why. For example I come into your server greif and you infraction me, I now have a criminal record with 1 infraction on so and so server. Any server running this plugin will be able to type /cr lookup <name> and it will return a list of how many infractions they have. That way when people ask for OP, MOD, Admin, etc... You will know who is bad and good!
@fred302 Couple things to keep in mind. You need a database, chances are that it grows pretty massive, somebody needs to host that thing. Rules that apply on one server don't need to apply on a different server.
I do know that the database will get huge and yes i will have a remote user for the plugin to check the database. I have already thought of the rules issue, Thats why you get to view the infraction count and why they got infracted. That way if the rules are different they can read the reason and decided from there
@fred302 As long as you have a database set up that can store all the data required for a player, then you should create it. Considering there are a large amount of servers that do not want hackers, griefers, or anyone unpleasant joining their server, you may get a large amount of server owners downloading your plugin. If I may, I would suggest you have dates-of-reports and the ability to add "tags" to a player, such as "Hacker" "Griefer" "Spammer" "Advertiser"or "Nuisance", that way servers can easily filter out players that they do not want.
@fred302 Zombie_Striker is right, you probably want to add tags to certain things, but you also need to keep security in mind. How are you gonna connect the plugins to the database? How much power do they have on there?
@timtower @fred302 Here's a way that I've learned: Best way is have the plugin connect to a webpage and dump the information on there, which then will send it to the database. That way if someone decompiles your .jar file, you don't have to worry about any passwords or logins being stolen. It also allows you to change the database login information without worrying about a hardcoded login in the plugin causing them all to break unless you downloaded the most recent version. You can also have php or JavaScript scripts running on the page to make sure the information is legitimate.
@timtower True, and there's no 100% way for code to be able to figure out what's real and what isn't (aside from checking minecraft usernames/UUIDs and stopping spam. A human would probably have to check that, some sort of staff for something like this would be needed.
@shades161 Brute forcing is always a bad thing, asymmetric encryption won't help here either sadly enough. And somebody can check, but if I keep changing the source server and UUID and a slightly different ban reason every time then nobody will find it.
Thank you everyone for all the suggestions and advice. I will continue to develop the plugin and do my best! As for a web interface thats a great idea.