Заходите на наш сервер Counter-Strike 1.6: |::|EJl1Ta SerBer|::| - 91.144.180.238:28412 · Голосуй за наш сервер - ЗДЕСЬ! · Продажа админок и привилегий на нашем сервере - заявки на форум [!] · По результатам голосования новый тег клана - ETG| NickName
Приветствую Вас Гость • Регистрация • Вход • Поиск • RSS
Пятница, 26.04.2024, 19:10:12 MSK {VK}
Главная » Статьи » Статьи

Оптимизация сети. cl_updaterate, cl_cmdrate, rate.
Данная статья состоит из перевода информации с оффициального форума - _forums.steampowered.com/forums/forumdisplay.php?f=56/ и моей собственной, установленной опытным путем. Рекомендую ознакомиться со всем нижеизложенным материалом полностью.

Перевод:

Введите 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. Cерверную sv_maxrate можно посмотреть с помощью программы HLSW.

Итак,

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, так что на нее можно не обращать внимания.

Моё:

Во-первых поправка к rate - судя по данным Valve Developer Community и его производной - консольного справочника:_www.day-of-defeat.ru/pages/console.html об этой консольной команде,
rate (байт/с) устанавливает максимальное ограничение на канал связи сервера и клиента, а не текущую скорость. Следовательно, она должна быть как можно больше и не обязательно согласована с sv_maxrate.
Во-вторых поправка к cl_cmdrate. Опытным путем установлено, что для хорошего пинга эту переменную надо уменьшать, а не наоборот (о чем говорит офф. форум). При установке малого значения cl_cmdrate(15-30) мой пинг уменьшался минимум вдвое - с 30 до 15 мс.
При дальнейшем уменьшении этого значения - 10 для сервера я "лагал" - мои выстрелы не фиксировались, так же как как и в меня попасть было достаточно трудно.
Категория: Статьи | Добавил: Kalvin (16.10.2011)
Просмотров: 4529 | Теги: сети, cl_cmdrate, оптимизация, СS 1.6, rate, cl_updaterate
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]