!Satisfactory
!Release !Docker Pulls !Docker Stars !Image Size
这是 Satisfactory 专用服务器的 Docker 化版本。
服务器可以在少于 8GB 内存的环境下运行,但根据 *** wiki 建议,仍推荐 8GB - 16GB 内存。当游戏进入后期(或有 4 名以上玩家游玩时),可能需要增加容器的 --memory 限制。
需要将本地目录绑定到 Docker 容器的 /config 目录。该目录将包含以下子目录:
/backups - 容器首次启动时,服务器会自动备份存档/gamefiles - 用于存储游戏文件,存储在容器外部可避免每次重建容器时重新下载 8GB 以上的文件/logs - 包含 Steam 日志和指向 Satisfactory 日志的链接(除非设置 LOG=true,否则启动时会清空)/saved - 包含游戏蓝图、存档和服务器配置运行服务器镜像前,建议确认运行容器的用户 ID。大多数情况下这不是必需的,但如果遇到 permission denied 错误,通常是由于权限问题。在 Linux 中,可通过运行 id 命令获取用户 ID(通常类似 1000),并通过环境变量 -e PGID=1000 和 -e PUID=1000 传入。
运行 Satisfactory 服务器镜像的命令如下(这是一个完整命令,请确保复制全部内容):
bashdocker run \ --detach \ --name=satisfactory-server \ --hostname satisfactory-server \ --restart unless-stopped \ --volume ./satisfactory-server:/config \ --env MAXPLAYERS=4 \ --env PGID=1000 \ --env PUID=1000 \ --env STEAMBETA=false \ --memory-reservation=4G \ --memory 8G \ --publish 7777:7777/tcp \ --publish 7777:7777/udp \ --publish 8888:8888/tcp \ wolveix/satisfactory-server:latest
--detach -> 在后台运行容器--sig-proxy=false--name -> 为容器指定唯一名称--hostname -> 设置容器的主机名--restart unless-stopped -> 除非手动停止,否则容器自动重启--volume -> 将本地目录绑定到容器的/config目录--env)的详细说明请参见此处--memory-reservation=4G -> 为容器预留 4GB 内存--memory 8G -> 限制容器使用最大 8GB 内存--publish -> 指定容器暴露的端口如果使用 Docker Compose:
yamlservices: satisfactory-server: container_name: 'satisfactory-server' hostname: 'satisfactory-server' image: 'wolveix/satisfactory-server:latest' ports: - '7777:7777/tcp' - '7777:7777/udp' - '8888:8888/tcp' volumes: - './satisfactory-server:/config' environment: - MAXPLAYERS=4 - PGID=1000 - PUID=1000 - STEAMBETA=false restart: unless-stopped deploy: resources: limits: memory: 8G reservations: memory: 4G
容器启动或重启时,游戏会自动更新(除非设置 SKIPUPDATE=true)。
更新容器镜像本身的方法:
shelldocker pull wolveix/satisfactory-server:latest docker stop satisfactory-server docker rm satisfactory-server docker run ... # 使用之前的启动命令重新运行
shelldocker compose pull docker compose up -d
可以使用 Certbot 和 Let's Encrypt 为服务器颁发签名 SSL 证书。如果不配置,Satisfactory 将使用自签名 SSL 证书,玩家首次连接时需要手动确认。如果配置证书后遇到连接问题,请查看以下链接了解已知问题。
了解更多。
如果运行 Kubernetes 集群,可在仓库的 cluster 目录下找到 service.yaml 和 statefulset.yaml 文件,以及示例 values.yaml。
如果使用 Helm,可在 ArtifactHUB 找到相关图表。可通过以下命令安装 k8s-at-home 的 Satisfactory Helm 图表(更多信息请参见 cluster/values.yaml):
bashhelm repo add k8s-at-home [***] helm repo update helm install satisfactory k8s-at-home/satisfactory -f values.yaml
| 参数 | 默认值 | 功能说明 |
|---|---|---|
AUTOSAVENUM | 5 | 自动保存文件的数量 |
DEBUG | false | 启用服务器调试模式 |
DISABLESEASONALEVENTS | false | 禁用 FICSMAS 季节性活动(如果你不想参与节日活动) |
LOG | false | 禁用 Satisfactory 日志清理(默认启动时清空日志) |
MAXOBJECTS | 2162688 | 设置服务器的对象数量限制 |
MAXPLAYERS | 4 | 设置服务器的最大玩家数量 |
MAXTICKRATE | 30 | 设置服务器的最大模拟 tick 速率 |
MULTIHOME | :: | 设置服务器监听接口(通常不需要修改) |
PGID | 1000 | 设置运行服务器的用户组 ID |
PUID | 1000 | 设置运行服务器的用户 ID |
SERVERGAMEPORT | 7777 | 设置游戏服务器端口 |
SERVERMESSAGINGPORT | 8888 | 设置游戏消息端口(内部和外部) |
SERVERSTREAMING | true | 切换游戏是否使用资产流式传输 |
SKIPUPDATE | false | 启动/重启容器时跳过游戏更新 |
STEAMBETA | false | 启用游戏的测试版版本 |
STEAMBETAID | 设置自定义测试版版本 ID(用于测试) | |
STEAMBETAKEY | 设置测试版版本的密码(用于测试) | |
TIMEOUT | 30 | 设置客户端超时时间(秒) |
VMOVERRIDE | false | 跳过 CPU 型号检查(通常不应使用) |
如果要运行游戏测试版的服务器,将 STEAMBETA 环境变量设置为 true。
模组支持仍在完善中,但目前已可工作。此 Docker 容器的功能与独立安装版相同,因此可以参考社区的技术文档进行设置:点击查看。
容器本身未安装 S/FTP 服务器,因为 Docker 镜像旨在仅包含单一功能/进程。你可以通过以下方式管理模组文件:直接 SFTP 连接到运行服务器的主机(如果是 Linux 系统很容易实现),或通过 Docker Compose 启动另一个 S/FTP 容器,示例如下:
yamlservices: # 仅用于模组 sftp-server: container_name: 'sftp-server' image: 'atmoz/sftp:latest' volumes: - './satisfactory-server:/home/your-ftp-user/satisfactory-server' ports: - '2222:22' # 设置用户名、密码和用户 UID(应与 satisfactory-server 容器的 PUID 和 PGID 匹配) command: 'your-ftp-user:your-ftp-password:1000'
通过此配置,你可以 SFTP 连接到服务器,并通过 /home/your-ftp-user/satisfactory-server/gamefiles 访问游戏文件。
Satisfactory Wiki 推荐了一些客户端配置调整,以获得最佳多人游戏体验:
WIN + R%localappdata%/FactoryGame/Saved/Config/WindowsNoEditor默认情况下,容器以 root 权限运行,但会以 1000:1000 用户身份执行 Satisfactory。如果主机的用户和组 ID 为 1000:1000,可以使用 Docker 的 --user 参数以非 root 用户运行整个容器。对于其他用户/组 ID,需要克隆并重新构建镜像:
shellgit clone [***]
PUID 和 PGID 环境变量):yamlservices: satisfactory-server: container_name: 'satisfactory-server' hostname: 'satisfactory-server' build: context: . args: UID: 1001 # 所需的 UID GID: 1001 # 所需的 GID user: "1001:1001" # 必须与上面的 UID:GID 匹配 ports: - '7777:7777/tcp' - '7777:7777/udp' - '8888:8888/tcp' volumes: - './satisfactory-server:/config' environment: - MAXPLAYERS=4 - STEAMBETA=false restart: unless-stopped deploy: resources: limits: memory: 8G reservations: memory: 4G
shelldocker compose up -d
--user 参数指定用户,但如果用户和组 ID 不是 1000:1000,需要按上述方法重新构建镜像。,可能需要增加容器的 --memory 限制。
需要将本地目录绑定到 Docker 容器的 /config 目录。该目录将包含以下子目录:
/backups - 容器首次启动时,服务器会自动备份存档/gamefiles - 用于存储游戏文件,存储在容器外部可避免每次重建容器时重新下载 8GB 以上的文件/logs - 包含 Steam 日志和指向 Satisfactory 日志的链接(除非设置 LOG=true,否则启动时会清空)/saved - 包含游戏蓝图、存档和服务器配置运行服务器镜像前,建议确认运行容器的用户 ID。大多数情况下这不是必需的,但如果遇到 permission denied 错误,通常是由于权限问题。在 Linux 中,可通过运行 id 命令获取用户 ID(通常类似 1000),并通过环境变量 -e PGID=1000 和 -e PUID=1000 传入。
运行 Satisfactory 服务器镜像的命令如下(这是一个完整命令,请确保复制全部内容):
bashdocker run \ --detach \ --name=satisfactory-server \ --hostname satisfactory-server \ --restart unless-stopped \ --volume ./satisfactory-server:/config \ --env MAXPLAYERS=4 \ --env PGID=1000 \ --env PUID=1000 \ --env STEAMBETA=false \ --memory-reservation=4G \ --memory 8G \ --publish 7777:7777/tcp \ --publish 7777:7777/udp \ --publish 8888:8888/tcp \ wolveix/satisfactory-server:latest
--detach -> 在后台运行容器--sig-proxy=false--name -> 为容器指定唯一名称--hostname -> 设置容器的主机名--restart unless-stopped -> 除非手动停止,否则容器自动重启--volume -> 将本地目录绑定到容器的/config目录--env)的详细说明请参见此处--memory-reservation=4G -> 为容器预留 4GB 内存--memory 8G -> 限制容器使用最大 8GB 内存来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429