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

Наверное, каждый, кто играет в мультиплеерные игры, сталкивался с понятием “ping в online играх”. Но что означают цифры пинга? От чего он зависит, как его снизить? Эти вопросы мы бы хотели рассмотреть в данной статье. На самом деле, в компьютерных сетях пинг называется иначе — круговой задержкой (анг. “round trip time”, RTT). Круговая задержка – это время, которое требуется для отправки сигнала, плюс время, которое требуется для подтверждения получения сигнала. RTT измеряется в миллисекундах (мс). 1 мс = 0.001 с. Приблизительное время реакции человека – порядка 100-200 мс. Так что, если ваш пинг держится на отметке ниже 100 мс, то беспокоится не о чем.
Так какие же факторы влияют на RTT?
- Дистанция – расстояние, которое проходит сигнал от пользователя до сервера и обратно.
- Средства приёма-передачи – средства, которые используются для передачи сигнала (например, витая пара, Wi-Fi, или волоконно-оптический кабель), могут влиять на то, как быстро запрос будет отправлен.
- Количество промежуточных точек между пользователем и сервером – промежуточным точкам или серверам нужно время для обработки, что увеличивает задержку. Чем больше промежуточных точек между пользователем и сервером, тем выше задержка.
- Загруженность сети – задержка увеличивается, если сеть перегружена трафиком. И наоборот, низкий уровень трафика может уменьшить RTT.
- Время ответа сервера – время, которое нужно серверу для ответа на запрос. Оно зависит от вычислительных мощностей сервера, количества запросов, поступающих на сервер, и от характера запроса (т.е. сколько работы серверу нужно выполнить для обработки запроса). Большое время ответа сервера также увеличивает задержку.
Допустим, наш компьютер обозначен на схеме как 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 мс, вы всегда можете обратиться в техническую поддержку ГК Март (возможно, в этом случае не лишним будет побеспокоить еще и поддержку игры).
Над статьей работали: Нестеров Иван, Сироткин Александр, Сергеенков Дмитрий.