The developers from Blizzard Entertainment have taken to the official forums to explain the recent Diablo II: Resurrected outages and the team’s actions on fixing and preventing them from occurring again.
Since the launch of D2:R, the game’s servers have been experiencing multiple issues. The team has been solving each and every problem as they arise with both mitigating the issue at hand and introducing longer-term changes. In staying true to the original game, the developers kept a lot of the legacy code of the original Diablo 2 that does not account the modern player behavior:
“This service, with some upgrades from the original, handles critical pieces of game functionality, namely game creation/joining, updating/reading/filtering game lists, verifying game server health, and reading characters from the database to ensure your character can participate in whatever it is you’re filtering for. Importantly, this service is a singleton, which means we can only run one instance of it in order to ensure all players are seeing the most up-to-date and correct game list at all times. We did optimize this service in many ways to conform to more modern technology, but as we previously mentioned, a lot of our issues stem from game creation.
We mention “modern player behavior” because it’s an interesting point to think about. In 2001, there wasn’t nearly as much content on the internet around how to play Diablo II “correctly” (Baal runs for XP, Pindleskin/Ancient Sewers/etc for magic find, etc). Today, however, a new player can look up any number of amazing content creators who can teach them how to play the game in different ways, many of them including lots of database load in the form of creating, loading, and destroying games in quick succession. Though we did foresee this–with players making fresh characters on fresh servers, working hard to get their magic-finding items–we vastly underestimated the scope we derived from beta testing.”
— 🎮 Dima 🎮 (@DimaPlaysGames) October 13, 2021