помойму даже с этого сайта:
Цитата:ак настроить сетевые переменные.
Различными параметрами сетевой настройки управляют три команды:
cl_cmdrate - количество раз в секунду, которые клиент сообщает о своих действиях серверу. Помните, что объем данных, передаваемых за одно обновление зависит от происходящего вокруг.
cl_updaterate - количество раз в секунду, которые сервер сообщает о происходящем на карте клиенту. Точно также, чем больше событий происходит, тем больше объем данных за одно обновление.
rate - устанавливает лимит байт в секунду, которые сервер может передать клиенту.
Обновления от клиента к серверу обычно содержат очень мало данных - примерно 20 байт. Обновления от сервера к клиенту сравнительно велики - от 30 байт на тихих участках карты до 175 байт в бою.
****
Для примера, модем 56k имеет максимальную исходящую ширину канала 33.6k, и входящую - 56k. Эти значения - бит в секунду (то есть 33600 бит в секунду). Однако это - общее значение, а не количество данных, то есть часть из этого используется на собственно поддержание соединения и сигнализацию (примерно 10 процентов) и только часть может содержать реальные данные. В результате соединение на 33.6k в реальности может передавать реальные данные только со скоростью 30.2k, что составляет 3780 байт (для тех кто не знает - в одном байте - 8 бит) - и это как раз значение, которому должен равняться параметр cl_rate (подразумевается идеальное соединение - если модемная линия низкого качества, скорость соответственно падает).
Соответственно, идеально соединение на 56k дает нам 56000 бит в секунду. Уменьшаем на 10 процентов и получаем 6300 байт в секунду. Это и есть нужное на значение rate.
****
rate равняется скорости скачивания умноженной на 0.9 и разделенной на 8
Учитывая что клиентам особо нечего сообщать серверу, в общении клиент -> сервер очень редко возникают проблемы даже на модемах.
Отметим, что объем служебной информации различается в зависимости от типа соединения, но это не имеет особого значения для скоростных соединений, т.к. клиент обычно имеет большую ширину канала, чем сервер позволит ему использовать.
Как упомянуто выше, обновления от клиента к серверу обычно очень малы и находятся где то в районе 20 байт. На 56k модеме с идеальной линией доступны 3780 байт в секунду, так что cl_cmdrate может быть установлен в 189. В Half-life существует ограничение на значение cl_cmdrate равное 60.
Обновления от сервера к клиенту содержат больше данных. Большие обновления (например во время боя) могут достигать 175 байт. Имея 6300 байт в секунду на идеальном 56k соединении мы можем выставить cl_updaterate равным 36.
cl_updaterate равняется значению rate деленному на 175
cl_cmdrate равняется значению cl_rate деленному на 20
У игроков со скоростными соединениями значения будут отличаться. Во-первых потому, что скоростное соединение обычно дает большую полосу, чем сервер позволит использовать. Соответственно значения rate и cl_rate необходимо выставлять на максимум, чтобы использовать весь доступный канал.
Максимальное значение для rate и cl_rate равняется 20,000.
Вычисление правильных значений cl_cmdrate и cl_updaterate обычно зависит от конкретного сервера, потому что значение sv_maxrate ограничивает доступную ширину канала, и соответственно влияет на число обновлений.
Как указано выше, в Half-life существует ограничение значение cl_cmdrate и cl_updaterate равное 60, однако рекомендуемое максимальное значение - 75 (больше - не меньше, верно?), которое можно уменьшать для соответствия sv_maxrate.
Команда net_graph отображает информацию о состоянии соединения между сервером и клиентом.
Интересующее нас значение - "удушье" (choke).
Choke отображает количество обновлений, которые не удалось послать по причине недостаточной ширины канала.
Значение Потеря (Loss) - другое, редко используемое значение, которое отражает количество обновлений, которые были посланы, но не были приняты. Если игрок испытывает значительные потери, то проблема скорее техническая и относится к самому соединению, а значит выходит за рамки этой статьи.
Запустите net_graph и следите за значением choke. Когда эффект "удушья" возникает - немного уменьшайте значения cl_updaterate и cl_cmdrate до тех пор, пока во время боя "удушье" не прекратит возникать вообще.
Основная цель - иметь максимально возможные значения cl_updaterate и cl_cmdrate, сохраняя при этом полное отсутствие "удушья".
Оригинал статьи на Наша-Life.ru
Alkov добавил 14-09-2006 в 09:14:37:
ко всему вышенаписанному добавлю, что cl_cmdrate и cl_updaterate желательно должны быть больше или равны tickrate сервера.
данная статья больше относится к старому HL и CS.
но смысл и принципы настройки те же.
что бы не ломать голову, подбираешь rate относительно скорости твоего интернет канала, а cl_cmdrate и cl_updaterate ставишь по 66. Так как у 2/3 серверов в интернете такой тикрейт.