Рекомендуемые настройки рейтов на сервере CS:GO — различия между версиями

Материал из Википедия MyArena.ru
Перейти к: навигация, поиск
(Слишком большой choke на сервере)
(Слишком большой choke на сервере)
Строка 147: Строка 147:
 
== Диагностика проблем и их решение ==
 
== Диагностика проблем и их решение ==
 
=== Слишком большой choke на сервере ===
 
=== Слишком большой choke на сервере ===
Зайдите в игру, присоединитесь к своему серверу, откройте консоль игры и введите '''net_graph 3'''. Данная опция позволит Вам смотреть показатели, которые помогут обнаружить наличие проблемы с рейтами. Самая распространенная проблема вызвана неправильными рейтами это choke (потеря пакентов), если значение превышает 10% постоянно у всех игроков без исключения, значит следует проверить рейты вашего сервера.  
+
Зайдите в игру, присоединитесь к своему серверу, откройте консоль игры и введите '''net_graph 3'''. Данная опция позволит Вам смотреть показатели, которые помогут обнаружить наличие проблемы с рейтами. Самая распространенная проблема вызвана неправильными рейтами это '''choke''' (потеря пакентов), если значение превышает 10% постоянно у всех игроков без исключения, значит следует проверить рейты вашего сервера.  
  
 
[[Файл:Chocke.jpg|750px|thumb|Пример высокого choke в net_graph 3|none]]
 
[[Файл:Chocke.jpg|750px|thumb|Пример высокого choke в net_graph 3|none]]

Версия 17:17, 27 июня 2017

Основные понятия

TickRate

Что такое тикрейт?

При каждом тике, сервер обрабатывает информацию игроков, физические передвижения, обновления состояния объектов и так далее. После моделирования тика сервер решает, нуждается ли какой-либо игрок в обновлении игрового состояния, и при необходимости получает снимок текущего состояния. Более высокий тикрейт повышает точность моделирования, но также требует большей мощности процессора и доступной пропускной способности как на сервере, так и на клиенте. Соответственно, чем выше тикрейт, (а максимальный тикрейт в CS:GO это 128) тем чаще сервер обрабатывает информацию и тем лучше сказывается на игровом процессе, в том числе и стрельбе. Максимальной тикрейт в CS:GO это 128, но так как он требуемый к ресурсами, наиболее распространенный 64 тикрейт, который в частности используется на серверах матчмейкинга.

Визуализация разницы в тикрейте.

Зачем нужен высокий тикрейт?

Наверняка Вы встречались с такой ситуацией на матчмейкинге или на другом сервере с tickrate 64, когда Вы стреляете в противника, видите попадания, следы крови, но при этом сервер не засчитывает урон, причина в том, что ваша игра отправляет данные на сервер для обработки, но сервер сопоставив их с данными других игроков не засчитывает попадания. Кровь Вы видите лишь потому что, за отображение крови и попаданий отвечает игра, но не сервер. Вы видите, что попали в цель, игра отображает кровь, посылает информацию на сервер для проверки. Если сервер считает, что вы промахнулись, урон противнику не засчитывается. Высокий TickRate позволяет избежать таких ситуацию и как правило более корректно обрабатывает все данные.

Как изменить тикрейт на сервере MyArena.ru

Тариф с оплатой за слоты
Вы выбираете тикрейт ещё в момент покупки, но если Вы захотите сменить тикрейт, то это можно сделать лишь путем смены тарифа.

Тариф PRO
Сменить тикрейт Вы можете в панели управления, раздел "Настройки".

Игровой VDS
Тикрейт устанавливается атрибутом в параметрах запуска сервера: -tickrate <значение>



Rate

Что такое рейт (rate)?

Рейт - устанавливает максимальный размер байт в секунду передаваемой информации между игроком и сервером. Стандартное значение rate у игроков составляет 196608 (rate 196608), что в переводе означает 1.57 Мбит/сек.

Скорость интернета переведенная в рейты
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 (Максимальное значение)

Как выставлять рейт?

Необходимые Вам рейт на сервере выставляются с помощью двух переменных:

sv_minrate - указывает минимальное допустимое значение на сервере, если зайдет игрок в которого будут рейты ниже чем указанны в этой переменной, то автоматически будет произведена замена рейтов на те, которые указанны в переменной.
sv_maxrate - указывает максимально допустимое значение рейтов на сервере, соответственно если игрок зайдет с рейтом выше чем максимально допустимое на сервере, то у него так же автоматически понизится рейт до максимально допустимого.

