Left 4 Dead 2

Left 4 Dead 2

296 ratings
Оптимизируем сетевые настройки для Left 4 Dead 2
By ПИВОЗАВР
Руководство предназначено для описания процессов оптимизации сетевых настроек L4D2 и, как следствие, повышения результативности игры.
   
Award
Favorite
Favorited
Unfavorite
Предисловие
Как известно, в любой сетевой игре на результат влияют два фактора:
- Личные навыки игрока (т.н. "скилл") либо навыки команды
- Сетевые настройки

Очевидно, что даже если вы являетесь самым метким и быстрым игроком, ваши усилия не будут стоить ровным счетом ничего, если информация о вашем метком выстреле либо не дойдет до сервера, либо дойдет слишком поздно.

На скорость приема/передачи информации влияет много параметров, самый известный из которых - пинг. О нем известно много, и рассматривать его я не буду, да и повлиять на пинг у игрока мало способов (реально - почти никаких, ибо влиять на пинг в значительной степени можно либо со стороны сервера, либо со стороны провайдера. Закрытие трафикоемких приложений типа uTorrent, Skype и т.д. я не беру в расчет, это очевидно).

А вот остальные сетевые параметры и их настройку я рассмотрю.
Перечень и описание сетевых настроек
  • cmdrate - это максимальное число пакетов, которые вы (клиент) можете отправить на сервер за секунду. Понятно, что чем больше информации будет отправлено о ваших действиях (выстрел, скит, обрубание языка), тем точнее и результативнее будут эти действия.
    Важное примечание - этот параметр НЕ МОЖЕТ превышать ЗНАЧЕНИЕ FPS (кадров в секунду). Другими словами, если кмд_рейт у вас установлен 100, а фпс ввиду слабого компьютера или плохой оптимизации у вас 60, то и кмд_рейт будет 60. Просядет фпс до 25 - и кмд_рейт также просядет. Именно поэтому оптимизация графики также важна.

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

  • rate - максимальный объем информации (в байтах/bytes), который способен принять клиент (вы) за одну секунду.

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

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


  • interp_ratio - а это частота интерполяции. Другими словами, эта величина говорит о том, сколько раз информация с сервера сглаживается на стороне клиента. Базовое значение - 1 (один раз). Если установить 0 - то информация не будет сглаживаться при установке interp на 0.
Сервера
Регулировать настройки необходимо в соответствии с серверами, на которых вы собираетесь играть, во избежание потерь (чоков/chokes) пакетов информации. Результаты чоков - стрельба охотнику в голову с последующим приземлением охотника на вас с полным здоровьем (не единственный пример, но наиболее наглядный), т.к. пакет с информацией о выстреле ушел от клиента и пропал на пути к серверу.

Перед настройками нам потребуется следующая команда: net_graph 4.
Команда вводится в консоль.
Она вызывает меню и график (пример на скрине):



(если введете net_graph 1, то будет просто меню, к тому же чуть урезанное(пример на скрине)),



которое отражает ваши фпс, рейты, лерп и т.д. Для настроек рекомендуется net_graph 4, для игры после настроек net_graph 1.

Далее, необходимо определиться с типом сервера. В L4D2 существует (на данный момент) три типа серверов (в порядке возрастания качества):

- Официальные сервера Valve, приближенные к ним Pinion White Label, а также множество кривых серверов всех мастей (оtstrel.ru и прочий шлак). Рейты этих серверов - 30 tick.

- Более качественные сервера с тикрейтом 60 tick.

- Наиболее качественные сервера с тикрейтом 100 tick. В 95% случаев это компетитив (соревновательные) сервера с конфигом, либо пабо-компетитив сервера (т.е. на них можно играть и обычные игры, и конфиг. Яркий пример - DeadSilence).

Я играю на 100 тиковых серверах (на ДедСайленс), что и вам рекомендую, поэтому настройки будут расписаны для них. На официалке можно даже не заморачиваться, ибо все ваши настройки пойдут по одному месту изза высокого пинга и плохой серверной оптимизации, а на T60 (60 тиковые сервера; T100 - 100 тиковые) настройки хоть и будут заметны, но не слишком сильно.
А теперь настраиваем
Ваши настройки ограничены тикрейтом сервера. То есть те же rates вы можете поставить 9999999999, однако сервер вам все равно будет передавать 100 000 байт в секунду, ибо так он настроен.

В то же время будет глупостью ставить настройки меньше, чем позволяет сервер. Дают - бери, и незачем ставить все те же rates на 30 000, если можно поставить на 100 000.

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

Команды прописываются в консоль, порядок не важен:

cl_cmdrate 100 cl_updaterate 100 rate 100000 cl_interp_ratio 0 cl_interp 0

Проверить просто: при игре на 100 тиковом сервере в меню net_graph справа вы должны видеть вертикальный ряд цифр 100. В графе lerp должен быть 0. В графе choke также должен быть 0. В графе fps также должно быть значение НЕ МЕНЬШЕ 100 (если меньше, то отключите вертикальную синхронизацию (VSync), если не помогло, уменьшайте настройки графики).

Вот так должны выглядеть ваши настройки на 100 тиковых (Т100) серверах:



Рейты на 100, лерп на 0, фпс не опускается ниже 100, потерь (чоков) нет.

Если вы играете не только на Т100 серверах, а еще и на официалке, то можно сделать бинды. Они позволят одним лишь нажатием кнопки установить те настройки, которые вам нужны в данный момент. Менять все настройки нет смысла, т.к. если ваши параметры больше, чем позволяет сервер, он сбросит их сам (т.е. если у вас кмд_рейт 100, а сервер 30 тиковый, то он сам установит ваш кмд_рейт на 30. Как только вы вернетесь на Т100 сервер, то кмд_рейт снова станет 100 автоматически).
Другими словами, достаточно один раз установить настройки, и больше их можно не трогать.
Менять есть смысл только лерп (при игре на разных типах серверов). Вот так могут выглядеть ваши бинды:

1) Для официальных серверов Valve:
bind "leftarrow" "cl_interp 0.1; cl_interp_ratio 1"

2) Для Т100 серверов
bind "rightarrow" "cl_interp 0; cl_interp_ratio 0"

Все просто: пошли на официалку, начали играть, надоело, решили сыграть про мод. Зашли на Т100 сервер, нажали стрелку вправо - ваш лерп на нуле. Отыграли, вернулись на официалку, стрелка влево - лерп на сотне. Быстро, легко и не надо каждый раз вводить команды в консоль.
26 Comments
Atomika 18 Feb, 2023 @ 2:28am 
Благодарю за ответ.
Goglol😈 17 Feb, 2023 @ 9:04am 
Да, ты просто добавляешь поочерёдно столбиком команды (переменные) и нужные числа (значения) к ним, как и при обычном вводе в консоль, после чего сохраняешь изменения (ну, в том текстовом редакторе, через который редактируешь), и команды будут автоматически применяться при каждом запуске игры. Это общая механика работы autoexec для любых игр на Source Engine, т.е. даже в каком-нибудь Апексе точно так же
Atomika 17 Feb, 2023 @ 8:36am 
Вопросик такой, возможно глупый: а можно ли как-то через автоэкзек поставить команды? Или же требуется конкретно в консоль прописывать?
フUSELESSフ ︎COCKSUCKER 27 Feb, 2021 @ 3:39am 
хз что не так но игра не даёт поставить некоторые значения, как будто есть какойто лимит
cl_updaterate 60 вместо 100
cl_interp_ratio 1 вместо 0
cl_interp 0.01 вместо 0

Alito 18 Oct, 2020 @ 5:01am 
такая чушь
Kookoorooza 11 Oct, 2020 @ 9:20am 
5
ПИВОЗАВР  [author] 11 Oct, 2020 @ 4:03am 
Странно... Наверное, ещё и пинг на локалке 0?
Kookoorooza 10 Oct, 2020 @ 9:25am 
Блин, не помогает. Создаю локалку и там лерп виснет на 10 и 30.2\s
Nivalis 7 Jul, 2020 @ 4:57pm 
Это команды ДЛЯ ХОСТА! После этого зомби перестают телепортироваться даже с пингом 120 и большими задержками у клиентов.
Протестировано с людьми:
1) Я в жопе с 3G модемом. (пинг до хоста по хамачи 95-120)
2) Я из Тольятти (Пинг +44-51)
3) Я из Тольятти но инет порой не очень (Пинг +47-55 и иногда 60-70)
4) Я из Красноярска (Пинг овер 110 + большие задержки)
Nivalis 7 Jul, 2020 @ 4:57pm 
Кто запускает локальный сервер (Hamachi и аналоги) и у вас много зомби, то подойдут эти настройки.

sv_maxrate 100000
sv_minrate 66000
sv_maxcmdrate 100
sv_mincmdrate 66
net_splitpacket_maxrate 120000

Создайте txt файл в папке "cfg". Вставьте команды выше, поменяйте формат на .cfg и впишите команду которая ниже в autoexec.cfg
Команда: exec "название вашего cfg"
Прим: exec server