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