欢迎光临散文网 会员登陆 & 注册

太空工程师Linux开服教程

2023-02-28 09:47 作者:宇宙协会  | 我要投稿

该教程有一定难度且由于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.confscript_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/fstabtmpfs   /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.confsteamcmd_beta_branch=0 steamcmd_beta_branch_name=none

您可以通过执行以下命令使用SteamCMD下载游戏:

steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /srv/sesrv/server/drive_c/Games/SpaceEngineersDedicat


该教程来自github的7thCore翻译精简

太空工程师Linux开服教程的评论 (共 条)

分享到微博请遵守国家法律