Diablo II Resurrected ‘s reliance on its 20-year old legacy code has been partially responsible for service interruptions, kicking off almost a week of intermittent outages for the game.
In a lengthy blogpost, community manager PezRadar explained that the problems faced by the game stem from two major factors- the massive global server containing all the player data, as well as the legacy code in Diablo II Resurrected , which controls how some parts of the game work.
“In staying true to the original game, we kept a lot of legacy code. However, one legacy service in particular is struggling to keep up with modern player behavior”, the forum post reads.
“Additionally, overall, we were saving too often to the global database: There is no need to do this as often as we were”, they continue.
“We should really be saving you to the regional database, and only saving you to the global database when we need to unlock you–this is one of the mitigations we have put in place. Right now we are writing code to change how we do this entirely, so we will almost never be saving to the global database, which will significantly reduce the load on that server, but that is an architecture redesign which will take some time to build, test, then implement.”
It needs to be stressed that this isn’t any one problem- it’s multiple, all leading to a tangled mess causing Diablo II Resurrected to become unplayable any time there was a player spike.
PezRadar did also highlight possible ways to get around the problem in future, taking cues from popular MMOs.
One of these was the introduction of rate limiting and queues. Rate Limiting would be the most direct way to fix the problem- people trying to farm bosses would see this take longer, since they wouldn’t be able to start a new session 20 seconds after clearing the last one. Instead they’d get a communication error, since they’d be put in a time out so as not to overload the server.
Similarly, the queue system would make it so playing at rush hour would see players sorted into a queue, only allowed in when the game allows them a la many MMOs. While some players may not like this, the alternative- having the game melt down for a week- is probably less favorable.