Меню сайта
Все для CSS
Все для CS:GO
Опрос
Как вы нашли нас???
Всего ответов: 331
Статистика
» Зарег. на сайте
Всего: 957
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
» Из них
Администраторов: 2
Модераторов: 1
Проверенных: 0
Файловиков: 3
Дизайнеров: 1
Обычных юзеров: 949
Из них
Парней: 897
Девушек: 59


Онлайн всего: 1
Гостей: 1
Пользователей: 0


Пользователи, посетившие
сайт за текущий день :
Счетчики
Друзья сайта




Главная » Статьи » Мои статьи

ЛЕРП
Основные net-настройки:

cl_updaterate - число запросов обновлений игрового мира с сервера в секунду.
cl_cmdrate - число обновлений информации о себе на сервере в секунду
rate - максимальное число отправляемых/принимаемых байт в секунду
cl_interp_ratio - число промежутков между интерполированием мира.
cl_interp - временной промежуток, через который происходит интерполяция.

1. Интерполяция - ШОЦЕТАКЕ?!

В идеальном сферическом мире в вакууме обновление информации о игровом мире с сервера идет бесконечно с задержкой в 1мс. В суровой реальности такого нет и число ваших запросов на обновление мира ограничено (66 максиум, выше - большая редкость и офф. не поддерживается). Между этими обновлениями мир стоит на месте. Чтобы этого не происходило - была придумана интерполяция. Она позволяет _предположить_ передвижение противника до того как мир обновится. Наша задача сводится к тому, чтобы интерполяция происходила одновреммено с обновлением мира - тогда информация о противнике будет самой точной.

2. Рейты - чо и как?

Число, которое стоит в параметрах цмд- и апдейтрейт указывает на число отправленных/принятых пакетов в секунду. Параметр rate позволяет ограничить общий объем передаваемой инфы в этих пакетах. Я видел много "рашн про" с rate 9999. Сжигать их на костре!

3. Как это относится друг к другу?

Мы имеем обновление мира 66 раз в секунду, исходя из того что cl_updaterate 66, нам нужно сделать так, чтобы интерполяция проходила в промежуток между пакетами. Далее мы решаем - через как часто будет происходить интерполяция - между одним или между двумя пакетами. Это задается при помощи cl_interp_ratio:
значение 1 - между двумя пакетами, один промежуток. |_|
значение 2 - между тремя, 2 промежутка. |_|_|
Теперь нам нужно узнать сколько мс длится промежуток. Для этого секунду делим на число обновлений: 1/66 = 0.0(15), округляем до 0.0152. Теперь если один промежуток (cl_interp_ratio 1), то ставим cl_interp 0.0152, если промежутков 2 (cl_interp_ratio 2)
, то ставим cl_interp 0.0152*2=0,0304
Выводим формулу:

1/cl_updaterate = cl_interp/cl_interp_ratio, отсюда получаем:

cl_interp = (1/cl_updaterate)*cl_interp_ratio

Получается, что интерполяция зависит от рейтов. Зная как высчитать интерполяцию составляем конфиг:

cl_updaterate 66;
cl_cmdrate 66; (цмд должен соответствовать апдрейту, для синхронности)
rate 40000; (можно 30000, меньше - хуже)
cl_interp_ratio 1 (лучше 1 промежуток - точнее инфа о противнике)
cl_interp 0.0152 (находим по формуле)

Это практически идеальный конфиг. +10 к пингу -100 к лагучести.

Можно делать вариации для слабого инета:

cl_updaterate 60;
cl_cmdrate 60;
rate 30000;
cl_interp_ratio 2
cl_interp 0.0333

Теперь немного о геях.

cl_updaterate 66
cl_interp 0.100

Самый распространенный "gay-pro" конфиг. Из 66 пакетов игнорируется 46. Противник уходит за стену - а вы его убиваете.

rate 9999 - а вот фиг вам я скажу как и где я двигаюсь! Сам не попаду и вам не дам!

cl_cmdrate 20 - А зачем противнику знать обо мне? (а на деле вы больше бегаете по прямой, стрейфы работают хуже)

Ну и вспомним эпик:

http://www.tf2world....9&postcount=200

Эпичные рекомендации лучшего снайпера "Росии". Если вы поняли суть моего гайда, то вам будет смешно от его рекомендаций.


Принимаются рекомендации/недочеты и вообще. Надеюсь вам поможет.

UPD: Лоссы и чоки - ТЫ С КАКОВА СЕРВАКА ПРИШЕЛ, А?!

