Несмотря на свой солидный возраст, сетевой код Counter-Strike 1.6 остается одним из самых требовательных к правильной настройке. Если вы скачали чистую сборку, зашли на сервер и понимаете, что пули летят сквозь противника, а кровь рисуется, но урона нет — проблема кроется в рейтах.
Что такое рейты и зачем они нужны?
Сетевой движок GoldSrc обменивается пакетами данных между вашим клиентом и сервером. Если эти пакеты приходят с задержкой, теряются или их размер не соответствует пропускной способности сервера, возникает десинхронизация. На вашем экране выстрел попал в голову, но на сервере моделька врага уже сместилась на пару пикселей.
Главные команды для настройки:
- rate — максимальный лимит байтов в секунду, который сервер может отправить вашему клиенту. Для современного интернета значение должно быть максимальным.
- cl_updaterate — сколько раз в секунду клиент запрашивает у сервера обновления о положении других игроков.
- cl_cmdrate — сколько раз в секунду ВАШ клиент отправляет серверу данные о ваших действиях (выстрелы, шаги).
- ex_interp — интерполяция. Самый важный параметр для точного отображения хитбоксов. Сглаживает передвижение моделек между пакетами.
Идеальные значения для Steam и Non-Steam
Откройте консоль (клавиша `~`) или ваш файл config.cfg и пропишите следующие значения:
rate "100000"(Для старых серверов максимум 25000, но лучше ставить с запасом)cl_updaterate "101"cl_cmdrate "101"ex_interp "0.01"(Или 0.009, если сервер поддерживает)fps_max "100"(Движок 1.6 работает корректно только при стабильных 100 FPS, не ставьте больше, если не используете спец. патчи)
Почему нельзя играть со стандартными настройками?
По умолчанию в игре стоят значения для модемного интернета из 2003 года (rate 7500, cl_updaterate 20). При таких настройках ваши пули будут регистрироваться сервером с огромным опозданием. Настроив рейты один раз, вы сразу заметите, как стрельба зажимом из AK-47 и M4A1 стала кучной, а попадания из AWP регистрируются без задержек.