Главная » Статьи » Статьи |
Оптимизация сети. 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) | |
Просмотров: 4528
| Теги: |