Свой сервер

Запуск выделенного сервера KF2: требования, конфиг, WebAdmin

Базовое руководство для новичков (автор сам признаёт, что оформление можно улучшить) по установке и запуску выделенного сервера Killing Floor 2. SSL-сертификаты здесь не рассматриваются: руководство намеренно простое. Другие варианты смотрите в статьях Сервер через SteamCMD и Руководство по Game Server Manager.

Выбор хоста

Выбирайте любимый дистрибутив Linux или Windows. Автор советует Linux, если вы не любите внезапные выключения из-за Windows Update. Подойдёт и виртуальная машина: хватило Intel Core 2 Duo и 3 ГБ DDR2, но нужно много места на диске, минимум около 30 ГБ. Максимальное потребление ОЗУ - 735 МБ.

Минимум (один экземпляр)Рекомендуется
CPUнастольный Intel Core 2 DuoCore i3 или любой четырёхъядерный ПК/ноутбук
ОЗУ2 ГБ (3 ГБ для Windows 8/10)4 ГБ
Диск20 ГБ+, HDD50 ГБ, SSD
Сеть2 Мбит/с исходящих, нормальный ADSL или Wi-Fi 2.4 ГГцоптика/VDSL/FTTH, гигабитная LAN, Wi-Fi 5 ГГц

Загрузка файлов сервера

Установите SteamCMD (руководств много), запустите и выполните:

login anonymous
app_update 232130

Анонимный вход обязателен. Загрузка около 13 ГБ. В Linux файлы лежат примерно в /home/<пользователь>/Steam/steamapps/common/killingfloor2.

Назначение папок

  • KFGame: самое интересное.
    • Web: HTML-файлы WebAdmin, не трогать.
    • Scripts: не трогать.
    • Logs: игровые логи, включая необязательные логи чата и таблицы результатов.
    • Localization: языковые файлы, править не нужно.
    • Config: основной каталог конфигов. Не меняйте папки PCServer и LinuxServer и файлы с префиксом Default: они нужны для формирования конфигов; правьте файлы PCServer-* (Windows) или LinuxServer-* (Linux).
  • BrewedPC: системные файлы, например карты.
  • Engine: системные файлы и значения по умолчанию.
  • Binaries/Win64: бинарники и для Windows, и для Linux. Linux-версия - KFGameSteamServer.bin.x86_64 (без расширения), Windows - KFServer.exe.
  • KF2Server.bat: запускатор для Windows. В Linux создайте .sh со строкой ./Binaries/Win64/KFGameSteamServer.bin.x86_64, выполните chmod +x и запустите.

Запустите сервер один раз, чтобы сформировались конфиги.

WebAdmin

WebAdmin - веб-сервер, запускаемый самим игровым сервером, поэтому работает только пока сервер запущен. Включите его в KFGame/Config/KFWeb.ini: bEnabled=true в секции [IpDrv.WebServer] (по умолчанию false) и перезапустите. Логин Admin, пароль пустой, пока не изменён. Адреса:

  • 127.0.0.1:8080 на самом сервере;
  • 192.x.x.x:8080 в локальной сети;
  • x.x.x.x:8080 для удалённого сервера (за NAT нужен проброс порта).

WebAdmin правит «сырые» файлы конфигурации; для применения настроек перезапустите сервер. Изменения длины волны, сложности и режима вступают в силу после смены карты.

MultiAdmin

Для нескольких админов добавьте WebAdmin.MultiWebAdminAuth в настройках WebAdmin, Advanced, Authentication class, либо впишите .AuthenticationClass=WebAdmin.MultiWebAdminAuth в секцию [WebAdmin.WebAdmin] файла KFWebAdmin.ini. Появится файл с хэшами паролей; руками его не правьте, создавайте пользователей через интерфейс WebAdmin. Если пароль был пустым, входите как Admin / Admin (при MultiAdmin пустой пароль недопустим).

Базовая настройка через текст

Правьте файл *-KFGame.ini:

  • ServerName=: название в списке серверов.
  • AdminPassword=: пароль администратора в игре и по умолчанию для WebAdmin.
  • Difficulty=: от 0 до 3 (от Normal до Hell on Earth).
  • GameLength=: 0 - 4 волны, 1 - 7, 2 - 10.

Карту меняют через WebAdmin.

Запуск и порты

Запустите .bat/.sh или исполняемый файл. Остановить сервер можно завершением процесса или закрытием окна терминала. При отсутствии белого адреса пробросьте порты:

ПортПо умолчаниюПротоколНазначение
Game7777UDPосновные игровые подключения
Query27015UDPмастер-сервер Steam
Web Admin8080TCPстраница WebAdmin
Steam20560UDPSteam
NTP123UDPопределение времени для Weekly Outbreak

Полезные замечания

  • После обновления выполните в SteamCMD app_update 232130; добавьте validate для проверки повреждённых файлов.
  • Делайте резервные копии конфигов. Обновления могут пересоздавать их: переносите свои строки в новый конфиг, а не перезаписывайте его.
  • Отключите «takeover» в WebAdmin (Settings, General settings), чтобы посторонние не заходили в игру и не ставили пароль.
  • Вход админом в игре: откройте консоль и введите adminlogin <пароль>.

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

Каковы минимальные требования к серверу KF2?
Настольный Core 2 Duo, 2 ГБ ОЗУ (3 ГБ на Windows 8/10), 20 ГБ+ HDD и исходящая скорость 2 Мбит/с. Максимальное использование ОЗУ у автора - 735 МБ.
Как включить WebAdmin?
Установите bEnabled=true в [IpDrv.WebServer] файла KFWeb.ini, перезапустите сервер и откройте порт 8080 в браузере. Логин Admin, пароль по умолчанию пустой.
Как войти администратором в игре?
Откройте консоль и введите adminlogin и пароль, заданный в файле KFGame.ini.