Christmas Patriarch

Killing Floor 2 Tickrate Guide

Важно: используйте эти настройки как техническую справку, а не как универсальный рецепт. Слишком высокий tickrate может вызвать desync, странную физику, kicks или дополнительные краши.

Что такое tickrate

Tick - один шаг симуляции игры. Tickrate - сколько таких шагов сервер выполняет за секунду. Для сервера это примерно аналог FPS: выше tickrate - чаще обновляется состояние игры, но выше нагрузка на CPU и сеть.

Низкий tickrate:

Высокий tickrate:

Быстрая рекомендация

СценарийЗначение
Не знаете, что ставитьоставьте 30
Закрытый сервер на 6 игроковпробуйте 45-60
Публичный сервер на 12 игроковтестируйте 45-60 осторожно
International playersлучше стабильные 30-45, чем packet loss
Есть kicks, desync или странная физикаоткатитесь на 30-35

Не меняйте tickrate вслепую на production-сервере. Сначала проверьте на пустом сервере, затем на реальной волне с игроками.

1. Клиент: BaseEngine.ini

Клиентский максимум tickrate находится в:

Steam\steamapps\common\killingfloor2\Engine\Config\BaseEngine.ini

Ищите секцию:

[IpDrv.TcpNetDriver]

Изменяемые строки:

NetServerMaxTickRate=60
LanServerMaxTickRate=60

Проверьте, что вы меняете именно [IpDrv.TcpNetDriver], а не [Engine.DemoRecDriver]. Настройки demo recorder не изменят сетевую игру.

Нужно ли менять клиент

Клиент не заставит чужой сервер работать быстрее. Если сервер остается на 30, клиентская настройка выше 30 не даст реального эффекта. Но она позволяет клиенту использовать больший tickrate там, где сервер уже настроен выше.

2. Сервер: PCServer-KFEngine.ini

На dedicated server нужный файл обычно находится здесь:

killingfloor2\KFGame\Config\PCServer-KFEngine.ini

В секции [IpDrv.TcpNetDriver]:

[IpDrv.TcpNetDriver]
NetServerMaxTickRate=60
LanServerMaxTickRate=60

Дефолтные 30 для internet и 35 для LAN можно поднять до 60. Это разумный верхний ориентир для тестов, но не гарантия стабильности на каждом сервере.

3. Rate limits и bandwidth

Если вы повышаете tickrate, проверьте лимиты трафика:

[IpDrv.TcpNetDriver]
MaxClientRate=32000
MaxInternetClientRate=32000

Для 12-slot сервера можно тестировать:

[IpDrv.TcpNetDriver]
MaxClientRate=64000
MaxInternetClientRate=64000

Смысл этих параметров - не “ускорить интернет”, а убрать слишком низкий bandwidth cap, который может стать причиной packet loss при более частых обновлениях.

4. Почему не стоит ставить огромные значения

Очень высокие значения могут приводить к random kicks, desync и странной физике. Такие проблемы особенно неприятны, потому что выглядят не как очевидная ошибка конфига, а как “нестабильная игра”.

Практические ограничения:

5. Пошаговый план тестирования

  1. Сделайте backup PCServer-KFEngine.ini.
  2. Поставьте NetServerMaxTickRate=45.
  3. Проверьте сервер на обычной карте с 6 игроками.
  4. Если нет packet loss, kicks и desync, поднимите до 60.
  5. Настройте MaxInternetClientRate под число игроков.
  6. Проверьте несколько поздних волн и boss wave.
  7. Если игроки жалуются на падения под карту, рывки или kicks - откатитесь.

Для публичного сервера лучше стабильные 45, чем “красивые” 60, которые ломают игру части игроков.

6. Готовые профили

Осторожный публичный сервер

[IpDrv.TcpNetDriver]
NetServerMaxTickRate=45
LanServerMaxTickRate=45
MaxClientRate=32000
MaxInternetClientRate=32000

Закрытый 6-slot сервер

[IpDrv.TcpNetDriver]
NetServerMaxTickRate=60
LanServerMaxTickRate=60
MaxClientRate=32000
MaxInternetClientRate=32000

12-slot сервер для тестов

[IpDrv.TcpNetDriver]
NetServerMaxTickRate=60
LanServerMaxTickRate=60
MaxClientRate=64000
MaxInternetClientRate=64000

7. Откат

Если после настройки стало хуже, верните дефолтный профиль:

[IpDrv.TcpNetDriver]
NetServerMaxTickRate=30
LanServerMaxTickRate=35
MaxClientRate=15000
MaxInternetClientRate=15000

После отката перезапустите сервер. Для клиента также можно вернуть BaseEngine.ini из backup или проверить файлы игры через Steam.

Связанные страницы