Mojang is preparing right now for people to be able to change their username. Instead of a username, people will have long, random code (called UUID, for example “87a39b0fd47b445dbd2e9ff86f0c70d3”) that will ensure their identity. They username will be just a kind of nickname which will not matter to minecraft anymore for identifying users.
While this is nice for minecraft, this is an issue for us since we store the username also in many databases and most prominently on this blog and forum to identify users.
In order to deal with this, there are several steps required:
- Make the custom-written code UUID-aware. Whenever some of the code is called that we wrote ourselves, it has to know the current username AND the UUID of the users. This is done already.
- Track username changes. The custom code has to be able to update it’s database whenever someone logs in after changing their username and potentially even keeps a history of usernames to be able to track actions back properly.
- Upgrade the minecraft and all plugins as they are released and start working with UUID instead of usernames. This is work in progress. The first plugin was released already. I also have tested briefly all the existing plugins with the new minecraft version and there does not seem to be a huge break in the system. So we might be able to upgrade to the latest minecraft version soon.
- Make the custom-written code able to deal with changing usernames. This is a major issue, since we store a LOT of information based on usernames. All the tables will have to be updated to use the UUID instead. This is a major coding effort that has to be done before we can upgrade to 1.8, whenever that is released.
- Make the blog UUID aware. We cannot continue to allow people to manage their lots, karma or other things on the blog if the username on the blog is not always the same as in the game. So we have to replace the logins of all users with their UUID, and then manipulate the login form so that you can enter the current username, the blog will then retrieve your UUID from the database and use that as your actual login. Instead of your userlogin, your nickname field will then be updated with your changing username as we go, so people can recognize commenters with their username instead of their UUID. This is the only way to ensure that your permissions and ownerships are safeguarded while you change your username over time.
So, as you can see, there is quite some work ahead with this. I am not sure when I will have time to work on all this, but the fact that I have now, after thinking about it for several days, come up with a comprehensive strategy to make this work out at all is a huge progress for myself. There are still a couple of things I am scratching my head over but hope I will see the solution once I start working on it before I go bald. One challenge for example is to deal with individual databases upgrading themselves along with plugins to be UUID-based instead of username based and my code having to be flexible enough to deal with the transition without me closing down the whole system for some hours of testing each time.
Wear oven mitts Unc so you don’t wear your hair away. lol.
Thanks for your hard work as always.
Thanks for doing this Unc. I think this will be all good in the long run.
wow, thanks so much for all your hard work unc!! dont feel like you need to rush, just take your time :)
Don’t worry Unc, I am sure we can all chip in on a wig for you :)
Thanks for the hard work done to the server! It is appreciated more than you think!
I can’t even comprehend how much work goes into this server, it’s phenominal, and this is why I stick around even if I do bugger all, you have one hell of a dedicaiton to making and keeping this server brilliant, and I applaud you.
Also if it helps, I will forever be khyddinamaani, suck it mojang :D
This is why we love you unc. :) no hurry for updating, take it nice and easy
Stupid meaningless update causing problems. Thanks or everything Unc. You make this place amazing for us.
Time for extra donations after this is all over.