Свой сервер

Как захостить сервер KF2 дома - частые проблемы и решения

Killing Floor 2 хорошо работает на выделенных серверах, но найти подходящий рядом с вами и вашими друзьями бывает непросто. Эта страница по мотивам популярного гайда Steam объясняет, как поднять свой сервер на домашнем ПК и, что важнее всего, как чинить типичные проблемы: сервер не связывается со Steam, не виден в браузере или работает только в LAN.

Логотип Killing Floor 2 на фоне серверных стоек и надпись How to host KF2 server Обложка оригинального гайда в Steam.

Начните с проброса портов

Откройте на модеме или роутере эти порты и направьте их на ПК с сервером:

ПортПротокол
7777UDP
27015UDP
8080TCP
20560UDP

Автор просто открыл все четыре и для UDP, и для TCP. На домашнем канале 30 Мбит на загрузку и 3 Мбит на отдачу у игроков из его региона было около 60-70 мс пинга, у зарубежных - около 120-140 мс. Для хостинга важна именно скорость отдачи.

Целью проброса указывайте локальный IPv4 ПК с сервером (из ipconfig) и по возможности сделайте этот адрес статическим, чтобы правило не сломалось после перезагрузки. Адрес с сайтов "узнать мой IP" - это ваш внешний IP: к нему подключаются друзья, но проброс делается не на него. Также разрешите порты в брандмауэре Windows. Подробнее: порты сервера и NAT.

Установка через SteamCMD

SteamCMD нужен один раз для загрузки сервера и потом при каждом патче KF2 для обновления.

  1. Положите steamcmd.exe в отдельную папку (не на рабочий стол: он распакует рядом с собой десятки файлов) и запустите. Он обновится сам; после этого закройте его.
  2. Запустите снова и войдите:
login anonymous
  1. Необязательно - выберите папку для сервера:
force_install_dir c:\KF2Server\
  1. Скачайте сервер:
app_update 232130

Для обновления позже повторите force_install_dir (если использовали) и выполните:

app_update 232130 validate

SteamCMD проверит файлы и докачает патч.

Первый запуск и настройка

  1. Один раз запустите KF2Server.bat, чтобы создались конфиги по умолчанию. Удобно сделать ярлык на рабочем столе.
  2. Перед правкой файлов закройте окно сервера.
  3. Откройте KFGame\Config\PCServer-KFGame.ini. Вручную править его нужно, только если не получается пользоваться WebAdmin, - через WebAdmin проще.
СтрокаЧто делает
GameDifficulty0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth
ServerNameИмя в браузере серверов
GamePasswordПароль для входа игроков
GameLength0 = 4 волны, 1 = 7 волн, 2 = 10 волн

WebAdmin

  1. Выполните ipconfig в командной строке и скопируйте IPv4.
  2. Откройте его в браузере с :8080 на конце, например http://192.168.25.22:8080/.
  3. Вход по умолчанию: admin / 123. Смените пароль.

Частые проблемы

Не появляется строка STEAM GAME SERVER UID

Эта строка - ID вашего сервера в Steam, она появляется каждый раз, когда сервер работает и передает данные в Steam. Если ее нет:

  • закройте игру перед запуском сервера
  • откройте порты из таблицы выше
  • добавьте исключение для сервера KF2 в файрвол и антивирус

Сервер не виден в браузере серверов

Чаще всего виноват неверный или неполный проброс портов. В крайнем случае гайд предлагает DMZ:

  1. Узнайте локальный IPv4 ПК с сервером через ipconfig.
  2. Укажите этот адрес как DMZ-хост в роутере.
  3. Сохраните и перезагрузите модем.

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

Сервер работает только в LAN

Игроки из вашей сети заходят, а друзья нет. Значит, порты не доходят до сервера: пробросьте их на роутере (а не только в Windows), проверьте файрвол, а если роутер стоит за еще одним NAT или провайдер блокирует проброс - обращайтесь к провайдеру.

Не открывается WebAdmin

Включите его: в KFWeb.ini найдите секцию [IpDrv.WebServer] и поставьте bEnabled=true.

SteamCMD не скачивает сервер

  • попробуйте другой диск или папку
  • запустите SteamCMD от администратора
  • если видите "Failed to request AppInfo update, not online or not logged in to Steam", вы забыли login anonymous перед app_update

Если все сделано правильно, но не работает, проверьте, не блокирует ли сервер файрвол или антивирус.

Полезные утилиты и мутаторы

  • KF2ServerTool - установка и настройка сервера, добавление и обновление карт и модов из Workshop, обновления и проверка целостности, запуск с мутаторами, несколько профилей. См. обзор KF2ServerTool.
  • Magicked Administrator - чат-бот для серверов KF2: ведет статистику игроков и принимает команды сервера через игровой чат.
  • Classic Scoreboard - заменяет стандартную таблицу счета и показывает деньги, точный уровень перка и точное здоровье каждого игрока.
  • Server Extension (RPG-мод) - заменяет стандартную систему перков серверной прокачкой, где игроки покупают отдельные характеристики и трейты.

Повседневное использование

Когда хотите поиграть, запускайте KF2Server.bat и не закрывайте его окно, пока идет игра: закрытие окна выключает сервер. После каждого патча игры обновляйте сервер через SteamCMD, иначе клиенты не смогут подключиться.

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

Мой сервер KF2 виден только в LAN. Как зайдут друзья?
Пробросьте на роутере 7777, 27015 и 20560 UDP (и 8080 TCP для WebAdmin) на локальный IPv4 ПК с сервером и разрешите сервер в брандмауэре Windows.
Строка STEAM GAME SERVER UID не появляется. Что это значит?
Сервер не может достучаться до Steam. Закройте игру перед запуском сервера, откройте порты и добавьте исключение для сервера в файрвол или антивирус.
За что отвечает GameLength в PCServer-KFGame.ini?
За число волн: 0 - 4 волны, 1 - 7 волн, 2 - 10 волн.
SteamCMD пишет Failed to request AppInfo update, not online or not logged in. Что делать?
Пропущен вход. Запустите SteamCMD от администратора, сначала введите login anonymous, затем app_update 232130 validate.