Если вы заменяете старый сетевой конфиг TF2, начните отсюда. Эти настройки подходят для обычного 66-tick сервера и оставляют достаточный буфер интерполяции для стандартного интернет-соединения:
cl_interp 0 не отключает интерполяцию. При updaterate 66 и ratio 2 эффективный интервал в TF2 всё равно составляет около 30,3 мс.
Ratio 1 сокращает интервал примерно до 15,15 мс. Ratio 3 увеличивает его примерно до 45,45 мс и лучше подходит как временная мера при нестабильном соединении. Он может сгладить отдельный пропуск, но не исправит причину проблем с сетью.
Интерполяция определяет, как отображаются сетевые обновления, а параметры запуска TF2 отвечают за конфигурацию при запуске. Меняйте по одной части настроек за раз, чтобы понимать, что именно помогло.
Рекомендуемые настройки interp для TF2
Стандартная сетевая частота TF2 — 66, а не 128. Если ввести большее значение в консоль, обычный сервер не начнёт выполнять больше шагов симуляции или отправлять больше снимков состояния.
Стандартный параметр packet rate в mastercomfig использует значение 66. Вариант 100 предназначен для пользовательских серверов с повышенным tickrate, а не как базовая настройка для Casual или обычного сервера сообщества.
| Соединение | Ratio | Буфер при 66 | Когда использовать |
|---|---|---|---|
| Обычное или неизвестное | 2 |
30.30 ms | Безопасная стартовая настройка |
| Чистое и стабильное | 1 |
15.15 ms | Меньший буфер |
| Небольшой джиттер | 2 |
30.30 ms | Дополнительный интервал |
| Нестабильное | 3 |
45.45 ms | Временно |
Ratio 2 — разумная рекомендация, если качество маршрута игрока неизвестно. Если ratio 1 работает чисто на протяжении полных матчей, его можно оставить. Если игроки начинают дёргаться, замирать или резко корректировать позицию, дополнительный интервал ratio 2 полезнее меньшего числа.
Как на самом деле работает интерполяция в TF2
Сервер не передаёт движение другого игрока как непрерывное изображение. Он отправляет снимки состояния с обновлёнными данными игры. Без сглаживания модель игрока перескакивала бы из одной полученной позиции в другую.
Интерполяция заполняет промежуток между известными состояниями. TF2 хранит короткую историю снимков и отображает удалённые объекты с небольшим отставанием от самой новой полученной информации.
Удалённый Scout на вашем экране — это плавная реконструкция состояний, которые сервер уже отправил, а не точное изображение текущего мгновения на сервере. Это и не будущая позиция.
Source использует prediction для вашего собственного движения, чтобы ввод не ждал полного пути до сервера и обратно. Prediction делает локальное управление отзывчивым. Интерполяция сглаживает полученные удалённые состояния.
Сервер остаётся авторитетным. Он контролирует движение, столкновения, тайминги оружия, урон, лечение и симуляцию снарядов. Для атак, где применяется lag compensation, сервер может оценивать исторические позиции игроков, соответствующие времени команды атакующего. В документации по сетевой игре Source объясняется, что сервер знает величину интерполяции клиента и учитывает её в этом процессе.
cl_interp и cl_interp_ratio
cl_interp задаёт явный интервал в секундах. Ratio создаёт ещё один интервал на основе принятого updaterate. TF2 использует большее из двух значений:
Если установить cl_interp в ноль, расчёт по ratio всё равно выполняется. Например, при update rate 66:
| Конфигурация | Расчёт | Результат |
|---|---|---|
cl_interp 0, ratio 1 |
1 / 66 |
15.15 ms |
cl_interp 0, ratio 2 |
2 / 66 |
30.30 ms |
cl_interp 0, ratio 3 |
3 / 66 |
45.45 ms |
cl_interp 0.05, ratio 2 |
max(0.05, 2 / 66) |
50 ms |
cl_interp 0.1, ratio 2 |
max(0.1, 2 / 66) |
100 ms |
Когда cl_interp становится больше результата ratio, именно это значение задаёт нижнюю границу. Удалённые объекты отображаются дальше позади самого свежего полученного состояния. Это не перемещает вашего персонажа вперёд, не делает вас сложнее для попадания и не позволяет оружию атаковать раньше.
Как interp влияет на оружие в TF2
Выстрел из винтовки и ракета достигают цели через разные серверные механики. То же касается луча Medigun и ножа Spy. Одних названий классов тоже недостаточно: Sniper с Huntsman стреляет снарядом, а Sniper с винтовкой использует hitscan.
Hitscan-оружие
Дробь Scattergun, пули пистолета, огонь Minigun, выстрелы Shotgun, Revolver и стандартной снайперской винтовки работают как hitscan. Сервер мгновенно проверяет трассу, а не запускает летящую сущность-пулю.
Интерполяция влияет на то, где отображается удалённая цель. Применимые hitscan-атаки сервер оценивает с учётом lag-compensated истории игроков. Меньший стабильный буфер может показывать движение более актуально. Слишком маленький буфер на маршруте с джиттером может сделать цель визуально более дёрганой.
Ближний бой и backstab
TF2 обрабатывает атаки ближнего боя по серверным правилам дальности и трассировки. Актуальная документация по скриптингу TF2 отмечает, что hitscan и melee требуют информации для lag compensation. Модель на вашем экране не является окончательным решением о том, попала ли бита, лопата, гаечный ключ или бутылка.
Для Spy дополнительно важна ориентация цели. Клиент показывает интерполированную позицию и направление игрока, а сервер решает, выполняет ли атака ножом условия backstab. Изменение interp не увеличивает дальность ножа и не гарантирует нужный угол.
Ракеты, гранаты, стрелы и другие снаряды
Ракета, граната, sticky, flare, syringe, стрела или болт Crusader’s Crossbow после запуска движутся в серверной симуляции. Отображаемая клиентом цель всё ещё влияет на решение игрока, но снаряд не является обычной исторической hitscan-трассой.
Меньший буфер может сделать видимое движение более актуальным при стабильном соединении. Он не заставит ракету лететь быстрее, не сократит перезарядку, не изменит таймер гранаты и не ускорит натяжение Huntsman.
Medigun и смешанные loadout
Medic видит сетевого пациента, движение которого проходит через систему снимков. Сервер по-прежнему контролирует выбор цели луча, дальность, поведение при потере прямой видимости, лечение и ÜberCharge. Interp не увеличивает скорость лечения и не ускоряет накопление заряда.
Sniper с винтовкой использует hitscan, а Huntsman стреляет снарядом. Ближний бой Demoknight отличается от установки sticky у Demoman. Оценивайте механику активного оружия, а не только портрет класса.
Hitscan
Мгновенная серверная трассировка. Отображаемая цель интерполируется; применимая история игрока учитывается lag compensation.
Ближний бой
Серверные правила трассировки и дальности. Interp не увеличивает дистанцию и не сокращает анимацию удара.
Снаряды
После выстрела движение снаряда обрабатывает сервер. Interp не меняет скорость, таймер взрыва или время перезарядки.
Medigun
Сетевое отображение пациента при серверном контроле лечения и правил луча.
Spy
Интерполированная позиция и направление на клиенте. Допустимость backstab определяет сервер.
Подклассы
Зависят от механики активного оружия. Один класс может использовать несколько категорий.
Интерполяция меняет отображение полученных данных. Она не меняет скорострельность, скорость перезарядки, скорость снарядов, дальность ближнего боя, скорость лечения или урон.
Пинг — не единственный показатель соединения
Два сервера могут показывать похожий пинг, но ощущаться по-разному. Один маршрут доставляет снимки равномерно. Другой может отправлять их пакетами, иногда терять снимок или постоянно менять задержку.
Ping измеряет задержку туда и обратно. Jitter — колебания этой задержки. Loss означает, что пакеты не дошли до конца маршрута. Choke указывает, что обновления ограничиваются доступной пропускной способностью и сетевыми условиями.
Ratio 1: около 15,15 мс при updaterate 66. Меньше буфера и почти нет запаса, если снимок приходит поздно.
Ratio 2: около 30,30 мс. Один дополнительный интервал снимка.
Ratio 3: около 45,45 мс. Больше запаса при нестабильности, но и больше задержка отображения.
Интерполяции нужны известные состояния по обе стороны отображаемого момента. Если следующий снимок ещё не пришёл, клиент может исчерпать полезную историю и перейти к экстраполяции. Он прогнозирует движение за пределами последней информации, а затем может скорректировать его при поступлении свежих данных.
Стабильная картинка с ratio 2 полезнее, чем ratio 1 с постоянными паузами и коррекциями. Чистому маршруту дополнительный интервал может не понадобиться. Одного честного ответа для обеих ситуаций нет.
Если ratio 3 уменьшает частые прерывания, не прекращайте диагностику на этом. Проверьте, повторяется ли проблема на всех серверах, а также локальную нагрузку сети и качество Wi‑Fi. Буфер не вернёт данные, которые вообще не пришли.
Посмотрите оружие и косметические предметы в нашем каталоге скинов TF2.
Посмотреть скины TF2Как проверить сетевые настройки TF2
Введите каждый cvar без значения, чтобы увидеть, что сейчас использует TF2.
После подключения выполните эти запросы ещё раз. Сервер может ограничить updaterate или допустимый ratio.
Использование net_graph
Включите сетевой график TF2 командой net_graph 1 и отключите его командой net_graph 0. Он показывает ping, данные интерполяции, активность пакетов, loss и choke.
Сетевой график TF2 помогает сравнивать поведение соединения во время игры. Ищите повторяющийся loss, choke или нерегулярную доставку, а не считайте один краткий скачок доказательством неправильной настройки интерполяции.
Следите за графиком во время обычной игры. Один скачок говорит меньше, чем закономерность, повторяющаяся в нескольких перестрелках. Если loss появляется на каждом сервере, ищите причину за пределами interp.
Что может показать cl_showerror в TF2
cl_showerror 2 показывает информацию об ошибках prediction. Он может выявить коррекции между локально предсказанным движением и результатом сервера. Это не индикатор потери пакетов и не прямое доказательство того, что interpolation ratio выбран неправильно.
Как сохранить настройки в ванильной TF2
Для настроек, которые должны загружаться снова, используйте autoexec. Библиотеки Steam могут находиться на разных дисках, но путь относительно игры остаётся тем же:
- Найдите папку cfg. Распространённый путь в Windows проходит через
Steam\steamapps\common\Team Fortress 2\tf\cfg\. - Создайте обычный текстовый файл. Назовите его
autoexec.cfg. Убедитесь, что Windows не добавила расширение.txtрасширение. - Вставьте базовый набор. Размещайте по одной команде в строке.
- Загрузите файл. Перезапустите TF2 или введите
exec autoexec. - Проверьте принятые значения. Подключитесь к серверу и снова запросите cvar.
exec autoexec внутрь autoexec.cfg , можно создать рекурсивный цикл выполнения.Как сбросить ванильный конфиг
Удалите сетевые строки из autoexec.cfg, затем проверьте конфиги классов и другие файлы в tf/cfg на наличие дубликатов. Также проверьте параметры запуска и конфигурацию, синхронизированную через Steam Cloud.
Перезапустите TF2 и снова запросите каждый cvar. Инструмент проверки файлов Steam подходит, когда управляемые файлы игры отсутствуют или были изменены, но он не гарантирует удаление каждого пользовательского конфига.
Чтобы вернуться к базовой настройке из этой статьи, снова добавьте блок из четырёх команд с ratio 2. Это не полный список исходных заводских значений TF2.
Как использовать mastercomfig без конфликтов
У mastercomfig уже есть собственная сетевая политика. Если он установлен, используйте его модули вместо наложения raw-команд поверх управляемых файлов.
Храните личные изменения в актуальной папке overrides:
Не редактируйте упакованный VPK, сгенерированную основную конфигурацию или comfig.cfg. Обновление может заменить эти файлы.
Для обычного использования текущая рекомендуемая отправная точка:
packet_rate=standard выбирает стандартные 66 для command rate и update rate. snapshot_buffer=auto меняет сетевой alias в зависимости от класса. Текущий mastercomfig относит Scout, Heavy, Engineer и Sniper к политике hitscan. Soldier, Pyro, Demoman и Medic используют политику projectiles, а Spy обрабатывается отдельно.
Это практичные стандартные настройки для классов, а не описание каждого возможного loadout. Sniper с Huntsman — очевидное исключение. Для намеренно настроенных подклассов mastercomfig предоставляет net_hitscan и и net_projectiles
| Модуль | Буфер при 66 | Назначение |
|---|---|---|
snapshot_buffer=auto |
С учётом класса | Управляемое значение |
snapshot_buffer=off |
15 мс | Минимальный |
snapshot_buffer=x1 |
30 мс | Дополнительный интервал |
snapshot_buffer=x2 |
45 мс | Больше защиты |
snapshot_buffer=custom |
Задаётся пользователем | Raw cvar |
snapshot_buffer=off не отключает интерполяцию Source. При стандартной частоте он выбирает минимальную настройку mastercomfig примерно в 15 мс. Документация описывает её как опасно жёсткую для обычной игры через интернет.
Когда использовать snapshot_buffer=custom используйте только в том случае, если вы сознательно хотите управлять raw cvar интерполяции самостоятельно. В противном случае оставьте snapshot_buffer=auto главным механизмом.
apply_overrides повторно применяет пользовательские модули и override autoexec. restore_preset возвращает выбор модулей к стандартным значениям пресета без пользовательских overrides. restore_config запускает основную конфигурацию, а затем пользовательские overrides. version_comfig показывает установленную версию. Эти aliases относятся к mastercomfig, а не к ванильной TF2.
Устаревшие советы по interp, от которых лучше отказаться
Запрошенное значение 128 — не стандартное улучшение TF2. Обычный 66-tick сервер нельзя превратить в 128-tick сервер через клиентскую консоль.
cl_interp 0 не означает нулевую интерполяцию. Ratio, разделённый на updaterate, всё равно создаёт эффективный интервал.
Большое значение interp не перемещает вашего персонажа вперёд. Оно заставляет клиент отображать удалённые состояния дальше позади самого свежего полученного снимка.
Interp не управляет скоростью оружия. Он не может изменить интервал стрельбы, время перезарядки, скорость снарядов, дальность ближнего боя, эффективность лечения или урон.
Начните с ratio 2 на обычном соединении и меняйте его только тогда, когда результаты действительно дают для этого основание.
FAQ по настройкам interp в TF2
С каких настроек interp для TF2 лучше начать?
Начните с cl_cmdrate 66, cl_updaterate 66, cl_interp 0 и cl_interp_ratio 2. При принятых значениях эффективный интервал составляет около 30,3 мс.
cl_interp_ratio 1 лучше, чем ratio 2?
Не для каждого соединения. Ratio 1 уменьшает буфер примерно до 15,15 мс при updaterate 66, а ratio 2 оставляет дополнительный интервал снимка.
Когда полезен cl_interp_ratio 3?
Ratio 3 может быть временным запасным вариантом, если поздние или потерянные снимки всё ещё мешают при ratio 2. При updaterate 66 он создаёт буфер около 45,45 мс, но не исправляет постоянный loss.
Отключает ли cl_interp 0 интерполяцию?
Нет. TF2 использует большее из cl_interp и cl_interp_ratio / cl_updaterate. На принятое значение также могут влиять ограничения сервера.
Может ли interp ускорить ракеты или стрелы?
Нет. Интерполяция меняет отображение полученных состояний объектов. Она не изменяет скорость снаряда, перезарядку, таймер взрыва, время натяжения или урон.
Может ли меньший interp улучшить aim с hitscan?
Меньший стабильный буфер может показывать движение более актуально. Если при этом появляются рывки или пропавшие снимки, цель может стать визуально сложнее для отслеживания.
Меняет ли интерполяция дальность backstab у Spy?
Нет. Сервер решает, соответствует ли атака ножом условиям дальности и backstab. Значение interp не может увеличить дальность ножа или принудительно создать нужный угол.
Доступен ли net_graph в TF2 сейчас?
Да. Введите net_graph 1 в консоль TF2, чтобы показать сетевой график, и net_graph 0 чтобы скрыть его. Ищите повторяющиеся закономерности на протяжении матча, а не оценивайте соединение по одному скачку.
Куда сохранять overrides mastercomfig?
Храните личные файлы в Team Fortress 2/tf/cfg/overrides/. Большинству игроков подойдёт packet_rate=standard вместе с snapshot_buffer=auto .