Как уменьшить сетевую задержку на игровых серверах
В панель

Как уменьшить сетевую задержку для 30 тысяч геймеров: опыт EXBO

О компании Компания EXBO начала работу в 2013 году как команда энтузиастов, стремившихся создать глобальный мод по мотивам вселенной S.T.A.L.K.E.R. для игры Minecraft. В 2014 году первые геймеры попали на игровой сервер и оценили результат работы EXBO, который с тех пор вырос в STALCRAFT — самостоятельную игру на собственном движке. Почему выбрали Selectel STALCRAFT развивался с […]

Изображение записи
  • Инфраструктура на выделенных серверах

  • Масштабируемость мощностей на периоды пиковых нагрузок

  • Защита серверов от DDoS-атак

О компании

Компания EXBO начала работу в 2013 году как команда энтузиастов, стремившихся создать глобальный мод по мотивам вселенной S.T.A.L.K.E.R. для игры Minecraft. В 2014 году первые геймеры попали на игровой сервер и оценили результат работы EXBO, который с тех пор вырос в STALCRAFT — самостоятельную игру на собственном движке.

  • 30

    тысяч пользователей одновременно находится на игровых серверах

  • 50

    мс — максимальная сетевая задержка для 80% игроков STALCRAFT

  • 4,5

    ТБ ОЗУ необходимо в период пиковых нагрузок

Почему выбрали Selectel

STALCRAFT развивался с нуля без каких-либо инвестиций, поэтому ни о каких собственных IT-мощностях на старте речи не было. Команда EXBO начала с аренды одного выделенного сервера. Постепенно, по мере развития игры и игрового сообщества, потребовалась более мощная инфраструктура.

Представители EXBO изучали российский рынок в поисках надежного провайдера выделенных серверов с большим ассортиментом оборудования и защитой от DDoS-атак. В 2018 году выбор пал на Selectel.

Основные критерии при выборе провайдера

  • Репутация на рынке и большой выбор оборудования.
  • Минимальная сетевая задержка для игроков из РФ.
  • Быстрое изменение конфигураций серверов в периоды пиковых нагрузок.
  • Надежная защита от DDoS-атак на уровне L4.
Сетевая задержка, или пинг, — время, необходимое для передачи данных от игрока на игровой сервер и обратно. Другими словами, это время от нажатия на кнопку до совершения соответствующего действия в игре и отображения результатов на мониторе пользователя. 

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

Ключевые задачи и их решение

  • Уменьшить сетевую задержку для игроков из РФ до 50 мс и менее.
    Предоставили в аренду готовые выделенные серверы в конфигурациях, подходящих для быстрой обработки игровых событий и пользовательского трафика.
  • Обеспечить возможность масштабирования вычислительных мощностей в период пиковых нагрузок.
    На период прогнозируемых пиковых нагрузок предоставляются дополнительные выделенные серверы в готовых конфигурациях.
  • Защитить игровые серверы от DDoS-атак.
    Обеспечили удобную интеграцию с сервисом DDoS-Guard для защиты на уровне L4.

Задача: уменьшить сетевую задержку

В онлайн-шутерах и MMORPG комфортное значение сетевой задержки — менее 50 миллисекунд. Около 80% пользователей STALCRAFT находятся в европейской части России и играют именно с таким пингом. Для игроков из Сибири или Дальнего Востока, которые физически находятся дальше от серверов, задержка может быть больше. А хоститься ближе к ним не позволяет геймдизайн STALCRAFT.

Дело в том, что матчмейкинг (подбор игроков) строится на основе  внутриигрового уровня пользователей, используемых персонажей и так далее. Таким образом, начинающие и опытные игроки отправляются в разные копии одной локации и не встречаются друг с другом в одной игровой сессии. 

Если к правилам матчмейкинга добавить географический фактор, пользователи автоматически будут подключаться к ближайшему серверу, а их сетевая задержка будет минимальной. Однако за пределами европейской части России находится лишь 20% пользователей STALCRAFT — если они будут играть только на своем сервере, ожидание игроков подходящего уровня может длиться слишком долго.

