| Определения: Сервер (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, и без своего логотипа можно поиграть.
|