Лоссы и чоки - это потери пакетов при отправке их от вас на сервер.

Лосс: неконтролируемая потеря пакетов на пути к серверу. Случается из-за беспроводного соединения/плохого качества вашего соединения (в большинстве случаев). Также это бывает, если вы сидите за большим количеством проксей - чем больше сетей проходит пакет по пути от вас к серваку - тем больше вероятность лоссов. (путь пакета от вас к серверу можно посмотреть через пуск - выполнить - cmd - tracert "ip" без кавычек)

Чоки: бывают двух видов:
- первый тип зависит от вас - вы посылаете слишком много пакетов на сервер. Например у вас стоит апдейт рейт 100, а серверный тикрейт 66 (тикрейт сервера - максимальное число отдаваемых/принимаемых пакетов на одного юзера). Тогда чоки будут равны 34 и это значит, что 34% инфы о вас потеряно.
- второй тип чоков - зависит от сервера - сервер не справляется с потоком данных/лаг сети сервера/лаг CPU.

Избавиться от чоков можно по принципу:
net_graph 3 в консоли. Смотрим число чоков и вычитаем увиденное значение из cl_updaterate и cl_cmdrate.

Пример: choke 20 при cl_updaterate и cl_cmdrate 66. Вычитаем - пишем в консоли cl_cmdrate 46; cl_updaterate 46.

UPD:

 Есть скрипт  я  пробовал он у меня  работает!

вот он сам:

alias lerpa+ "incrementvar cl_interp 0.01 0.09 +0.0001"// cl_interp +0.0001
alias lerpa- "incrementvar cl_interp 0.01 0.09 -0.0001"// cl_interp -0.0001
alias lerpb+ "incrementvar cl_interp 0.01 0.09 +0.001" // cl_interp +0.001
alias lerpb- "incrementvar cl_interp 0.01 0.09 -0.001"// cl_interp -0.001
alias lerpc+ "incrementvar cl_interp 0.01 0.09 +0.01"// cl_interp +0.01
alias lerpc- "incrementvar cl_interp 0.01 0.09 -0.01"// cl_interp +0.01

bind "INS" "lerpa+"
bind "DEL" "lerpa-"
bind "HOME" "lerpb+"
bind "END" "lerpb-"
bind "PGUP" "lerpc+"
bind "PGDN" "lerpc-"


Как видете там есть бинды вот ими мы и пытаемся как-то накрутить свой лерп,но говорю еще раз у меня этот скрипт не пошёл!

Второй способ . По моему мнению это лучший способ хоть как то повлиять на значение лерпа!

Для этого мы будем пользоваться камандами:

cl_interp_ratio (Если не 0, то 2)
cl_interp (очень неплохо 0.003)

Оранжевый lerp - незначительное отклонение от идеального значения - ситуация когда получается значение лерпа в периоде/имеет слишком большое количество цифр и округленно.
Желтый lerp - сильное отклонение.
Красный lerp - тотальный ппц. Крайне редок.
Белый lerp - идеален. Но странно то, что лерп 0.1 засчитывается как идеальный тогда, когда он явно не подходит.
Ещё кое что, если lerp желтый - идут большие потери пакетов, а значит сервер- УГ.
Если lerp оранжевый, то потерь нет, но если будет лаг или лосс, то интерполировать будет нечего.

Всё спасибо за внимание!
Категория: Мои статьи | Добавил: БуГоР (23.12.2011)
Просмотров: 7047 | Рейтинг: 5.0/3
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мини-профиль
Понедельник
13.05.2024
16:25

[ Управление профилем ]
Мини-чат
200
Новые файлы
Скачать [R.u.N.N.e.R.™ СЕРВЕР ПАБЛИК CSS V34 NO-STEAM 2016]
Скачиваний: 520
Добавил: БуГоР
Добавлено: 14.09.2016
Скачать Counter-Strike: Source v88 (3398447) торрент
Скачиваний: 121
Добавил: БуГоР
Добавлено: 14.09.2016
Скачать CS:GO Апдейтер/Лаунчер
Скачиваний: 311
Добавил: БуГоР
Добавлено: 14.09.2016
Counter-Strike: Global Offensive через торрент
Скачиваний: 119
Добавил: БуГоР
Добавлено: 14.09.2016
Информация о сайте
Comments: 114
Blog: 10
News: 39
Downloads: 1753
Publisher: 83
Guestbook: 9
Пожертвования
Наши реквизиты:
41001963229726
Контактная информация:
vampir1056