Свой сервер

Дешёвый сервер KF2 на VPS: LinuxGSM, веб-админка и защита

Страница пересказывает англоязычное руководство сообщества (автор из Франции) о том, как запустить собственный выделенный сервер Killing Floor 2 на дешёвом VPS через LinuxGSM. Другие руководства по хостингу: сервер KF2 через SteamCMD и пользовательская служба systemd в Linux.

Шаг 1: выберите хостинг и войдите на сервер

Ищите самый дешёвый сервер, отвечающий требованиям. В примерах Serverspace, Vultr, Scaleway и OVH; меняйте язык сайта, чтобы увидеть цены для вашей страны. Serverspace и Scaleway позволяют останавливать сервер, когда он не нужен, чтобы не платить за простой весь месяц. Выбирайте дата-центр поближе (проверяйте даже город: соседняя страна может оказаться ближе другого города вашей) ради меньшей задержки.

Минимальная конфигурация:

  • 1 ядро CPU
  • 1 ГБ ОЗУ
  • 25 ГБ диска, лучше SSD (20 ГБ для установки KF2 недостаточно)
  • Только IPv4, без IPv6
  • Неограниченный трафик (необязательно)
  • Ubuntu Server 18.04

Пока сервер готовится, установите PuTTY. Когда сервер готов, IPv4-адрес и данные root приходят по почте или в панели управления. В PuTTY введите IPv4-адрес, порт 22, тип подключения SSH, сохраните имя, откройте и примите сертификат. Войдите как root с выданным паролем.

Настройки подключения PuTTY Главная страница PuTTY с адресом сервера и портом SSH.

Вход под root Успешный вход под root.

Шаг 2: установка сервера KF2

  1. Обновите систему: apt-get update && apt-get upgrade -y.
  2. Установите SteamCMD из репозитория multiverse (в списке по умолчанию на 64-битной системе его нет):
    • add-apt-repository multiverse
    • dpkg --add-architecture i386
    • apt update
    • apt install lib32gcc1 steamcmd (подтверждайте y и принимайте лицензию стрелками, пробелом и enter).
  3. Установите нужные пакеты: apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux libstdc++6 lib32stdc++6 netcat.
  4. Создайте обычного пользователя вместо работы под root: adduser kf2server, задайте надёжный пароль, затем usermod -aG sudo kf2server и su - kf2server.
  5. Скачайте LinuxGSM: wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh kf2server.
  6. Установите: ./kf2server install. Занимает примерно 15-20 минут и около 20 ГБ; если не хватает пакетов, установщик попросит пароль пользователя, чтобы поставить их через sudo.
  7. Один раз запустите и остановите сервер, чтобы создались файлы конфигурации: ./kf2server start и ./kf2server stop.

Шаг 3: настройка сервера

Установите nano при необходимости (sudo apt install nano) и перейдите в serverfiles/KFGame/Config.

  • KFWeb.ini: в [IpDrv.WebServer] задайте bEnabled=true и при желании замените ListenPort=8080 на другой порт от 2000 до 9999, чтобы включить панель веб-администратора.

    Настройки веб-админки в KFWeb.ini Включение веб-админки в KFWeb.ini.

  • LinuxServer-KFEngine.ini: найдите через Ctrl+W bUsedForTakeover и поставьте FALSE, чтобы отключить систему аренды (takeover) сервера, чтобы чужой поиск не перехватил ваш сервер.

    Настройка bUsedForTakeover Отключение takeover.

  • LinuxServer-KFGame.ini: в [Engine.AccessControl] задайте AdminPassword (пароль веб-админки) и при желании GamePassword, чтобы пускать только друзей. Сложность можно задать позже в веб-админке.

    Пароли администратора и игры Пароли в KFGame.ini.

Сохраняйте в nano через Ctrl+X, Y, Enter. Вернитесь в корень папки (несколько раз cd ..), затем ./kf2server start и ./kf2server details. Статус должен быть online. Если «WebAdmin enabled» равно false, повторите правки KFWeb.ini и KFGame.ini в serverfiles/KFGame/Config/kf2server и выполните ./kf2server restart.

Откройте ссылку из details (http://<ipv4>:<порт>) в браузере, войдите с пользователем Admin и вашим паролем администратора и настройте игру.

Страница входа в веб-админку Страница входа в веб-админку.

Чтобы зайти, запустите KF2, нажмите F3 для консоли и введите open <ipv4server>. Пароль игры, если он задан, будет запрошен автоматически.

Шаг 4: защита VPS (по желанию)

  1. Смените пароль root: su - root, затем passwd root.

  2. Смените порт SSH и запретите вход под root: под root отредактируйте nano /etc/ssh/sshd_config. Раскомментируйте строку Port и задайте порт от 2000 до 9999; найдите «Authentication», раскомментируйте три строки и поставьте PermitRootLogin no. Сохраните и выполните /etc/init.d/ssh restart. Запомните новый порт: порт 22 перестанет работать, а root не сможет заходить напрямую. Проверьте, войдя заново через новый порт под kf2server.

    Смена порта SSH Порт SSH в sshd_config.

    PermitRootLogin Запрет входа под root.

  3. Файрвол: под root apt install ufw, затем сначала ufw allow <ваш порт SSH> (ошибка здесь может закрыть вам доступ), и игровые порты: ufw allow 27015/udp, ufw allow 20560/udp, ufw allow 7777/udp, ufw allow 123/udp и ufw allow <порт веб-админки>/tcp. Неверное правило удаляется командой ufw delete allow <порт>/.... Затем ufw disable и ufw enable с подтверждением Y; если вас не выбросило, всё сработало. Проверьте ufw status и удалите правило «OpenSSH» по умолчанию для порта 22.

Выйдите из root и проверьте игровой сервер и веб-админку.

Основные команды LinuxGSM

Запустите ./kf2server, чтобы увидеть все команды. Основные:

  • start, stop, restart и console (живая консоль; выход через Ctrl+B, затем D, а Ctrl+C завершает сервер).
  • update (проверка и применение обновлений, перезапуск только при необходимости), force-update (без проверки) и validate.
  • details (пароли, порты, файлы конфигурации), debug (вывод в терминал) и журналы в /home/kf2server/logs.
  • backup создаёт архив tar.bz2 всего сервера; monitor проверяет процесс, может перезапустить его и отправить уведомление, запускается через cron.

Настройки самого LinuxGSM описаны в его документации (страница файлов конфигурации).

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

Какие параметры VPS нужны для сервера KF2?
Минимум по руководству: 1 ядро CPU, 1 ГБ ОЗУ, 25 ГБ диска (лучше SSD; 20 ГБ не хватит для установки сервера), только IPv4 и Ubuntu Server 18.04.
Какие порты нужно открыть в файрволе?
27015/udp, 20560/udp, 7777/udp, 123/udp и TCP-порт веб-админки (по умолчанию 8080), а также ваш пользовательский порт SSH.
Как подключиться к серверу в игре?
Откройте консоль клавишей F3 в игре и введите open и IPv4-адрес сервера.