Прописывать эти переменные можете как в конфиге игрового режима, так и в server.cfg. Как правило, этих переменных нет по-умолчанию в стандартных конфигах, Вам необходимо их добавить вручную.

Прописываем минимальные и максимальные значения rate в server.cfg

Какие значения sv_minrate и sv_maxrate рекомендуется выставить?

Не старайтесь ограничить игроков выставив sv_minrate выше стандартного значения, Вы никак не улучшите им игру, а некоторым игрокам можете лишь её усугубить, ведь не у всех качественный интернет и высокая скорость, по этому рекомендуемые значения не отличаются от стандартных.

sv_minrate "196608"
sv_maxrate "786432"



CmdRate

Что такое CmdRate

Cmdrate - отвечает за максимальное число командных пакетов отправляемых игроком на сервере за секунду. В игре за это отвечает переменная cl_cmdrate.

Как выставить cmdrate на сервере

Вам необходимо ограничить игрокам минимальное допустимое значение cmdrate для комфортной игры в соответствии с тикрейтом вашего сервера. Предположим, что у Вас сервер на 128 тикрейте, следовательно необходимо в конфиг игрового режима или в server.cfg добавить переменную:

 sv_mincmdrate "128"

Помимо этой переменной существует ещё и sv_maxcmdrate, но необходимости её прописывать нет, так как она автоматически унаследует значение вашего тикрейта.

Прописываем минимальное значение cmdrate в server.cfg

Какое значение sv_mincmdrate рекомендуется выставить?

Необходимо всегда выставлять значение переменной sv_mincmdrate равно значению тикрейта вашего сервера. То есть если сервер на 64 тикрейте, то прописывать нужно:

 sv_mincmdrate "64"

Если сервер на 128 тикрейте, то нужно:

 sv_mincmdrate "128"



UpdateRate

Что такое UpdateRate

UpdateRate - отвечает за количество пакетов получаемых с сервера за секунду. В игре за это отвечает переменная cl_updaterate.

Как выставить UpdateRate на сервере

Аналогично как и с CmdRate, необходимо ограничить игрокам минимальное значение для комфортной в соответсвии с тикрейтом. Следовательно необходимо в конфиг игрового режима или в server.cfg добавить переменную значением которой будет тикрейт сервера, к примеру у нас будет он 128:

sv_minupdaterate "128"

Помимо этого есть переменная и sv_maxupdaterate, необходимость в которой отсутствует, так как она автоматически унаследует значение тикрейта сервера.

Какое рекомендуемое значение sv_minupdaterate нужно выставить?

Значение переменной должно быть равно тикрейту сервера. Если 64 тикрейт, то:

 sv_minupdaterate "64"

Если же 128 тикрейт, следовательно:

 sv_minupdaterate "128"
Прописываем минимальное значение updaterate в server.cfg



Рекомендуемые рейты

Данные переменные необходимо поместить в конфиг игрового режима или в server.cfg

Рейты для сервера с 64 тикрейтом

sv_minrate "196608"
sv_maxrate "786432"
sv_mincmdrate "64"
sv_minupdaterate "64"

Рейты для сервера с 128 тикрейтом

sv_minrate "196608"
sv_maxrate "786432"
sv_mincmdrate "128"
sv_minupdaterate "128"

Диагностика проблем и их решение

Слишком большой choke на сервере

Зайдите в игру, присоединитесь к своему серверу, откройте консоль игры и введите net_graph 3. Данная опция позволит Вам смотреть показатели, которые помогут обнаружить наличие проблемы с рейтами. Самая распространенная проблема вызвана неправильными рейтами это choke (потеря пакентов), если значение превышает 10% постоянно у всех игроков без исключения, значит следует проверить рейты вашего сервера.

Пример высокого choke в net_graph 3

Даже если Вы в server.cfg прописали правильные рейты, Вы не можете быть уверенны, что какой-то мод или плагин не заменил их на свои, как правило бывает, что мод добавляет свои конфиги в которых прописаны устаревшие и неправильные рейты (зачастую бывает в WarMod). Или же когда Вы используете какую-то устаревшую сборку сервера с своими конфигами. Для просмотра текущих рейтов на сервере, нужно в консоли сервера поочередно ввести переменные без значений:

sv_minrate
sv_maxrate
sv_mincmdrate
sv_minupdaterate

В результате Вам отобразятся значения данных переменных которые на сервере в текущий момент, если они будут отличаться от тех, которые прописывали Вы, значит в каком-то конфигурационном файле указанные другие рейты.

Просмотр значений рейтов сервера