Рейтинг@Mail.ru
Воскресенье, 20.05.2012, 12:23
1. Зарегистрируйтесь (локальная регистрация).
2. Не забывайте оставлять комментарии.
( Главная страница ) ( Главный форум · Новые сообщения · Участники · Правила форума · Поиск )
Страница 1 из 11
Форум » Counter-Strike » Сервера » Оптимизация сетевых настроек для клиента (Как наиболее правильно настроить cs для игры по интернету)
Оптимизация сетевых настроек для клиента
MaksovichДата: Вторник, 09.11.2010, 01:50 | Сообщение # 1
Рядовой
Группа: Администраторы
Сообщений: 17
Репутация: 0
Статус: Offline
Определения:

Сервер (Server) - Выделенный сервер в Интернете, расположенный на каком-нибудь компьютере.
Клиент (Client) - Игра, запущенная на компьютере игрока. Клиент подключается к Серверу.
В процессе игры клиент и сервер обмениваются пакетами данных по протоколу UDP.
Пинг (Ping) - Время в миллисекундах, за которое пакет доходит от сервера к клиенту и обратно.
Задержка (Latency) - Время в миллисекундах, за которое происходит обмен данными между клиентом и сервером
FPS клиента - количество кадров в секунду в игре, отображаемое на мониторе клиента
FPS сервера - общая частота обновления игровой информации обо всем, что происходит на сервере.
Loss - потери пакетов вследствие проблем сетевого соединения, как правило возникает в случае технических неисправностей у интернет-провайдеров.
Choke - потери пакетов вследствие недостатка скорости соединения между сервером и клиентом, может возникнуть из-за неправильных настроек.

Оптимизация сетевых настроек:

Все нижеследующие переменные следует прописывать в файл config.cfg в папке cstrike или же вводить в консоле (для того чтобы в игре заработала консоль запуск должен быть с параметром -console)
Скажем сразу, абсолютно оптимальных значений для клиента не существует, многое также зависит и от сервера (в первую очередь от пинга до сервера).

cl_lc 1 - активация компенсации лагов. По-умолчанию 1. Рекомендуется оставить 1.

cl_updaterate - устанавливает количество пакетов в секунду, принимаемых клиентом от сервера. Для игры в локальной сети, или же на серверах, где пинг не превышает 10-15, ставить надо 101(если у вас стим, то 100, т.к. это максимум для стима). Для игры в интернете устанавливать нужно в зависимости от пинга на сервере и от установленного значения rate.

Не рекомендуется выставлять cl_updaterate большим, чем позволяет соединение и пинг до сервера, поскольку может появиться Choke, повыситься Latency и начнутся лаги.

cl_cmdrate - устанавливает количество пакетов в секунду, отправляемых к серверу от клиента. Отдача пакетов на сервер происходит реже, чем прием и размер пакетов также существенно ниже. Оптимальное значение = cl_updaterate+-10.

rate - устанавливает максимум скорости (в байт/с) будет происходить передача пакетов от сервера к клиенту. Рекомендуется устанавливать значения в зависимости от вашего соединения.
Итак, оптимальные настройки для различных типов подключений:

Телефонный модем:
rate - от 1000 до 3500
cl_updaterate - от 10 до 20
cl_cmdrate - от 10 до 20

ISDN:
rate - от 4000 до 8000
cl_updaterate - от 20 до 40
cl_cmdrate - от 20 до 30

xDSL:
rate от 6000 до 20000
cl_updaterate - от 30 до 100
cl_cmdrate - от 30 до 100

T1/LAN:
rate - от 8000 до 25000
cl_updaterate - от 30 до 100
cl_cmdrate - от 30 до 100

Как выбрать значение между "от" и "до" зависит от пинга(чистого пинга, не latency между клиентом и сервером). Чем он меньше, тем большее значение можно установить. Игрокам рекомендуется установить максимальные значения для своего подключения, после чего зайти на сервер и в случае появления choke или большого latency понижать соответственно cl_updaterate и cl_cmdrate до оптимального значения.

