skiLL.pro Forum
 
 
 
 
 
2024-04-29 8:05 AM Понедельник
 
 Вы зашли как : Гость , ваша группа : Гости
 
 Что бы войти нажмите :  Войти
 Что бы выйти нажмите : Выйти
 Что бы зарегистрироваться нажмите : Регистрация  
 
                                                                                  
  • Страница 1 из 1
  • 1
Форум клана skiLL*team » skiLL*team » Counter-Strike » Что такое лаг и как с ним бороться
Что такое лаг и как с ним бороться
fightClabDate: Четверг, 2006-12-07, 4:49 PM | Message # 1
Майор
Group: Модераторы
Posts: 90
Reputation: 1
Status: Offline
Для начала скажу, что данная статья предназначена
в большей степени для обладателей модемов , т.е. для
игры при пинге 150 и более.
Итак, для начала объясним такие термины как Пинг и Лаг:

Пинг (Latency) - Время задержки сервера, т.е.
время отправки-получения пакета данных за секунду,
соответственно, чем пинг выше, тем задержка больше
и наоборот.

Лаг(и) (Lags) - Попросту "зависание" на
некоторое время. Происходит при переполнении канала
связи, при большом пинге или плохом качестве соединения.

Причина резкого роста пинга - увеличение объема
принимаемой клиентом от сервера информации сверх
возможностей существующего канала, проблемы со связью,
ретрейн модема, перегруженный канал провайдера и прочие
проблемы соединения. Проще говоря, сервер передает больше,
чем может прокачать, к примеру, ваш модем, в результате
чего пакеты становятся и ждут очереди, пинг легко
поднимется до 1000 и более. В результате шанс
оказаться в лаге возрастает.

Итак, существует 2 способа оптимизации, рассмотрим их:

1) Оптимизация интернет-соединения в среде Windows.
Подробная статья по настройке располагается тут. Также для
этих целей можно использовать программу MTU-Speed Pro 4.10
и подобные, можно взять здесь.

2) Оптимизация клиентских настроек непосредственно в игре,
остановимся на этом подробнее.

Как в оригинальном Half-Life, так и в его модах,
присутствует файл настройки - config.cfg
Располагается он в директории, где установлен мод, например,
директория VALVE или TFC
Итак, найдя его, открываем с помощью обычного блокнота
и приступаем к редактированию.

Непосредственно к параметрам соединения относятся такие
команды:

cl_updaterate "xx" - число обновлений (посылок)
информации от сервера клиенту, в секунду. Иначе - скорость,
с которой обновляются сведения об игре. Рекомендуемые
значения от 5 до 20. Чем меньше значение, тем меньше
забивается канал, соответственно и скорость обновления
мала (что мешает при игре), и наоборот.

cl_cmdrate "xx" - число обновлений (посылок)
информации от клиента серверу, в секунду. Иначе - скорость,
с которой посылаются команды на сервер.
Аналогично cl_updaterate, рекомендуемые значения от 10 до 25

rate и cl_rate "xxxx" (работают в паре, но cl_rate
в конфиге не прописана, соответственно подключается отдельно,
об этом ниже) - ограничение входящего трафика (от сервера
к клиенту) в байтах в секунду, рекомендуемые значения
от 1000 до 3500.

cl_cmdbackup "x" - количество пакетов посланных
на сервер. То есть, сколько отсылается серверу пакетов
в секунду, рекомендуемые значения 1 до 2.

cl_resend "x" (в конфиге не прописана, подключается
отдельно) - время, через которое будет снова послан пакет,
если предыдущий не дошел. Чем меньше, тем быстрее будет
исправлена ошибка при передаче пакета данных, но иногда
стоит ставить значение не 1, а 2 или даже 3, т.к. если
на линии есть шумы и следующий пакет тоже не дойдет,
будет критическая ошибка и вылет с сервера
(в правом-верхнем углу сообщение Connection Problem).
Ставить на своё усмотрение.

cl_lw "1" or "0" - все эффекты и действия
связанные с оружием просчитываются на стороне клиента.
Это помогает значительно оптимизировать работу,
но у вас не будет 100%-ой гарантии, что то что вы видите
действительно так . Хотя сколько я играл ни разу не заметил
каких либо отклонений от реально происходящего.
Хотите играть без задержки ставьте значение 1.

