Пинг (Latency) - Время задержки сервера, т.е. время отправки-получения
пакета данных за секунду, соответственно, чем пинг выше, тем задержка
больше и наоборот. Лаг(и) (Lags) - Попросту "зависание" на некоторое
время. Происходит при переполнении канала связи, при большом пинге или
плохом качестве соединения.
Итак, существует 2 способа оптимизации, рассмотрим их:
1) Оптимизация интернет-соединения в среде Windows.
2) Оптимизация клиентских настроек непосредственно в игре, остановимся на этом подробнее.
Как в оригинальном Half-Life, так и в его модах, присутствует файл настройки - config.cfg
Итак, найдя его, открываем с помощью обычного блокнота и приступаем к редактированию.
Непосредственно к параметрам соединения относятся такие команды:
cl_updaterate "xx" - число обновлений (посылок) информации от сервера
клиенту, в секунду. Иначе - скорость, с которой обновляются сведения об
игре. Рекомендуемое значение 20. Чем меньше значение, тем меньше
забивается канал, соответственно и скорость обновления мала (что мешает
при игре), и наоборот.Но чем оно больше (до 100),тем реальнее
отображается игровая обстановка.
cl_cmdrate "xx" - число
обновлений (посылок) информации от клиента серверу, в секунду. Иначе -
скорость, с которой посылаются команды на сервер. Аналогично
cl_updaterate, рекомендуемое значение 25.
rate и cl_rate "xxxx"
(работают в паре, но cl_rate в конфиге не прописана, соответственно
подключается отдельно, об этом ниже) - ограничение входящего трафика (от
сервера к клиенту) в байтах в секунду, рекомендуемое значение 3500.
cl_lw "1" или "0" - все эффекты и действия связанные с оружием
просчитываются на стороне клиента . Это помогает значительно
оптимизировать работу, но у вас не будет 100%-ой гарантии, что то что вы
видите действительно так. Хотя сколько я играл ни разу не заметил каких
либо отклонений от реально происходящего. Хотите играть без задержки
ставьте значение 1.
cl_lc "1" или "0" - компенсация лагов на
стороне сервера. Данный параметр заставляет сервер принять во внимание
ваш пинг и значительно оптимизировать работу, но эта опция может быть
отключена на сервере (sv_unlag 0). Если это так, то cl_lc да, впрочем, и
cl_lw игнорируются. Значение cl_lc как вы поняли нужно поставить 1.
Все изменения можно наблюдать при помощи графика непосредственно в
игре, включить который можно командой net_graph, установив значение 3
Итак, что у нас получилось:
При настройках по умолчанию
cl_updaterate "20"
cl_cmdrate "25"
cl_rate "3500"
rate "3500"
Входящий трафик составляет примерно 1.20 - 1.80 k/s, исходящий 1.60 - 2.20 k/s
При минимальных настройках
cl_updaterate "5"
cl_cmdrate "10"
cl_rate "1000"
rate "1000"
Входящий трафик составляет примерно 0.60 - 1.20 k/s, исходящий 0.70 - 1.30 k/s
Хотя объем входящего трафика в конкретный момент времени зависит от
того, что происходить вокруг игрока - чем больше игроков, различных
объектов, стрельбы и т.п. вокруг, тем больше трафик. Опять же, это
зависит от компоновки карты. Я лишь написал примерные значения, которые
получил, находясь один на сервере.