Jump to content

Dev. blog - Changing Names, 27 August


XxTearGodxX

Recommended Posts

Link to Dev. Blog - http://devblog.runescape.com/c=ijI6Vx3F ... post_id=26

 

 

 

Im Mod Duncan, one of the members of the Web Systems team at Jagex. A lot of the work we do in Web Systems goes on behind the scenes, so you may not notice much of it (except when things go wrong), but we're responsible for developing and maintaining all the website systems that support our games, manage your accounts, offer website features like the hiscores and forums, handle payments for membership and all the rest. Most of the time the effects of our systems are limited to the website, but the work Ive been doing over the last few months will be a lot more visible when it finally launches.

 

 

 

The project Ive been working on since January (according to version control logs; it seems a lot longer) is called Display Names and, as various hints dropped on the forums and Twitter feeds might have led you to believe, has the goal of allowing players to change their names.

 

 

 

So why, you might ask, has it taken so long? Its a common occurrence in the programming world that the easier something is to describe, the harder it is to implement, and this project has been no exception. So, make yourselves comfortable, and Ill lead you through the long and convoluted process of implementing the simplest sounding of ideas: "let players change their names". It cant be that hard, can it?

 

 

 

Humble beginnings

 

 

 

The beginnings of the Display Names project hark back even further than January, before I was even involved. Back then it wasnt even called Display Names, and the goal was subtly different - we just wanted to make it easier for people registering new accounts to find a username that wasnt already taken.

 

 

 

There are millions of accounts registered for RuneScape and FunOrb, and thousands more are added each day, but only a fraction of those accounts are still used. If we were to go through and delete all the inactive accounts, we could free up their usernames for others to choose. A noble goal, to be sure, but alas (as is so often the case) it didnt last in the face of the technical details. At this point in our narrative a brief digression into the architectural design of the Jagex back-end servers is in order, that you might understand the issues we faced.

 

 

 

The systems we maintain are broken up into many individual applications (we call them modules), each of which handles a generally quite small part of maintaining the games and accounts. For example, theres one module that handles creating new accounts; theres one for polls; another for showing the hiscore tables. The bigger systems, such as handling offences and appeals, are spread over more than one module. Each of these systems stores its own information, and whenever players are concerned we store the information against their usernames. Generally, this makes our life a lot easier, as we can update individual modules without affecting the rest of the systems. However, in this particular case, it made our life a lot harder.

 

 

 

Deleting a user from every module where they might have an entry wouldnt be something we could do instantaneously, so our first hurdle was what to do if wed decided someone was "inactive" and they had the temerity to start playing again halfway through the deletion process. Unlikely, you might think, but with the millions of accounts we have, these sorts of troublesome events become more and more plausible. Even if wed found a solution to that issue, we discovered there was information in the Billing systems that we were legally obliged to keep, which made it even more complicated.

 

 

 

In the end, we gave up on the idea of deleting accounts and considered the alternative - just deleting their names.

 

 

 

Whats in a name?

 

 

 

Its around about this point in the tale that the project became Display Names, and, shortly after that, I became involved. The new goal was to add a second name to every account, completely separate from their username. Then we can do what we want to the display name on the account without affecting our data storage or old accounts. We could even take names away from unused accounts to free them up for other players, and the worst that would happen is that those accounts would have to pick a new name if they wanted to come back to the game.

 

 

 

We even found a number of extra benefits from this idea. With the display name separate for the account name, we werent bound by existing restrictions on name length, or the characters it could contain. If we have the facility to take someones name away without otherwise affecting the account, we could do something about offensive names without banning the account outright. Itd even make accounts more secure, as a potential hijacker would have to work out your username as well as your password.

 

 

 

As you might guess from the eight months its been since this point, even that apparent simple goal wasnt quite as easy as it made out. Such things never are...

 

 

 

That which we obtain too easily, we esteem too lightly

 

 

 

Once we had the basic concept of the design down, the first stage was picking it all apart again to find the flaws.

 

 

 

Firstly was the issue of making the display name of each account available to all the modules that needed to know it, not to mention the games themselves. Most of the time we could get away with using the login servers, which hold a lot of relevant information about everyones account that is fetched whenever that player logs in. However, that doesnt help us when were showing you your Friends List (if your friends arent logged in), or on the website when looking at the hiscore tables or the forums. Because we wanted to let players change their names, we couldnt just store it everywhere, so we needed to have each system look the name up each time. After some hastily scribbled calculations, it looked like the worst case would be around 40,000 of these look-ups per second. That, incidentally, is quite a lot. We didnt want to throw that much load at the login servers, so thered have to be a separate system to handle the look-ups as fast as possible.

 

 

 

