Установка протестирована для Ubuntu 20.04. При попытке использовать Ubuntu 22.04, было обнаружено, что Wine для этой версии еще не стабилен и сервер Conan Exiles не запускался из-за отсутствия ряда библиотек Windows.
Отредактируй файл /etc/apt/sources.list.
Открой файл
nano /etc/apt/sources.list
Добавь записи из листинга ниже, если в существующих строках есть такие же записи, отличающиеся источником - закомментируй их (используя # в начале строки).
# Modification for Conan Exiles below.
deb http://archive.ubuntu.com/ubuntu/ focal main restricted
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ focal universe
deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://archive.ubuntu.com/ubuntu/ focal multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb http://security.ubuntu.com/ubuntu focal-security universe
deb http://security.ubuntu.com/ubuntu focal-security multiverse
Листинг для Ubuntu 20.04 (focal) для других версий замени focal на название своей версии
Сохрани файл (нажми Ctrl + X затем Y, затем Enter)
Обнови систему
sudo apt-get update
sudo apt-get upgrade
Установи зависимости SteamCMD и включи 32bit архитектуру
sudo apt-get install lib32gcc1 software-properties-common -y
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get upgrade
Установи SteamCMD
sudo apt-get install steamcmd
Создай отдельного пользователя для запуска сервера и работы со SteamCMD
sudo useradd -m -s /bin/bash steam
Настройка для запуска SteamCMD как консольной утилиты Linux
sudo -iu steam
mkdir bin
cd bin
ln -s /usr/games/steamcmd steamcmd
Для применения изменений нужно выйти из под пользователя steam и зайти заново
exit
sudo -iu steam
Действия выполняются из под пользователя steam
В SteamCMD скачивание игр и дополнений происходит по их ID, для Conan Exiles Server ID = 443030
Команда приведенная ниже скачает и установит Conan Exiles Server
steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir /home/steam/server +app_update 443030 +exit
Выйдем из пользователя steam
exit
Добавляем репозиторий Wine
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
Устанавливаем Wine
sudo apt install wine64 wine32
Устанавливаем screen и xvfb
sudo apt-get install screen xvfb
Все конфигурационные файлы находятся в папке
<Server Directory>/ConanSandbox/Saved/Config/WindowsServer/
Действия выполняются из под пользователя steam
Зайдем под пользователем steam
sudo -iu steam
Перед первой настройкой нужно запустить сервер, чтобы он создал все необходимые файлы
export WINEARCH=win64
export WINEPREFIX=/home/steam/.wine64
xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /home/steam/InstallDirectory/ConanSandboxServer.exe -log
После 2-5 минут работы сервера, останови его, для этого нажми Ctrl+C
Если ты задаешь пароль, то он должен оканчиватся переводом на новую строку. Пробелы до комментария (до знака
;тоже учитываются в пароле.
Добавь в конец файла. Если такие параметры в файле уже есть - просто отредактируй их.
[URL]
;The Port for your Server
Port=7777
[OnlineSubsystemSteam]
;The Name of your Server which is shown in the Server Browser
ServerName=
;The Port the SteamAPI will query your Server from
ServerQueryPort=27015
;The Password needed to access the Server
ServerPassword=
Добавь в конец файла. Если такие параметры в файле уже есть - просто отредактируй их.
;Either 0, 1 or 2. 2=Full, 1= Partial, 0=None
MaxNudity=
;This option currently should be disabled as there is an issue with Bodies
LogoutCharactersRemainInTheWorld=False
;Add this line to disable PVP
PVPEnabled=False
;This option is important: Use this to change all Settings ingame later.
AdminPassword=
Добавь в конец файла или соответствующую секцию. Если такие параметры в файле уже есть - просто отредактируй их.
[ConanSandbox]
UserID=steam
[/script/engine.gamesession]
;you can choose the max allowed players on the server
MaxPlayers=20
[/script/engine.gamenetworkmanager]
;careful changing the bandwith values as it may cause lags to your players
TotalNetBandwidth=4000000
MaxDynamicBandwidth=100000
MinDynamicBandwidth=40000
Для быстрого запуска сервера создадим sh-скрипт
Действия выполняются из под пользователя steam
Зайдем под пользователем steam
sudo -iu steam
Перейдем в папку сервера и создадим файл start.sh
cd server
nano start.sh
Скопируй скрипт в файл
#!/bin/sh
export WINEARCH=win64
export WINEPREFIX=/home/steam/.wine64
screen xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /home/steam/server/ConanSandboxServer.exe -log
Сохраняем файл.
Выдаем разрешение на исполнение файла
chmod +x start.sh
Теперь чтобы запустить сервер, находясь в папке сервера, выполняем
./start.sh
После запуска сервера консоль можно закрыть, сервер не остановится.
Подключаемся к серверу по SSH
Переходим под пользователя steam
sudo -iu steam
Подключаемся к окну сервера
screen -r
Чтобы заверщить работу сервера нажми Ctrl+C
Выполняем команды
killall 9 ConanSandboxServer.exe
killall 9 ConanSandboxServer-Win64-Test.exe
killall 9 Xvfb
Зайдем под пользователем steam
sudo -iu steam
Останавливаем сервер
screen -r
Чтобы заверщить работу сервера нажми Ctrl+C
Выполняем
steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +app_update 443030 +exit
Запускаем сервер
./server/start.sh
Зайдем под пользователем steam
sudo -iu steam
Останавливаем сервер
screen -r
Чтобы заверщить работу сервера нажми Ctrl+C
Для каждого мода, который хотим установить нужно выяснить его ID. При просмотре мода из браузера в адресной строке будет https://steamcommunity.com/sharedfiles/filedetails/?id= после = будет число, которое нам и нужно.
Установка мода, 999999999 нужно заменить на ID мода.
steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +workshop_download_item 440900 999999999 +exit
Я ставил моды с ID
115918027313697432381369802940144494732916296448461797359985173438336729085685141402835318Команда установки получилась такой
steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir /home/steam/server +app_update 443030 +workshop_download_item 440900 1159180273 +workshop_download_item 440900 1369743238 +workshop_download_item 440900 1369802940 +workshop_download_item 440900 1444947329 +workshop_download_item 440900 1629644846 +workshop_download_item 440900 1797359985 +workshop_download_item 440900 1734383367 +workshop_download_item 440900 2908568514 +workshop_download_item 440900 1402835318 +exit
Можно устанавливать каждый мод отдельно, тогда выполняем команду ниже для каждого мода не забывая менять ID мода
steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +workshop_download_item 440900 1159180273 +exit
Моды, по умолчанию, сохраняются в папку /home/steam/server/steamapps/workshop/content/
Понадобятся полные пути к файлу мода *.pak
Нужно создать файл modlist.txt в папке 'server/ConanSandbox/Mods'
nano /home/steam/server/ConanSandbox/Mods/modlist.txt
Исходя из набора модов перечисленных выше мой файл modlist.txt получился таким
/home/steam/server/steamapps/workshop/content/440900/1159180273/StylistPlus.pak
/home/steam/server/steamapps/workshop/content/440900/1369743238/No_Building_Placement_Restrictions.pak
/home/steam/server/steamapps/workshop/content/440900/1369802940/Emberlight.pak
/home/steam/server/steamapps/workshop/content/440900/1402835318/Warrior_mutator_mod.pak
/home/steam/server/steamapps/workshop/content/440900/1444947329/LBPR_Collision_Update_Add_On.pak
/home/steam/server/steamapps/workshop/content/440900/1629644846/KerozardsParagonLeveling.pak
/home/steam/server/steamapps/workshop/content/440900/1734383367/Tutorial.pak
/home/steam/server/steamapps/workshop/content/440900/1797359985/UIMod_Hosav.pak
/home/steam/server/steamapps/workshop/content/440900/2908568514/Legendary_Weapon_Armor.pak
Сохраняем файл ( Ctrl + X затем Y, затем Enter) и запускаем сервер
./server/start.sh
Для обновления модов выполняем команду установки мода еше раз, если есть обновления - они подтянутся.
Для резервного копирования зайдем под польщователем steam и создадим скрипт backup.sh в папке сервера
sudo -iu steam
cd server
nano backup.sh
Скрипт
# What to backup.
backup_files="/home/steam/server/ConanSandbox/Saved"
backup_files2="/home/steam/server/ConanSandbox/Mods"
# Where to backup to.
dest="/home/steam/Backup"
# Create archive filename.
day=$(date +%-Y%-m%-d)
time=$(date +%-T)
archive_file="Saved-$day-$time.tgz"
# Backup the files using tar.
tar czf $dest/$archive_file $backup_files $backup_files2
exit
Сохраняем файл.
Выдаем права на исполнение скрипта и создаем папку для резервных копий
chmod +x backup.sh
mkdir /home/steam/Backup
Останавливаем сервер
screen -r
Чтобы заверщить работу сервера нажми Ctrl+C
Выполняем скрипт
./backup.sh
Запускаем сервер
./start.sh
Все резервные копии сохраняются в папке /home/steam/Backup
Прежде чем менять карту отключи все моды. Для этого переименуй или удали файл
modlist.txtв папкеMods
engine.ini (расположен в папке сервера/ConanSandbox/Saved/Config/WindowsServer)[/Script/EngineSettings.GameMapsSettings]
ServerDefaultMap=/Game/DLC_EXT/DLC_Siptah/Maps/DLC_Isle_of_Siptah
Тебе понадобится SSH-клиент, например PuTTY
Ты должен знать пользователя и пароль (или у тебя должен быть файл закрытого ключа)
На основе инструкций: