|
02.05.2014, 09:06
|
#1
|
|
|
|
Пехотинец
|
Регистрация: 14.05.2009
Сообщений: 92
Популярность: -2320
Сказал(а) спасибо: 17
Поблагодарили 22 раз(а) в 16 сообщениях
|
Рейты - настройка соединения между клиентом и сервером
Описание:
В этой статье вы сможете узнать что такое "рейты", для чего они сделаны и как ими пользоваться.
Рейты - настройка соединения между клиентом и сервером.
1
|
Цитата: |
|
|
|
|
|
|
|
|
loss - количество потерянных пакетов из последних 100. Теряются пакеты из-за перегрузки канала (роутеров) между сервером и клиентом, либо из-за неудовлетворительного состояния линии связи между сервером и клиентом. Проблема "железная" и зачастую трудно устранимая.
choke - количество пакетов, отправка которых была задержана сервером, чтобы не превысить лимит полосы, устанавливаемый rate, sv_minrate и sv_maxrate (сервер генерирует слишком много трафика). Проблема в настройках HLDS, решается установкой высокого значения переменной sv_minrate (100000 например) и перезапуском сервера. |
|
|
|
|
|
2
|
Цитата: |
|
|
|
|
|
|
|
|
choke - это количество пакетов из последних 100, которые были задержаны для конкретного клиента (не для всех), чтобы не превысить скорость передачи, которая у этого клиента задана в переменной rate. На клиентское значение rate сервер накладывает свои ограничения: клиентский rate не может быть больше sv_maxrate и не может быть меньше sv_minrate, именно в такой последовательности, сначала на "не больше", потом на "не меньше". На sv_minrate и sv_maxrate в свою очередь тоже накладываются ограничения: sv_maxrate не может быть больше 20000 (тут надо понимать, что в переменную вы можете поставить сколько угодно, но при расчетах значения выше 20000 будут игнорироваться), sv_minrate не может быть меньше 1000.
Значения sv_maxrate выше 20000 бессмысленны, это верно. А вот эффект от sv_minrate "100000" будет. Иначе говоря, если на сервере поставить sv_maxrate 20000 и sv_minrate "100000", то сервер будет пытаться "завернуть" трафик в канал ~100кбайт/сек для каждого клиента. |
|
|
|
|
|
3
|
Цитата: |
|
|
|
|
|
|
|
|
Оптимальных настроек на все случаи жизни скорее всего нет. Если мы говорим о LAN'е (sv_lan "1"), то в этом режиме клиентский rate (а также sv_minrate и sv_maxrate) не учитывается вообще, вместо него для всех клиентов используется значение sv_lan_rate.
Оптимальность настройки рэйтов определяется по наличию choke. Есть choke -> повышаем sv_minrate (в случае с sv_lan "0") или sv_lan_rate (в случае с sv_lan "1").
Если смотреть на цифры, то:
20000 байт/сек - для классических серверов.
50000 байт/сек - для мяса типа ЗМ.
Можно поставить 100000 и вообще не париться насчет choke.
Про sv_minupdaterate и sv_maxupdaterate (если кто забыл - это минимальная/максимальная частота отсылки пакетов-обновлений от сервера к клиенту):
sv_minupdaterate 30-60. 30 -"разумный минимум чтобы не лагало". Больше 60 ставить не стоит, потому что некоторые играют на 60 FPS. Отсылать им лишние обновления незачем.
sv_maxupdaterate 50-101. 101 - для классических серверов, где важна стрельба. 50 - для мяса. Кстати, низкий updaterate заметно снижает нагрузку на процессор (по моим опытам, при поднятии апдейтрэйта у всех игроков с 30 до 101, загрузка ядра, на котором висел HLDS, выросла с 40% до 60%)
Лучше чтобы между значениями sv_minupdaterate и sv_maxupdaterate был интервал, чтобы дать клиенту свободу выбора. И не надо менять клиентский cl_updaterate вручную с помощью плагинов - не всем игрокам это нравится. |
|
|
|
|
|
4
|
Цитата: |
|
|
|
|
|
|
|
|
Мое видение "нормальных рэйтов" в конфиге (при sv_lan "0"):
Для мяса:
* sv_minrate "100000"
sv_minupdaterate "30"
sv_maxupdaterate "60"
Для классики:
* sv_minrate "100000"
sv_minupdaterate "30"
sv_maxupdaterate "101" |
|
|
|
|
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:18.
|
|