Старый код и особенности современных игроков — Blizzard объяснила причины проблем с серверами Diablo II: Resurrected

Разработчики подчеркнули, что в ближайшем будущем откаты персонажей в случае сбоев останутся, но составят всего несколько минут.

14 октября команда Diablo II: Resurrected опубликовала послание к игрокам, в котором подробно рассказала о том, по какой причине происходят неполадки с серверами ремастера, и что разработчики предпринимают для того, чтобы их устранить. Тем самым компания отреагировала на массовые жалобы на проблемы с подключением к игре, а также удалением и откатом персонажей или лута.

Что происходило 9-12 октября

  • Blizzard объяснила, что хранит данные обо всех персонажах в единой глобальной базе, а также в дополнительных — по одной для каждого региона. Сперва информация о персонаже и о его снаряжении записывается на региональном сервере, а затем периодически отправляется в общую.
  • 9 октября в работе серверов Diablo II: Resurrected произошёл глобальный сбой из-за резкого увеличения нагрузки на сервера, которая оказалась даже больше, чем в день релиза. Ситуацию усугубило то, что накануне сбоя разработчики выпустили патч, направленный на повышение производительности. Эти два фактора привели к перегрузке глобальной базы данных.
Сообщение об ошибке подключения к серверам
Сообщение об ошибке подключения к серверам
  • В Blizzard решили откатить обновление от 8 октября в надежде, что это поможет снизить нагрузку на серверы. Однако этого не произошло, и 10 октября вновь случился резкий рост трафика с последующим аналогичным сбоем в глобальной базе.
  • Игровые серверы отключались от базы данных и пытались сразу же подключиться обратно, причём происходило это неоднократно. Но из-за того, что сервер практически сразу отключался, синхронизировать статус персонажей не получалось.
So I had a Barbarian I was working on in @Diablo 2 ressurected. I back put of a game, go back in.... and its deleted. Can't access it on both PS5 and PC. @Blizzard_Ent why did you delete my character????
Я качал варвара, но после того, как я вышел из игры и зашёл обратно, он пропал — и на PS5, и на ПК. Blizzard, зачем вы удалили моего персонажа?!
  • Всё это время разработчики изучали ситуацию и нашли способ вернуть глобальную базу данных в рабочее состояние, а также составили план дальнейших изменений.
  • К 11 октября Blizzard внесла необходимые исправления в резервную базу и переключилась на неё, в результате чего вновь произошёл массовый сбой, который в том числе привёл к откату или удалению персонажей игроков.
  • 12 октября пиковое число игроков вновь достигло максимума, на который рассчитаны серверы. К большому сбою это не привело, но часть игроков среди сотен тысяч желающих войти в Resurrected, не смогли этого сделать.

Почему это происходит

  • Разработчики сообщили, что использовали в ремастере много кода из оригинальной игры 2000 года. Одна из служб, отвечающая за ряд критических механик, включая создание мира, оказалась не в состоянии справиться с массовым притоком игроков, даже при том, что разработчики усовершенствовали её.
  • В Blizzard отметили, что в 2000-м гайды по Diablo II не были столь сильно распространены как сейчас, и особенности поведения игроков сильно отличались от современных.

Сегодня любой новичок может найти видео или статью, в которых его научат «правильно» играть — делать забеги на Баала, находить вещи с повышенным показателем поиска предметов и так далее. Современные игроки оказывают куда большую нагрузку на базу данных, постоянно переподключаясь к серверам.

Мы предвидели это, но сильно недооценили масштабы проблемы по результатам бета-тестирования.

из обращения Blizzard
  • Разработчики признали, что слишком часто сохраняли данные из региональных баз в глобальную. По их словам, делать это можно гораздо реже, благодаря чему нагрузка снизится и уменьшится риск сбоя. В настоящее время в студии занимаются решением этой проблемы.

Почему персонажи пропадали

  • Многочисленные сбои в Resurrected приводили к тому, что у игроков иногда пропадали даже высокоуровневые персонажи.
  • В Blizzard объяснили, что это происходило из-за особенности механики блокировки персонажей в базах данных. Созданная система оставляла персонажей в локальной базе, но после падения сервера не переносила информацию о них в глобальную. Именно из-за этого персонажи у некоторых игроков пропадали как раз после отключения от игры.
  • Разработчики рассматривали два варианта действий: либо полностью остановить работу серверов и восстановить всех персонажей, либо пойти на откат части прогресса, сохранив работоспособность экшен-RPG. В Blizzard выбрали второй вариант, чтобы люди могли продолжать играть.

Мы приносим наши глубочайшие извинения всем игрокам, которые потеряли прогресс персонажа или ценные предметы. Мы сами играем в Diablo, и не понаслышке знаем, что такое откат.

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

Что делают разработчики

  • В ближайшее время Blizzard ограничит количество операций с базой данных, связанных с созданием игровых миров и подключению к ним.
  • В Resurrected появится система очереди по аналогии с World of Warcraft, которая позволит исключить перегрузку серверов во время наплыва игроков.
  • Разработчики разобьют ключевые функции игры на более простые, чтобы легче отлаживать их в случае необходимости.
204204
268 комментариев

Комментарий недоступен

334

сами купили, сами виноваты

193

Ваши ожидания - ваши проблемы (с) великий человек

82

Разработчики сообщили, что использовали в ремастере много кода из оригинальной игры 2000 года

Погодь, еще есть карта "мы тут есть ленивая корпорация и у нас есть старый код". Пиздец, как им самим не стыдно такую хуйню заталкивать.

Мы это предвидели, но не в таких масштабах

Да пошли бы вы нахуй, дилетанты ебучие

91

А любой архитектор баз данных может найти видео или статью, как правильно делать репликацию баз данных.
Это настолько базовая вещь для 2021 года, что у этих говноделов вузы должны дипломы отбирать. Представляю, если бы в банковских системах данные стирались при падении серверов.

60

Жаль что близард не нашли статью как правильно сделать рабочие сервера

57

научат «правильно» игратьнапример играть оффлайн

44