Разработчики Diablo 2: Resurrected через несколько недель после релиза обратились к сообществу и объяснили причины возникновения проблем в работе серверов. Опубликуем главное из длинного сообщения.
Перебои вызваны не какой-то одной проблемой, а множеством особенностей старой игры.
У Blizzard для снижения нагрузок и задержек на глобальную базу данных есть отдельные базы для Северной Африка, ЕС и Азия с информацией о персонаже и прогрессе. Большинство данных находится в локальных базах, а глобальная используется в случае сбоя.
С 9 октября Blizzard столкнулась с глобальным сбоем из-за увеличения трафика. За это время команда внедрила много исправлений, улучшила код, сейчас тестируются новые усовершенствования.
Главная причина – устаревший код игры, который с трудом справляется с современным поведением игроков. Игроки находят в сети советы, как «правильно» искать вещи, быстро бегать на боссов и мини-боссов. Поэтому создают игры, а затем через короткий период времени создают новые игры. Команда недооценила масштабы количества операций во время бета-тестирования.
Сейчас пишется код, который изменит сохранения в глобальную базу данных, что снизит нагрузку. Изменение архитектуры займёт время. Некоторые игроки сталкивались с потерей прогресса, вскоре потери ограничат несколькими минутами в случае падения сервера.
Источник: iXBT.games