如何搭建一个令人满意的在线游戏服务器——概述和前提条件
《Satisfactory》是一款基于多人引擎的工厂建造游戏。 虚幻 通常情况下,可靠的专用服务器或虚拟专用服务器 (VPS) 可以提供稳定的多人游戏体验。本指南涵盖了从选择服务器位置和硬件,到在 Windows 或 Linux 系统上安装、网络和防火墙设置、优化、安全、备份以及模组管理等所有内容。.
前提条件和初步决策
在开始安装之前,您需要决定服务器将运行什么操作系统、合适的安装位置以及所需的资源。.
- 操作系统: Windows Server(更简单,并且与官方二进制文件兼容)或 Linux(成本较低,允许使用 systemd 进行自动化,但通常带有 Proton/Wine)。.
- 地点: 离玩家最近的数据中心;如果玩家分散在各地,可以在不同地点设置多个服务器(相关公司拥有)。 全球85多个地点 是)。.
- 建议初始资源(6-12名玩家): 四核独立CPU,8-16GB内存,40GB以上NVMe固态硬盘,1Gbps网络。如果场景人多或运行大型MOD,则需要更高的CPU和内存。.
- 使用权: Steam/SteamCMD 账号或根据游戏版本获取专用服务器套餐的权限(请核对) SteamDB 或提供 AppID 和分发名称的文档)。.
网络端口和连接
常用端口(可能因服务器版本而异;请务必查阅官方文档或 SteamDB 协调):
- UDP 7777 — 主游戏端口(监听)
- UDP 15000 — 查询/心跳/信标(服务器搜索)
- UDP/TCP 27015 — Steam/Steamworks 移植版(部分版本)
实用技巧:
- 在防火墙和网络控制面板中打开这些端口。.
- 为了降低延迟,数据中心…… 对等 好的,请选择合适的BGP路由。.
- 如果是公共服务器,请使用基于硬件/网络的 DDoS 防护(该公司的 DDoS 防护服务可在 85 个以上地点激活)。.
安装和设置 — 选项 1:Windows Server(推荐大多数用户使用)
安装并下载专用服务器
一般步骤:
- 提供符合推荐配置的 VPS 或 Windows 服务器(最好是 Windows Server 2019/2022)。.
- 安装 Steam 或 SteamCMD。使用 Steam 客户端登录,并在“工具”菜单中搜索“Satisfactory Dedicated Server”。使用 SteamCMD 执行以下命令。.
.\steamcmd.exe +login anonymous +force_install_dir C:\SatisfactoryServer +app_update <APPID> validate +quit笔记: <APPID> 从 SteamDB 或游戏文档中获取。.
设置启动文件和参数
服务器文件夹中,有一个文件 开始.bat 根据您的可执行文件创建并配置以下示例:
@echo off
cd /d "C:\SatisfactoryServer\Binaries\Win64"
start "" "FactoryServer.exe" /Game/FactoryGame/Maps/Factory?listen?SessionName="MyServer"?MaxPlayers=8 -log -Port=7777 -QueryPort=15000 -unattended尖端:
- 会话名称 这是将显示在服务器列表中的名称。.
- 最大玩家 根据服务器资源进行调整。.
- 要作为服务运行,您可以使用 国家安全委员会 用于在重启后自动启动服务器。.
设置 Windows 防火墙
要从 PowerShell 打开端口:
New-NetFirewallRule -DisplayName "Satisfactory UDP 7777" -Direction Inbound -Protocol UDP -LocalPort 7777 -Action Allow
New-NetFirewallRule -DisplayName "Satisfactory UDP 15000" -Direction Inbound -Protocol UDP -LocalPort 15000 -Action Allow安装和设置 — 选项 2:Linux(Debian/Ubuntu)搭配 SteamCMD + Proton
警告:官方服务器二进制文件可能仅适用于 Windows;在 Linux 上,通常使用 SteamCMD + Proton 或 Wine,虽然比较复杂但经济实惠。.
安装先决条件和 SteamCMD
Ubuntu/Debian 示例命令:
sudo apt update && sudo apt upgrade -y
sudo apt install -y steamcmd lib32gcc-s1 curl unzipsudo adduser --disabled-login --gecos "Satisfactory Server" sfsrv
sudo mkdir -p /opt/satisfactory
sudo chown sfsrv:sfsrv /opt/satisfactory使用 SteamCMD 下载服务器(通用示例)
以服务器用户身份运行 SteamCMD:
sudo -u sfsrv -i
steamcmd +login anonymous +force_install_dir /opt/satisfactory +app_update <APPID> validate +quit笔记: 请到SteamDB上查看。.
使用 Proton 运行服务器
示例 start.sh 脚本,用于运行 Proton(请根据您的安装路径调整 Proton 路径):
#!/bin/bash
export STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/sfsrv/.steam
export PROTON_NO_ESYNC=1
cd /opt/satisfactory/Binaries/Win64
/home/sfsrv/.steam/steam/steamapps/common/Proton\ 6.3/proton run ./FactoryServer.exe /Game/FactoryGame/Maps/Factory?listen?SessionName="MyServer"?MaxPlayers=8 -log -Port=7777 -QueryPort=15000 -unattendedchmod +x start.shsystemd 的示例单元:
[Unit]
Description=Satisfactory Dedicated Server
After=network.target
[Service]
Type=simple
User=sfsrv
WorkingDirectory=/opt/satisfactory/Binaries/Win64
ExecStart=/opt/satisfactory/start.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now satisfactory.service在 Linux 中打开端口(以 UFW 为例)
sudo ufw allow 7777/udp
sudo ufw allow 15000/udp
sudo ufw allow 22/tcp
sudo ufw enable优化性能并降低延迟
操作系统设置(Linux)
改进网络和 I/O 的示例:
sudo sysctl -w net.core.somaxconn=1024
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
sudo sysctl -w net.ipv4.udp_mem="8388608 12582912 16777216"为了使价值观永久保存,请将其存储在 /etc/sysctl.conf 或归档于 /etc/sysctl.d/ 节省。.
游戏内/服务器设置
- 最大玩家 理性选择。.
- 如果玩家的延迟较高,请平衡与服务器刷新率或帧速率(如果适用)相关的参数。.
- 贮存: 使用 NVMe SSD 可以提高存储和加载速度。.
安全、修改和备份
安全
- 以非root用户身份运行服务器。.
- 限制控制台/编辑器对特定 IP 的访问权限(如果支持)。.
- 对公共服务器使用基于网络的DDoS防护。.
- 使用 失败2禁止 推荐用于 SSH 安全防护和日志监控。.
模组和模组管理
令人满意的模式通常与 Satisfactory Mod Loader (SML) 已完成。要点:
- 服务器端和客户端的模组版本必须相同。.
- 一般流程:在服务器和客户端上安装 SML,将模组放入服务器的 Mods 文件夹中,重启服务器,然后检查日志。.
- 在主服务器上启用模组之前,请先在测试服务器或本地服务器上进行测试。.
备份和维护存档
使用 rsync 编写的每日备份脚本示例:
rsync -a --delete /opt/satisfactory/Saved/ /backups/satisfactory/$(date +%F)/建议:
- 至少保留 7 天,然后迁移到云存储或创建快照。.
- 更新游戏或模组前,请务必进行完整备份。.
监控、日志记录和故障排除
监控和日志审查技巧:
- 文件夹中的日志
已保存/日志位置;使用参数-日志可用于启动脚本。. - 监控工具,例如 普罗米修斯 + 格拉法纳 或者,公司监控服务适合捕获 CPU/RAM/网络指标。.
- 如果服务器未显示在玩家列表中,请检查查询端口和 Steamworks 状态。.
比较不同位置,选择最适合您 Satisfactory 服务器的位置
根据球员的地理位置选择比赛地点。例如:
- 欧洲:法兰克福或阿姆斯特丹
- 中东:迪拜或土耳其
- 美洲:东部或西部,取决于玩家位置
优点和缺点: 距离近意味着低延迟;但如果玩家分布较广,则使用多个区域服务器效果更佳。凭借 85 个以上服务器位置的网络,您可以选择距离玩家最近的服务器。.
向公众开放服务器前的实用技巧和检查清单
- 同步客户端和服务器之间的游戏和模组版本。.
- 与测试人员进行多阶段测试,以发现性能问题。.
- 启用自动备份,并在每次更新前创建快照。.
- 设置资源和端口的监控和警报。.
- 创建玩家通知渠道,用于发布维护和停机时间。.
结论和最终建议
搭建 Satisfactory 服务器既简单又具有挑战性。如果您正在寻找快速可靠的解决方案, VPS 或 Windows 专用服务器 建议在配备适当资源的情况下使用。.
如果您想降低成本或实现更多自动化,在 Linux 上使用 SteamCMD+Proton 进行设置是合适的,但这需要更多的技术经验。.
为了保持良好的玩家体验,选择附近的服务器位置、使用 NVMe 固态硬盘和足够的带宽,以及启用 DDoS 防护功能至关重要。.









