Сервер 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 ГБ)
Экран создания экземпляра на арендованном сервере.
После входа выберите создание экземпляра и подберите характеристики. Нажмите добавление ключа для входа, зарегистрируйте его под любым именем, введите имя экземпляра и нажмите создание внизу страницы. В списке экземпляров выберите новый и нажмите «Запустить». Для управления откройте вкладку «Консоль» (разрешите всплывающие окна в браузере, если они блокируются).
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-файла):
vim 01.shдля создания и редактирования файла.- Нажмите
i, введите команду выше, нажмитеEsc, затем:wqдля сохранения и выхода. - Сделайте файл исполняемым:
chmod +x 01.sh. - Один раз запустите сервер
./01.sh, чтобы создались основные файлы.
Затем отредактируйте в KFGame/Config:
KFWeb.ini:bEnabled=TrueLinuxServer-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.