Как настроить лерп тф2

Форум проекта sourceplay.ru

Текущее время: 14:46 Суббота, 16 Октябрь 2021

Часовой пояс: UTC+03:00

Lerp — точность стрельбы!

Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Страница 1 из 1 [ 14 сообщений ]
Версия для печати Пред. тема | След. тема
Автор Сообщение
qwist
Не в сети
Младший сержант

Зарегистрирован: 06:33 Суббота, 24 Сентябрь 2011
Сообщения: 66
Steam_id: STEAM_0:0:66688666

Lerp — точность стрельбы!

Интерполяция, лерпа, лаги, лоссы, чоки, гей-конфиги. Есть о чём рассказать.
Зачем? Думаю 2-3 темы на форуме об этом уже есть, только вот остались люди, которые считают, что лерпа компенсирует пинг.
Лоссы/чоки — об этом ещё не рассказывалось на форуме, но всвязи с последними играми нужно рассказать как от них избавиться.
Постараюсь рассказывать понятным языком)).

Сначала поймите это!
Пакет — информация отправляющаяся с сервера к вам на компьютер и обратно, в которой написано что изменилось в игровом мире за последний миг и как изменилось ваше местоположение в нём.

(1) Стандартный net-config.
По умолчанию в tf2 стоят такие значения(вроде бы ибо наизусть не помню):

cl_updaterate 20
cl_cmdrate 33
cl_interp_ratio 1
cl_interp 0.1
rate 20000

Расскажу обо всём по-порядку. В данном конфиге на ВАШЕМ компьютере игровой мир обновляется со скоростью 20 кадров в секунду(cl_updaterate), другими словами вы скачиваете 20 пакетов в секунду.
То есть модельки игроков меняют место-положения 20 раз в секунду. Вы в этом мире обновляетесь 33 раза(cl_cmdrate), другими словами вы обновляетесь на сервере 33 раз в секунду.
Разберёмся с командой rate:
Объясню на примере.
Допустим rate равен 20000. Это означает, что в секунду с сервера скачивается 20000 байт информации. Ну грубо 20 кбайт.(Грубо потому что в килобайте 1024 байта=)).
Но если сервер обновляется всего лишь 20 раз в секунду, то мы должны видеть дёрганное изображение, ибо наш глаз воспринимает 24 кадра в секунду, а не 20. Но мы, как нистранно его видем плавным. Разберёмся, почему же))

(2) Интерполяция
Интерполяция была придумана для того чтобы как раз не происходило никаких дёрганий (или «лагов») в процессе игры.
Возникает вопрос — интерполяция — чо это за уг?
Интерполяция — в математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений.
Ну грубо говоря, интерполяция вычисляет промежуточные местоположения моделек по двум прибывшим пакетам, тем самым делая движения моделек плавнее.
Но если ей нужны 2 пакета, то получается, что с первым пакетом обновление игрового мира не происходит(компьютер ждёт второго, чтобы вычислить промежуточные значения), а значит происходит задержка(лерпа).
Лерпа(lerp) — время, за которое происходит интерполяция.
Итак, общая задержка равна ping+lerp.
Разберёмся как cl_interp_ratio и cl_interp относятся к интерполяции.
cl_interp_ratio ограничивает значение лерпы «снизу»(т.е. минимальное значение лерпы; как ограничивает — объясню на примере далее). На самом деле это не совсем так, но если вы прочитаете моё объяснение этого, то это будет разрыв мозга.
Везде и всегда желательно это значение ставить на 1. Это означает что с каждым первым (если бы cl_interp_ratio = «2», то с каждым вторым и т.д.) прибывшим пакетом будет происходить интерполяция.
cl_interp — время через которое будет происходить интерполяция. Фиксирует значение лерпы и ограничивает его «сверху».

Пример:
Итак вернёмся к стандартному конфигу и разберёмся что для него значит интерполяция.
cl_interp_ratio 1 : мир обновляется 20 раз (т.к. cl_updaterate = «20»), интерполяция происходит через каждый первый пакет, их у нас 20, то есть 20 раз в секунду. Делим секунду на 20, получаем 0,05 секунды. Это значит, что минимальное значение лерпы в таком конфиге равно 0,05 секунды(или 50ms). Следовательно, cl_interp нельзя выставить ниже 0.05
cl_interp 0.1 : устанавливает значение лерпы, в данном случае 100ms. Но лерпа — это задержка, так ЗАЧЕМ же ставить её в два раза больше чем можно? Перейдём к лоссам и чокам.

(3) Лоссы и чоки
(loss & choke)

Узнать эти значения можно написав в консоли «net_graph 3». Они будут в самом низу.
Желательно, чтоб и то и другое значение было равно нулю.
Что же такое лосс и чок?
Лосс — потеря одного пакета во время его скачивания (у нас их 20 в секунду). В основном происходит если сервер унылый.
Чок — количество пакетов прибывших с задержкой на ваш компьютер с сервера. Происходит в основном если не хватает вашего интернета или канала сервера. Пакеты, прибывшие с задержкой не используются, поэтому по сути лосс и чок можно считать одним и тем же.
Общее количество потери пакетов равно loss + chok.
Например, лосс+чок=5. Это значит, что пять из двадцати (cl_updaterate=20) выстрелов пойдут в молоко!
Вернёмся к интерполяции. был вопрос: «Но лерпа — это задержка, так ЗАЧЕМ же ставить её в два раза больше чем можно?»
Если лерпа удвоена, то в случае потери одного пакета интерполяция всё равно произойдёт. А всё почему? Т.к. интерполяция в два раза больше, пакетов ей надо в 2 раза меньше. То есть если какой-то пакет затерялся, интерполяция всё равно произойдёт, а значит лага не будет.
Перейдём к про-конфигу;)

(4) Pro-config
Дефолтный конфиг очень даже хорош, но вот киберспортсмены ведь крутые, им надо всего да побольше.

Вот конфиг, который признал весь мир. Пишем в «steam/steamApps/»аккаунт»/team fortress 2/tf/cfg/autoexec.cfg» (если нету файла — создаём)

cl_updaterate 66 // сервер посылает 66 пакетов в секунду
cl_cmdrate 66 // вы посылаете серверу 66 пакетов в секунду
cl_interp_ratio 1
rate 30000
cl_interp 0.0152

По сути очеь даже хороший конфиг, но вот от лоссов и чоков он не защищает, потому что лерпа минимальна, а не удвоена (1/66 = 0.152). Лерпа всегда оранжевая как раз поэтому(предупреждает о возможных лагах), а когда происходит потеря пакета, она жёлтая.
Ну вот, то что я могу посоветовать чтобы избавиться от лоссов и чоков.

a) Первый способ

Итак, первый способ — удвоить лерпу. Если вам этот нравится больше, пишем в autoexec.cfg это

cl_updaterate 66
cl_cmdrate 66
cl_interp_ratio 1
rate 30000
cl_interp 0.0304

Спасает от loss+choke = 10. Ну примерно по теории вероятности.

б) Второй способ

Мягко говоря немного по-сложнее. Теряются пакеты? Значит уменьшим их количество, на случай если это происходит из-за слабости сервера-машины; и уменьшим общий размер отправляемого и принимаемого уга на случай, если не хватает канала.

cl_updaterate 50 //минимальное значение по конфигу etf2l.cfg
cl_cmdrate 50 //так же
cl_interp_ratio 1
rate 26000
cl_interp 0.02 // 1/50=0.02

Спасает от loss+choke=15

(5) Гей-про конфиг (gay-pro)
Вам что-то не нравится в названии?

Конфиг позволит выглядить лагающим на сервере и стрелять через стены
К сожалению, первое уже невозможно, ибо конфиг etf2l.cfg не позволяет.

Вот как он выглядел раньше:

cl_cmdrate 20 // вы обновляетесь всего 20 раз в секунду, тобишь лагаете
cl_updaterate 66
rate 9999 // не все попадания по вам засчитываются, не все попадания по противнику засчитываются
cl_interp_ratio 1
cl_interp 0.1 // как раз и позволяет стрелять через стену. Противник ушёл за стену — у вас есть 0.1 секунды чтоб убить его. Ну и кроме того вы видите всего 10 пакетов, движение врага очень плавное, он не дёргается. Не дёргается, значит легко попасть в голову.

Но сейчас etf2l.cfg ограничивает ваше «лагание на сервере». Минимальный cmdrate = 50, минимальный rate = 20000. От таких рэйтов нет никакого смысла, поэтому оставляем плавность и стрельбу через стены.

cl_updaterate 66
cl_interp_ratio 1
cl_interp 0.1

Незабывайте говорить спасибо кому помогла эта информация=)

TDK
Не в сети
Старшина

Зарегистрирован: 06:25 Суббота, 20 Март 2010
Сообщения: 174
Steam_id: STEAM_0:1:9833809
Откуда: Томск

cl_cmdrate 66
cl_updaterate 66
rate 30000
cl_interp 0.015152
cl_inerp_ratio 1

самые хорошие рейты

Саша BachMann I*
Не в сети
Адмирал флота СССР

Зарегистрирован: 07:54 Четверг, 18 Сентябрь 2008
Сообщения: 2080
Steam_id: STEAM_0:0:2030575329
Откуда: Из Сибирских Афин Я !

TDK
Не в сети
Старшина

Зарегистрирован: 06:25 Суббота, 20 Март 2010
Сообщения: 174
Steam_id: STEAM_0:1:9833809
Откуда: Томск

Саша BachMann I*
Не в сети
Адмирал флота СССР

Зарегистрирован: 07:54 Четверг, 18 Сентябрь 2008
Сообщения: 2080
Steam_id: STEAM_0:0:2030575329
Откуда: Из Сибирских Афин Я !

Pele
Не в сети
Адмирал

Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008
Сообщения: 1310
Steam_id: STEAM_0:0:34594781

xord
Не в сети
Лейтенант

Зарегистрирован: 05:30 Четверг, 21 Январь 2010
Сообщения: 297
Steam_id: STEAM_0:0:66688666
Откуда: Белый Яр

Саша BachMann I*
Не в сети
Адмирал флота СССР

Зарегистрирован: 07:54 Четверг, 18 Сентябрь 2008
Сообщения: 2080
Steam_id: STEAM_0:0:2030575329
Откуда: Из Сибирских Афин Я !

lolobot
Не в сети
Контр-адмирал

Зарегистрирован: 11:54 Пятница, 20 Ноябрь 2009
Сообщения: 943
Steam_id: STEAM_0:0:66688666
Откуда: Северск

m0zzila
Не в сети
Майор

Зарегистрирован: 19:45 Понедельник, 03 Январь 2011
Сообщения: 370
Steam_id: STEAM_0:130995.
Откуда: Стрежевой

Pele
Не в сети
Адмирал

Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008
Сообщения: 1310
Steam_id: STEAM_0:0:34594781

Саша BachMann I*
Не в сети
Адмирал флота СССР

Зарегистрирован: 07:54 Четверг, 18 Сентябрь 2008
Сообщения: 2080
Steam_id: STEAM_0:0:2030575329
Откуда: Из Сибирских Афин Я !

xord
Не в сети
Лейтенант

Зарегистрирован: 05:30 Четверг, 21 Январь 2010
Сообщения: 297
Steam_id: STEAM_0:0:66688666
Откуда: Белый Яр

Саша BachMann I*

насчет ланов ты не прав смотрел, посмотри видео с MAXLAN там у всех игроков рейты 66 стоят, хотя может ты и прав в чем то загляну завтра в клуб посмотрю как разница ощущается

Саша BachMann I*
Не в сети
Адмирал флота СССР

Зарегистрирован: 07:54 Четверг, 18 Сентябрь 2008
Сообщения: 2080
Steam_id: STEAM_0:0:2030575329
Откуда: Из Сибирских Афин Я !

Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Страница 1 из 1 [ 14 сообщений ]

Часовой пояс: UTC+03:00

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей

Источник

Читайте также:  Как настроить термостатический клапан для радиатора отопления
Оцените статью