Рекомендуемые настройки рейтов на сервере CS:GO — различия между версиями
(→Слишком большой choke на сервере) |
TinArc (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 7: | Строка 7: | ||
====Зачем нужен высокий тикрейт?==== | ====Зачем нужен высокий тикрейт?==== | ||
− | Наверняка Вы встречались с такой ситуацией на матчмейкинге или на другом сервере с tickrate 64, когда Вы стреляете в противника, видите попадания, следы крови, но при этом сервер не засчитывает урон, причина в том, что ваша игра отправляет данные на сервер для обработки, но сервер сопоставив их с данными других игроков не засчитывает попадания. Кровь Вы видите лишь потому что, за отображение крови и попаданий отвечает игра, но не сервер. Вы видите, что попали в цель, игра отображает кровь, посылает информацию на сервер для проверки. Если сервер считает, что вы промахнулись, урон противнику не засчитывается. Высокий TickRate позволяет избежать таких | + | Наверняка Вы встречались с такой ситуацией на матчмейкинге или на другом сервере с tickrate 64, когда Вы стреляете в противника, видите попадания, следы крови, но при этом сервер не засчитывает урон, причина в том, что ваша игра отправляет данные на сервер для обработки, но сервер сопоставив их с данными других игроков не засчитывает попадания. Кровь Вы видите лишь потому что, за отображение крови и попаданий отвечает игра, но не сервер. Вы видите, что попали в цель, игра отображает кровь, посылает информацию на сервер для проверки. Если сервер считает, что вы промахнулись, урон противнику не засчитывается. Высокий TickRate позволяет избежать таких ситуаций и как правило более корректно обрабатывает все данные. |
==== Как изменить тикрейт на сервере MyArena.ru ==== | ==== Как изменить тикрейт на сервере MyArena.ru ==== | ||
Строка 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]] |
Текущая версия на 22:24, 8 февраля 2018
Содержание
Основные понятия
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. Как правило, этих переменных нет по-умолчанию в стандартных конфигах, Вам необходимо их добавить вручную.
Какие значения 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, но необходимости её прописывать нет, так как она автоматически унаследует значение вашего тикрейта.
Какое значение 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"
Рекомендуемые рейты
Данные переменные необходимо поместить в конфиг игрового режима или в 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% постоянно у всех игроков без исключения, значит следует проверить рейты вашего сервера.
Даже если Вы в server.cfg прописали правильные рейты, Вы не можете быть уверенны, что какой-то мод или плагин не заменил их на свои, как правило бывает, что мод добавляет свои конфиги в которых прописаны устаревшие и неправильные рейты (зачастую бывает в WarMod). Или же когда Вы используете какую-то устаревшую сборку сервера с своими конфигами. Для просмотра текущих рейтов на сервере, нужно в консоли сервера поочередно ввести переменные без значений:
sv_minrate sv_maxrate sv_mincmdrate sv_minupdaterate
В результате Вам отобразятся значения данных переменных которые на сервере в текущий момент, если они будут отличаться от тех, которые прописывали Вы, значит в каком-то конфигурационном файле указанные другие рейты.