本指南介绍如何搭建 Satisfactory 专用服务器:先在 Windows 本地测试,再部署到 VPS 或独立服务器。系统:Linux 或 Windows。首次安装约需 30 至 60 分钟(不含下载时间)。
分步安装
确认配置要求(CPU、内存、磁盘),选择主机:Windows 电脑、VPS 或独立服务器。
安装 SteamCMD 并下载服务器(Steam 应用 1690800)。
在 Linux 上创建非 root 用户和专用文件夹;在 Windows 上使用简单路径的文件夹(如 C:\server)。
先启动一次服务器以生成配置文件,然后正常停止。
配置名称、密码和人数上限(可使用我们的 Satisfactory 工具生成文件)。
在系统和服务商防火墙中开放端口 7777/UDP, 7777/TCP, 8888/TCP;若在家中托管,还需在路由器上做端口转发。
先在本机(127.0.0.1)测试,再从网络外部连接测试。
创建 systemd 服务(Linux)或计划任务(Windows)以实现开机自启。
安排服务器备份与更新。
在 game-rank.com/jeux/satisfactory 添加您的服务器,让更多玩家发现。
前置条件
- 系统:Linux 或 Windows。
- 硬件(官方来源):内存 8 GB min. / 16 GB rec.;磁盘 8 GB (Linux) / 12.4 GB (Windows)。
- Steam 账号:SteamCMD 可匿名登录下载服务器;只有玩家需要拥有游戏。
- 网络:公网 IP(或端口转发)并开放端口 7777/UDP, 7777/TCP, 8888/TCP。
- 访问方式:SSH(Linux)或远程桌面(Windows Server);建议使用 SSD。
本地安装(Windows)
将 SteamCMD(steamcmd.exe)放入专用文件夹,在命令提示符中运行以下命令。然后启动服务器,并在游戏中连接 127.0.0.1。
steamcmd +force_install_dir "C:\satisfactory-server" +login anonymous +app_update 1690800 validate +quit
cd C:\satisfactory-server
FactoryServer.exe -log -unattended在 Linux VPS 或独立服务器上安装(Ubuntu/Debian)
创建没有 root 权限的专用用户,安装 SteamCMD 所需的 32 位依赖,然后下载服务器。用户名和目录可按需调整。
sudo dpkg --add-architecture i386
sudo apt update && sudo apt install -y curl tar lib32gcc-s1
sudo adduser --disabled-password --gecos "" satisfactory
# then, as the satisfactory user (sudo -iu satisfactory):
mkdir -p ~/steamcmd ~/satisfactory-server && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/satisfactory-server +login anonymous +app_update 1690800 validate +quit需要开放的端口
默认值;流量方向为入站(到服务器)。
要更改端口,请在服务器配置或启动命令中修改(-Port, -ReliablePort),并相应调整防火墙。
- 7777/UDP — 游戏流量
- 7777/TCP — 服务器流量与 HTTPS API(TCP)
- 8888/TCP — 可靠消息(TCP)
Linux 防火墙(ufw)、服务商与路由器
先放行 SSH 以免把自己锁在外面,再放行游戏端口。只有在服务商防火墙(OVH、Hetzner、Scaleway 等的“安全组”或面板网络规则)中同样开放,端口才可访问。
在家托管:在路由器上将相同的端口和协议转发(NAT)到服务器的固定内网 IP。若运营商使用 CGNAT(没有公网 IPv4),则无法转发:请申请公网 IP 或租用 VPS。
测试:UDP 无法用普通的网页端口检测工具验证;请从外部网络(如手机热点)进入游戏连接,并查看服务器日志。
sudo ufw allow 22/tcp
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp
sudo ufw allow 8888/tcp
sudo ufw enable
sudo ufw status verboseWindows 防火墙(netsh)
在以管理员身份启动的命令提示符中运行这些命令。若在家托管,还需在路由器上设置端口转发。
netsh advfirewall firewall add rule name="Satisfactory 7777 UDP" dir=in action=allow protocol=UDP localport=7777
netsh advfirewall firewall add rule name="Satisfactory 7777 TCP" dir=in action=allow protocol=TCP localport=7777
netsh advfirewall firewall add rule name="Satisfactory 8888 TCP" dir=in action=allow protocol=TCP localport=8888Linux 开机自启(systemd)
该服务会在崩溃后以及机器启动时重启服务器。使用代码块中的命令启用。
[Unit]
Description=Satisfactory dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=satisfactory
WorkingDirectory=/home/satisfactory/satisfactory-server
ExecStart=/home/satisfactory/satisfactory-server/FactoryServer.sh -Port=7777 -ReliablePort=8888
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=90
[Install]
WantedBy=multi-user.target
# sudo nano /etc/systemd/system/satisfactory.service
# sudo systemctl daemon-reload && sudo systemctl enable --now satisfactory
# journalctl -u satisfactory -fWindows 开机自启(计划任务)
创建一个在 Windows 启动时运行启动脚本的任务,最好使用专用账户。请调整脚本路径。
schtasks /Create /TN "Satisfactory Server" /TR "C:\satisfactory-server\start-satisfactory.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST
schtasks /Run /TN "Satisfactory Server"
schtasks /End /TN "Satisfactory Server"更新、备份与重启
更新前先停止服务器并备份数据,然后重启。使用 cron(Linux)或任务计划程序(Windows)定期备份;若游戏存在内存泄漏,可再安排每日重启。
sudo systemctl stop satisfactory
/home/satisfactory/steamcmd/steamcmd.sh +force_install_dir /home/satisfactory/satisfactory-server +login anonymous +app_update 1690800 validate +quit
# Experimental branch: append -beta experimental (back to stable: -beta public)
sudo systemctl start satisfactory
mkdir -p ~/backups
tar czf ~/backups/satisfactory-$(date +%F).tar.gz -C ~/.config/Epic/FactoryGame/Saved SaveGames
find ~/backups -name 'satisfactory-*.tar.gz' -mtime +14 -delete
# crontab -e -> 30 4 * * * <the two lines above, as a script>登记并找到您的服务器
服务器稳定后,请在 game-rank.com/jeux/satisfactory(本工具所有者的网站)登记,填写连接地址、人数上限、语言和版本。可分享的直连地址:<IP>:7777(因游戏版本而异)。切勿公开管理员密码。
故障排查
- 服务器不在列表中 — 原因:查询端口未开放或服务器未被列出。解决:开放 7777/UDP, 7777/TCP, 8888/TCP,检查名称/密码并等待几分钟;可用 IP 直连测试。
- 外网无法连接但本地正常 — 原因:系统/服务商防火墙、缺少端口转发或 CGNAT。解决:检查三个层面(ufw/Windows、服务商、路由器)以及协议(UDP/TCP)。
- 启动即退出或内存不足 — 原因:内存不足、缺少库或工作目录错误。解决:前台运行并查看日志,增加内存或 swap。
- 游戏更新后玩家看到版本不兼容 — 原因:服务器未更新。解决:停止服务器,按“更新”一节操作后重新启动。
- 配置修改被忽略或被覆盖 — 原因:服务器运行时编辑文件、目录错误或语法错误。解决:停止服务器,编辑正确的文件,检查语法(JSON/XML)后重启。
常见问题
- Satisfactory 服务器需要什么配置?
- 硬件(官方来源):内存 8 GB min. / 16 GB rec.;磁盘 8 GB (Linux) / 12.4 GB (Windows)。
- 需要开放哪些端口?
- 在系统防火墙、服务商以及必要时的路由器上开放入站 7777/UDP, 7777/TCP, 8888/TCP。这些是默认值,可在服务器配置中修改。
- 托管是否需要拥有游戏?
- 专用服务器可通过 SteamCMD 免费下载(匿名登录);只有玩家需要拥有游戏。
- 如何更新服务器?
- 停止服务器,重新运行 SteamCMD 命令 +app_update 1690800 validate(见“更新”一节),然后重启。若要使用测试分支,请加上 -beta <名称>。
- 可以在家里托管吗?
- 可以,前提是您的网络有公网 IP,并且能在路由器上做端口转发。若使用 CGNAT 或上行带宽较低,建议使用 VPS 或独立服务器。
