Главная » Статьи » Статьи о Counter-Strike Source

Сетевые настройки в CS:S

Сетевые настройки в CS:S

В предыдущей статье я рассказывал о том, как повысить FPS в CS:S. Настала очередь сетевых настроек игры. Правильные сетевые настройки обеспечат максимально точный учет всех ваших действий: выстрелов, движений, попаданий в вас на стороне сервера.

Все консольные команды, которые определяют сетевой код игры записывайте в свой конфиг (чаще всего это autoexec.cfg).
Самые основные настройки - это рейты.
Рейты - это максимальный предел байт в секунду, который сервер может послать клиенту. Настройки это показателя состоят из трех команд:
rate - определяет максимальный предел байт в секунду, который клиент может послать на сервер.
cl_updaterate - сколько раз в секунду сервер сообщает клиенту, что происходит на карте. Ясно, что нужно получать как можно больше обновлений, так как это дает вам более точную картину того, где кто находится и куда летят их пули. Однако, если у вас будет высокий updaterate и низкий rate вы не сможете послать достаточное количество данных за обновление, и любая выгода от высокого updaterate будет сведена к минимуму. 
cl_cmdrate - число раз в секунду, которое клиент информирует сервер о своих действиях. cl_cmdrate работает так же как и cl_updaterate. Эта команда определяет, сколько обновлений в секунду вы посылаете на сервер. И снова ее значение нужно ставить как можно выше. Чем больше обновлений вы пошлете на сервер, тем больше информации он будет иметь о ваших действиях и о том, куда летят ваши пули.
Все эти переменные советую прописать в конфиг таким образом:
rate 35000
cl_cmdrate 67
cl_updaterate 67
Фактически это максимальные значения; сейчас мало какие серверы используют значения updaterate и cmdrate больше 66. Значения rate 35000 более чем достаточно. Если максимальные значения на стороне сервера установлены меньше чем те, что прописаны у вас в конфиге, то ваши значения ограничатся максимальными значениями сервера (меньше станут, грубо говоря).

Теперь о lerp. По этому показателю много споров в рунете, много заблуждений.
Вкратце о понятии lerp:
lerp - промежуток времени, в котором пакеты полученные клиентом будут интерполироваться.
Интерполяция - получение промежуточных значений какой-либо величины, путем усреднения крайних. Интерполяция служит для сглаживания картинки, т.к. пакетов приходящих от сервера зачастую не хватает для того чтобы картинка смотрелась плавно. В итоге, чем больше lerp - тем больше пакетов выдумает сервер за вас.
Поэтому - на многих серверах, где потери минимальны выставляем lerp минимально возможный, рассчитать его можно по следующей формуле:
lerp = 1000/cl_updaterate * cl_interp_ratio (оптимальное значение 2).

В CS:S lerp управляется следующими командами:
cl_interp_ratio 0, 1, 2;
cl_interp очень неплохо если значение 0.003;
updaterate зависит от сервера, и это все, что от него зависит. Пинг - абсолютно не при чем.
Ещё кое-что, если lerp желтый - идут большие потери пакетов, а значит сервер плохой.
Если lerp оранжевый, то потерь нет, но если будет лаг или лосс, то интерполировать будет нечего.
Белый lerp означает то, что есть, что интерполировать и если пакет потеряется, то ничего страшного не будет, ибо есть запас.
Таким образом, на большинстве серверов можно играть со значением cl_interp 0.0152, он будет оранжевый. Я играю обычно с cl_interp 0.0304 - он белый (в реалиях российского интернета - это оптимальное значение).

Теперь немного о других, не менее важных командах netcode, о которых не все слышали:
cl_lagcompensation - эта команда нужна для того, чтобы убрать влияние разности задержек у клиентов. То есть, если даже у вас большой пинг, то все равно пули попадают по сопернику, даже если ему уже будет казаться, что он убежал за стену.
cl_predictweapons - эта команда отвечает за прогнозирование эффектов оружия на стороне клиента. Я так понял, что эффекты оружия сервером клиенту высылаться в пакетах не будут.
cl_smooth - эта команда отвечает за сглаживание ошибок прогнозирования, то есть если у вас стоит 0, то в случае лага вас просто откинет назад, а если стоит 1, то клиент попытается сгладить картину для вас, чтобы этого скачка не было заметно.
cl_smoothtime - это интервал времени, за который в случае лага произойдет то самое сглаживание. Эта команда актуальна только в случае cl_smooth 1 (обычно выставляется в значение 0.1, если cl_smooth 1, если cl_smooth 0, то и эта команда выставляется в 0).
cl_pred_optimize - Оптимизация для не копирования данных если небыло обновление сети (1), а также для не переадресации если небыло ошибок (2).

Пожалуй, все. Спасибо за внимание :)

Использовалась информация с сайтов:

ilsanny.ru

otstrel.ru

При копировании статьи на свой сайт, либо использовании какой-либо ее части - ставьте активную ссылку на сайт http://куманьки.рф

Категория: Статьи о Counter-Strike Source | Добавил: X0X0L (26.08.2011)
Просмотров: 10220 | Теги: cl_smooth, настройки ксс, cl_smoothtime, cl_cmdrate, cl_lagcompensation, cl_interp, cl_updaterate, Rate, lerp тонкости, сетевые настройки в cs:s | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
При цитировании материалов сайта, активная ссылка на http://куманьки.рф строго обязательна | RSS лента
Rambler's Top100