Technical problems out the way, we considered making the changes as simple and clear as possible to the users. Keeping the Friends List from breaking was probably the biggest issue. If your friend changed their name, we didnt really want them to stop being your friend, so the list needed to store accounts rather than display names. That would still leave us with players scratching their heads and wondering who these people with strange names on their list were, so we added a feature to the interface that showed each friends previous name when they changed it.

 

 

 

Finally, we thought about the ways players might tread on each others toes with display names, so we decided to let players hold their previous name for a while after they changed it, so if they decided they didnt like the new name as much, they could still go back to their previous name without someone else sneaking in and taking it. We also made sure that it wouldnt be too easy to impersonate another player, so similar-looking names wouldnt be allowed.

 

 

 

Nine parts perspiration

 

 

 

With all the excitement of writing, rewriting and debating design documents finally behind me, it was time to actually work on the module itself. As an added bonus, there was also the work of integrating display names into our other Web Systems modules and working with the Game Engine, FunOrb and RuneScape Content teams to enable them to do the same. Alongside the work Ive been doing, theyve all been hard at work making, testing and tweaking their own changes.

 

 

 

Player Support has been working to ensure we dont inconvenience the players with our changes, and have made many suggestions to make the project as positive as possible. Theyve also been reviewing the tools theyll need to handle all the new functionality available to them.

 

 

 

Its this coding thats been occupying my days for the last couple of months, but its finally drawing to a close. The main display names module is currently at the tender mercies of the Web Systems QA team, who are ironing out all the issues and making it as reliable and easy to use as possible. The Web Content team have produced the public interface, and the RuneScape Content and FunOrb teams have been incorporating display names everywhere (the RuneScape Content team were kind enough to share their list of every line of RuneScapes code that references the players name - almost 2,000 different places).

 

 

 

The final stretch

 

 

 

Theres still plenty of testing and work to be done before all this work bears fruit and players can change their names. We need to test that the new system can handle the load of all the requests being made of it, and co-ordinating the launch of changes across all the teams and departments is a mammoth task in itself. Even after the system is launched theres still plenty of work to do - not only will I need to keep a close eye on the system and fix any issues, but there are plenty of new features we'd like to add in the future as well.

 

 

 

Possessing the natural tendency of developers everywhere to shy away from deadlines, I wont leave you with any promised launched dates (Id only doom myself to some catastrophic interruption if I did), but the projects coming to a close and Im very much looking forward to the day we can launch it into the eager hands of our players.

 

 

 

If I happen to be out of the country on that day, leaving no forwarding address, thats entirely coincidental...

 

 

Project: Display Names

 

Tags: back-end, development, technical

xxteargodxx.png
Link to comment
Share on other sites

  • Replies 163
  • Created
  • Last Reply

Top Posters In This Topic

This isn't a feature I have been waiting for, and I plan on keeping my name the same, but it seems like a good feature to have. I know a lot of people who hate their name and want to change it. It will be nice to have my login based on my email I guess.

Burquedout.png
Link to comment
Share on other sites

I do feel kind of bad now that I think about it. With an update like this, you know their will be issues, which I can totally understand on an update like this. I have the feeling the day this is released, it'll be a very long day for some people over at Jagex. :(

This website and its contents are copyright © 1999 - 2010 Jagex Ltd.

Link to comment
Share on other sites

Finally, and very nice to know how they're going to do it. Can't wait to change my name.

 

 

 

I also hope that Tip.It will allow us to change our forum names too.

Link to comment
Share on other sites

I hope that this means I can claim the name Omali, the original owner who was probably banned or quit after tutorial island because the name hasn't been on the highscores since 6+ years ago when I created my account.

banner6jf.jpg

 

jomali.png

Link to comment
Share on other sites

i don't care that much for my ingame name tbh, so i'm not too excited by this update, but i guess a lot of people have been waiting for it for some time now, so good for them ::'

 

 

 

EDIT: i hear you omali, i'll probably try to get that number of my name too, but i won't change it so something completely different.

nekusig2fcopy.jpg

 

