Избавление от лагов в CSS

Просмотры 13096 Комментарии 2
Добавил Admin 07 Января 2009, 05:18:07

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

Немного об основных понятиях на эту тему.

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

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

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

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

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

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

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

net_graph 3 в CS:Source

Для начала вам нужен доступ к консоли в Counter-Strike: Source (как правило, она открывается автоматически при запуске). Если не открылось, то нажмите кнопку ~ на клавиатуре. Введите команду "net_graph 3" и нажмите "enter" (чтобы убрать обратно, введите команду net_graph 0).

Обозначения на панели:

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

Теперь, когда вам известны все нужные нам понятия мы перейдем к основной работе..

Убираем лаги в CS:Source (CS:S, CSS, CStrike)

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

Нужно понимать, что на каждом сервере придется ставить различные рейты, так как все сервера настроены по-разному (смотрите выше описание 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% или 3/4 от cmdrate. В принципе это не сыграет особой роли, но все-таки желательно соблюдать правила.

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

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

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

Установка рейтов

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

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

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

UA ReeBoK 26 Января 2012, 11:51:17
всё проста поставил себе рейты норм и всё+))
RU Admin 27 Января 2012, 00:40:37
не поможет

twitter facebook youtube steam vk