《Satisfactory幸福工廠》專用服務器搭建
在2021年10月26日工廠5更新中,第一次推送工廠專用服務器系統(終于不用聯機時卡卡卡了),目前,專用服務器可用于 Windows 和 Linux 平臺,只能通過 Steam 或Steam控制臺SteamCMD 安裝,目前僅支持測驗版的專用服務器,
目錄
- 《Satisfactory幸福工廠》專用服務器搭建
- 一、服務器搭建前提
- 1、開放埠
- 2、服務器配置需求
- 二、Linux環境搭建
- 1、安裝編譯環境
- 2、下載 steamCMD,安裝
- 3、在steam 狀態下匿名登錄,安裝工廠服務器
- 4、加載存檔
- 5、服務器編譯配置
- 6、服務器更新
- 三、Windows環境搭建
- 1、下載安裝SteamCMD
- 2、在steam 狀態下匿名登錄,安裝工廠服務器
- 3、加載存檔
- 4、啟動服務器
- 5、更新服務器
- 四、服務器初始化
- 1、服務器連接
- 2、設定存檔
一、服務器搭建前提
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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/340553.html
標籤:其他
上一篇:Web前端--HTML+CSS+JS實作仿切水果小游戲
下一篇:吊死鬼猜單詞小游戲c++
