《Satisfactory幸福工厂》专用服务器搭建(Linux及Windows环境)
《Satisfactory幸福工厂》专用服务器搭建在2021年10月26日工厂5更新中,第一次推送工厂专用服务器系统(终于不用联机时卡卡卡了)。目前,专用服务器可用于 Windows 和 Linux 平台,只能通过 Steam 或Steam控制台SteamCMD 安装。目前仅支持测试版的专用服务器。目录《Satisfactory幸福工厂》专用服务器搭建一、服务器搭建前提1、开放端口2、服务器配置需
《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
centos 7
yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum install glibc.i686 libstdc++.i686 libcurl.i686 screen -y
centos 8
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
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
安装包运行
./steamcmd.sh
安装完成后输入quit退出Steam控制台。
3、在steam 状态下匿名登录,安装工厂服务器
./steamcmd.sh +login anonymous +force_install_dir ~/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
这个是下载 工厂的服务器,需要一定的时间
1690800是幸福工厂在steam 中的 id
如果这里提示"Failed to init SDL priority manager: SDL not found"之类的,执行
ubuntu
sudo apt install libsdl2-2.0-0:i386
centos
yum -y install SDL2.i686 SDL2.x86_64
后再重复以上操作
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存档文件至此处
-
5、服务器编译配置
将专用服务器作为服务运行,允许服务器在发生冲突时自动重新启动,并在启动服务器后自动启动。
(以下内容须root权限)
为了简单起见,创建服务器启动脚本,将其放置在 /home/steam/SatisfactoryDedicatedServer/start_server.sh
下(其中/home/steam
是用户目录)。
vim /home/steam/SatisfactoryDedicatedServer/start_server.sh
启动器包含以下行:
#!/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
InstallationDir
是工厂服务器目录位置,根据自身情况修改
创建后,设置可执行执行项
chmod +x /home/steam/SatisfactoryDedicatedServer/start_server.sh
创建服务(需要root权限)
vim /etc/systemd/system/satisfactory.service
包含以下行:
[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
User
为用户
WorkingDirectory
为游戏服务位置
ExecStart
为启动器位置
最后,启用该服务:
systemctl enable satisfactory.service
systemctl start satisfactory.service
这将启动服务器。如果您手之前尚未安装它,则服务开始后也将安装服务器。每次重新启动服务时,服务器都会通过SteamCMD进行更新。要重新启动服务器,只需运行:
systemctl restart satisfactory.service
例如,每晚 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
服务器环境配置完成,接下来需要进行服务器初始化。
6、服务器更新
将服务重启,服务器会自动更新。
systemctl restart satisfactory.service
或手动更新
./steamcmd.sh +login anonymous +force_install_dir ~/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
三、Windows环境搭建
1、下载安装SteamCMD
创建一个为SteamCMD准备的文件夹
下载Windows系统专用的SteamCMD 点击下载
解压Zip文件中的文件到文件夹。
双击运行解压出来的文件,将自动联网完成更新
更新完成后会出现“Steam>”等待输入命令:
2、在steam 状态下匿名登录,安装工厂服务器
在SteamCMD目录下进入控制台
steamcmd +login anonymous +force_install_dir steamapps/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
这个是下载 工厂的服务器,需要一定的时间
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
服务器启动后,就可以进入游戏进行服务器初始化了。
5、更新服务器
更新服务器只需将服务器重新加载即可,在steamcmd目录下:
steamcmd +login anonymous +force_install_dir steamapps/SatisfactoryDedicatedServer +app_update 1690800 validate +quit
四、服务器初始化
初始配置由连接到服务器的第一个玩家在游戏中进行,包括设置服务器名称和管理密码。更多设置可通过游戏服务器管理器提供。服务器不会自行启动任何游戏。管理员必须通过游戏中的 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。
更多推荐
所有评论(0)