Главная » Статьи » Оптимиация

Создаем свой конфиг. Сеть.
Создаем свой конфиг. Сеть.

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

Конфиг - то, что сделает игру в додс удобней именно для вас. Он не принесет вам решающего приемущества в турнирной игре, но повысит удовольствие от игры и сделает многие вещи комфортнее.
Есть несколько правил, которые помогут вам, не сбиваться с собственного пути на путь толпы.
1. Не верьте легендам. Огромное число топ игроков не-имеет-ни-малейшего-представления-о-том-как-устроен-конфиг. Они слепо копируют файлы нюкера или томску не понимая что значат 90% команд в этом кфг. Будьте умнее. Для вас должен быть лишь один авторитет - http://developer.valvesoftware.com/wiki/Main_Page
2. Не бойтесь проверять. Можно сто раз услышать, но достаточно один раз запустить игру и проверить изменение значения чтобы понять суть той или иной переменной.
3. Не используйте запрещенные команды. Если правила какого либо соревнования запрещают изменений значения консольных переменных(console variable=cvar), то использование оных повлечет штрафные санкции при обнаружении - это может перечеркнуть все старания и тренировки проведенные вами и вашей командой. К тому же опустит репутацию команды ниже плинтуса. Поскольку ваша цель, эффективная игра на турнирах, нет никакого смысла привыкать использовать эти команды и на тренировках. Привыкайте играть с тем же конфигом с которым будете участвовать в турнире
4. Не переусердствуйте. Знайте меру в эксперементировании. Помните, что от добра добра не ищут. Если вам комфортно с дефолтным конфигом - не меняйте ничего!!! Пару вечеров посвященных индивидуальным настройкам конечно не скажутся на общем тренировочном процессе, но если вы будете заниматься этим круглый год, это будет означать что что вы идете не по той дорожке.

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

Додс - онлайн игра, а значит в процесс игры вовлечено ваше соединение с интренетом. Задача конфига, в этом смысле, - оптимизировать сетевые настройки под большинство серверов. Настройки для российских пабликов и европейских КВ серверов, естественно должны отличаться. Здесь мы будем говорить о настройках для тренировок и игр с европой.
МЫ - счастливые обладатели российского интернета. А это значит, что наше интернет соединение не стабильно и чем ближе к вечеру тем ситуция ухудшается(каналы провайдеров забиваются, клиентские - сужаются).

Перейдем к самому интересному - командам.

net_graph - переменная предназначенная для отслеживания всех сетевых параметров игры. Она может иметь несколько значений:


0 - нет отображения

1 - только текстовые значения(зоны 3,4,6,7)

2 - зоны 8 и 9 прогрузка и значения интерполяции

3 - зоны 1 и 4 история прогрузки и процент потерь пакетов при соединении.

4 - зона 5 показывает сетевую статистику сервера

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

Как вы знаете, сетевой код работает по системе клиент-сервер. Где сервер обменивается пакетами с информацией со всеми клиентами. Каждый пакет содержит "мгновенную фотографию" игрового мира, нажатые клиентом клавиши и т.д.
rate "value" - число байт которые каждую секунду может получать сервер от клиента. По сути ширина канала клиент-сервер выделяемого из интернет канала пользователя. В наше время только любители модемов должны оставлять эту ширину небольшой. 25000-30000 вполне достаточно для любого не модемного интернета.
cl_updaterate "value" - число пакетов которые клиент принимает от сервера в секунду. Чем больше значение, тем больше будут совпадать картинка на клиенте и на сервере. Одновременно с этим возрастает нагрузка на канал. При низком rate канал может не выдерживать. Например если вы используете cl_updaterate 100; rate 10000 вы будете получать гарантированные чоки практически на любой карте. Чоки(choke) - число пакетов которые не приходят от сервера за одну секунду.
cl_cmdrate "value" - число пакетов которые клиент отправляет на сервер. Полный аналог cl_updaterate. Число пакетов которые не дошли до сервера в секунду называется лоссами(loss)

Как подобрать правильные настройки именно для своего коннекта?

Ставьте рэйт 25 000 и максимальные апдейт и цмд. И играйте с включенным нетграфом 1(на европейских серверах). По ходу пцв наблюдайте за значениями 7 зоны нетграфа. Запоминайте значения центральных цирф. Т.е. например на немецком сервере у вас эти значения держутся на 95 и иногда проседают до 80. Это значит что ваш коннект не держит такие высокие настройки и часть ваших выстрелов уходит в молоко. Ставьте ваши рэйты на чуть меньшие значения. в нашем случае это будет cl_updaterate 75; cl_cmdrate 75 и следите снова. Повторяйте пока ваш коннект не будет держать стабильные сетевые настройки (люфт в 5 чоков-лоссов будет всегда, на него внимание не обращайте). Как ни странно, если вы играете без интерполяции, то ваши сетевые настройки зависят от того какой фпс может держать ваш компьютер. Т.е. Если фпс больше 100 - вам не о чем беспокоиться, но если меньше, то будет происходить вот что: допустим ваш компьютер держит стабильные 50 фпс. Но при этом вы используете рэйты 25000 75 75. Это значит что от сервера вам приходит 75 картинок в секунду, а ваш компьютер показывает вам только 50. Отсутствие интерполяции означает что клиент лишние кадры просто выбросит, остававив число отрисованных кадров в 7 зоне нетграфа равным числу фпс. А вместе с выброшенными кадрами теряется информация о звуках выстрелов, перемещениях соперников и т.д. Учтите, что европейские серверные конфиги для учатстия в турнире ставят ограничения на минимальные сетевые натсройки 15000 40 40, а это значит, что, если вы зайдете на сервер с меньшими значениями, они, тем не менее, примут вышеуказанные значения.

Итог: Используйте максимально высокие сетевые настройки для игры которые вам позволяет иметь ваш компьютер и провайдер - так информация которую вы будете получать будет честнее и играть вам будет комфортнее. Настройки на которых я остановился (коннект: Москва, корбина) 25000 66 66.

Лерп и интерполяция.

Так же вы можете использовать команду setinfo cl_interpolate 0 - которая является полным аналогом сочетания cl_interp_ratio 0; cl_interp 0. Но позволяет играть без интерполяции на серверах с произвольными значениями sv_min_interp_ratio.

Есть еще несколько команд, значение которых можно менять в тех или иных случаях, но я бы рекомендовал оставлять их по умолчанию:
cl_predict //1 или 0, предсказание действий игрока для того чтобы передвижения и стрельба игрока начинались сразу же после нажатия на кнопку, а не после того как подтверждение о действии придет с сервера
cl_smooth //1 или 0, сглаживание ошибок предсказания, имеет смысл ставить только с cl_predict 1
cl_resend //время в секундах между попытками наладить соединение клиента с сервером, по сути - время фризов(зависаний)
cl_timeout //время в секундах после которого клиент, не получив пакет от сервера, дисконнектиться (30 по умолчанию)

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

cl_downloadfilter //файлы которые вы можете скачивать, all - все файлы, nosounds - все файлы, кроме звуковых файлов, none - никакие.

Еще раз напомню, сетевые настройки - главная, но достаточно простая часть вашего конфига. Постарайтесь настроить все сами.

В дальнейших частях этого цикла статей вы узнаете о некоторых других настройках конфига, таких как: графика, бинды, скрипты, мышь, звуки...
Категория: Оптимиация | Добавил: Fighter (25.12.2010)
Просмотров: 611 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]