Hello there! We just recently updated all of our servers with a new Achievement System! Now you can earn Achievements for completing different tasks around the server such as watching Illuminations, riding 10 different rides and even joining for your first time. And what’s better? Each achievement you receive will earn you 5 Tokens! Now you’re able to claim more rewards for enjoying the server. We’ve been looking to implement an Achievement system for over a year now, and are so happy to finally offer it. Some other things have changed recently as well; we’re going to go over them below.
Starting today, you can earn Achievements by riding certain rides, visiting a Park, and completing other tasks. You can view the Achievement Menu in your MagicBand under “My Profile” and “Achievements”. You’ll be able to see the names of every Achievement available, but will only see descriptions for ones you completed. Below you can see the differences between the two:
Right now the Achievement list is limited, however we will be adding onto it in the coming weeks!
Another advantage to using the system is, with each Achievement you earn, you receive 5 Tokens! Tokens can be used to purchase Outfits in shops like the Emporium in the Magic Kingdom (/warp emporium).
If you didn’t already find out on the server, some changes were made to the way the Ride Counter works. For starters, we had to clear everyone’s existing list, but there’s a good reason for it. The old system stored each ride separately with a number attached to it, that number being the amount of times you’ve ridden it. For example, my Ride Counter for Space Mountain would look like: “Legobuilder0813 – Space Mountain – 10”.
The new system now stores it differently, keeping track of each time you ride every ride, as well as the time you went on the ride. This new system provides us with more information as to which rides are more popular than others, and can help us find which rides need improvement.
Although the changes to the Friend List were separate from the Achievement update, I figured I would talk about what and why we changed the system here. As you’ve probably noticed by now, your Friend List was cleared about 2 days ago. This is something we tried our best to avoid because we know people use the system so much. Some people had over 1000 friends on their old list! But, the format in which we stored your Friend List was not optimal at all and had to be changed. The new system has already improved processing lists in the backend. Now, let’s go over the difference between the two lists.
Beware: There is a lot of technical coding talk in the next two paragraphs. Just a fair warning!
The old system stored friends in the same place we store your balance, tokens, rank, and a lot of other options specific to your account. But, your friend list was just stored as one text field, which in Java we call a String. It stored each of your friend’s UUIDs (Unique User Identification) in one string. One UUID is 36 characters (letters, numbers, and symbols) in length, which is relatively small. But, if you have 100 people in your friend list, that’s 36 x 100 = 3,600 characters in length. Plus, each UUID is separated with a space to distinguish between one UUID and the other. So, add 99 spaces in there and you have a 3,699-character friend list. That isn’t too bad, but, if you have 748 people on your Friend List, you’d have a friend list that is 27,675 characters in length. As the lengths get larger, it takes longer for the server to process (only milliseconds of a difference, but enough to impact performance). Along with your Friend List, every friend request you’ve ever received gets stored in a list just like that one. So, 320 friends and 50 requests later, you’re taking up 13,688 characters. TL;DR: the old system was very bad.
So, now that you know how the old system worked, here’s how the new one is stored. There is a separate area in which we store friends now, away from where we store your balance, tokens, etc. In fact, we store everyone’s friends in the same place. There is a different entry for each “friendship” along with a status symbol. So, if I send a friend request to Helopoh, there’s now an entry with my UUID as the sender, Helopoh’s UUID as the receiver, and a status number (either 0 or 1) which tells the status of the friendship. If the status is 0, Helopoh still has the ability to accept or deny the request since she’s the receiver. When she accepts it, the status changes to 1, letting the server know that entry can now be added to my Friend List when I join the server. If she denies the request (which has happened before), the entire entry is removed. Thanks to this new system, I can tell you that, since we implemented the updated system a couple days ago, 1,296 friendships exist and 329 requests haven’t been answered. If I wanted to do that with the old system… let’s just say I would rather cry. TL;DR: the new system is amazing.
End technical coding talk
Now you see a lot of thought goes into something so easy-to-use as our Friend System. Even though it’s one of the easiest features on the server to use, the Friend System is probably one of the most complicated in the backend. The only thing that is more complex is how we upload and download your Backpacks and Lockers, but I won’t get into that now. It’ll take 10 pages to explain that one.
That’s all for now! Over 1000 words later, now you know about the new Achievement System, the changes made to the Ride Counter, and why we had to regretfully reset Friend Lists. Remember, if you have any questions, comments or concerns, just contact a Cast Member on the server; that’s what they’re here for! Enjoy the new Achievements, and as always have a magical day!