Как убрать Лаги в Counter Strike:Source
В CS:S буквально каждый 3 игрок жалуется всегда на одну и ту же вещь –
лаги. И да действительно часто они делают игру на любом типе серверов
невыносимой, как для самого игрока так и для его соперников. Вы
пробывали когда-нибудь попасть в игрока с пингом 300+?! Да вы скорее
ноузум из авп прострелите 3 головы подряд через полкарты. На приличных
серверах вообще стоит ограничение по пингу в 150-200. Лаги конечно
бывают и не только из-за пинга. Именно в этой статье я и хотел бы
перечислить основные причины появления лагов, ну и конечно способы от
них избавится.
Основные понятия.
Lag (лаг) – термин, применимый к резкому
и очень кратковременному зависанию игры, с последующим развисанием, при
этом на сервере действия не прекращаются, и после развисания ситуация
может кардинально изменится как для «лагающего», так и для других
игроков.
Ping (пинг) – величина измеряемая в
милисекундах, обозначает промежуток времени за который пакет с
информацией от вашего компьютера доходит до сервера, и получает отклик.
Latency (задержка) – параметр,
показывающий промежуток времени, за который пакет от вашего компьютера
доходит до сервера. Старайтесь не путать с пингом.
Choke (буквально - удушье) – фактически это торможение сервера, кратковременное зависание, происходит по 2 причинам:
- Сервер просто не успевает обработать все чтоему послали с овсех клиентов подключенных к нему:
Причина: зависание процессора на сервере, либо проблемы с сетью у самого сервера.
- Сервер может принять только меньше информации от вас, чем вы ему посылаете:
Причина: Например вы послыаете информацию по 50 действий в секунду, а
сервер может принять только 25 действий в секунду (лично от вас),
следовательно половина всех ваших действий на сервере не отобразятся
вообще.
Loss (потери) – проблемы с сетью могут
быть у вас, у сервера, но могут быть и где-то между ними, вот для таких
проблем и придумали этот термин.
Tickrate (тикрейт) – промежуток между обработками сервером, посланных ему команд.
Для контроля всего перечисленного выше вам пригодится умение пользоватся
консольными командами, ну а более необходимой командой будет…
net_graph
Введите команду net_graph 3 в консоли. После этого в самой игре у вас должны начать отображатся следующие значения:
1) FPS (frames per second) – количество кадров в секунду (зависит от вашего железа)
2) Ping – см. выше
3) Количество tcp/ip пакетов посылаемых и получаемых вашим компьютером.
4) Количество информации в секунду которое вы получаете и посылаете серверу. Измеряется в килобитах (не путать с килобайтами).
5) Количество обработок сервером вашей позиции.
Пункты с 4 по 6 делятся на 2 типа IN и OUT. IN – От сервера к вам. OUT – от вас к серверу.
6) Loss – см. выше
7) Choke – см. выше
Следующие команды которые нам пригодятся это -
cl_updaterate – количество раз, которое ваш клиент запрашивает информацию от сервера.
cl_cmdrate – количество раз, которое ваш клиент послыает информацию серверу.
rate – максимальное количество байтов, которые Вы можете получить.
Теперь я объясню как пользоватся этими командами. К примеру, если у Вас
choke 10, то и рейты следует опустить на 10 значений. Хотя choke в
пределах 10-15 (20 в конце ранда) считается нормальным, и не стоит
слишком на этом зацикливаться. Кроме того при больших онлайнах choke
может возрастать на 5-10 пунктов. И помните, что изменение рейтов не
всегда спасает от choke, но позволяет его уменьшить.
Установка рейтов
Ну тут особо добавить нечего, кроме примерных стандартов:
Modem 56k - < 20000
Slow DSL/Cable – минимум 20000
Fast DSL/Cable – минимум 25000
Для установки рейтов просто пропишите в консоли: rate <значение>.
Я не уверен, что все что выше написано поможет вам 100% избавится от
лагов на всех сервах. Но это по крайней мере поможет вам уменьшить их
последствия.