Что такое пинг и как понизить его.

Гайды
  • Привет! Я опять пишу гайд, на этот раз затронем тему с пингом и задержкой. Как я мог заметить, некоторые такие-же гайды очень сильно размытые. Люди из за этого заблуждаются и выставляют ОЧЕНЬ ужасные неприятные настройки.

    Пинг это утилита для проверки целостности и качества соединений в сетях на основе TCP/IP.
    Утилита отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time) позволяет определять двусторонние задержки по маршруту и частоту потери пакетов, то есть косвенно определять загруженность на каналах передачи данных и промежуточных устройствах.

    И так, идем по пунктам, по прохождению которых вы сможете радоваться низкому пингу даже в часы пика.

    Пункт 1: “cl_cmdrate”
    cl_cmdrate - отвечает за количество передаваемых пакетов в секунду от клиента на сервер. Подробнее почитать об архитектуре Source движка можно тут, но это не обязательно.
    Вычисляется cl_cmdrate = +50 к вашему fps, то бишь если fps 200 то cl_cmdrate 250. Весьма спорная методика, однако в большинстве случаев универсальна. В остальных же надо подбирать в пределах ±30 на модификатор (то бишь вместо +50 можно попробовать +20 или +70).
    °fa-info°(Чтобы просмотреть свой FPS, можно либо включить эту функцию в настройках Steam и крайне желательно ставить контрастный, либо ввести net_graph 1 в консоль. Чтобы выключить - ввести net_graph 0)

    Пункт 2: “cl_updaterate”
    А cl_updaterate настраивается так:
    Входим на сервер, вводим в консоль net_graph 1, видим снизу график с нашими рейтами, нас интересует задержка ms, многие думают что это пинг, но на самом деле это не так.
    Это задержка нашего cl_updaterate “100”, то есть сервер может обновлять наши рейты 100 раз с задержкой 15 ms. Теперь снизим cl_updaterate в два раза. Было cl_updaterate 100, ставим 50 и видим, что сервер уже может нам обновлять рейты 50 раз с задержкой 2 ms.
    Итак мы близки к идеалу, снизим рейты ещё немного и будем добиваться того, чтобы задержка обновления рейтов исчезла совсем, что и будет идеальной настройкой cl_updaterate.

    Универсальной настройки cl_updaterate не существует т.к. зависит от пинга, количества игроков, карт, и настроек сервера, поэтому придётся всё время корректировать, если играть на разных серверах. (Учтите, что эти настройки НЕ сохраняются навсегда, так что вы можете сначала подобрать их под Доброград, скопировать все три команды в блокнот и подгружать, когда играете на Доброграде, а когда на других серверах - ничего не делать или подбирать для них свои настройки)
    Не выбирайте большой отрыв! Чтобы задержка исчезла, нужно найти, что называется, тютелька в тютельку. Шагать лучше от cl_updaterate 100 и смотреть уже какова будет задержка. Если нет, можно и немного прибавить как правило +5, +10, если есть задержка, то снижать так же по -5, -10.

    Не забываем после каждого действия с cl_updaterate ставить ex_interp “0” что дает автоматическое определение интерполяции, которое является правильным! Есть мнение, что ex_interp лучше всего ставить в пределах 0.05 - 0.075, что делает движение моделей максимально плавным (при 0.1 уже резко), однако при установки значения 0, по идее, система считает значение по формуле ex_interp = 1/cl_updaterate. Так что можно считать обе методики действительными, просто прописывая ex_interp 0 вы, грубо говоря, включаете автоматический режим, а если вас что-то не устраивает и вы хотите “кастомизировать” решение, то пишите значение в указанных выше пределах.

    Пункт 3: “rate”
    Самая простая команда, которая отвечает за скорость, с которой мы можем принимать пакеты от сервера. Указывается в байтах и по-умолчанию установлена на 7,5КБ/с. Для того, чтобы указать, скажем, 2МБ/с, нам нужно написать rate 2097152. В остальных случаях рассчитывается по формуле: значение_в_МБ/с * 1024 * 1024.

    Это была самая банальная часть по пингу и задержки в целом, надеюсь помог.
    Удачи!

Похожие темы