Дешёвый сервер 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 с адресом сервера и портом SSH.
Успешный вход под root.
Шаг 2: установка сервера KF2
- Обновите систему:
apt-get update && apt-get upgrade -y. - Установите SteamCMD из репозитория multiverse (в списке по умолчанию на 64-битной системе его нет):
add-apt-repository multiversedpkg --add-architecture i386apt updateapt install lib32gcc1 steamcmd(подтверждайте y и принимайте лицензию стрелками, пробелом и enter).
- Установите нужные пакеты:
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. - Создайте обычного пользователя вместо работы под root:
adduser kf2server, задайте надёжный пароль, затемusermod -aG sudo kf2serverиsu - kf2server. - Скачайте LinuxGSM:
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh kf2server. - Установите:
./kf2server install. Занимает примерно 15-20 минут и около 20 ГБ; если не хватает пакетов, установщик попросит пароль пользователя, чтобы поставить их через sudo. - Один раз запустите и остановите сервер, чтобы создались файлы конфигурации:
./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. -
LinuxServer-KFEngine.ini: найдите через Ctrl+W
bUsedForTakeoverи поставьтеFALSE, чтобы отключить систему аренды (takeover) сервера, чтобы чужой поиск не перехватил ваш сервер.
Отключение 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 (по желанию)
-
Смените пароль root:
su - root, затемpasswd root. -
Смените порт SSH и запретите вход под root: под root отредактируйте
nano /etc/ssh/sshd_config. Раскомментируйте строку Port и задайте порт от 2000 до 9999; найдите «Authentication», раскомментируйте три строки и поставьтеPermitRootLogin no. Сохраните и выполните/etc/init.d/ssh restart. Запомните новый порт: порт 22 перестанет работать, а root не сможет заходить напрямую. Проверьте, войдя заново через новый порт подkf2server.
Порт SSH в sshd_config.
Запрет входа под root. -
Файрвол: под 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-адрес сервера.