Свой сервер

Сервер KF2 на Linux VPS: японское руководство сообщества

Это японское руководство объясняет, как запустить выделенный сервер Killing Floor 2 на арендованном Linux VPS на примере сервера автора. Если вам не нужен круглосуточный сервер и домашний канал в порядке, достаточно Windows-ПК, и автор отсылает к двум другим японским руководствам, среди них настройка на Windows за 10 шагов.

1. Подготовка Linux

Окружение автора:

  • Kagoya VPS, около 3850 иен в месяц
  • Ubuntu 20.04
  • 4 ядра CPU, 4 ГБ RAM
  • 100 ГБ хранилища (KF2 большая, поэтому берите тариф со 100 ГБ)

Экран создания экземпляра VPS Экран создания экземпляра на арендованном сервере.

После входа выберите создание экземпляра и подберите характеристики. Нажмите добавление ключа для входа, зарегистрируйте его под любым именем, введите имя экземпляра и нажмите создание внизу страницы. В списке экземпляров выберите новый и нажмите «Запустить». Для управления откройте вкладку «Консоль» (разрешите всплывающие окна в браузере, если они блокируются).

2. Шаги установки

На запрос login: введите root и пароль, заданный при создании экземпляра.

Swap. Договор на 4 ГБ, но автору нужно около 16 ГБ, поэтому недостающие 12 ГБ создаются на SSD:

# fallocate -l 12G /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
# sed -i '$ a /swapfile swap swap defaults 0 0' /etc/fstab

Имя /swapfile произвольное; если оно занято, используйте другое, например /swapfile2. Проверка: free -m -h.

Firewall. Откройте порты:

  • 27015 (Steam)
  • 20560 (Steam)
  • 123 (Weekly)
  • 7777 (сервер, номер любой; для нескольких серверов откройте несколько, автор открывает 7777-7781)
# apt install firewalld
# firewall-cmd --permanent --add-port=27015/udp
# firewall-cmd --permanent --add-port=20560/udp
# firewall-cmd --permanent --add-port=123/udp
# firewall-cmd --permanent --add-port=7777/udp
# firewall-cmd --reload

Затем в панели управления VPS создайте группу безопасности и откройте те же порты.

SteamCMD и пользователь.

# apt update
# apt upgrade
# apt install lib32gcc1
# apt install curl
# useradd -m [имя пользователя]
# su - [имя пользователя]
$ mkdir ~/Steam
$ cd ~/Steam
$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
$ ./steamcmd.sh
Steam> force_install_dir kf2server
Steam> login anonymous
Steam> app_update 232130 validate
Steam> exit

3. Частые команды

  • cd [dir] смена каталога
  • ls [dir] содержимое каталога
  • vim [file] редактирование файла
  • cp [file1] [file2] копирование
  • rm [file] удаление
  • cat просмотр файла
  • df -h использование диска
  • ps -a запущенные процессы
  • kill [ID] остановка процесса

4. Настройка сервера

Команда запуска на Linux: ./Binaries/Win64/KFGameSteamServer.bin.x86_64 kf-bioticslab. Чтобы не вводить её каждый раз, создайте shell-скрипт (аналог bat-файла):

  1. vim 01.sh для создания и редактирования файла.
  2. Нажмите i, введите команду выше, нажмите Esc, затем :wq для сохранения и выхода.
  3. Сделайте файл исполняемым: chmod +x 01.sh.
  4. Один раз запустите сервер ./01.sh, чтобы создались основные файлы.

Затем отредактируйте в KFGame/Config:

  • KFWeb.ini: bEnabled=True
  • LinuxServer-KFGame.ini: MaxSpectators=6, AdminPassword=..., bPartitionSpectators=True

Большинство остальных настроек меняется в WebAdmin. LinuxServer-KFEngine.ini служит для интеграции с Workshop, а LinuxServer-KFGame.ini для управления картами; эти шаги совпадают с Windows. Для нескольких серверов установите tmux и запускайте несколько скриптов в разделённых панелях. Остановить сервер можно через Ctrl+C или найти процесс командой ps -a и выполнить kill [ID процесса].

См. также дешёвый VPS с LinuxGSM для KF2.

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

Какие порты нужны Linux-серверу KF2?
UDP 27015 и 20560 для Steam, UDP 123 для синхронизации времени еженедельного режима и игровой порт 7777 (для нескольких серверов откройте диапазон, например 7777-7781).
Какая команда запускает Linux-сервер?
./Binaries/Win64/KFGameSteamServer.bin.x86_64 и имя карты, например kf-bioticslab.
Зачем добавлять swap на VPS?
У автора VPS на 4 ГБ, но ему нужно около 16 ГБ суммарно, поэтому 12 ГБ swap на SSD создаётся через fallocate, mkswap и swapon.