Время отклика в online играх

Автор: Кот-Технарь

Должность: Технический специалист

01.02.21

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

Наверное, каждый, кто играет в мультиплеерные игры, сталкивался с понятием “ping в online играх”. Но что означают цифры пинга? От чего он зависит, как его снизить? Эти вопросы мы бы хотели рассмотреть в данной статье. На самом деле, в компьютерных сетях пинг называется иначе - круговой задержкой (анг. “round trip time”, RTT). Круговая задержка – это время, которое требуется для отправки сигнала, плюс время, которое требуется для подтверждения получения сигнала. RTT измеряется в миллисекундах (мс). 1 мс = 0.001 с. Приблизительное время реакции человека – порядка 100-200 мс. Так что, если ваш пинг держится на отметке ниже 100 мс, то беспокоится не о чем.

Так какие же факторы влияют на RTT?

  1. Дистанция – расстояние, которое проходит сигнал от пользователя до сервера и обратно.
  2. Средства приёма-передачи – средства, которые используются для передачи сигнала (например, витая пара, Wi-Fi, или волоконно-оптический кабель), могут влиять на то, как быстро запрос будет отправлен.
  3. Количество промежуточных точек между пользователем и сервером – промежуточным точкам или серверам нужно время для обработки, что увеличивает задержку. Чем больше промежуточных точек между пользователем и сервером, тем выше задержка.
  4. Загруженность сети – задержка увеличивается, если сеть перегружена трафиком. И наоборот, низкий уровень трафика может уменьшить RTT.
  5. Время ответа сервера – время, которое нужно серверу для ответа на запрос. Оно зависит от вычислительных мощностей сервера, количества запросов, поступающих на сервер, и от характера запроса (т.е. сколько работы серверу нужно выполнить для обработки запроса). Большое время ответа сервера также увеличивает задержку.

Допустим, наш компьютер обозначен на схеме как R1, а сервер нашей игры – R2. Первое, что делает наш компьютер – это “запихивает” все биты отправляемых данных в провод (или отправляет их по воздуху, в случае беспроводного соединения). На схеме это обозначено как T1 – задержка наших домашних средств приёма-передачи. Здесь также очень влияет то, насколько сильно ваша сеть загружена трафиком. Далее наш пакет с данными отправляется в путешествие до сервера, на схеме это обозначено как Pr1. Здесь в основном влияют 2 фактора: дистанция и количество промежуточных точек между вами и сервером. Далее, пакет с нашими данными всё-таки добирается до сервера. Но сервер его должен принять и обработать. Здесь на задержку влияет общая производительность сервера и его загруженность (на схеме эта задержка обозначена как queue). После этого, тоже самое происходит для ответа сервера, он “запихивает" все данные ответа в провод, отправляет пакет с данными в далекое путешествие до компьютера, наш компьютер принимает этот пакет с данными и обрабатывает. Но это теория, а как это работает на практике, и какая из этих задержек больше всего влияет на наш итоговый пинг, который мы наблюдаем в игре? Для этого нам может помочь инструмент, который называется трассировка.

Трассировка и её расшифровка

Трассировка – это определения маршрутов следования данных в сетях TCP/IP. Для трассировки нам потребуется узнать ip-адрес игрового сервера. Его можно узнать в техподдержке разработчика игры, но как поступить, если разработчик отказался предоставлять ip-адрес сервера?!  Об этом нужно поговорить подробнее.

Что делать, если не найти IP сервера?

Если техподдержка игры не отвечает или отказалась передавать вам данные о сервере, не отчаивайтесь. Его можно найти самостоятельно с помощью встроенной утилиты Windows “Монитор ресурсов”. Рассмотрим последовательность действий на игре “World of Warcraft”. Для начала запустим игру, далее нажимаем сочетание клавиш Win + R. В открывшемся окне пишем resmon.exe и нажимаем ОК.

В данном окне нас интересует вкладка Сеть.

Перед вами все процессы, проявляющие сетевую активность, но нас интересует только Wow.exe (в данном случае, это процесс игры “World of Warcraft”). Ставим галочку на нужный процесс для того, чтобы отфильтровать сетевые подключения именно нашей игры.

В этом окне может быть множество подключений, но ищем то, где задержка неудовлетворительна. Для наглядности мы искусственно повысили PING, нагрузив процессор (CPU) и оперативную память (RAM) своего роутера, почти до 100%.

Задержка до сервера игры соответственно возросла в два раза.  Это наглядный пример того, как нагрузка на роутер влияет на ping в игре.

Вернемся к самой трассировке

Чтобы сделать трассировку до нужного нам сервера, нужно открыть командную строку. Делается это нажатием сочетания клавиш Win + RВ открывшемся окне пишем cmd и нажимаем ОК.

После, в поле командной строки пишем tracert и через пробел вписываем интересующий нас ip-адрес (в данном случае, это 37.244.59.94) и нажимаем Enter. Согласно данным сайта, этот сервер находится в Париже.

Разберем подробнее. В первых 4-х прыжках, ваши данные проходят через сеть провайдера МАРТ.

Следующие 4 прыжка (с 5 по 8) идут через город Самара, а именно, через магистрального провайдера ПАО “Мегафон”. IP-адреса, которые начинаются с десятки - это приватные (серые) ip-адреса. Они используются в локальной сети, и информацию о них найти невозможно. Скачок в этом случае происходит между 5-й и 8-й строками. Оба этих адреса принадлежат компании Мегафон.

