Satisfactory服务器容器化部署教程
1. 项目介绍
本项目是基于Docker的Satisfactory游戏服务器容器化版本。Satisfactory是一款由Coffee Stain Studios开发的沙盒类建造游戏,玩家在游戏中探索、采集资源并建造自动化生产线。本项目将Satisfactory服务器打包成Docker容器,方便玩家部署和运行游戏服务器。
2. 项目快速启动
在开始之前,请确保您的系统已经安装了Docker环境。
2.1 准备工作
首先,需要找到将要运行容器的用户ID。在Linux系统中,可以通过id
命令获取。记录下用户ID(通常是1000之类的数字),稍后将会用到。
2.2 运行容器
以下命令将启动Satisfactory服务器容器:
docker 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/udp \
--publish 7777:7777/tcp \
wolveix/satisfactory-server:latest
--detach
:后台运行容器。--name
:给容器指定一个名字。--hostname
:设置容器的hostname。--restart
:容器停止时自动重启。--volume
:挂载本地的satisfactory-server目录到容器的/config目录。--env
:设置环境变量。--memory-reservation
:为容器保留4GB内存。--memory
:限制容器使用8GB内存。--publish
:映射端口。
2.3 访问服务器
容器启动后,可以通过游戏内的服务器列表找到并连接到您的Satisfactory服务器。
3. 应用案例和最佳实践
3.1 跨平台部署
由于Docker的跨平台特性,您可以轻松地在不同的操作系统上部署Satisfactory服务器,例如Windows、Linux或macOS。
3.2 持续集成/持续部署 (CI/CD)
可以结合Jenkins、GitLab CI等工具,实现Satisfactory服务器的自动化部署。
3.3 模块化扩展
通过Docker Compose或其他容器编排工具,可以方便地扩展Satisfactory服务器,例如添加SFTP服务来管理游戏文件。
4. 典型生态项目
4.1 SFTP服务器
为了方便管理游戏服务器文件,可以使用Docker化的SFTP服务器,如atmoz/sftp
。
services:
sftp-server:
container_name: sftp-server
image: atmoz/sftp:latest
volumes:
- ./satisfactory-server:/home/your-ftp-user/satisfactory-server
ports:
- "2022:22"
4.2 Kubernetes部署
对于更高级的部署,可以使用Kubernetes来运行Satisfactory服务器,通过k8s-at-home
提供的Helm图表可以简化部署过程。
以上就是Satisfactory服务器容器化部署的教程,希望对您有所帮助!