《Satisfactory幸福工厂》专用服务器搭建(Linux及Windows环境)


hpjy
hpjy 2022-09-21 14:20:59 54147
分类专栏: 资讯

《Satisfactory幸福工厂》专用服务器搭建

在2021年10月26日工厂5更新中,第一次推送工厂专用服务器系统(终于不用联机时卡卡卡了)。目前,专用服务器可用于 Windows 和 Linux 平台,只能通过 Steam 或Steam控制台SteamCMD 安装。目前仅支持测试版的专用服务器。

一、服务器搭建前提

1、开放端口

在开始之前,需要确保以下端口是开放的,因此可能需要创建防火墙规则或在路由器中配置端口转发。端口重定向目前不支持,因此在路由器中打开的端口需要与此处提供的端口匹配(IE:不要将端口 7777 转发为路由器上的端口 7778)。根据下面的表,每个端口都可以通过参数覆盖。如果你想在一台计算机上运行服务器的多个实例,则必须覆盖至少一个端口。

默认端口(仅限 UDP)重写参数注释
15777-ServerQueryPort=???这是您第一次连接到专用服务器时需要输入的端口。此端口可以自由重定向。
15000-BeaconPort=???此端口目前无法重定向。如果启动服务器的多个实例并且默认已在使用中,则会自动增量。
7777-Port=???此端口目前无法重定向。如果启动服务器的多个实例并且默认已在使用中,则会自动增量。

总之,如果你使用的是云服务,记得在在安全组中开放这几个端口。

2、服务器配置需求

官方提供的数据服务器至少需要4 GB内存和10 GB的存储空间。但实际测试中建议运行具有Linux下6+ GB、Windows下8+G内存和更多存储空间的服务器,以支持> 4 个小伙伴同时联机或大型、复杂的工厂。

二、Linux环境搭建

1、安装编译环境

ubuntu

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install lib32gcc1 libcurl4-gnutls-dev:i386 lib32stdc++6 lib32z1 -y
ttyprint">yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
yum install glibc.i686 libstdc++.i686 libcurl.i686 screen -y
  • 1
  • 2
  • 3

2、下载 steamCMD,安装

这里需要使用非root用户

useradd -m steam
su steam

mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

安装包运行

./steamcmd.sh
  • 1

安装完成后输入quit退出Steam控制台。

3、在steam 状态下匿名登录,安装工厂服务器

./steamcmd.sh +login anonymous +force_install_dir ~/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
  • 1

这个是下载 工厂的服务器,需要一定的时间

1690800是幸福工厂在steam 中的 id

如果这里提示"Failed to init SDL priority manager: SDL not found"之类的,执行

ubuntu

sudo apt install libsdl2-2.0-0:i386
  • 1

centos

yum -y install SDL2.i686 SDL2.x86_64
  • 1

后再重复以上操作

4、加载存档

  • 获取存档的Session Name

    • 在游戏中查看存档的Session Name,这里的Session Name并非游戏存档名称。
    • 在这里插入图片描述
  • 查找存档文件

    • 存档位置%LOCALAPPDATA%\FactoryGame\Saved\SaveGames
  • 上传存档至服务器

    • mkdir -p ~/.config/Epic/FactoryGame/Saved/SaveGames/server
      cd ~/.config/Epic/FactoryGame/Saved/SaveGames/server
      
      上传.sav存档文件至此处
      
      • 1
      • 2
      • 3
      • 4

5、服务器编译配置

将专用服务器作为服务运行,允许服务器在发生冲突时自动重新启动,并在启动服务器后自动启动。

(以下内容须root权限)

为了简单起见,创建服务器启动脚本,将其放置在 /home/steam/SatisfactoryDedicatedServer/start_server.sh下(其中/home/steam是用户目录)。

vim /home/steam/SatisfactoryDedicatedServer/start_server.sh
  • 1

启动器包含以下行:

!/bin/bash

export InstallationDir=/home/steam/SatisfactoryDedicatedServer
export templdpath=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$InstallationDir/linux64:$LD_LIBRARY_PATH
 Install or update the server before launching it
/usr/games/steamcmd +login anonymous +force_install_dir $InstallationDir +app_update 1690800 validate +quit
 Launch the server
$InstallationDir/FactoryServer.sh

export LD_LIBRARY_PATH=$templdpath
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

InstallationDir是工厂服务器目录位置,根据自身情况修改

创建后,设置可执行执行项

chmod +x /home/steam/SatisfactoryDedicatedServer/start_server.sh
  • 1

创建服务(需要root权限)

vim /etc/systemd/system/satisfactory.service
  • 1

包含以下行:

