- Поддерживаемые игры
-
- CS: Source (OrangeBox)
- CS: Source (v34)
- CS: GO
- Team Fortress 2
- DOD: Source
- L4D 1 & 2
Данный плагин просчитывает максимальный тикрейт для вашего сервера при текущей нагрузке
Это значит, что просчет должен проводиться при максимально возможной нагрузке
Как этим пользоваться?
Устанавливаем, нагружаем сервер и прописываем sm_optimaltickrate и ждем результаты
Как разобраться в результатах?
Плагин выдаст примерно следующие данные:
Самое важное для нас - 4 строка
[WIOTFMS?] Calculated tickrate by max: 93.0 - именно на основе этого устанавливается оптимальный тикрейт
Советую умножать данное значение на 0.8, дабы точно избежать фризов на сервере
А также советую проводить тестирование несколько раз в разных условиях, и использовать минимальное значение от максимальных тикрейтов
Как нагрузить сервер?
Я использовал 19 ботов, команды sv_regeneration_force_on 1, mp_respawn_on_death_t 1 и mp_respawn_on_death_t 1, чтобы боты 24/7 ходили и стреляли
Это игроков может заменить, но нагрузки от бота и игрока не равны: с одной стороны постоянный просчет ИИ ботов, с другой - компенсация лагов для игроков
Также если у вас стоит какой-то плагин на турели или иные нагружающие вещи, советую и их поставить, чтобы приблизить нагрузку к максимуму
Или используйте плагин при полном онлайне чисто для интереса, но мне кажется, игроки не особо будут рады вашим действиям
Как это работает?
Из-за ограничений sourcemod'а, плагин не может узнать, сколько времени затрачено на просчет одного такта, если этот такт не вышел за рамки выделенного времени (1/tickrate - выделенное время в секундах на 1 такт)
Поэтому плагин при тестировании создает искусственные лаги длинною в 1 такт, затем уже идут просчеты, таким образом время 1 такта при тестировании составляет выделенное время такта + время просчета такта, далее можно вычесть выделенное время такта (1/tickrate) и получить время, за которое такт был просчитан
Плагин записывает в массив время просчета такта, и после окончания тестирования анализирует: выводит максимальное отношение времени такта к выделенному времени такта (MAX Usage), среднее отношение (AVG Usage) и минимальное (MIN Usage)
На основе среднего и максимального значений плагин высчитывает оптимальный тикрейт для сервера (на деле максимальный тикрейт желательно умножать на 0.8, дабы избежать фризов)
Это значит, что просчет должен проводиться при максимально возможной нагрузке
Как этим пользоваться?
Устанавливаем, нагружаем сервер и прописываем sm_optimaltickrate и ждем результаты
Как разобраться в результатах?
Плагин выдаст примерно следующие данные:
C-подобный:
[WIOTFMS?] AVG Usage: 36.7%
[WIOTFMS?] MAX Usage: 68.7%
[WIOTFMS?] MIN Usage: 25.0%
[WIOTFMS?] Calculated tickrate by max: 93.0
[WIOTFMS?] Calculated tickrate by avg: 173.9
[WIOTFMS?] Calculated tickrate by max: 93.0 - именно на основе этого устанавливается оптимальный тикрейт
Советую умножать данное значение на 0.8, дабы точно избежать фризов на сервере
А также советую проводить тестирование несколько раз в разных условиях, и использовать минимальное значение от максимальных тикрейтов
Как нагрузить сервер?
Я использовал 19 ботов, команды sv_regeneration_force_on 1, mp_respawn_on_death_t 1 и mp_respawn_on_death_t 1, чтобы боты 24/7 ходили и стреляли
Это игроков может заменить, но нагрузки от бота и игрока не равны: с одной стороны постоянный просчет ИИ ботов, с другой - компенсация лагов для игроков
Также если у вас стоит какой-то плагин на турели или иные нагружающие вещи, советую и их поставить, чтобы приблизить нагрузку к максимуму
Или используйте плагин при полном онлайне чисто для интереса, но мне кажется, игроки не особо будут рады вашим действиям
Как это работает?
Из-за ограничений sourcemod'а, плагин не может узнать, сколько времени затрачено на просчет одного такта, если этот такт не вышел за рамки выделенного времени (1/tickrate - выделенное время в секундах на 1 такт)
Поэтому плагин при тестировании создает искусственные лаги длинною в 1 такт, затем уже идут просчеты, таким образом время 1 такта при тестировании составляет выделенное время такта + время просчета такта, далее можно вычесть выделенное время такта (1/tickrate) и получить время, за которое такт был просчитан
Плагин записывает в массив время просчета такта, и после окончания тестирования анализирует: выводит максимальное отношение времени такта к выделенному времени такта (MAX Usage), среднее отношение (AVG Usage) и минимальное (MIN Usage)
На основе среднего и максимального значений плагин высчитывает оптимальный тикрейт для сервера (на деле максимальный тикрейт желательно умножать на 0.8, дабы избежать фризов)
- Требования
-
Sourcemod
- Команды
-
sm_optimaltickrate
- Установка
-
Залить .smx файл в addons/sourcemod/plugins
Прописать sm plugins load what_is_optimal_tickrate_for_my_server или сменить карту