- Для PC
- Для Mac
- Для Linux
- ОС: Windows 7 SP1/8/10 (64bit)
- Процессор: 2,2 ГГц
- Оперативная память: 4 Гб
- Видеокарта с поддержкой DirectX версии 10.1: AMD Radeon HD 77XX / NVIDIA GeForce GTX 660. Минимальное поддерживаемое разрешение – 720p.
- Место на жестком диске: 17 Гб
- ОС: Windows 10/11 (64bit)
- Процессор: Intel Core i5 или Ryzen 5 3600 и лучше
- Оперативная память: 16 Гб
- Видеокарта с поддержкой DirectX версии 11 и выше: NVIDIA GeForce 1060 и выше, Radeon RX 570 и выше
- Место на жестком диске: 95 Гб
- Операционная система: Mac OS Big Sur 11.0
- Процессор: Core i5, минимум 2.2GHz (Intel Xeon не поддерживается)
- Оперативная память: 6 Гб
- Видеокарта: Intel Iris Pro 5200 (Mac) или аналогичная видеокарта AMD/Nvidia для Mac (минимальное поддерживаемое разрешение – 720p) с поддержкой Metal
- Место на жестком диске: 17 Гб
- Операционная система: Mac OS Big Sur 11.0
- Процессор: Intel Core i7 (Intel Xeon не поддерживается)
- Оперативная память: 8 Гб
- Видеокарта: Radeon Vega II и выше с поддержкой Metal
- Место на жестком диске: 95 Гб
- Операционная система: Современные дистрибутивы Linux 64bit
- Процессор: Dual-Core 2.4 ГГц
- Оперативная память: 4 Гб
- Видеокарта: NVIDIA GeForce 660 со свежими проприетарными драйверами (не старее 6 месяцев) / соответствующая серия AMD Radeon со свежими проприетарными драйверами (не старее 6 месяцев, минимальное поддерживаемое разрешение - 720p) с поддержкой Vulkan
- Место на жестком диске: 17 Гб
- Операционная система: Ubuntu 20.04 64bit
- Процессор: Intel Core i7
- Оперативная память: 16 Гб
- Видеокарта: NVIDIA GeForce 1060 со свежими проприетарными драйверами (не старее 6 месяцев) / Radeon RX 570 со свежими проприетарными драйверами (не старее 6 месяцев) с поддержкой Vulkan
- Место на жестком диске: 95 Гб
Как и другие клиент-серверные продукты, наша игра имеет довольно сложную и распределённую инфраструктуру, состоящую из множества различных серверов. Это серверы авторизации, серверы хранения пользовательских профилей, серверы, на которых непосредственно проходят бои, сервер сквадов, сервер голосовой связи. И всё это не одна машина, а десятки! Плюс сервер матчинга, также состоящий из множества физических машин входных шлюзов, являющихся прокси для устранения точек отказа, и сервера, который собственно собирает бои из вставших в очередь игроков.
Теперь немного подробнее о том, что произошло в эти выходные. Один из сервисов входных шлюзов был в работе 375 дней, при плановой перезагрузке на нём поднялась неправильно сконфигурированная версия, которая использовала только одно ядро (что мы выяснили только в воскресенье) и неправильно проксирующая IP-адреса. В первый момент нам показалось, что сервер не справляется с нагрузкой (возросшей от введения новой техники и страны и по причине внимания игроков к мажору), и мы решили как можно скорее нарастить его мощности, переехав на самые мощные из доступных (и самые дорогие) машины в Амазоне. Однако мгновенно это сделать невозможно и сам переезд занял некоторое время. Но даже после его завершения осталась проблема с неправильной конфигурацией (проксированием IP-адресов и однопоточностью), и сервер считал, что все пользователи, пришедшие через этот сервис, имеют один IP, не мог быстро их «найти» и тормозил. Приблизительно после полуночи по времени Москвы проблема с неправильным проксированием была найдена и через некоторое время устранена, и бои начали собираться. Ночью количество пользователей снижается, и даже то, что прокси работали в одно ядро, уже не мешало работе.
В воскресенье снова увеличилась нагрузка с ростом пользователей и боёв, и мы наконец увидели вторую ошибку конфигурации, а днём починили ошибочную «одноядерность» прокси путём плавного выведения неверно сконфигурированных машин и плавным вводом новых (чтобы не отказывать в сервисе уже играющим пользователям). Этот процесс занял ещё некоторое время. Тут следует заметить, что на самом деле мощности хватало многократно и до ввода самых мощных серверов: это одного ядра не очень хватало, а их там было много. А после апгрейда мы утилизировали только около 6% доступной вычислительной мощности (т.е. 20-кратный запас по мощности от пика).
Выводы
По результатам инцидента были сделаны выводы и запланированы улучшения как оперирования, так и самого кода матчинга. Во-первых, мы планируем проверять отказоустойчивость сервиса, перезапуская все серверы со слишком большим аптаймом (используя опыт крупных стриминговых сервисов, например, Netflix, который применяет специальных ботов, проверяющих время работы отдельных серверов и принудительно перезапускающих их при превышении времени работы выше порогового).
Также уже введены способы улучшения кода матчинга, которые позволят обеспечить приемлемый уровень работы игры даже при слишком высокой нагрузке: постановка в очередь может проходить дольше, но сервис не перестает отвечать игрокам, сохраняя работоспособность.
Кроме того, увеличение числа стран и возможных игровых конфигураций боёв достигло больших значений, требующих алгоритмических оптимизаций (пытаться найти из всех возможных комбинаций всех игроков и стран — это квадратичная сложность алгоритма), и необходимо сделать оптимизации, и находить может не абсолютно идеальный матч из возможных в очереди, но просто достаточно хороший.
И ещё одна хорошая новость. Зайдите в игру с 4 ноября (14:00 МСК) по 8 ноября (14:00) и получите Премиум усилитель +30% опыта на 5 боёв.
Комментарии (132)
Также напоминаем о том, что активные премиум-аккаунты уже были продлены после проявления серверных проблем (на выходных). А при входе в игру с 4 ноября (14:00 МСК) до 8 ноября (14:00) мы подарим каждому игроку Премиум усилитель +30% опыта на 5 боёв.
Супер, главное что нашли проблему. Так держать!
FROGER, за то что мы будем играя тестировать ваши сервера и находить ошибки нам в благодарность дадут сраный усилитель 30% на 5 боёв)
FROGER, жаба, сбрысни, раз ничего путного проквакать не можешь... ((
Ого. Оказывается "за кулисами", чтобы всё работало, кипят не менее жаркие бои чем в игре. Ну шо сказать. Респект техническому отделу.
Pilot_yuyu, О, господи! Серьёзно? Теперь нужно забыть о короновирусе и экономике вперде?
Pilot_yuyu, В смысле не виноват? такого быть не может!!!11
ну за то честно все расписали!!! а с ростом новых игроков это ожидаемо!!! за сервера амазона респект!! многие игровые индустрии с таким сталкивались! вы тоже это преодолели!!
Pilot_yuyu, я думаю, что чел имел ввиду способ решения задачи, при котором постарались найти проблему и решить при минимальном напряге рядового игрока (путем переноса задач с одного сервера на другой).
вам же четко ответили, что проблема была не в наплыве зомби-игроков, сервера имеют вычислительную мощь с запасом, проблема была в ином...
Ого) Ретроспективный анализ и прямо в клиентов. Очень хорошая практика, молодцы!
и усилитель в подарок, это ваааууу
Спасибо что поделились :)
Угу, прям вот без шуток свежее веяние какое-то ощутилось, вместо обычных говорящеголовых ответов в стиле "мы работаем над этим, ваш звонок очень важен для нас, приносим свои извинения!" всё-таки взяли, и по-человечески пояснили, что за хрень у них творилась эти дни. Если бы только в конце с таким пафосом не презентовали мусорный усилок, смазав всё впечатление, эх.
Badluck_Dice, всё точно, особенно про усилок
Лайк )
"Ничего не понятно, но очень интересно, продолжайте!" ) А, вообще, странно, что за столько лет вы впервые столкнулись с подобной проблемой и никаких превентивных мер до этого не было принято..
проблемы с серверами??? это не впервой... Просто именно ТАКАЯ проблема вылезла впервые и впервые о ней нам так подробно рассказали...
GTSPORTCROWN, то-то и оно, что рекордного онлайна во время недавних падений как-то не наблюдалось. В первый ковидный локдаун 121 тыща была, когда Гагарина ещё давали, а нынче ничего похожего, да и марафона нет никакого.
вы тут пишите, что смогли, что нашли и исправили, а надпись "сервер перегружен" я до сих пор регулярно наблюдаю....
+1 Второй день нормально поиграть нельзя, вот сейчас 20 мин просидел в загрузке поиска матча, 4-5 раз перезапускал поиск из-за надписи "сервера перегружены". Спасибо за работу Улитка))
это ВАШИ галлюцинации!.. ))) А у них всё починено! И бумага с подписями имеется!... ))))))))))
Сделайте ещё один сервер где-нибудь в Китае, китайцев в последнее время очень много стало + будет более стабильное соединение для игроков с ДВ)
weiba, так отдельный китайский сервер уже был. Не знаю за тряпочки (а с каких пор в Китае флаги-то нельзя?) и прочее, но был, а затем его выпилили. Так что, очевидно, вновь не сделают. Кстати, и как может быть сносно играть с пингом почти полсекунды в чёртову АВИАЦИЮ?!
Если он будет в Китае, то из-за Великого фаервола для ДВ пинг будет больше чем с Австралией. Дело у же проверенное.
В целом - молодцы, что справились. "и находить может не абсолютно идеальный матч из возможных в очереди, но просто достаточно хороший." А вот это уже напрягает. Можно не надо?) И так периодически матчит по кд на +1.0 по БР на такой себе технике, а тут ещё и вот так будет...
Отправить жалобу