太空工程師Linux開服教程
該教程有一定難度且由于net限制Linux部署需要使用Wine兼容層Ubuntu使用的是WineHQ
第一種方式
第一步先下載部署包:
https://www.mpcua.com/docker-spaceengineers.zip
1.下載完成后將該文件通過ftp上傳到服務(wù)器
2.cd到docker-spaceengineers-master文件夾下
3.修改文件夾內(nèi) docker-compose.yml 僅可修改端口和IP其他不能動
4.提前準備好游戲存檔設(shè)置上傳至/appdata/space-engineers/instances/目錄下
5.在包含 docker-compose.yml 文件的目錄下運行?docker-compose up -d 命令
備注:改方式部署無法下載mod 需要手動下載mod上傳到服務(wù)器mod目錄下
第二種方式(建議無視改方式)
第一步請使用ARCH或者Debian系統(tǒng)ubuntu目前測試也許支持,完成對下述軟件包的安裝 不會的請百度
bash
coreutils
grep
sed
awk
curl
rsync
wget
findutils
tmux
zip
unzip
p7zip
postfix
s-nail
cabextract
xvfb
wine
安裝
有3種方法可以安裝腳本:
通過使用存儲庫
通過安裝軟件包
通過手動安裝腳本
然后繼續(xù)用戶登錄和配置
按存儲庫安裝
通過安裝存儲庫,您還可以在有新的更新可用時使用包管理器更新腳本。
基于Arch的發(fā)行版
編輯?/etc/pacman.conf
并將以下行添加到文件的底部:
Include = /etc/pacman.d/seventhcore-scripts-repo
然后在/etc/pacman.d/seventhcore-scripts-repo中創(chuàng)建一個新文件
,并添加以下內(nèi)容:
[seventhcore-scripts-repo]
SigLevel = Optional TrustAll
Server = https://raw.githubusercontent.com/7thCore/pkg-repo/pkg-arch
Arch用戶必須先從aur安裝steamcmd,然后再嘗試安裝該軟件包。
現(xiàn)在,您可以通過運行以下命令來安裝腳本?吃豆人-Sy sesrv腳本
基于Debian的發(fā)行版
首先,您需要下載存儲庫公鑰并將其添加到您的keyring中?,F(xiàn)在,由于apt-key已棄用,我們將使用一個不同的命令來獲取密鑰:
wget --quiet -O - https://raw.githubusercontent.com/7thCore/pkg-repo/pkg-debian/seventhcore-scripts-repo.key | gpg --dearmor | sudo tee "/usr/share/keyrings/seventhcore-scripts-repo.gpg" >/dev/null
現(xiàn)在在/etc/apt/sources.list.d/seventhcore-scripts-repo.list中創(chuàng)建一個新文件
,并添加以下內(nèi)容:
deb [signed-by=/usr/share/keyrings/seventhcore-scripts-repo.gpg] https://raw.githubusercontent.com/7thCore/pkg-repo/pkg-debian stable main
現(xiàn)在,您可以通過運行以下命令來安裝腳本?apt更新
?之后?apt安裝sesrv腳本
使用軟件包安裝
下載并安裝該軟件包?
如果可以訪問請通過 https://github.com/7thCore/sesrv-script 下載
無法訪問可以通過?
基于Arch的發(fā)行版:
Arch用戶必須先從aur安裝steamcmd,然后再嘗試安裝該軟件包。
sudo pacman -U /path/to/sesrv-script-1.0-1-x86_64.pkg.tar.zst
基于Debian的發(fā)行版:
sudo apt install /path/to/sesrv-server_1.0-1_amd64.deb
所有必需的軟件包都作為依賴項列在腳本軟件包中,并將自動安裝
手動安裝
使用ssh登錄到服務(wù)器并執(zhí)行:
git clone https://github.com/7thCore/sesrv-script
將sesrv腳本復(fù)制到/usr/bin
cp ./sesrv-script.bash /usr/bin/sesrv-script
用戶和文件夾結(jié)構(gòu)創(chuàng)建
創(chuàng)建sesrv用戶
useradd --system -g sesrv -d /srv/sesrv/ -s /bin/bash sesrv
創(chuàng)建服務(wù)器的文件夾結(jié)構(gòu):
mkdir -p /srv/sesrv/{server,config,updates,backups,logs,tmpfs}
mkdir -p /srv/sesrv/.config/systemd/user
服務(wù)和定時器安裝
將所有.service和.timer文件復(fù)制到用戶目錄
cp ./*.service /srv/sesrv/.config/systemd/user/
cp ./*.timer /srv/sesrv/.config/systemd/user/
Bash配置文件安裝和權(quán)限配置
將bash配置文件復(fù)制到sesrv目錄
cp ./bash_profile /srv/sesrv/.bash_profile
向用戶給予文件權(quán)限
chown -R sesrv:sesrv /srv/sesrv
配置用戶服務(wù)
啟動用戶服務(wù)并啟用延遲
loginctl enable-linger sesrv
systemctl start user@$(id -u sesrv).service
用戶登錄和腳本配置
sudo -i -u sesrv
sesrv-script config_script
腳本配置
該腳本具有多個配置函數(shù)來啟用集成。config?_script
不是可選的,必須進行配置。
可以重新執(zhí)行這些功能來更改配置,也可以手動編輯配置文件。配置文件位于以下文件夾中:
/srv/sesrv/config
命令說明
config_script?
配置腳本,啟用systemd服務(wù)并安裝wine前綴
config_steam?
配置steamcmd,自動更新和安裝游戲服務(wù)器文件
config_discord?
配置不協(xié)調(diào)集成
config_email?
配置電子郵件集成。由于后綴配置文件位于/etc中,因此必須以root身份執(zhí)行此操作
config_tmpfs?
配置tmpfs/ramdisk。由于它向/etc/fstab添加了一行,因此必須以root用戶身份執(zhí)行
游戲特定調(diào)整
坐標和配置文件
最簡單的方法是在本地生成并復(fù)制到服務(wù)器上,這可以通過使用Windows系統(tǒng)上的專用服務(wù)器工具來完成,該工具位于
[Steam install directory]\steamapps\common\SpaceEngineers\Tools\DedicatedServer\SpaceEngineersDedicated.exe
選擇默認配置文件,設(shè)置世界,保存配置并開始生成世界。然后關(guān)閉服務(wù)器。
文件將存儲在
C:\Users\sesrv\AppData\Roaming\SpaceEngineersDedicated\Default\
使用復(fù)制文件?保存
文件夾添加到Linux服務(wù)器上的以下目錄。腳本現(xiàn)在支持多實例(默認實例為01)
/srv/sesrv/server/drive_c/Games/SpaceEngineersDedicated_Save/01
你必須改變?<負載世界>
?附入?SpaceEngineers-Dedicated.cfg
所以它指向正確的目錄。
如果保存文件夾位于
/sesrv/sesrv/server/drive_c/Games/SpaceEngineersDedicated_Save/01/Saves/Star System
該?<負載世界>
標記必須如下所示:
<LoadWorld>C:\Games\SpaceEngineersDedicated_Save\01\Saves\Star System</LoadWorld>
您仍然需要在?SpaceEngineers-Dedicated.cfg
文件。
您必須以相同的方式編輯每個服務(wù)器實例的配置。
腳本配置
腳本的第一次配置實際上并沒有太多的工作要做,只是簡單的登錄和命令執(zhí)行
用戶登錄和腳本配置
登錄到sesrv用戶,運行腳本并按照說明操作:
sesrv-script config_script
手動配置
以下是腳本配置的默認值:
/srv/sesrv/config/sesrv-script.conf
script_bckp_delold=7
script_log_delold=7
script_log_game_delold=7
script_update_ignore_failed_startups=0
script_tmpfs_space=90
Wine前綴生成
要生成wine前綴,請執(zhí)行以下命令:
Xvfb :5 -screen 0 1024x768x16 &
env WINEARCH=win64 WINEDEBUG=-all WINEDLLOVERRIDES="mscoree=d" WINEPREFIX=/srv/sesrv/server wineboot --init /nogui
env WINEARCH=win64 WINEDEBUG=-all WINEPREFIX=/srv/sesrv/server winetricks corefonts
env DISPLAY=:5.0 WINEARCH=win64 WINEDEBUG=-all WINEPREFIX=/srv/sesrv/server winetricks -q vcrun2013
env DISPLAY=:5.0 WINEARCH=win64 WINEDEBUG=-all WINEPREFIX=/srv/sesrv/server winetricks -q vcrun2017
env DISPLAY=:5.0 WINEARCH=win64 WINEDEBUG=-all WINEPREFIX=/srv/sesrv/server winetricks -q --force dotnet48
env WINEARCH=win64 WINEDEBUG=-all WINEPREFIX=/srv/sesrv/server winetricks sound=disabled
pkill -f Xvfb
Tmpfs配置
使用root權(quán)限運行腳本,并按照說明操作:
sudo sesrv-script config_tmpfs
手冊
要手動創(chuàng)建ramdisk,您需要獲取sesrv用戶的用戶ID:
id -u sesrv
使用用戶ID將以下內(nèi)容添加到fstab:
/etc/fstab
tmpfs ? /srv/sesrv/tmpfs tmpfs ? rw,size=8G,uid=<user-id>,mode=0777 0 0
size值表示tmpfs/ramdisk的大小。8 G是為8千兆字節(jié)。
以sesrv用戶身份重新加載用戶服務(wù):
sesrv-script reload_services
SteamCMD配置
登錄到sesrv用戶,運行腳本并按照說明操作:
sesrv-script config_steam
手冊
使用sesrv用戶至少運行一次SteamCMD。
steamcmd +login anonymous +quit
創(chuàng)建以下文件,并根據(jù)所需的配置(1為真,0為假)向其中添加以下行:
/srv/sesrv/config/sesrv-steam.conf
steamcmd_beta_branch=0
steamcmd_beta_branch_name=none
您可以通過執(zhí)行以下命令使用SteamCMD下載游戲:
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /srv/sesrv/server/drive_c/Games/SpaceEngineersDedicat
該教程來自github的7thCore翻譯精簡