Настройка рейтов для игры на сервере

Тема в разделе "Left 4 Dead 2 / Coop-24", создана пользователем Accelerator, 27 янв 2016.

  1. Accelerator

    Accelerator Главный Администратор Команда форума Администратор

    Наш сервер работает на повышенном тикрейте. Стандартный тикрейт для серверов Left 4 Dead 2 является 30, у нас он 60.

    Тикрейт (tickrate) - это скорость обработки событий на сервере. Стрельба, передвижение игроков, попадание игроками по боссам или мобам, выполнение игровых событий. Чем больше тикрейт, тем больше и быстрее сервер способен обрабатывать событий, игроки начинают видеть картинку в игре более плавной и четкой, ваши выстрелы регистрируются сервером гораздо быстрее.

    Однако, чтобы увидеть то, что подразумевает под собой тикрейт, необходимо иметь достаточно хорошее и стабильное соединение с нашим сервером, а также достаточно не слабый компьютер. От игрока требуется достаточно быстрый интернет от его провайдера. Примерно 10Мбит/сек и выше, поскольку сервер начинает отправлять и принимать пакеты данных чаще и их объем увеличивается в 1.5-2.5 раза. Для этого важно, чтобы интернет соединение было стабильным. И компьютер, который способен выдавать в игре стабильные 60FPS.

    Настройка рейтов на клиенте
    rate
    - максимальный объем информации (в байтах/bytes), который способен принять сервер.
    По скольку сервер уже при вашем входе в игру задает минимальные рейты для вас (по умолчанию 60000 байт), вы также можете поднять это число до 100000 байт, введя в консоль клиента команду rate 100000. Данную команду нужно будет прописывать каждый раз при каждом входе на сервер.

    cl_cmdrate - это максимальное число пакетов, которые вы (клиент) можете отправить на сервер за секунду. Другими словами, это ваши данные о ваших выстрелах, попаданиях по боссам, игрокам, мобам и т.д. Чем больше информации будет отправлено о ваших действиях, тем точнее и результативнее будут эти действия. Для 60 тикрейта вы можете выставить cl_cmdrate 60. Но учтите, если компьютер у вас не самый новый и не способен выдавать в игре стабильные 60FPS, данная команда вам ничего не даст. В этом случае лучше всего выставить число согласно вашим FPS. К примеру имея 30FPS в игре, вы должны выставить cl_cmdrate 30. Это минимально допустимый предел у нас на сервере. Также вы можете поэксперементировать и выставлять любые значения, которые для вас будут оптимальными. Также смотрите строку choke. Если она постоянно у вас возрастает выше чем 20-30, значит ваш компьютер просто не способен послать столько информации, сколько требует сервер. В этом случае вы должны определить этот параметр так, что бы choke у вас уменьшился. Начинайте с минимального, т.е. 30 и пробуйте увеличивать его с шагом в 5 единиц, либо оставьте его на уровне 30.

    cl_updaterate - это количество пакетов, которые вы способны принять в ответ с сервера. Иными словами, это информация обо всем, что в данный момент происходит на сервере. Чем больше данный параметр, тем точнее вы видите все происходящее на сервере. Здесь большое значение как раз таки принимает скорость вашего интернет-соединения. Если вы видите, что у вас идут потери пакетов (смотрите параметр loss), вам необходимо уменьшить данный параметр. Начинайте с минимального, т.е. cl_updaterate 30 и постепенно его увеличивайте с шагом в 5 единиц, либо оставьте его на уровне 30. Если ваше интернет соединение достаточно быстрое, вы можете смело использовать максимальный параметр cl_updaterate 60.

    Настройка интерполяции
    lerp
    - это задержка на обработку и сглаживание информации, поступающей с сервера. Интерполяция предназначена для сглаживания рывков в игре, дабы игрок не видел слайд-шоу. Другими словами, чем выше интерполяция, тем меньше информация у клиента соответствует информации на сервере. Однако, если вы плохо разбираетесь в данных настройках мы крайне не рекомендуем проделывать действия, описанные ниже, т.к. неправильные действия могут привести к рывкам и лагам у вас в игре.

    cl_interp (стандартное значение cl_interp 0.1 (100 мс)) - устанавливает время задержки между тем, что происходит на сервере. На какой промежуток времени у вас отличается информация от той, что в данный момент на сервере.

    cl_interp_ratio (стандартное значение cl_interp_ratio 2) - частота интерполяции. Величина говорит о том, сколько раз информация с сервера сглаживается на стороне клиента.

    Оптимальные значения этих 2х команд вы должны найти самостоятельно. Для полного отключения интерполяции введите в консоль
    Код:
    cl_interp 0
    cl_interp_ratio 0
    Но при таких настройках могут появляться незначительные подергивания игроков.
    Наиболее оптимально будет иметь такие настройки. При тестах фризов на них не замечалось.
    Код:
    cl_interp 0.1
    cl_interp_ratio 1
    или
    Код:
    cl_interp 0.1
    cl_interp_ratio 0
    или (lerp 60)
    Код:
    cl_interp 0.06
    cl_interp_ratio 0
    Данные значения этим двум параметрам нужно прописывать каждый раз при каждом входе на сервер. Увы, игра сама их не сохраняет.
    Если вы достаточно опытны и разбирайтесь в данных настройках, вы можете сами для себя подобрать оптимальные значения, с которыми вам будет комфортно.

    Итак, подведя итоги. Для тех, у кого достаточно мощные компьютеры, имеется быстрое и стабильное интернет соединение, вы можете смело прописывать себе максимальные настройки для параметров cl_cmdrate и cl_updaterate.
    Код:
    cl_cmdrate 60
    cl_updaterate 60
    Тем же, у кого одно из двух условий не выполняется, вы можете прописать минимальные значения cl_cmdrate и cl_updaterate и оставить их на уровне отметки 30, либо же постепенно их увеличивать с интервалом шага в 5 единиц.
    Код:
    cl_cmdrate 30
    cl_updaterate 30
    Т.к. значения rate, cl_interp, cl_interp_ratio не сохраняются, вы можете прописать их в кофиге autoexec.cfg, который потом положить в папку с игрой (./SteamApps/common/Left 4 Dead 2/left4dead2/cfg). В этом случае этот конфиг будет всегда выставлять нужные значения. Или к строке запуска игры добавить +rate 100000 +cl_interp_ratio 1 ("правой кнопкой по игре в библиотеке игр стима" --> "Свойства" --> "Установить параметры запуска...")

    Желаем вам приятной и плавной игры на нашем сервере! :)
     

    Вложения:

    • autoexec.rar
      Размер файла:
      121 байт
      Просмотров:
      19
    Последнее редактирование: 13 мар 2016
    easybot, Колясик, Iris и 2 другим нравится это.
  2. Череп

    Череп Администратор сервера Versus Участник

    хз, тестил с rate 128000 cl_cmdrate 64 cl_updaterate 64, особой разницы не увидел, поставил дефолт 30,30,30.
    Кстати как раз таки на cl_interp_ratio 1 лично у меня переодически появляются фризы после убийства боссов.
     
  3. Accelerator

    Accelerator Главный Администратор Команда форума Администратор

    С фризами при убийстве боссов проблема была и ранее. Пытаюсь разобраться в причинах. Частично она была решена путем переписывания плагина лута. Завтра займусь оптимизацией плагина статистики.
    Возможно также виной фризов может выступать и сама игра.
     
  4. Accelerator

    Accelerator Главный Администратор Команда форума Администратор

    Провел полную оптимизацию SQL запросов статистики и системы банов. Фризов больше не должно быть. Если будут какие-то глюки, прошу сообщать об этом.
     
  5. Череп

    Череп Администратор сервера Versus Участник

    Кстати кому интересно, cl_interp и cl_interp_ratio нужно выставлять в зависимости от того, какой у вас пинг на сервере, вот примерные настройки:

    Ниже 30 ms - cl_interp = 0.015500; cl_interp_ratio 1/0

    30-59 ms - cl_interp = 0.015500; cl_interp_ratio 2

    60-89 ms - cl_interp = 0.015500; cl_interp_ratio 3

    90-109 ms - cl_interp = 0.031000; cl_interp_ratio 2

    110+ ms - cl_interp = 0.031000; cl_interp_ratio 3

    Также кому лень возиться с autoexec'ом можно прописать в параметрах запуска - "правой кнопкой по игре в библиотеке игр стима" --> "Свойства" --> "Установить параметры запуска..." и вбиваем в появившееся окно вот это -novid +rate 60000 +cl_updaterate 64 +cl_cmdrate 64 +cl_interp_ratio 2 +cl_interp 0.015500 (циферки подставить свои, -novid - отключает надоедливую видео заставку вначале) нажимаем "ок". В игре вбивать ничего не надо, настройки автоматом будут проставляться при всех последующих запусках.
     
    Лунатик и Accelerator нравится это.
  6. stasik07

    stasik07 Администратор сервера Versus Участник

    30-59 ms - cl_interp = 0.015500; cl_interp_ratio 2

    60-89 ms - cl_interp = 0.015500; cl_interp_ratio 3

    110+ ms - cl_interp = 0.031000; cl_interp_ratio 3


    Эти настройки работать не будут, т.к лерп(cl_intep) не может быть меньше, чем величина, равная (1/cl_updaterate)*cl_interp_ratio. Кроме того cl_interp_ratio , на сколько я понял, может принимать значения только 0/1/2.

    Предложу свой вариант настроек:
    rate 100000
    cl_updaterate 64
    cl_cmdrate 64
    cl_interp_ratio 2
    cl_interp 0.067

    Давал его нескольким игрокам, им он тоже понравился.
     
    Iris нравится это.