FortressCraft Evolved

FortressCraft Evolved

Not enough ratings
Сервер FortressCraft Evolved на Linux
By Tander
Это руководство - результат четырехчасового копания в различных источниках, сбора информации по крупицам и проверка их на практике. Оно не претендует на полноту и тщательность - воспринимайте его как краткий рецепт по получению работающего сервера FCE на удаленном сервере под управлением Ubuntu
   
Award
Favorite
Favorited
Unfavorite
Развертывание сервера
GLIBC
Проверяем версию GLIBC, должна быть не ниже 2.15:
ldd --version
Если ниже, обновляем дистрибутив
sudo apt-get update sudo apt-get upgrade
Если не помогло - обновляем или просто устанавливаем более свежий дистрибутив Ubuntu

SteamCMD
Ставим command-line оболочку для Steam: https://developer.valvesoftware.com/wiki/SteamCMD:ru#Linux (на этой же странице можно найти более подробную информацию об SteamCMD.

Далее запускаем SteamCMD
cd ~/steamcmd ./steamcmd.sh

Логинимся в учетную запись, в которой куплена FortressCraft
login username password
Проходим двухфакторную факторизацию, если она запрашивается.

Указываем директорию и устанавливаем игру, после чего выходим из SteamCMD
force_install_dir FCE app_update 254200 quit

Xvfb и библиотеки
Серверу для запуска требуется виртуальный X-сервер, ставим Xvfb
sudo apt-get install xvfb

Также сервер не запустится без некоторого количества библиотек, ставим
sudo apt-get install libxcursor1 libxrandr2

Настройки сервера
Редактируем файлы конфигурации:
nano ~/FCE/Default/firstrun.ini nano ~/FCE/Default/serveroverrides.ini
Параметры в них самоочевидны, меняем по вкусу, но в любом случае меняем Password на более сложный пароль.

Создаем .sh скрипт для упрощения запуска сервера (я кладу скрипт в ту же папку, где находится сервер)
cd ~/FCE cat > fce-start.sh << "EOF" #!/bin/sh cd ~/FCE xvfb-run -a -s "-screen 0 1024x768x24" ./FC_Linux_Universal.x86_64 -batchmode EOF chmod +x ./fce-start.sh

Проброс портов
Если сервер находится за NAT'ом, на роутере пробрасываем порты RCONPort (управление сервером) и ServerPort (доступ к серверу игрокам).
Важный нюанс: у меня заработало только когда я пробросил по этим портам и TCP, и UDP, не смотря на то что я встречал заявления что сервер работает ТОЛЬКО по UDP.
Управление сервером
Запуск сервера
Ставим screen, если по каким-то причинам у вас не установлен - ставим
sudo apt-get install screen

Если это первый запуск, создаем screen
screen -R fce
Если screen уже создан - переключаемся
screen -r fce
Переходим в каталог, куда положили скрипт и запускаем его
cd ~/FCE ./fce-start.sh
Сервер запущен. Спустя несколько минут он будет готов принимать игроков.

Сделать detach (выйти из screen, не завершая его работы) можно комбинацией Ctrl+A и затем D.

Управление и остановка сервера
Для управления используем клиент RCON, идущий в комплекте с Windows-версией игры и находящийся в [ПУТЬ_ДО_ПАПКИ_STEAM]\steamapps\common\FortressCraft\64\Default\Tools\PicoRCON.zip
Распаковываем архив, запускаем PicoRCON.exe и заходим на сервер:
connect IP_СЕРВЕРА:RCON_ПОРТ RCON_ПАРОЛЬ

Наиболее полный список команд я нашел здесь: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=788739671

Нас прежде всего интересует, как остановить сервер
Exit
или
FCQuit

Результат работы остальных команд вы не увидите в PicoRCON, но его можно увидеть в файле лога, расположенного ~/.config/unity3d/ProjectorGames/FortressCraft/Player.log
Этот файл можно просматривать в режиме реального времени
tail -f ~/.config/unity3d/ProjectorGames/FortressCraft/Player.log
Следите за его размером, файл со временем может разрастись до гигабайтов.
Читателям
Если вы горите желанием сделать этот гайд лучше (ну вдруг?) - пишите, организуем.