На сегодняшний день тема является очень актуальной для стран бывшего СНГ, где играет через выделенку не так много народу. В этой статье я детально рассмотрю команды, которые помогут понизить пинг, а также те, которые сберегут FPS(количество показываемых кадров в секунду). Все эти команды желательно прописать в конфиге, хотя некоторые лучше менять(например, pushlatency) в зависимости от ситуации и от сервера, на котором вы играете. Начнем:
cl_allowdownload, cl_allowupload - при значении "1" разрешают игроку скачивать и закачивать модели, карты и т.д. В принципе на пинг влияет незначительно, поэтому лучше оставить 1.
cl_cmdbackup - количество пакетов, посылаемых на сервер в секунду. ИМХО, лучше ставьте примерно 2.
cl_cmdrate - скорость посылки команд на сервер. Наиболее оптимальное значение для игры по модему - 20-30
cl_download_ingame - скачивание моделей, логосов в игре... а нам это надо?:) Значит, ставим 0.
cl_lc - компенсация лагов на стороне сервера, поэтому лучше поставить 1. К сожалению, работает только при включенной команде sv_unlag на сервере.
cl_lw, cl_lb - для обоих ставим значение 1, действия, связанные с оружием будут просчитываться на стороне клиента, как впрочем и эффекты крови и т.д.
cl_nopred - если хотите видеть плавное передвижение игроков - поставьте "0"
cl_resend - время, через которое будет послан пакет, если предыдущий не дошел. Лучше установить примерно 4-5.
cl_updaterate - скорость обновления сведений об игре. "20" является оптимальным значением.
fps_modem - увеличивает FPS при игре по модему. Ставьте 28.
mp_decals - количество одновременно видимых эффектов. Чтобы меньше лагало - ставьте 0.
pushlatency - эта команда сглаживает лаги. Должно стоять значение от 50 до 100% пинга со знаком "-". Например, -150 при пинге 250.
Теперь рассмотрим другие полезные команды:
r_drawviewmodel - при значении "0" уменьшается FPS, да и играть, ИМХО, лучше.
r_drawviewentities - хорошая команда, только моделей видно не будет:(. Оставьте 1.
hud_fastswitch - быстрая смена оружия. Я использую значение "1"
max_shells - число одновременно видимых гильз. Ставим "0"
fastsprites - качество дыма. Лучше установить "2"
max_smokepuffs - количество одновременно видимых клубов дыма... чем меньше, тем лучше:)
Вот вроде и все... остается на сервере прописать следующие команды и тогда совесм хорошо будет:
sv_unlag - Компенсировать лаги клиентов т.е. разрешить cl_lc, cl_lw и cl_lb (значение = 1).
sv_unlagmax - Максимальное время компенсации задержки в секундах. Оставьте значение по умолчанию - 0.5 секунды.
sv_unlagsamples - Сколько предыдущих пакетов используются для вычисления задержки клиентов. Хватит одного пакета (значение = 1).
На последок хотелось бы добавить, что с этими командами необходимо эксперементировать, найти оптимальные значения для себя... а может быть и добавить другие команды, которые снизят пинг/понизят FPS. ИЛИ
Введите net_graph 3 в консоли после того, как подключитесь к
серверу.
В правом нижнем углу вы увидите динамичный график. Введите
net_graph 0, если вы хотите остановить мониторинг. Этот график - очень полезный
инструмент, т.к показывает информацию о входящих/исходящих пакетах, текущий
пинг, параметры сhoke и loss.
Loss - число, которое показывает, сколько пакетов было
потеряно во время передачи от сервера к вам. Обычно оно говорит о
несоответствии скорости вашего входящего канала и серверного исходящего. Чтобы
принять избыточную информацию, которую сервер пытается вам передать, необходимо
уменьшить объем этой информации.
Choke - покатель того, сколько пакетов ваш компьютер не
может передать серверу из-за того, что скорость вашего соединения не позволяет
это, либо сервер запрашивает слишком много информации.
А теперь о том, как вы можете изменить эти показатели через
свой клиентский конфиг:
cl_updaterate [хх] - cколько обновлений в секунду посылать
от сервера вашей машине. Этот параметр влияет на то, насколько быстро вы
получите серверные данные, например, о действиях других игроков .
Для модема: 15-25
Для выделенки : 25-40
cl_cmdrate [хх] - сколько обновлений в секунды будет
отправлено от вашей машины серверу. Следовательно, от этого параметра будет
зависеть то, как скоро сервер получит информацию о ваших действиях.
модем = 25-35
выделенка = 40-101
rate [хххх] - скорость обмена данными между сервером и
клиентом. Существует несколько мнений по поводу этого параметра, но
разработчики рекомендуют следующее:
28.8k = 1500-2200
33.6k = 2000-3500
56k = 3500-4000
ISDN = 4000-6000
xDSL, Cable, T1, etc = 6000-9999
Неверная установка rate может повлечь за собой появление
loss/choke.
Итак,
Loss - настраивается с помощью cl_updaterate. Если у вас
есть Loss, попробуйте уменьшить
cl_updaterate. Если Loss отсутствует, попробуйте увеличить
cl_updaterate для уменьшения пинга.
Choke - настраивается с помощью cl_cmdrate. Если у вас есть
Choke, попробуйте уменьшить cl_cmdrate. Если Choke нет, вы можете попытаться
увеличить cl_cmdrate для уменьшения пинга.
Rate - сначала согласуйте со скоростью вашего соединения,
затем с параметром sv_maxrate сервера. Никогда не делайте этот параметр больше
скорости вашего соединения. Если у вас есть и choke и loss одновременно,
попробуйте уменьшить rate. В противном случае попробуйте увеличить rate.
Сначала настройте cl_updaterate и cl_cmdrate, затем пробуйте
разные rate.
По умолчанию эти параметры имеют значения:
cl_updaterate 20
cl_cmdrate 30
rate 7500
Нельзя назвать их хорошими, т.к. они были установлены в Half
Life в 1998м, и являются оптимальными для распространенного в то время 56К
соединения. Проблемы, которые могут быть у вас при использовании этих настроек
с современным соединением:
1) Вероятность регистрации вашего попадания в противника
намного ниже.
2) Аналогично при точном выстреле в вас.
Такое положение дел является попросту говоря рандомом. В
некоторых ситуациях из-за задержек становится не важно, кто выстрелил первым.
Эти настройки очень четко контролируются в чемпионатах, сервер может вас не
пускать, если ваш конфиг не удовлетворяет требованиям.
Большинство игроков используют настройки для игры по
локальной сети(LAN):
cl_updaterate 101,
cl_cmdrate 101,
rate 20000
до тех пор, пока не появляются лаги. Это максимальные
параметры.
cl_updaterate можно пробовать сделать ниже, а cl_cmdrate
обычно ставится равным вашему фпс, то есть не более 101.
Можно поставить 101 для всех фпс - это будет не критично.
Есть ещё команда cl_rate, но она аналогична rate, так что на
нее можно не обращать внимания.