В соотношениях между rate, cl_updaterate и cl_cmdrate желательно учитывать также вес одного пакета.
То есть, если к примеру ваш rate 20000, а cl_updaterate 100, то максимальный вес пакета 20000/100 = 200 байт.
150-250 байт - это оптимальный максимальный размер пакета для CS 1.6, нужно соблюдать это соотношение. Например, для rate 8000, оптимальным cl_updaterate будет ~ 8000/200 = 40.

ex_interp - значение периода(шага) интерполяции игровых данных, получаемых с сервера. По умолчанию 0.1 Показывает насколько точно все игровые данные будут выводиться клиенту. Например, если ваш cl_updaterate равен 20, а ex_interp 0.1, то вся игровая информация - положение всех объектов, других игроков и т.д. будет абсолютно в точности соответствовать приходящим данным через каждые 100 миллисекунд или через каждый второй приходящий пакет.ex_interp не может иметь значение ниже чем 1/cl_updaterate! Например, при cl_updaterate 50 минимальный ex_interp = 1/50 = 0.02.Если прописать в консоле ex_interp 0 - он будет выставлен в минимальное значение то есть 1/cl_updaterate

С одной стороны, понижение ex_interp способствует более точному определению положения всех игровых объектов - в первую очередь других игроков. С другой стороны, если вы выставите высокий cl_updaterae и ex_interp 0 при игре в интернете, далеко не все остальные игроки будут обновлять свое положение на сервере достаточно часто, что приводит к тому что их перемещение будет для вас казаться рывками. Это может быть по ряду причин, например, у них высокий пинг или же понижены настройки rate или cl_cmdrate или серверная переменная sv_maxupdaterate будет переопределять(ограничивать) ваш cl_updaterate.

Допустим ваш cl_updaterate 50 а ex_interp 0.02 в то время как у другого игрока на этом же сервере пинг 50. Он не может обновлять информацию о своем положении чаще чем 1000/50 = 20 раз в секунду. Вам же приходит 50 обновлений, и при вашем ex_interp 0.02 обновить положение другого игрока надо 50 раз в секунду, а он то послать больше 20 обновлений не может из-за чего его движение будет выглядеть для вас небольшими рывками. Если же у вас cl_updaterate 50 а ex_interp 0.1 то обновить его положение нужно всего 10 раз в секунду, что легко обеспечить. Между каждыми из этих 10 обновлений положение игрока будет рассчитываться(интерполироваться) таким образом, чтобы его движение выглядело наиболее плавным.

В общем, рекомендация по ex_interp следующая:
прописать ex_interp 0 (что установит ex_interp = 1/cl_updaterate), если другие игроки заметно будут
двигаться маленькими рывками, нужно постепенно ненамного увеличивать ex_interp до тех пор пока перемещение других игроков не будет более плавным. Также, не рекомендуется устанавливать ex_interp ниже значения вашего собственного пинга, например если у вас пинг 50, то не стоит устанавливать ex_interp меньше чем 0.05

cl_allowdownload - разрешает загрузку игровых файлов с сервера. Оставить 1, как есть по-умолчанию.

cl_download_ingame - разрешает загрузку логотипов других клиентов, присоединившихся к процессу игры. Если соединение плохое, рекомендуется установить 0.

cl_allowupload - разрешает загрузку игровых файлов на сервер. Есть проблемы с соединением - установите 0, и без своего логотипа можно поиграть.

 
Форум » Counter-Strike » Сервера » Оптимизация сетевых настроек для клиента (Как наиболее правильно настроить cs для игры по интернету)
Страница 1 из 11
Поиск:
Новый ответ
Имя:
Текст сообщения:
Код безопасности:

cs-fun-pro.com © 2009 - 2012 | Design by Maksovich | 1024x768 Создать сайт бесплатно