Разработчики Diablo II Resurrected подробно рассказывают о том, почему у игры столько проблем с серверами

Разработчики Diablo II Resurrected подробно рассказывают о том, почему у игры столько проблем с серверами

Diablo II Resurrected до сих пор страдает от перебоев с серверами. Да, пользователи могут создать офлайн-персонажа и играть без подключения к Сети, но не смогут затем перетащить его в онлайн. Тому, откуда взялись проблемы с соединением, Blizzard посвятила подробный пост на официальном форуме.

Как устроена сетевая часть игры

В общих словах:

  • Есть глобальная база данных — она является главным источником всех сведений о персонажах и прогрессе каждого пользователя.
  • Чтобы снизить нагрузку на глобальную базу, существуют региональные для каждой из трёх территорий — Северной Америки, Европы и Азии. Они тоже хранят все сведения о персонажах и периодически отсылают их в глобальную базу.
  • Большинство действий игроков попадают сначала в региональную базу — весь процесс от этого становится быстрее.
  • У глобальной базы существуют бэкапы на случай сбоев.

Разработчики Diablo II Resurrected подробно рассказывают о том, почему у игры столько проблем с серверами

Откуда взялись откаты сохранений

Откаты персонажей возникали из-за структуры сетевой части: сохранения из разных баз не синхронизировались как надо, игроки получали устаревшую версию своего героя.

  • Это последствия решения разработчиков. Когда пошли перебои с серверами, было два варианта: либо отключить онлайн совсем на неопределённое количество времени, чтобы запустить скрипт и сохранить все данные в нужные места, либо оставить онлайн включённым, но откатить прогресс у некоторых пользователей.
  • Blizzard посчитала, что во время релиза важнее оставить онлайн включённым. Теперь команда сожалеет о своём решении и приносит извинения тем, кто успел потерять прогресс. В дальнейшем таких бед больше не ожидается: если откат сохранений и возникнет, то он отбросит вас назад лишь на считанные минуты.  

Разработчики Diablo II Resurrected подробно рассказывают о том, почему у игры столько проблем с серверами

Почему сетевая часть так плохо работает

Помимо прочего разработчики рассказали о цепочке событий, из-за которых возникли перебои в работе серверов. Там всё сводится к нагрузке из-за колоссального количества трафика: он превысил ожидания 9 октября, оказался ещё выше 10 октября и вновь побил рекорд 12 октября — в этот день только в одном из регионов онлайн составил несколько сотен тысяч пользователей.

Проблем обнаружилось много, но наиболее важные сводятся к следующему:

  • Ощутимая часть программного кода пришла в Resurrected напрямую из оригинала. Один из старых сервисов занимается критически важными функциями, связанными с созданием матчей, присоединением к ним, обновлением списка матчей, проверкой здоровья сервера и чтением персонажей из базы данных.
  • Сервис постарались обновить, но он всё равно плохо справляется с поведением современных игроков. Сейчас по Diablo II особенно много руководств, которые рассказывают о «правильных» и наиболее эффективных способах играть. Многие способы требуют взаимодействия с базами — создание, загрузку и уничтожение матчей в быстром темпе. Разработчики предугадали такое поведение, но не смогли верно оценить масштабы по результатам бета-теста.
  • Кроме того, данные слишком часто сохранялись в глобальную базу. В этом не было необходимости — данные стоило оставлять в региональной базе и реже переносить их на глобальную. Таким образом нагрузка на сервер уменьшается, однако на изменение архитектуры понадобится некоторое время — новый способ сначала нужно построить, протестировать и только после этого ввести на серверы.

Разработчики Diablo II Resurrected подробно рассказывают о том, почему у игры столько проблем с серверами

Как будут улучшать сетевую часть

Чтобы оздоровить работу серверов, Blizzard делает следующее:

  • Ограничивается частота подключений. Снижается число возможных операций, связанных с созданием матчей и присоединением к ним. Это повлияет на некоторых игроков, если они пытаются быстро выйти из игры и зайти в неё снова. Мера краткосрочная, в будущем её планируют убрать.
  • Создаются очереди на соединение. Чтобы диагностировать и эффективно устранять дальнейшие проблемы с серверами, необходимо остановить случаи, когда в игру одновременно пытается войти большое количество игроков.
    • Благодаря очередям населённость серверов будет оставаться на безопасном уровне и не станет ронять всю онлайн-составляющую. По мере устранения проблем лимит по населённости станет повышаться.
    • Для игроков очередь сейчас выглядит как ошибка аутентификации. Полноценное отображение введут в ближайшие дни на PC и чуть позже — на консолях.
  • Критически важные функциональные элементы разбивают на сервисы поменьше. Какие-то задачи из этого сегмента небольшие и уже выполнены, а какие-то займут некоторое время.

PC, PlayStation 5, PlayStation 4, Xbox Series X | S, Xbox One, Nintendo Switch

Источник

Share

Добавить комментарий