[Unit]
Description=Satisfactory Server
Wants=network.target
After=syslog.target network-online.target

[Service]
Type=simple
Restart=always
RestartSec=10
User=steam
WorkingDirectory=/home/steam/SatisfactoryDedicatedServer
ExecStart=/home/steam/SatisfactoryDedicatedServer/start_server.sh

[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

User为用户

WorkingDirectory为游戏服务位置

ExecStart为启动器位置

最后,启用该服务:

systemctl enable satisfactory.service

systemctl start satisfactory.service
  • 1
  • 2
  • 3

这将启动服务器。如果您手之前尚未安装它,则服务开始后也将安装服务器。每次重新启动服务时,服务器都会通过SteamCMD进行更新。要重新启动服务器,只需运行:

systemctl restart satisfactory.service
  • 1

例如,每晚 04:00 自动完成此任务,将命令添加到root crontab:

 This will open an interactive editor

crontab -e

 Add this line to the file then save it.

0 4 * * * systemctl restart satisfactory.service
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

服务器环境配置完成,接下来需要进行服务器初始化。

6、服务器更新

将服务重启,服务器会自动更新。

systemctl restart satisfactory.service
  • 1

或手动更新

./steamcmd.sh +login anonymous +force_install_dir ~/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
  • 1

三、Windows环境搭建

1、下载安装SteamCMD

创建一个为SteamCMD准备的文件夹

下载Windows系统专用的SteamCMD 点击下载

解压Zip文件中的文件到文件夹。

双击运行解压出来的文件,将自动联网完成更新

更新完成后会出现“Steam>”等待输入命令:

2、在steam 状态下匿名登录,安装工厂服务器

在SteamCMD目录下进入控制台

steamcmd +login anonymous +force_install_dir steamapps/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
  • 1

这个是下载 工厂的服务器,需要一定的时间

1690800是幸福工厂在steam 中的 id

安装完成后,在Steamcmd文件夹下会生成SatisfactoryDedicatedServer文件夹。

3、加载存档

  • 获取存档的Session Name
    • 在游戏中查看存档的Session Name,这里的Session Name并非游戏存档名称。
    • 在这里插入图片描述
  • 查找存档文件
    • 存档位置%LOCALAPPDATA%\FactoryGame\Saved\SaveGames
  • 上传存档至服务器
    • 将存档复制到%LOCALAPPDATA%\FactoryGame\Saved\SaveGames\server

4、启动服务器

/steamcmd/steamapps/SatisfactoryDedicatedServer目录下进入CMD控制台

FactoryServer.exe -log -unattended
  • 1

服务器启动后,就可以进入游戏进行服务器初始化了。

5、更新服务器

更新服务器只需将服务器重新加载即可,在steamcmd目录下:

steamcmd +login anonymous +force_install_dir steamapps/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
  • 1

四、服务器初始化

初始配置由连接到服务器的第一个玩家在游戏中进行,包括设置服务器名称和管理密码。更多设置可通过游戏服务器管理器提供。服务器不会自行启动任何游戏。管理员必须通过游戏中的 UI 创建游戏。默认情况下,玩家密码保护不是启用的,但玩家密码可以通过管理器 UI 设置。

1、服务器连接

在Server Manager(服务管理)界面,点击Add Server,输入服务器地址,默认为服务器IP地址,端口号默认为15777。

在这里插入图片描述

第一位连接服务器的用户可以设置服务器的名称及管理密码,后期用户可以通过管理密码进入服务器设置页面。

在这里插入图片描述

2、设置存档

在加载存档时,我们记录了存档的Session Name,在Server Settings页面中,填写Session Name。

在这里插入图片描述

Session Name填写完成后,系统自动加载存档

在这里插入图片描述

如果使用Create Game直接创建存档,无需手动填写Session Name。

存档加载完成后,在Status界面,可以看到服务器信息,点击Join Game加入游戏。

在这里插入图片描述

到这里,你就完成了服务器的搭建工作。。

更多信息可以参考Satisfactory WIKI

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux17384 人正在系统学习中

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=9008
赞同 0
评论 0 条
hpjyL2
粉丝 0 发表 14 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2691
【软件正版化】软件正版化工作要点  2655
统信UOS试玩黑神话:悟空  2559
信刻光盘安全隔离与信息交换系统  2247
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1117
grub引导程序无法找到指定设备和分区  769
江波龙2025届校园招聘宣讲会行程大放送  28
点击报名 | 京东2025校招进校行程预告  25
海康威视2025校招|海康机器人,邀你共创工业智能化未来!  24
金山办公2024算法挑战赛 | 报名截止日期更新  22
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!