Главная » Статьи » Статьи о Counter-Strike Source |
Сетевые настройки в CS:S
В предыдущей статье я рассказывал о том, как повысить FPS в CS:S. Настала очередь сетевых настроек игры. Правильные сетевые настройки обеспечат максимально точный учет всех ваших действий: выстрелов, движений, попаданий в вас на стороне сервера. Самые основные настройки - это рейты. Рейты - это максимальный предел байт в секунду, который сервер может послать клиенту. Настройки это показателя состоят из трех команд: 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). Пожалуй, все. Спасибо за внимание :) Использовалась информация с сайтов: При копировании статьи на свой сайт, либо использовании какой-либо ее части - ставьте активную ссылку на сайт http://куманьки.рф | |
Просмотров: 10220
| Теги: |
Всего комментариев: 0 | |