На 9-м прыжке пакет долетает до Швеции и, судя по хост-нейму, попадает в сеть, принадлежащую Blizzard Entertainment, разработчику игры “World of Warcraft”, трассировку до которой мы делаем.


С 10 по 14 пакет уже во Франции, также в сети Blizzard. 


 

 

Далее мы видим надпись: “Превышен интервал ожидания для запроса”. Но это не значит, что наш пакет не улетел дальше и не прибыл в место назначения. Эта запись может означать как потерю пакетов, так и то, что узел сети просто закрыт настройками безопасности. Иногда провайдеры специально настраивают узлы так, чтобы они не отвечали на трассировочные пакеты, дабы снизить нагрузку.

В данном случае сервера просто закрыты от трассировочных пакетов, и как менялась задержка на этих узлах (с 15 по 30) - мы не узнаем. Возможно, 15-й прыжок и есть конечный сервер, но он закрыт. Но, судя по тому, что ping в игре, на момент трассировки, не превышал 40-42 мс, на дальнейших узлах изменений нет.

Но выводы можно сделать и из доступных нам данных.

В данном случае, небольшой скачок пинга (22-25 мс) наблюдается на стороне магистрального провайдера Мегафон. Далее, задержка повышается (40-41 мс) на стороне транзитных узлов Blizzard во Франции

Вот так и формируется задержка в вашей любимой игре. Но вы спросите: “так как понизить пинг?”. Для этого я приведу несколько важных советов:

- Средства приёма и передачи данных (роутер) и способ подключения к ним (Wi-Fi или кабель) очень сильно влияют на пинг, поэтому самый важный совет – подключайте ваше устройство кабелем и используйте роутер с высокопроизводительным процессором. А лучше - подключайтесь напрямую, без использования маршрутизатора.

- Отключите программы, которые нагружают вашу сеть. Например, torrent-клиенты и игровые клиенты. Они могу скачивать обновления для других игр и тем самым нагружать ваш роутер. Их можно отследить все той же утилитой “Монитор ресурсов”.

- Уточните у провайдера какого "цвета" ваш ip-адрес. Многие игры нестабильно работают на “серых” адресах. Наши коллеги, например, столкнулись с такой проблемой в игре PUBG (PlayerUnknown’s Battlegrounds). Проявлялось это не только высоким пингом, но и постоянными вылетами из игровой сессии. Решилась  проблема переходом на тариф с “белым” адресом. Подробнее об ip-адресах можно прочитать в статье Дмитрия Сергеенкова “Какого “цвета” ваш IP?”

- К слову, о нагрузке на роутер и тарифе Интернета. Возможно, кто-то из членов вашей семьи просматривает фильм в 4К в момент, когда вы играете. При тарифе Фристайл-100(40) скорость доступа в Интернет, в часы наивысшей нагрузки, не превысит 40 Mbps, а этого едва ли хватит на просмотр потокового 4К контента, в связи с этим задержка в игре заметно возрастет. В таком случае рекомендую задуматься о смене тарифа.

- Проверьте ПК на вирусы. Часто заражение ПК является причиной высокого пинга.

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

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

- Если высокий пинг в игре – попробуйте сменить сервер, если это возможно, т.к. его местоположение влияет на дистанцию и количество промежуточных точек между пользователем и сервером.Также есть различные утилиты для подбора оптимального сервера, как, например, у “Wargaming” (разработчика игры ”World of Tanks”), программа называется WoT Ping Clusters. Просто нажимаете “Пинг!” и вам рекомендуется оптимальный сервер с наименьшим показателем задержки.

И у Blizzard Entertainment есть инструмент для сетевой диагностики, а найти его можно по ссылке. Пользоваться им очень просто. Выбираете регион и интересующую вас игру, далее ставите галочку на Traceroute и нажимаете “Запустить тест”.


Спустя несколько секунд трассировка готова! Можете сделать скриншот и переслать в техподдержку вашего провайдера.

 В этой статье мы постарались объяснить, что время отклика зависит от множества факторов. Далеко не все они подвластны пользователю или провайдеру. Например, если два игрока играют на сервере, находящемся на M-IX (Москва) и при этом один находится в Великих Луках, а другой в Москве, время отклика у них всегда будет разным.  Сеть Интернет  - это “живой” организм. В ней постоянно появляются новые узлы и линии связи. Постоянно строятся новые дата-центры и игровые издатели запускают новые сервера. Поэтому время отклика тоже может меняться со временем. Но всегда остаются География и, их Величество, Физика. Поэтому, если пинг до вашей любимой игры находится в пределах разумного (для каждой игры и сервера эти рамки свои), мы рекомендуем просто получать от нее удовольствие. Ну, а если вы вдруг обнаружили, что показатель RTT еще вчера был 10-30-50 мс, а сегодня внезапно увеличился до 110-330-550 мс, вы всегда можете обратиться в техническую поддержку ГК Март (возможно, в этом случае не лишним будет побеспокоить еще и поддержку игры).

 

Над статьей работали: Нестеров Иван, Сироткин Александр, Сергеенков Дмитрий.