Сегодня у компании EXBO четыре локации для размещения игровых серверов: Россия, Европа, Северная Америка и Сингапур. Каждый сервер содержит множество внутриигровых инстансов (копий игровых локаций), вмещающих до 150 человек. Однако в рамках геймдизайна STALCRAFT на одной копии игровой локации находятся около 40 игроков. Благодаря запасу серверы могут выдержать внезапный наплыв пользователей.

Решение

Скорость интернет-соединения игроков и их расстояние от серверов — факторы, на которые невозможно повлиять. Поэтому для уменьшения сетевой задержки Selectel предоставил в аренду готовые выделенные серверы в конфигурациях, подходящих для быстрой обработки игровых событий и пользовательского трафика. При этом у компании EXBO всегда есть выбор, какое именно оборудование использовать разные периоды, подбирая конфигурации под текущие нагрузки.

Задача: быстро менять конфигурации серверов

Каждый день на игровые серверы STALCRAFT заходит около 50 000 уникальных пользователей. В пиковые периоды, например во время внутриигровых ивентов, этот показатель увеличивается до 100 000. При этом в игре одновременно находится от 10 000 до 30 000 человек.

Внутриигровые ивенты проходят по расписанию четыре раза в год. Поэтому рост нагрузки до пиковых значений предсказуем. Есть и прогнозируемый рост пользовательской активности в течение недели. Например, наблюдается стабильное увеличение количества игроков во время клановых битв.

Решение

Поскольку резкий рост нагрузки можно спрогнозировать, у компании EXBO есть возможность заранее заказать готовые конфигурации выделенных серверов. Это можно сделать в любой момент — и инженеры Selectel предоставят и подготовят к работе оборудование. 

Компании останется только запустить скрипт в Ansible и залить на сервер нужные файлы — обычно это занимает не более десяти минут. Кроме того, готовые выделенные серверы при долгосрочной аренде обходятся дешевле облачных вариантов. Это важно, если аренда вычислительных ресурсов — основная статья расходов.

Возможность быстрого изменения конфигураций в периоды пиковых нагрузок стала еще одним преимуществом Selectel. Так, чтобы выдержать активность игроков во время новогоднего ивента, компания EXBO увеличила арендованные мощности серверов до 4,5 ТБ ОЗУ и 800 процессорных ядер.

Компания EXBO также арендует централизованный монолитный бэкенд-сервер. Для него Selectel обеспечивает возможности вертикального масштабирования. На этом сервере хранится база данных с информацией об игроках, он же синхронизирует сотни запущенных серверов.

Задача: защитить серверы от DDoS-атак

Игровые серверы часто подвергаются DDoS-атакам. Так, в январе 2023 года суммарное число атак на игровые онлайн-сервисы в России выросло на 53% по сравнению с январем 2022, а максимальная мощность DDoS — на 48%. 

Главные неприятности для геймеров во время таких атак — нестабильное соединение с  игрой и постоянные «вылеты». Игровые компании же рискуют своей репутацией и бюджетом.

Интерес злоумышленников к игровой индустрии стал для EXBO поводом оценить уровень защищенности, который предлагает провайдер. Для компании важна защита на уровне L4, чтобы хактивисты не могли перегрузить серверы фиктивными запросами на подключение и испортить игровой процесс.

Решение

Selectel предложил удобную интеграцию с недорогим и стабильным сервисом DDoS-Guard, который обеспечивает L4-защиту. Учитывая огромные объемы трафика на выделенных серверах, аналогичные продукты могли обойтись дороже.

Результаты

Сегодня Selectel полностью закрывает потребность компании EXBO в производительных выделенных серверах на российском рынке. Вычислительные мощности обеспечивают комфортную сетевую задержку для 80% пользователей, а широкий ассортимент оборудования позволяет оперативно изменять конфигурации на период пиковых нагрузок. При этом вся IT-инфраструктура надежно защищена от DDoS-атак.

Читайте также: