Сетевой код CS2 и VALORANT: две философии борьбы с лагами
У CS2 и VALORANT сегодня самые лучшие инженерные и инфраструктурные решения для компенсации сетевых проблем в PvP. У обеих команд было достаточно ресурсов и времени, чтобы строить технологии с нуля.
Обе игры используют базовый стандарт жанра:
- авторитарный сервер (сервер — источник истины),
- предикшен/интерполяцию (клиент сглаживает движение и “дорисовывает” реальность между обновлениями, а потом синхронизируется с сервером),
- плюс базовый набор компенсаторов: lag compensation (сервер “перематывает” момент попадания), reconciliation (синхронизация клиента и сервера после расхождений), buffering/jitter smoothing (сглаживание сети), rate limiting/traffic shaping (защита от спама/пакетного мусора).
Дальше начинаются различия философий.

VALORANT — классический client-server подход, доведённый почти до максимума
- единственные у кого tickrate 128Hz на всех серверах. Стандарт на сегодня — ~60 Hz (tickrate – как часто за одну секунду сервер обрабатывает события). У Battle Royal игры он обычно ниже 60 – Apex Legends и Warzone 20 Hz, Fortnite 30 Hz.
- собственная инфраструктура и маршрутизация трафика (Riot Direct),
- отдельный фокус на снижении peeker’s advantage (когда выходящий из-за угла получает временную фору и видит defender раньше).
CS2 пошли другой дорогой
- subtick – сервер учитывает точный момент времени ввода (выстрел/движение/граната) внутри тика, а не просто “привязывает” действие к ближайшему тику
- мир всё равно пересчитывается через равные промежутки времени, но идея в том, что точность тайминга действий меньше завязана на tickrate и лучше переживает сетевые проблемы.
- 128 Hz есть, но только на турнирных серверах
