Свой сервер

Сервер KF2 с кастомными картами и модами - настройка

Этот гайд ведет от нуля до публичного выделенного сервера Killing Floor 2 на Windows с картами и модами из Steam Workshop. Он основан на обновленной в 2023 году версии старого гайда из обсуждений Steam. Прочитайте его целиком до начала: в последней части используется KF2ServerTool, который берет на себя почти всю правку конфигов.

Часть 1: установка сервера

Шаг 1 - скачайте SteamCMD

Архив SteamCMD от Valve: http://media.steampowered.com/installer/steamcmd.zip. Распакуйте его в папку, где он будет жить постоянно. При первом запуске он скачивает свои файлы в эту же папку, поэтому не запускайте его с рабочего стола.

Шаг 2 - запустите SteamCMD

Запустите steamcmd.exe и дождитесь окончания первого самообновления.

Шаг 3 - выберите папку установки (необязательно)

Если сервер не должен лежать внутри папки SteamCMD, сначала задайте путь:

force_install_dir C:\KF2Server\

Шаг 4 - вход

Для файлов сервера KF2 аккаунт не нужен:

login anonymous

Шаг 5 - загрузка или обновление файлов

App ID выделенного сервера KF2 - 232130.

ЗадачаКоманда
Первая загрузкаapp_update 232130
Обновление с проверкой файловapp_update 232130 validate
Переход на бета-веткуapp_update 232130 -beta preview

Закладывайте около 30 ГБ на диске. Подробнее - в статье размер сервера Killing Floor 2.

Шаг 6 - запуск

Откройте папку сервера и запустите KF2Server.bat. Нормальный запуск заканчивается примерно так:

KF2 Version XXXXX
Initializing game engine completed.
STEAM GAME SERVER UID XXXXXXXXX

Строка STEAM GAME SERVER UID означает, что сервер работает и связался со Steam.

Часть 2: проброс портов

У каждого роутера свои меню, поэтому ищите инструкцию под свою модель. Проброс позволяет подключаться к серверу устройствам вне домашней сети. Сами вы можете играть на нем из той же сети и без проброса.

ПортПротоколНазначение
7777UDPИгровой трафик
27015UDPЗапросы (браузер серверов)
20560UDPSteam
8080TCPWebAdmin (по желанию)
123UDPNTP, только для Weekly Outbreak

Все эти порты можно поменять в конфигах. Общие сведения о NAT и файрволе - в статье порты сервера и NAT.

Часть 3: настройка

Файл запуска

Сервер запускается через KF2Server.bat. По умолчанию в нем:

start .\Binaries\win64\kfserver kf-bioticslab?adminpassword=123
  • .\Binaries\win64\kfserver - исполняемый файл сервера, его не трогаем.
  • kf-bioticslab - карта при запуске, можно заменить на любую.
  • ? - разделитель параметров. Каждый ?ключ=значение передает одну настройку, например ?difficulty=3 запускает Hell on Earth.
  • adminpassword=123 - пароль WebAdmin. Обязательно смените его. Пароль из bat-файла важнее пароля из конфига.

WebAdmin

По умолчанию WebAdmin выключен.

  1. Откройте KFGame\Config\KFWeb.ini и замените bEnabled=false на bEnabled=true.
  2. Узнайте локальный адрес ПК с сервером: в командной строке выполните ipconfig и найдите строку IPv4 (например, 192.168.178.33).
  3. В браузере откройте <ваш IPv4>:8080.
  4. Войдите под именем Admin с паролем из файла запуска.

Если браузер не пускает и пишет "Invalid form data", откройте KFGame\Config\KFWebAdmin.ini, поменяйте bHttpAuth=false на bHttpAuth=true и попробуйте снова.

Часть 4: карты и моды через KF2ServerTool

Ручная правка записей карт, цикла карт и подписок Workshop легко приводит к ошибкам. KF2ServerTool делает это автоматически. Подробнее об утилите: обзор KF2ServerTool.

  1. Скачайте последний zip со страницы релизов проекта на GitHub.
  2. Установите - распакуйте содержимое архива в корень сервера (туда, где лежит KF2Server.bat).
  3. Запустите KF2ServerTool.exe из папки сервера.
  4. Вкладка Options - включите "Workshop Download Manager" и "Custom redirect", адрес редиректа - http://kf2.tripwirecdn.com/. Именно это заставило кастомные карты работать у автора.
  5. Вкладки Maps / Mods - добавляйте предметы по Workshop ID или ссылке, через встроенный браузер Workshop или выбирая файлы с редиректа.
  6. Проверьте установку карт - у каждой добавленной карты должны стоять зеленые галочки в колонках "Map Entry" и "Cycle Entry". Нужна ли галочка в "Map Cache", автор точно не знал.
  7. Запустите сервер с вкладки Server. Некоторые моды работают, только если прописать их параметры в "Additional parameters" - что именно добавить, обычно написано на странице мода в Workshop.

После этого сервер работает локально, виден во внутриигровом браузере серверов, на нем есть ваши карты и моды, и подключиться может кто угодно.

Короткий чек-лист

  • SteamCMD в отдельной папке
  • Сервер скачан командой app_update 232130 validate
  • При запуске появляется STEAM GAME SERVER UID
  • Проброшены 7777, 27015, 20560 UDP (и 8080 TCP для удаленного WebAdmin)
  • Пароль администратора в KF2Server.bat изменен
  • WebAdmin включен в KFWeb.ini
  • У карт зеленые Map Entry и Cycle Entry в KF2ServerTool

Вопросы и ответы

Какие порты нужны серверу Killing Floor 2?
7777 UDP для игры, 27015 UDP для запросов, 20560 UDP для Steam, 8080 TCP для WebAdmin (по желанию) и 123 UDP для NTP, который нужен только для Weekly Outbreak.
Почему WebAdmin пишет Invalid form data?
Некоторые браузеры не принимают стандартную форму входа. Откройте KFGame\Config\KFWebAdmin.ini, поставьте bHttpAuth=true, перезапустите сервер и войдите снова.
Какой redirect URL нужен, чтобы игроки скачивали кастомные карты?
У автора гайда карты заработали после включения Workshop Download Manager и Custom redirect с адресом http://kf2.tripwirecdn.com/ на вкладке Options в KF2ServerTool.
Нужен ли проброс портов, чтобы играть на своем сервере?
Нет. Игроки из той же локальной сети подключаются без него. Проброс нужен только для друзей и публичных игроков извне.