Как захостить сервер KF2 дома - частые проблемы и решения
Killing Floor 2 хорошо работает на выделенных серверах, но найти подходящий рядом с вами и вашими друзьями бывает непросто. Эта страница по мотивам популярного гайда Steam объясняет, как поднять свой сервер на домашнем ПК и, что важнее всего, как чинить типичные проблемы: сервер не связывается со Steam, не виден в браузере или работает только в LAN.
Обложка оригинального гайда в Steam.
Начните с проброса портов
Откройте на модеме или роутере эти порты и направьте их на ПК с сервером:
| Порт | Протокол |
|---|---|
| 7777 | UDP |
| 27015 | UDP |
| 8080 | TCP |
| 20560 | UDP |
Автор просто открыл все четыре и для UDP, и для TCP. На домашнем канале 30 Мбит на загрузку и 3 Мбит на отдачу у игроков из его региона было около 60-70 мс пинга, у зарубежных - около 120-140 мс. Для хостинга важна именно скорость отдачи.
Целью проброса указывайте локальный IPv4 ПК с сервером (из ipconfig) и по возможности сделайте этот адрес статическим, чтобы правило не сломалось после перезагрузки. Адрес с сайтов "узнать мой IP" - это ваш внешний IP: к нему подключаются друзья, но проброс делается не на него. Также разрешите порты в брандмауэре Windows. Подробнее: порты сервера и NAT.
Установка через SteamCMD
SteamCMD нужен один раз для загрузки сервера и потом при каждом патче KF2 для обновления.
- Положите
steamcmd.exeв отдельную папку (не на рабочий стол: он распакует рядом с собой десятки файлов) и запустите. Он обновится сам; после этого закройте его. - Запустите снова и войдите:
login anonymous
- Необязательно - выберите папку для сервера:
force_install_dir c:\KF2Server\
- Скачайте сервер:
app_update 232130
Для обновления позже повторите force_install_dir (если использовали) и выполните:
app_update 232130 validate
SteamCMD проверит файлы и докачает патч.
Первый запуск и настройка
- Один раз запустите
KF2Server.bat, чтобы создались конфиги по умолчанию. Удобно сделать ярлык на рабочем столе. - Перед правкой файлов закройте окно сервера.
- Откройте
KFGame\Config\PCServer-KFGame.ini. Вручную править его нужно, только если не получается пользоваться WebAdmin, - через WebAdmin проще.
| Строка | Что делает |
|---|---|
GameDifficulty | 0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth |
ServerName | Имя в браузере серверов |
GamePassword | Пароль для входа игроков |
GameLength | 0 = 4 волны, 1 = 7 волн, 2 = 10 волн |
WebAdmin
- Выполните
ipconfigв командной строке и скопируйте IPv4. - Откройте его в браузере с
:8080на конце, напримерhttp://192.168.25.22:8080/. - Вход по умолчанию:
admin/123. Смените пароль.
Частые проблемы
Не появляется строка STEAM GAME SERVER UID
Эта строка - ID вашего сервера в Steam, она появляется каждый раз, когда сервер работает и передает данные в Steam. Если ее нет:
- закройте игру перед запуском сервера
- откройте порты из таблицы выше
- добавьте исключение для сервера KF2 в файрвол и антивирус
Сервер не виден в браузере серверов
Чаще всего виноват неверный или неполный проброс портов. В крайнем случае гайд предлагает DMZ:
- Узнайте локальный IPv4 ПК с сервером через
ipconfig. - Укажите этот адрес как DMZ-хост в роутере.
- Сохраните и перезагрузите модем.
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.