Killing Floor 2 Tickrate Guide
Важно: используйте эти настройки как техническую справку, а не как универсальный рецепт. Слишком высокий tickrate может вызвать desync, странную физику, kicks или дополнительные краши.
Что такое tickrate
Tick - один шаг симуляции игры. Tickrate - сколько таких шагов сервер выполняет за секунду. Для сервера это примерно аналог FPS: выше tickrate - чаще обновляется состояние игры, но выше нагрузка на CPU и сеть.
Низкий tickrate:
- увеличивает задержку между клиентом и сервером
- снижает точность симуляции
- может делать игру менее отзывчивой
Высокий tickrate:
- может сделать управление и hit registration более отзывчивыми
- повышает требования к CPU и bandwidth
- может проявить баги физики или синхронизации
Быстрая рекомендация
| Сценарий | Значение |
|---|---|
| Не знаете, что ставить | оставьте 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 и странной физике. Такие проблемы особенно неприятны, потому что выглядят не как очевидная ошибка конфига, а как “нестабильная игра”.
Практические ограничения:
- не начинайте с
120,240или1000 - не повышайте bandwidth cap до огромных значений без мониторинга
- не меняйте одновременно tickrate, rate limits и mutators
- после каждого изменения проверяйте late waves, а не только пустой сервер
5. Пошаговый план тестирования
- Сделайте backup
PCServer-KFEngine.ini. - Поставьте
NetServerMaxTickRate=45. - Проверьте сервер на обычной карте с 6 игроками.
- Если нет packet loss, kicks и desync, поднимите до
60. - Настройте
MaxInternetClientRateпод число игроков. - Проверьте несколько поздних волн и boss wave.
- Если игроки жалуются на падения под карту, рывки или 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.