Как сделать отчет о проблемах с соединением
В игре существует встроенная система тестирования интернет-канала до наших серверов. Запускается через настройки игры. Запустить проверку можно из окна входа в игру, из Гаража и прямо из боя.
Важно запускать проверку в нужное время. В частности, если вы обнаружили проблемы со связью во время боя, то и запускать проверку связи надо прямо из боя.
Результатом работы системы проверки связи является отчет, демонстрируемый на экране и дублирущийся в файл net.log
.
В отчет об ошибке связи следует добавить как скриншоты отчета, так и логи игры. Добавлять логи очень важно, т.к. там может быть важная информация и помимо отчета системы проверки связи.
Почему бывает плохая связь?
В большинстве случаев за возникающие проблемы соединения отвечает один из узлов на маршруте, начиная от ПК игрока и заканчивая игровым сервером.
Что такое маршрут?
Под маршрутом понимается последовательность маршрутизаторов (роутеров, от англ. router), через которые проходят пакеты от игры до сервера и от сервера до игры. Типовой маршрут выглядит так:
1. ПК
2. ДОМАШНИЙ РОУТЕР
3. РОУТЕР ПРОВАЙДЕРА ИГРОКА
...
РОУТЕРЫ ИНТЕРНЕТА
...
N-2. МАРШРУТИЗАТОР ПРОВАЙДЕРА ДАТАЦЕНТРА
N-1. МАРШРУТИЗАТОР ДАТАЦЕНТРА
N. СЕРВЕР
О маршрутах
В интернете очень много маршрутизаторов. Из этого следует что, как правило, маршрутов, по которым может пройи пакет, больше одного.
Более того, часть пакетов может идти по одному маршруту, а часть по другим. Заранее предсказать это невозможно.
Про пинг
На прохождение по маршруту пакету требуется некоторое время. Это время называется пингом и измеряется обычно в миллисекундах.
Очевидно, что чем меньше пинг, тем лучше. Так же нетрудно понять, что чем больше узлов на маршруте, тем больше пинг. Кроме того, величина пинга зависит от загруженности маршрутизаторов на маршруте и от некоторых других обстоятельств.
Про потерю пакетов
Если хотя бы один узел на одном из возможных маршрутов по каким-то причинам, полностью или частично, не пропускает пакеты, то в игре начинается потеря пакетов.
Причины для потери пакетов могут быть разными. Вот некоторые из них:
- маршрутизатор не справляется с нагрузкой и отбрасывает пакеты, которые не успевает обработать
- размер пакета больше того, который способен обработать маршрутизатор (см. подробнее про MTU)
Про трассировку
Можно проверить значение пинга и потерь пакетов до каждого узла на маршруте. Получение этой информации называется трассировкой.
Обычно результат трассировки выглядит подобным образом:
1 <1 мс <1 мс <1 мс 192.168.40.252
2 <1 мс 2 ms <1 мс vl1502.ar13-23.ekb.ru.mirasystem.net [92.242.1.153]
3 19 ms 4 ms 3 ms be3-4030.sr32-27.ekb.ru.mirasystem.net [92.242.29.226]
4 1 ms 1 ms 1 ms asb-cr01-ae9.200.ekt.mts-internet.net [212.188.22.33]
5 * 1 ms 2 ms zoo-cr03-be1.66.ekt.mts-internet.net [212.188.29.249]
6 * 17 ms * vish-cr01-be7.66.kaz.mts-internet.net [212.188.29.85]
7 * * * Превышен интервал ожидания для запроса.
8 * * 65 ms a197-cr01-ae10.77.msk.mts-internet.net [195.34.50.73]
9 64 ms 65 ms 64 ms anc-cr03-ae3.177.ff.mts-internet.net [195.34.59.57]
10 64 ms 64 ms 64 ms 212.188.61.74
11 72 ms 73 ms 72 ms et-24-1.agg01.ams-01.leaseweb.net [31.31.34.52]
12 73 ms 73 ms 72 ms ae-101.br01.ams-01.nl.leaseweb.net [31.31.38.115]
13 71 ms 71 ms 71 ms be-110.cr02.ams-01.nl.leaseweb.net [81.17.32.67]
14 71 ms 71 ms 71 ms po-1004.ce01.ams-01.nl.leaseweb.net [81.17.33.127]
15 67 ms 67 ms 67 ms 37.48.71.129
Про протоколы связи и их связь с потрей пакетов
Обмен данными в интернете происходит по нескольким протоколам. Протокол - это правила, по которым два устройства производят передачу данных. Рассмотрим несколько протоколов:
- TCP. Наиболее известный и популярный протокол интернет. Отличительная особенность этого протокола в том, что в него встроен маханизм контроля целостности передачи данных, что делает его относительно медленным.
- UDP. В отличие от TCP, этот протокол не заботится о том, чтобы все пакеты дошли по назначению, за счет чего обеспечивает высокую скорость передачи данных. Обычно используется в потоковой передаче аудио- и видеоконтента, а так же в онлайн-играх.
- ICMP. Разработан специально для передачи служебных сообщений. В частности, известная команда ping использует именно ICMP протокол.
Нетрудно увидеть, что, когда мы пингуем какой-то адрес в интернете, мы используем протокол ICMP. При этом для передачи данных игра использует протокол UDP. И, вообще говоря, вполне может быть такая ситуация, что “пинг хороший, а потери пакетов есть”.
Конечно, теоретически, можно пинговать адреса, используя протокол UDP. Но на практике многие маршрутизаторы в интернете не поддерживают такую возможность и получить внятный результат трассировки маршрута на основе протокола UDP не получается.
Поэтому в Crossout трассировка до сервера выполняется по протоколу ICMP, но, вместе с тем, величина потерь пакетов до игровых серверов вычисляется на основе прохождения пакетов UDP.
WinMTR_x64.zip (1.0 МБ)