There are three sides to every story: There's one side, there's the other, and there's the truth.

Link to comment
Share on other sites

nice reading, was quite suprised about 2 dev. dairies in 2 days :shock:

 

 

 

I thank to god by them making another category instead of changing the original username. hacking could be back to steal names....really was afraid on that, glad it won't be possible as they're describing it 8-)

 

 

 

also, it really should be massive bugs day (lol), all keep your expenssive stuff at banks at next tuesdays/wednesdays :wall:

want_a_box.png
Link to comment
Share on other sites

Finally, we thought about the ways players might tread on each others toes with display names, so we decided to let players hold their previous name for a while after they changed it, so if they decided they didnt like the new name as much, they could still go back to their previous name without someone else sneaking in and taking it. We also made sure that it wouldnt be too easy to impersonate another player, so similar-looking names wouldnt be allowed.

 

 

 

Just what I wanted to hear, fantastic so hackers can't screw you over. ::'

smellysockssigbyblfazer.png
Link to comment
Share on other sites

I might actually train summoning after this update. Maybe I'll even max combat then quit. ::'

 

 

 

This might be Jagex freeing me from this game. \'

 

 

 

Yes but we'd still know it was you be the previous name feature, you'd have to change your name twice ;)

smellysockssigbyblfazer.png
Link to comment
Share on other sites

I might actually train summoning after this update. Maybe I'll even max combat then quit. ::'

 

 

 

This might be Jagex freeing me from this game. \'

 

 

 

Yes but we'd still know it was you be the previous name feature, you'd have to change your name twice ;)

 

 

 

Yeah, I probably wouldn't do it anyways. I'm not ready to quit nor remove the little challenge that still remains. :lol:

91215531.png

 

Poetry

Indexed Picture 1

Indexed Picture 2

 

Killed my maxed Zerker pure April 2010

 

Rebooting Runescape

 

91215531.png

Link to comment
Share on other sites

My word... they use player usernames as the primary key?! It is incredible that a company filled with software engineers doesn't appear to have heard the concept of an unique ID number for each account as the primary key. If they'd done this in the first place, there would be no issues whatsoever. ID numbers are meant to be transparent to the user of the application and never change. Usernames are very poor record identifiers.

 

 

 

Consider the way phpBB is designed (correctly). All our usernames are not the unique reference to our ID. Yes, they are unique, but they are not identifiers. We have ID numbers for that... for example, mine is 189809. This number, in the Tip.It's phpBB database, references everything about my account, and is why username changing is easy and efficient.

  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

Link to comment
Share on other sites

My word... they use player usernames as the primary key?! It is incredible that a company filled with software engineers doesn't appear to have heard the concept of an unique ID number for each account as the primary key. If they'd done this in the first place, there would be no issues whatsoever. ID numbers are meant to be transparent to the user of the application and never change. Usernames are very poor record identifiers.

 

 

 

Consider the way phpBB is designed (correctly). All our usernames are not the unique reference to our ID. Yes, they are unique, but they are not identifiers. We have ID numbers for that... for example, mine is 189809. This number, in the Tip.It's phpBB database, references everything about my account, and is why username changing is easy and efficient.

 

 

 

Now theres what, a 9 year backlog on RuneScape, prevention is better than cure, but it's going to be a nice feature just I hope too many people don't change their names, people coming up to me;

 

 

 

Him: "yo do you remember me?"

 

Me: "not really"

 

Him: "my name was propker34"

 

Me: "no?"

 

Him" "b4 dat it was pwnage66"

 

Me: "no."

 

Him: "b4 dat it was zezima9462"

 

Me: *teleports*

smellysockssigbyblfazer.png
Link to comment
Share on other sites

namechanging.png

 

 

 

Picture taken yesterday - Wow, Stevew! It's great to hear feedback this soon on a system that players are not quite sure how it will affect their gaming experience!

 

 

 

Good job pointing out most of the problems players have come up with and showing how you will bypass or fix those with excellent solutions.

 

 

 

I think the novelty in this update is not just that it can only benefit a player's game experience, but also that it adds in a long-overdue system of security.

Link to comment
Share on other sites

Been waiting 7+ years to put an "i" in my username.

 

 

 

This update is gonna be awesome.

 

 

 

And I can finally be Tevesh Szat, the correct spelling of the name. :)

This website and its contents are copyright © 1999 - 2010 Jagex Ltd.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.