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

Тема в разделе "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 байт
      Просмотров:
      26
    Последнее редактирование: 13 мар 2016
    Roxy., easybot, Колясик и 3 другим нравится это.
  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 - отключает надоедливую видео заставку вначале) нажимаем "ок". В игре вбивать ничего не надо, настройки автоматом будут проставляться при всех последующих запусках.
     
    Roxy., Лунатик и 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 нравится это.
  7. dp.

    dp. Новичок Участник

    заметил, что cl_cmdrate напрямую зависит от фпс самого экрана и команда cl_cmdrate 60 не ограничит в 60 пакетов. И вот тут у меня появилась проблемка, получается серв мне отдает 60 пакетов(cl_updaterate 60), а я ему 140(фпс моего экрана) пакетов, ну + - даю столько, то есть у меня на экране инфа обновляется быстрее чем на серве и я ему больше данных присылаю, по идеи это не правильно, он же не засчитывает все мои 140 верно? Тогда вопрос, как ограничить в самой игре 60 фпс моника, чтоб на серв улетало 60 пакетов максимум. карта нвидиа. в настройки самой карты лезть? может кто сталкивался..
     
  8. dp.

    dp. Новичок Участник

    а на счет лерпа и бомжей лагающих и тд, есть лагокомпенсатор на стороне серва, не помню команду, в первой лефтке была... в этом случае, даже при нулевом лепре не лагает ничо, только проц серва грузит страшно) хотя наверное для 10х10 его включать не стоит...
     
  9. Accelerator

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

    Сервер не принимает более 60 пакетов от вас, это ограничено настройками сервера, не важно что у вас стоит в cl_cmdrate.
     
  10. Satyricon

    Satyricon Новичок Участник

    Подскажите кто знает, с переустановкой винды игра перестала видеть autoexec.cfg 1.png
     
  11. stasik07

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

    Как вариант перенести настройки из autoexec.cfg в config.cfg
     
  12. Satyricon

    Satyricon Новичок Участник

    сделал 1.png не помогает, есть еще варианты? в параметрах запуска игры надо прописываем + exec autoexec.cfg
     
  13. stasik07

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

    а что конкретно не работает? Все бинды/команды?