cl_lc "1" or "0" - компенсация лагов на стороне
сервера. Данный параметр заставляет сервер принять во
внимание ваш пинг и значительно оптимизировать работу,
но эта опция может быть отключена на сервере (sv_unlag 0).
Если это так, то cl_lc да, впрочем, и cl_lw игнорируются.
Значение cl_lc как вы поняли нужно поставить 1.

Все эти команды надо использовать в группе, в отдельности
ни одна из них не принесёт результата.
Поэтому полезно создать несколько подключаемых конфигов
и при необходимости переключать их.
Делается это очень просто - в директории мода создаётся
несколько файлов - например, modem_01.cfg, modem_02.cfg,
modem_03cfg, modem_04.cfg. Обычно я ограничиваюсь
3 конфигами. Затем в config.cfg прописываем такую строку:

bind "xxx" "exec modem_01.cfg" (xxx - имя клавиши
для активации, modem_01.cfg - имя подключаемого файла)

Все изменения можно наблюдать при помощи графика
непосредственно в игре, включить который можно командой
net_graph, установив значение 3 (находиться в главном
конфиге).

Итак, что у нас получилось:

1) Содержание modem_01.cfg
Такие значения можно использовать при среднем пинге 120-170.
Быстрое обновление, почти полное отсутствие лагов,
чему способствует малый пинг (не в этой жизни)
Входящий трафик составляет примерно 1.20 - 1.80 k/s,
исходящий 1.60 - 2.20 k/s

cl_updaterate "20"
cl_cmdrate "25"
cl_rate "3500"
rate "3500"
cl_resend "3"
cl_cmdbackup "2"

2) Содержание modem_02.cfg
Такие значения можно использовать при среднем пинге 170-250.
Хорошая скорость обновления, возникновение лага маловероятно,
но не исключено.
Входящий трафик составляет примерно 0.90 - 1.60 к/s,
исходящий 1.30 - 1.90 k/s

cl_updaterate "15"
cl_cmdrate "20"
cl_rate "3000"
rate "3000"
cl_resend "2"
cl_cmdbackup "2"

3) Содержание modem_03.cfg
Такие значения можно использовать при среднем пинге 250-400.
Обычно я пользуюсь таким.
Средняя скорость обновления, но вполне пригодная для нормальной
игры, возникновение лагов не исключается, т.к. пинг не очень хорош.
Входящий трафик составляет примерно 0.70 - 1.40 k/s,
исходящий 1.00 - 1.70 k/s

cl_updaterate "10"
cl_cmdrate "15"
cl_rate "2000"
rate "2000"
cl_resend "1"
cl_cmdbackup "2"

4) Содержание modem_04.cfg
Такие значения можно использовать при среднем пинге 400-600
и более.
Минимально возможная скорость обновления, но по крайней мере,
играть будет легче, чем при постоянном лаге.
Входящий трафик составляет примерно 0.60 - 1.20 k/s,
исходящий 0.70 - 1.30 k/s

cl_updaterate "5"
cl_cmdrate "10"
cl_rate "1000"
rate "1000"
cl_resend "1"
cl_cmdbackup "1"

Хотя объем входящего трафика в конкретный момент времени
зависит от того, что происходить вокруг игрока - чем больше
игроков, различных объектов, стрельбы и т.п. вокруг,
тем больше трафик. Опять же, это зависит от компоновки карты.
Я лишь написал примерные значения, которые получил,
находясь один на сервере.

Есть ещё 3 команды, немного влияющие на пинг:

cl_allowupload "1" or "0" - разрешить скачивание
сервером ресурсов клиента .

cl_allowdownload "1" or "0" - разрешить скачивание
ресурсов с сервера к игроку.

cl_download_ingame "1" or "0" - разрешить скачивание
ресурсов прямо в игре, например, карты которой у вас нет.

Ставьте на своё усмотрение, я обычно ставлю
cl_allowupload "1", cl_allowdownload "0", cl_download_ingame "0"

И в заключении повторюсь, что статья была в большей степени
написана для игры по модему, т.е. с пингом 150 и более,
при пинге 100 и меньше значения команд cl_updaterate,
cl_cmdrate, rate и cl_rate можно увеличить.


___|____|бицца|___|____|__
_|____| гoлoвой |____|____|
___|____|сюда|____|____|__
 
Форум клана skiLL*team » skiLL*team » Counter-Strike » Что такое лаг и как с ним бороться
  • Страница 1 из 1
  • 1
Поиск:
                                                                          

Copyright skiLL.pro © 2006
Хостинг от uCoz