太空工程师Linux开服教程
该教程有一定难度且由于net限制Linux部署需要使用Wine兼容层Ubuntu使用的是WineHQ
第一种方式
第一步先下载部署包:
https://www.mpcua.com/docker-spaceengineers.zip
1.下载完成后将该文件通过ftp上传到服务器
2.cd到docker-spaceengineers-master文件夹下
3.修改文件夹内 docker-compose.yml 仅可修改端口和IP其他不能动
4.提前准备好游戏存档设置上传至/appdata/space-engineers/instances/目录下
5.在包含 docker-compose.yml 文件的目录下运行 docker-compose up -d 命令
备注:改方式部署无法下载mod 需要手动下载mod上传到服务器mod目录下
第二种方式(建议无视改方式)
第一步请使用ARCH或者Debian系统ubuntu目前测试也许支持,完成对下述软件包的安装 不会的请百度
bash
coreutils
grep
sed
awk
curl
rsync
wget
findutils
tmux
zip
unzip
p7zip
postfix
s-nail
cabextract
xvfb
wine
安装
有3种方法可以安装脚本:
通过使用存储库
通过安装软件包
通过手动安装脚本
然后继续用户登录和配置
按存储库安装
通过安装存储库,您还可以在有新的更新可用时使用包管理器更新脚本。
基于Arch的发行版
编辑 /etc/pacman.conf
并将以下行添加到文件的底部:
Include = /etc/pacman.d/seventhcore-scripts-repo
然后在/etc/pacman.d/seventhcore-scripts-repo中创建一个新文件
,并添加以下内容:
[seventhcore-scripts-repo]
SigLevel = Optional TrustAll
Server = https://raw.githubusercontent.com/7thCore/pkg-repo/pkg-arch
Arch用户必须先从aur安装steamcmd,然后再尝试安装该软件包。
现在,您可以通过运行以下命令来安装脚本 吃豆人-Sy sesrv脚本
基于Debian的发行版
首先,您需要下载存储库公钥并将其添加到您的keyring中。现在,由于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
现在在/etc/apt/sources.list.d/seventhcore-scripts-repo.list中创建一个新文件
,并添加以下内容:
deb [signed-by=/usr/share/keyrings/seventhcore-scripts-repo.gpg] https://raw.githubusercontent.com/7thCore/pkg-repo/pkg-debian stable main
现在,您可以通过运行以下命令来安装脚本 apt更新
之后 apt安装sesrv脚本
使用软件包安装
下载并安装该软件包
如果可以访问请通过 https://github.com/7thCore/sesrv-script 下载
无法访问可以通过
基于Arch的发行版:
Arch用户必须先从aur安装steamcmd,然后再尝试安装该软件包。
sudo pacman -U /path/to/sesrv-script-1.0-1-x86_64.pkg.tar.zst
基于Debian的发行版:
sudo apt install /path/to/sesrv-server_1.0-1_amd64.deb
所有必需的软件包都作为依赖项列在脚本软件包中,并将自动安装
手动安装
使用ssh登录到服务器并执行:
git clone https://github.com/7thCore/sesrv-script
将sesrv脚本复制到/usr/bin
cp ./sesrv-script.bash /usr/bin/sesrv-script
用户和文件夹结构创建
创建sesrv用户
useradd --system -g sesrv -d /srv/sesrv/ -s /bin/bash sesrv
创建服务器的文件夹结构:
mkdir -p /srv/sesrv/{server,config,updates,backups,logs,tmpfs}
mkdir -p /srv/sesrv/.config/systemd/user
服务和定时器安装
将所有.service和.timer文件复制到用户目录
cp ./*.service /srv/sesrv/.config/systemd/user/
cp ./*.timer /srv/sesrv/.config/systemd/user/
Bash配置文件安装和权限配置
将bash配置文件复制到sesrv目录
cp ./bash_profile /srv/sesrv/.bash_profile
向用户给予文件权限
chown -R sesrv:sesrv /srv/sesrv
配置用户服务
启动用户服务并启用延迟
loginctl enable-linger sesrv
systemctl start user@$(id -u sesrv).service
用户登录和脚本配置
sudo -i -u sesrv
sesrv-script config_script
脚本配置
该脚本具有多个配置函数来启用集成。config _script
不是可选的,必须进行配置。
可以重新执行这些功能来更改配置,也可以手动编辑配置文件。配置文件位于以下文件夹中:
/srv/sesrv/config
命令说明
config_script
配置脚本,启用systemd服务并安装wine前缀
config_steam
配置steamcmd,自动更新和安装游戏服务器文件
config_discord
配置不协调集成
config_email
配置电子邮件集成。由于后缀配置文件位于/etc中,因此必须以root身份执行此操作
config_tmpfs
配置tmpfs/ramdisk。由于它向/etc/fstab添加了一行,因此必须以root用户身份执行
游戏特定调整
坐标和配置文件
最简单的方法是在本地生成并复制到服务器上,这可以通过使用Windows系统上的专用服务器工具来完成,该工具位于
[Steam install directory]\steamapps\common\SpaceEngineers\Tools\DedicatedServer\SpaceEngineersDedicated.exe
选择默认配置文件,设置世界,保存配置并开始生成世界。然后关闭服务器。
文件将存储在
C:\Users\sesrv\AppData\Roaming\SpaceEngineersDedicated\Default\
使用复制文件 保存
文件夹添加到Linux服务器上的以下目录。脚本现在支持多实例(默认实例为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
文件。
您必须以相同的方式编辑每个服务器实例的配置。
脚本配置
脚本的第一次配置实际上并没有太多的工作要做,只是简单的登录和命令执行
用户登录和脚本配置
登录到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前缀,请执行以下命令:
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权限运行脚本,并按照说明操作:
sudo sesrv-script config_tmpfs
手册
要手动创建ramdisk,您需要获取sesrv用户的用户ID:
id -u sesrv
使用用户ID将以下内容添加到fstab:
/etc/fstab
tmpfs /srv/sesrv/tmpfs tmpfs rw,size=8G,uid=<user-id>,mode=0777 0 0
size值表示tmpfs/ramdisk的大小。8 G是为8千兆字节。
以sesrv用户身份重新加载用户服务:
sesrv-script reload_services
SteamCMD配置
登录到sesrv用户,运行脚本并按照说明操作:
sesrv-script config_steam
手册
使用sesrv用户至少运行一次SteamCMD。
steamcmd +login anonymous +quit
创建以下文件,并根据所需的配置(1为真,0为假)向其中添加以下行:
/srv/sesrv/config/sesrv-steam.conf
steamcmd_beta_branch=0
steamcmd_beta_branch_name=none
您可以通过执行以下命令使用SteamCMD下载游戏:
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /srv/sesrv/server/drive_c/Games/SpaceEngineersDedicat
该教程来自github的7thCore翻译精简