Избавление от лагов в CS:Source

Просмотры 37375 Комментарии 4
Добавил Admin 22 Декабря 2008, 20:42:42

В CS:Source для многих игроков одной из главных проблем являются лаги. Но часто бывает так, что игрок жалуется на сервер, а проблема на самом деле на его стороне. Этот статья поможет игрокам понять, что за лаги у них появляются, а также объяснит значение слов ping, choke, rate и т.д. Статья будет полезна всем: и тем, у кого есть лаги, и тем, у кого их нет. Ведь в любой момент они могут появиться, но благодаря этой статье Вы можете попытаться их устранить.

Настройка CS:Source

Основные понятия (термины)

Lag (лаг) – термин, применяется к тем, у кого соединение медленное или другими словами «лагующее».

Ping (пинг) – величина, которая определяет время прохождения пакетов (информации) от Вашего компьютера до сервера и обратно, измеряется в миллисекундах.

Latency (задержка) – величина, которая определяет время прохождения пакетов (информации) от Вашего компьютера до сервера (она конечно же всегда меньше, чем Ваш пинг).
Важное замечание: ping это не latency!

Rates (коэффициент скорости) – глобальный термин, который используется в настройках скорости Counter-Strike Source и не только.

Choke (В переводе: удушье) – это лаг на самом сервере. По сути, это означает, что Ваш компьютер посылает позиции игроков и то, что он делает (стрельба, бег и т.д.) на сервер, но это все не доходит до сервера. По умолчанию в CS:Source сделано так, что все действия игроков посылаются на сервер 30 раз в секунду. Choke может быть вызван двумя причинами:
- Ваш компьютер посылает слишком много пакетов (информации) на сервер в секунду.
Если Вы пытаетесь послать 100 команд (пакетов) на сервер в секунду, а он может принять только 40, Вы получите choke 60. Согласитесь, что это плохо как для вас так и для других, так как практически ни один из Ваших выстрелов не дойдет до сервера, и только 40% от того, что Вы пытаетесь сделать на сервере Вашим игроком, будет реально сделано (решение вы найдете ниже).
- Сервер не успевает обработать всю информацию, которая ему посылается.
Причиной может быть сетевой лаг на сервере или лаг CPU на сервере. Клиент не может это контролировать, но может подстроиться под это (решение ниже).

Loss (потери) – это лаг вне Вашего компьютера и, как правило, вне игрового сервера. Это означает, что пока Ваши команды (пакеты), которые идут на сервер, проходят по определенному пути (иногда им необходимо пройти большое количество сетей), они «теряются» на просторах сети. Loss очень часто возникает при использовании беспроводного соединения. Loss также нельзя контролировать – это просто плохое соединение и с этим ничего не поделать.

Tickrate (тикрейт) – во время каждого тика сервер обрабатывает входящие команды, проверяет различные внутренние правила, обновляет состояния объектов игры. Больший тикрейт позволяет добиться большей точности, но и требует более мощный сервер. По рекомендациям Valve сервера с количеством слотов >20 должны иметь тикрейт 66 и более. Как правило, тикрейт 100 используется на CW серверах, а также на паблик серверах, которые устанавливаются в количестве одного, двух на одну машину и с небольшим количеством слотов.

net_graph 3 в CS:Source

Сначала Вам необходимо получить доступ к консоли CS:S (как правило, она автоматически открывается при запуске). Если нет, то нажмите кнопку ~ на клавиатуре. Введите команду "net_graph 3" и нажмите "enter" (чтобы убрать обратно, введите команду net_graph 0).

net_graph 3 в CS:Source

Обозначения:
  1. FPS – сколько кадров в секунду выдает Ваша видеокарта.
  2. Ping – читайте выше.
  3. Data – сколько tcp/ip пакетов Вы посылаете и получаете (не обращайте особого внимания на это).
  4. Kilobits per second (В переводе: килобит в секунду) – сколько реально килобит Вы посылаете и получаете (вам это не пригодится).
  5. Сколько раз в секунду Ваш компьютер обновляет позицию Вашего игрока на сервере (out -- внизу). Сколько раз в секунду сервер посылает позицию Вашего игрока (in -- сверху).
  6. Loss – читайте выше.
  7. Choke – читайте выше.

Убираем лаги в CSS

Все, что мы будем объяснять ниже, будет понятно всем. Дальнейшие шаги помогут Вам исправить большинство неприятных лагов в CSS.

Нужно понимать, что на каждом сервере придется ставить различные рейты, так как все сервера в CSS настроены по-разному (смотрите выше описание tickrate). Благодаря этой инструкции Вы без труда научитесь это делать.

Для установки рейтов, просто введите в консоли нужное значение. Например: cl_cmdrate 30.

  • cl_updaterate – сколько раз в секунду Ваш компьютер запрашивает сервер о позициях игроков (по умолчанию 20);
  • cl_cmdrate – сколько раз в секунду Ваш компьютер посылает позиции игроков на сервер (по умолчанию 20);
  • rate – максимальное количество байтов, которые Вы можете получить.

Настройка cmdrate и updaterate

Зайдите на сервер и поменяйте Ваши рейты на cl_cmdrate 80 и cl_updaterate 60. Поиграйте несколько минут. Вы должны убедится, что значения в области под номером 5 на net_graph не урезаются сервером. Если значения все время показывают 33.3 или 66.6, это значит, что Вы должны уменьшить значения до cl_cmdrate 66 и cl_updaterate 45. Поиграйте несколько раундов и понаблюдайте за loss и choke. Если у Вас все-таки есть choke, то Вы должны поставить рейты на более низкие значения. Придерживайтесь соотношения три к четырём, то есть updaterate должен составлять 75% от cmdrate. В принципе это не сыграет особой роли, но все-таки желательно соблюдать правила.

К примеру, если у Вас choke 10, то и рейты следует опустить на 10 значений, до cl_updaterate 40 и cl_cmdrate 55. При игре на паблик серверах вполне нормальным считается choke 5 в середине раунда, а в начале и в конце раунда до 10-20 (choke всегда выше в начале и в конце раунда, когда сервер сбрасывает и обновляет объекты).

Настройка рейтов в CS:Source

Важно! Как правило на серверах с постоянным респауном игроков (типа DM или Conquest) choke выше, так как на сервер ложится большая нагрузка, чем на обычный сервер. Поэтому изменение рейтов, к сожалению, не всегда спасает от choke, но позволяет его уменьшить.

Если до этого момента вам не было что-то понятно, то обращайтесь на наш форум (Вам обязательно ответят).

Установка рейтов в CS:S

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

  • Modem 56k - < 20000
  • Slow DSL/Cable – минимум 20000
  • Fast DSL/Cable – минимум 25000

Для установки рейтов просто введите в Consol (консоль) нужное значение. Например: rate 5000.



RU Sonne16 16 Февраля 2010, 17:11:02
Лучший способ - купить новое железо. smiley
RU dopelenganger 09 Августа 2011, 21:51:08
2 одинаковые статьи размещены.
RU Admin 24 Августа 2011, 17:22:14
Где вторая?
RU MazaTraher 25 Июля 2012, 12:45:14
Автор старался. smiley

twitter facebook youtube steam vk