Using the Lightning Fury skill in Diablo 2 Resurrected from Keith Norris's blog

Blizzard has revealed the source of server issues that have plagued D2R items for salesince the game's release, in an attempt to shed light on the technical aspects of the game's development. : Resurrected has been plagued by server issues since its release, and Blizzard has revealed the source of those issues in an attempt to shed light on the technical aspects of the game's development. The D2R ladder itemsblog has a lengthy explanation of what happened, why it happened, and what the team is doing to address the issues moving forward. Community manager Adam Fletcher wrote the explanation. You can find a more detailed explanation here.

According to Fletcher, the problem is not only caused by spikes in popularity that overwhelm the servers, but it is also caused by legacy code that has become out of date over time. The development team kept a significant amount of old code in order to maintain the integrity of the original game's design, which was important. In contrast, one legacy service in particular struggled to keep up with the changing behavior of modern players.

As Fletcher points out, one of the reasons we bring up the subject of modern player behavior is that it is an interesting point to think about in general, as is the case with most things. If you were playing Diablo II back in 2001, there wasn't nearly as much information available on the internet about how to 'correctly' play the game (Baal runs for experience, Pindleskin/Ancient Sewers/etc for magic find, etc) as there is today. In order to learn how to play the game, new players can look up any number of amazing content creators who can teach them how to play in a variety of ways, many of which involve a significant amount of database load in the form of quickly creating, loading, and destroying games, which can be extremely resource intensive. Players creating new characters on new servers and putting forth significant effort to obtain their magic-finding items was something we had anticipated, but we had grossly underestimated the amount of information we would gain from the beta testing.

A database for Diablo 2: Resurrection can be divided into two parts: a global database that serves as a central hub and a number of regional databases that help to carry the load of the game. That being said, the team has discovered that they are saving too many times to the former, implying that the latter are not assisting the former to the extent that they ought to have been.

According to Fletcher, there is no longer a requirement to do so on a regular basis to maintain compliance. Example of a mitigation we've put in place: we should really only save you to the regional database and only save you to the global database when it becomes necessary to unlock you, as shown in the following example. Meanwhile, we are writing code to completely overhaul the way this is done, and we are also considering a redesign of our architecture, which will result in us saving less data to the global database and reducing the load placed on that server. This, on the other hand, will take some time to develop, test, and finally put into action.

Additionally, the concept of progress loss is discussed, which is defined as follows by Fletcher:When servers were down, characters belonging to players became stuck in regional databases, making it impossible for them to move around the world. The developers were forced to choose between two options due to the lack of a way to transfer characters from the local database to the global database: either unlock everyone who had unsaved changes in the global database, or take the game completely offline for an extended period of time. According to the team, the first option was the best choice because it allowed people to continue playing the game without being interrupted.

The team believes they have discovered a method for character restoration that will not result in any significant data loss as they move forward with the project. Fletcher believes that if it is allowed to continue, it should be limited to a few minutes at the most at this point.

After all of this, what exactly is the team doing in order to respond to the situation is still unclear. Temporarily restricting your ability to create and join games will be implemented in order to prevent people from creating and joining an excessive number of games. Login queues are also being implemented in Diablo 2 resurrected items: Resurrected, which will help to prevent the game from becoming overburdened during periods of high demand. Critical functionality is also being broken down into smaller services in order to keep the game from becoming overburdened with too many requests. In Diablo 2 Resurrected, the Amazon uses the Lightning Fury skill to annihilate a large number of opponents in a single attack, which is particularly impressive.

According to Fletcher, our server outages have not been caused by a single problem; rather, we are addressing each problem as it arises, employing both mitigating solutions and longer-term architectural changes, as the situation requires. Despite the fact that a small number of players have experienced character progression loss, any future character progression loss caused by a server crash should be limited to no more than a few minutes at the most at the time of the server crash.

It is understood by our team that this is not a complete solution, and we will continue to work on this issue. The Blizzard team, with the assistance of other Blizzard employees, is putting forth tremendous effort to improve the overall game experience for players.


Previous post     
     Next post
     Blog home

The Wall

No comments
You need to sign in to comment

Post

By Keith Norris
Added Jan 18

Tags

Rate

Your rate:
Total: (0 rates)

Archives