что такое рейты ксс
Что такое рейты ксс
Для начала настройки, давайте разберёмся, что означает слово «Рейты»?
Рейты CSS – это количество информации (байт), которые сервер может отправить клиенту, т. е. игроку. Здесь прослеживается прямая зависимость от скорости интернета игрока, поскольку от этого зависит, какое количество информации сможет принять канал.
Итак, настройка рейтов CSS требует знания трех основных команд:
rate — определяет максимальное количество передаваемых байт в секунду.
cl_cmdrate — определяет количество действий, которые будут отправлены клиентом на сервер.
cl_updaterate — определяет количество действий, которые будут отправлены сервером клиенту.
Набор настроек для медленного интернета (модемное соединение, общественные беспроводные сети и прочее):
А вот набор для высокоскоростного соединения (домашний кабельный интернет и похожее):
Рекомендуемые настройки рейтов на сервере CS:GO
Содержание
Основные понятия
TickRate
Что такое тикрейт?
При каждом тике, сервер обрабатывает информацию игроков, физические передвижения, обновления состояния объектов и так далее. После моделирования тика сервер решает, нуждается ли какой-либо игрок в обновлении игрового состояния, и при необходимости получает снимок текущего состояния. Более высокий тикрейт повышает точность моделирования, но также требует большей мощности процессора и доступной пропускной способности как на сервере, так и на клиенте. Соответственно, чем выше тикрейт, (а максимальный тикрейт в CS:GO это 128) тем чаще сервер обрабатывает информацию и тем лучше сказывается на игровом процессе, в том числе и стрельбе. Максимальной тикрейт в CS:GO это 128, но так как он требуемый к ресурсами, наиболее распространенный 64 тикрейт, который в частности используется на серверах матчмейкинга.
Зачем нужен высокий тикрейт?
Наверняка Вы встречались с такой ситуацией на матчмейкинге или на другом сервере с tickrate 64, когда Вы стреляете в противника, видите попадания, следы крови, но при этом сервер не засчитывает урон, причина в том, что ваша игра отправляет данные на сервер для обработки, но сервер сопоставив их с данными других игроков не засчитывает попадания. Кровь Вы видите лишь потому что, за отображение крови и попаданий отвечает игра, но не сервер. Вы видите, что попали в цель, игра отображает кровь, посылает информацию на сервер для проверки. Если сервер считает, что вы промахнулись, урон противнику не засчитывается. Высокий TickRate позволяет избежать таких ситуаций и как правило более корректно обрабатывает все данные.
Как изменить тикрейт на сервере MyArena.ru
Тариф с оплатой за слоты
Вы выбираете тикрейт ещё в момент покупки, но если Вы захотите сменить тикрейт, то это можно сделать лишь путем смены тарифа.
Тариф PRO
Сменить тикрейт Вы можете в панели управления, раздел «Настройки».
Что такое рейт (rate)?
0.5 Мбит/сек | rate 62500 | |
1.0 Мбит/сек | rate 125000 | |
1.5 Мбит/сек | rate 187500 | |
1.57 Мбит/сек | rate 196608 | (Стандартное значение) |
2.0 Мбит/сек | rate 250000 | |
2.5 Мбит/сек | rate 312500 | |
3.0 Мбит/сек | rate 375000 | |
3.5 Мбит/сек | rate 437500 | |
4.0 Мбит/сек | rate 500000 | |
4.5 Мбит/сек | rate 562500 | |
5.0 Мбит/сек | rate 625000 | |
5.5 Мбит/сек | rate 687500 | |
6.0 Мбит/сек | rate 750000 | |
6.2 Мбит/сек | rate 786432 | (Максимальное значение) |
Как выставлять рейт?
Необходимые Вам рейт на сервере выставляются с помощью двух переменных:
Прописывать эти переменные можете как в конфиге игрового режима, так и в server.cfg. Как правило, этих переменных нет по-умолчанию в стандартных конфигах, Вам необходимо их добавить вручную.
Какие значения sv_minrate и sv_maxrate рекомендуется выставить?
Не старайтесь ограничить игроков выставив sv_minrate выше стандартного значения, Вы никак не улучшите им игру, а некоторым игрокам можете лишь её усугубить, ведь не у всех качественный интернет и высокая скорость, по этому рекомендуемые значения не отличаются от стандартных.
CmdRate
Что такое CmdRate
Как выставить cmdrate на сервере
Вам необходимо ограничить игрокам минимальное допустимое значение cmdrate для комфортной игры в соответствии с тикрейтом вашего сервера. Предположим, что у Вас сервер на 128 тикрейте, следовательно необходимо в конфиг игрового режима или в server.cfg добавить переменную:
Помимо этой переменной существует ещё и sv_maxcmdrate, но необходимости её прописывать нет, так как она автоматически унаследует значение вашего тикрейта.
Какое значение sv_mincmdrate рекомендуется выставить?
Необходимо всегда выставлять значение переменной sv_mincmdrate равно значению тикрейта вашего сервера. То есть если сервер на 64 тикрейте, то прописывать нужно:
Если сервер на 128 тикрейте, то нужно:
UpdateRate
Что такое UpdateRate
Как выставить UpdateRate на сервере
Аналогично как и с CmdRate, необходимо ограничить игрокам минимальное значение для комфортной в соответсвии с тикрейтом. Следовательно необходимо в конфиг игрового режима или в server.cfg добавить переменную значением которой будет тикрейт сервера, к примеру у нас будет он 128:
Помимо этого есть переменная и sv_maxupdaterate, необходимость в которой отсутствует, так как она автоматически унаследует значение тикрейта сервера.
Какое рекомендуемое значение sv_minupdaterate нужно выставить?
Значение переменной должно быть равно тикрейту сервера. Если 64 тикрейт, то:
Если же 128 тикрейт, следовательно:
Рекомендуемые рейты
Данные переменные необходимо поместить в конфиг игрового режима или в server.cfg
Рейты для сервера с 64 тикрейтом
Рейты для сервера с 128 тикрейтом
Диагностика проблем и их решение
Слишком большой choke на сервере
Зайдите в игру, присоединитесь к своему серверу, откройте консоль игры и введите net_graph 3. Данная опция позволит Вам смотреть показатели, которые помогут обнаружить наличие проблемы с рейтами. Самая распространенная проблема вызвана неправильными рейтами это choke (потеря пакентов), если значение превышает 10% постоянно у всех игроков без исключения, значит следует проверить рейты вашего сервера.
Даже если Вы в server.cfg прописали правильные рейты, Вы не можете быть уверенны, что какой-то мод или плагин не заменил их на свои, как правило бывает, что мод добавляет свои конфиги в которых прописаны устаревшие и неправильные рейты (зачастую бывает в WarMod). Или же когда Вы используете какую-то устаревшую сборку сервера с своими конфигами. Для просмотра текущих рейтов на сервере, нужно в консоли сервера поочередно ввести переменные без значений:
В результате Вам отобразятся значения данных переменных которые на сервере в текущий момент, если они будут отличаться от тех, которые прописывали Вы, значит в каком-то конфигурационном файле указанные другие рейты.
Рейты CSS. Меняем что бы не было лагов
Если сервер лагает меняем в конфиге рейты сервера на
Для новой версии CSS
sv_minrate 66000
sv_maxrate 100000
sv_minupdaterate 66
sv_maxupdaterate 100
sv_mincmdrate 66
sv_maxcmdrate 100
Для старого 34 версии (33 Tick Rate Server )
sv_minrate 33000
sv_maxrate 100000
sv_minupdaterate 33
sv_maxupdaterate 100
sv_mincmdrate 33
sv_maxcmdrate 100
Для старого 34 версии (66 Tick Rate Server )
sv_minrate 66000
sv_maxrate 100000
sv_minupdaterate 66
sv_maxupdaterate 100
sv_mincmdrate 66
sv_maxcmdrate 100
Для старого 34 версии (100 Tick Rate Server )
sv_minrate 66000
sv_maxrate 100000
sv_minupdaterate 100
sv_maxupdaterate 100
sv_mincmdrate 100
sv_maxcmdrate 100
Старый текс сообщения:
Для новой версии CSS
sv_minrate 15000
sv_maxrate 30000
sv_minupdaterate 40
sv_maxupdaterate 66
sv_mincmdrate 40
sv_maxcmdrate 66
Для старого 34 версии (33 Tick Rate Server )
sv_minrate 15000
sv_maxrate 30000
sv_minupdaterate 20
sv_maxupdaterate 33
sv_mincmdrate 20
sv_maxcmdrate 33
Для старого 34 версии (66 Tick Rate Server )
sv_minrate 15000
sv_maxrate 30000
sv_minupdaterate 33
sv_maxupdaterate 67
sv_mincmdrate 33
sv_maxcmdrate 67
Для старого 34 версии (100 Tick Rate Server )
sv_minrate 15000
sv_maxrate 30000
sv_minupdaterate 67
sv_maxupdaterate 100
sv_mincmdrate 67
sv_maxcmdrate 100
Что такое рейты ксс
В процессе игры все происходящее нам кажется непрерывным, но на самом деле это не так. Сервер Counter-Strike Source способен обрабатывать события игрового мира с частотой шестьдесят шесть раз за одну секунду (tickrate 66). Это значение установлено по умолчанию и встроенных возможностей для его изменений не предусмотрено. Исходя из этого, понятно, что клиент не может отправлять и получать данные чаще, чем установленный tickrate.
По умолчанию клиент получает от сервера двадцать пакетов в секунду, каждое изменение в игре вы сможете наблюдать не раньше, чем придет очередной пакет, а значит с частотой двадцать раз за одну секунду. Очевидно, что этого не достаточно, особенно если учесть высокую динамику игры. Вы только представьте себе ситуацию, когда ваш противник стрейфует или резко выбегает из за угла. В таких игровых моментах нужна повышенная информативность от сервера. Частоту обновления данных можно изменить с помощью консольной переменной cl_updaterate. Как упоминалось ранее, скорость приема пакетов ограничена значением tickrate сервера. Значит, максимально возможное значение cl_updaterate составит шестьдесят шесть пакетов в секунду.
cl_updaterate 66
(Установив это значение рейтов, вы будете получать более точные и более информативные данные о происходящем в игре.)
Все сказанное относительно обновления информации от сервера относится и к передаче данных от клиента. Ведь когда вы нажимаете на клавишу клавиатуры или мыши необходимо проинформировать об этом сервер как можно быстрее. Частота отправки пакетов от клиента к серверу настраивается при помощи консольной переменной cl_cmdrate (по умолчанию тридцать пакетов в секунду). Максимальное значение cl_cmdrate не может быть выше, чем tickrate сервера.
cl_cmdrate 66
(С таким параметром рейтов сервер будет максимально быстро получать сведения о ваших действиях.)
Все игроки Counter-strike Source обладают разным подключением к сети интернет. Во избежание потери пакетов подход к настройке клиента должен быть индивидуален для каждого. При помощи консольной переменной rate можно установить максимальное значение данных, которые вы можете принимать, т.е. установить максимальный входящий трафик вашего подключения. В этом случае сервер будет знать о вашей входящей пропускной способности и никогда не пошлет обновлений больше чем установленный rate. По умолчанию значение rate составляет 30000 байт в секунду. Рассчитать правильный rate очень просто, достаточно перевести ваш входящий трафик в байты. Например, мое подключение к интернету 15 Мбит/с (15*2 20 / 8 = 1966080 байт). Ставить такое высокое значение лишено всякого смысла. Поэтому лично я ограничиваюсь rate 262144 (2 Мбит/с)
Почему разработчиками Valve изначально установлены такие низкие значения rate, cl_updaterate и cl_cmdrate. Скорее всего, это исходило из расчета на среднестатистического пользователя с медленным модемным соединением. Но по моему нескромному мнению это могло иметь место еще несколько лет назад, когда ни кто не имел представление что такое доступ в мегабит(ы). В соревновательных режимах применяются максимально возможные рейты.
интерполяция и lerp
Как нетрудно догадаться, чем больше клиент будет получать пакетов от сервера, тем меньше интерполяция будет отдавать нам «фальшивых» снимков. Значит при максимально возможном обновлении (cl_updaterate 66), игрок будет получать более точную и честную информацию.
Для настройки интерполяции в клиенте предусмотрено несколько консольных переменных: cl_interp_ratio, cl_interp. Переменная cl_interp_ratio задает число интервалов, через которые будет происходить интерполяция (по умолчанию 2 интервала). Клиент будет ждать до тех пор, пока не придут два пакета, и только потом будут рассчитываться промежуточные значения. В случае потери одного из пакетов расчет будет вестись на основе второго. Установка cl_interp_ratio 1 (один интервал) заставит клиент ждать только один пакет, что сведет задержку интерполяции (lerp) к минимуму.
Переменная cl_interp устанавливает величину интерполяции. Рассчитать cl_interp очень просто:
cl_interp=cl_interp_ratio / cl_updaterate
(можно установить cl_interp 0, тогда его значение будет рассчитано автоматически.)
лагокомпенсация
Лагокомпенсация на сервере сводит к минимуму влияние задержек (пинга) клиент-сервер, а также задержек интерполяции. Представьте себе, что вы играете на сервере, который географически находится далеко от вас и вдобавок у всех игроков разные задержки. Вы делате точный выстрел в бегущего противника. За время прошедшее от нажатия вами на клавишу мыши и доставкой пакета на сервер ваша цель уже давно скрылась за угол, но попадание все равно засчитывается. Это происходит благодаря лагокомпенсации на стороне сервера. Все дело в том, что сервер запоминает позиции всех игроков, делая снимки игрового мира, и при обработке вашего выстрела находит нужный снимок по формуле:
Лагокомпенсация дает возможность игрокам с разными задержками играть практически на равных, но с ростом и нестабильностью пинга эффективность лагокомпенсации падает.
предсказание (prediction)
Надеюсь эта статья помогла вам разобраться с вопросами, касающимися настройки рейтов в Counter-Strike: Source.
Форум проекта sourceplay.ru
Часовой пояс: UTC+03:00
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. | Страница 1 из 1 | [ 14 сообщений ] |
|
Автор | Сообщение | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
qwist | |||||||||||
Зарегистрирован: 06:33 Суббота, 24 Сентябрь 2011 |
| ||||||||||
Зарегистрирован: 06:25 Суббота, 20 Март 2010 |
| ||||||||||
Зарегистрирован: 06:25 Суббота, 20 Март 2010 | |||||||||||
Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008 | |||||||||||
Зарегистрирован: 05:30 Четверг, 21 Январь 2010 | |||||||||||
Зарегистрирован: 11:54 Пятница, 20 Ноябрь 2009 | |||||||||||
Зарегистрирован: 19:45 Понедельник, 03 Январь 2011 | |||||||||||
Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008 | |||||||||||
Зарегистрирован: 05:30 Четверг, 21 Январь 2010 |
Часовой пояс: UTC+03:00 Кто сейчас на конференцииСейчас этот форум просматривают: нет зарегистрированных пользователей
|