Еженедельные вспышки KF2 в любое время: трюк с сервером времени
Страница пересказывает архивный гайд по запуску любой недельной вспышки в Killing Floor 2 в любое время. Важно: по заметкам самого автора, способ перестал работать после осеннего обновления 2023 года: добавлены проверки, мешающие старту матча, и возникает проблема с загрузкой профиля после подмены времени. Материал оставлен для справки.
Обложка оригинального гайда.
Зачем это было нужно
Недельные вспышки - наборы мутаций для обычного Survival, появившиеся в обновлении Summer Sideshow 2017 года. Сначала их было восемь, потом стало шестнадцать. Survival Weekly идёт по жёсткой автоматической ротации и не позволяет выбрать нужную вспышку, поэтому пропущенную приходится ждать до 15 недель. Осеннее обновление 2023 года наконец добавило выбор режима, но награда разблокируется только за вспышку, которая запланирована на текущую неделю, то есть заработать несколько наград заранее всё равно нельзя.
Суть трюка: KF2 запрашивает точное время у интернет-серверов и по нему выбирает вспышку. Если подсунуть игре будущую дату через локальный сервер времени, и клиент, и сервер переключатся на нужную вспышку. Автор описывает обычное прохождение вспышки и получение награды.
Автор отмечает, что всё сложно и подходит только опытным пользователям, готовым возиться с выделенным сервером. В одном из обновлений сказано, что выделенный сервер можно не ставить: после настройки сервера времени достаточно выбрать Solo Offline и режим Weekly.
Шаг 1: выделенный сервер (позже необязателен)
- Создайте
C:\KF2ServerиC:\SteamCMD, скачайте SteamCMD и распакуйте вC:\SteamCMD. - В командной строке выполните
cd /d C:\SteamCMD, затем установите сервер:steamcmd.exe force_install_dir C:\KF2Server login anonymous app_update 232130 validate quit. После установки сервер занимает около 20 ГБ. - Создайте в
C:\KF2ServerфайлWeekly.bat, который запускаетBinaries\Win64\KFServer.exe KF-BurningParis?Game=KFGameContent.KFGameInfo_WeeklySurvival. - Запустите его один раз, затем остановите через Ctrl+C, чтобы создались конфиги.
- В
KFGame\Config\PCServer-KFGame.iniв разделе[Engine.AccessControl]задайтеAdminPassword=иGamePassword=. - В
KFGame\Config\KFWeb.iniв разделе[IpDrv.WebServer]убедитесь, чтоbEnabled=trueиListenPort=8080- это включает веб-интерфейс администратора.
Необязательная интеграция с Workshop: в PCServer-KFEngine.ini проверьте, что в [IpDrv.TcpNetDriver] есть DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload, а в [OnlineSubsystemSteamworks.KFWorkshopSteamworks] добавьте строки ServerSubscribedWorkshopItems=<id>. Для пользовательских карт нужен ещё раздел [KF-CustomMap KFMapSummary] в PCServer-KFGame.ini с MapName, MapAssociation=2, bPlayableInSurvival=True, bPlayableInWeekly=True и т. д. (без расширения .kfm).
Шаг 2: локальный сервер времени
- Отключите автоматическую синхронизацию времени в Windows (настройки даты и времени) и выполните
net stop w32timeв командной строке администратора. - Установите NetTime, запустите от имени администратора в автономном режиме (не как службу), откройте Configure и настройте использование только локального системного времени и «Always provide time».
Настройки NetTime из оригинального гайда.
- Полностью закройте NetTime (выход через трей), переведите системные часы вперёд на нужное число недель, чтобы попасть на желаемую вспышку, и запустите NetTime снова.
Рабочее состояние NetTime.
Порядок ротации:
| № | Вспышка |
|---|---|
| 1 | Boom |
| 2 | Cranium Cracker |
| 3 | Tiny Terror |
| 4 | Bobble Zed |
| 5 | Poundemonium |
| 6 | Up, Up, and Decay |
| 7 | Zed Time |
| 8 | Beefcake |
| 9 | Blood Thirst |
| 10 | Coliseum |
| 11 | Arachnophobia |
| 12 | Scavenger |
| 13 | Wild West London |
| 14 | Abandon All Hope |
| 15 | Boss Rush |
| 16 | Shrunken Heads |
Список идёт по кругу. Если сейчас Beefcake (8), а нужна Abandon All Hope (14), добавьте 14 - 8 = 6 недель.
Шаг 3: перенаправление запросов времени
KF2 использует публичные серверы времени Google. Отредактируйте C:\Windows\System32\drivers\etc\hosts (скопируйте на рабочий стол, правьте, верните обратно) и добавьте строки, направляющие time.google.com и time1.google.com - time4.google.com на 127.0.0.1. Затем выполните ipconfig /flushdns в командной строке администратора.
Шаг 4: игра
Запустите выделенный сервер через Weekly.bat: он загрузит Burning Paris в Survival Weekly. Через веб-интерфейс http://127.0.0.1:8080 можно сменить карту. Запустите KF2: вспышка в меню должна совпасть с выбранной. Если нет, где-то допущена ошибка. Откройте консоль клавишей тильда, введите open 127.0.0.1, закройте консоль, введите обычный пароль и играйте. В упрощённом варианте просто выберите Solo Offline и Weekly.
Пройденные заранее вспышки и награды, 1.
Пройденные заранее вспышки и награды, 2.
Пройденные заранее вспышки и награды, 3.
Пройденные заранее вспышки и награды, 4.
Пройденные заранее вспышки и награды, 5.
Пройденные заранее вспышки и награды, 6.
Пройденные заранее вспышки и награды, 7.
Пройденные заранее вспышки и награды, 8.
Пройденные заранее вспышки и награды, 9.
Пройденные заранее вспышки и награды, 10.
Смена вспышки и возврат в норму
Чтобы сменить вспышку, остановите клиент, сервер и NetTime (выход через трей). Снова измените системные часы, затем запустите NetTime, сервер и игру в этом порядке. Чтобы всё вернуть, закройте всё, включите автосинхронизацию времени в Windows, удалите записи time.google.com из hosts и снова выполните ipconfig /flushdns.
Итог
Автор считает метод оправданным, если вам дороже время, чем полугодовое ожидание пропущенной вспышки. После осеннего обновления 2023 года он не работает, так что воспринимайте страницу как историю.
Вопросы и ответы
- Этот способ ещё работает?
- Нет. Третье обновление гайда сообщает, что осеннее обновление 2023 года добавило проверки, мешающие запуску матча, а также проблему с загрузкой профиля после подмены времени. Гайд оставлен как архив.
- Сколько недель ждать пропущенную вспышку?
- В ротации 16 вспышек, так что пропущенная возвращается максимум через 15 недель.
- В чём состоял трюк?
- Локальный сервер времени с датой в будущем, перенаправление запросов игры к серверам времени Google на свой компьютер через файл hosts - и клиент с сервером выбирают другую недельную вспышку из ротации.