Linux 下 Barotrauma(潜渊症)服务器的高可用部署方案
目录
当前方案的高可用性定位
当前方案基于 MCSM 面板 + Docker 容器 实现了基础层面的容错能力,适用于个人玩家或小型团队的轻量级部署需求。其核心高可用性设计包括:
- 容器自动重启 :通过 MCSM 面板配置的「自动重启」策略,实现服务崩溃后的快速恢复。
- 数据持久化 :通过 Volume 挂载
/home/mcsm/barot_server目录,保障配置文件与存档数据不丢失。 - 基础健康检查 :手动执行
nc -uvz检查 UDP 端口状态,辅助判断服务存活。
适用场景 :
- 个人玩家开服娱乐
- 小型社区(10人以下)稳定运行
- 技术门槛较低的快速部署
背景与方案选择
近期,我的《潜渊症》网友们反馈游戏自带的 P2P 联机存在较高延迟,计划单独购置一台服务器,安装 Windows 系统、注册 Steam 账号并重新购买游戏。我认为这一方案过于冗余——我们现有的 主机上运行的 Ubuntu 系统已足够服务器部署。
本文将详细介绍如何在 Linux 系统上实现潜渊症(Barotrauma)服务器的高可用部署,涵盖以下两种主流方案:
- 使用 MCSM 面板的 Docker 容器部署
- Docker Compose + Dockerfile 部署(K8S):请见 P2
方案一:使用 MCSM 面板的 Docker 容器部署
优势
- 图形化界面操作,适合不熟悉命令行的用户
- 支持容器管理、日志查看和进程控制
- 易于实现基础高可用性(如自动重启、数据持久化)
架构概述
- MCSM 面板:提供可视化容器管理
- Docker 容器:隔离服务器运行环境,支持跨平台部署
- Volume 挂载:确保服务器配置和存档数据持久化
- MCSM 自带功能:实现容器编排和监控
部署步骤
1. 安装 MCSM 面板和 Docker
一行命令快速安装 MCSM
1 | |
安装后的使用方法
1 | |
说明:
- 脚本仅适用于 Ubuntu/CentOS/Debian/Arch Linux
- 面板代码与运行环境自动安装在
/opt/mcsmanager/目录下 - 如需手动安装,参考:
安装 Docker 并配置镜像加速
1 | |
参考来源:
2. 创建潜渊症服务器实例
登录 MCSM 面板
访问 http://<服务器IP>:23333
创建数据持久化目录
1 | |
新建实例
点击 “创建实例”
选择 Steam 游戏服务器 > 使用 Docker 镜像快速部署
填写以下关键信息:
实例名称:任意
镜像名称:
cm2network/steamcmd:latest数据储存目录:
/data勾选:变更容器默认工作目录
启动命令(暂时使用):
bash服务端文件目录:
/home/mcsm/barot_server[!NOTE]
确保信息如图所示

确认信息无误后点击:创建实例 → 选择 Steam 游戏服务器 → 使用Docker镜像快速部署→前往实例控制台 → 开启
进入实例终端后,输入以下命令
1 | |
输出示例:
1 | |
退出服务端并配置文件
- 输入
exit命令退出服务端 - 点击 右上角关闭实例
- 点击 文件管理 > barotrauma-server 目录
- 搜索
serversettings.xml文件并打开编辑
建议RequireAuthentication规则改为False,其余配置自行更改,不是本次部署的重点
1 | |
然后点击应用实例设置,在基础设置中将启动命令更改为/data/barotrauma-server/DedicatedServer;然后点击容器化,点击开放端口的编辑选项
- 点击 基础设置
- 将启动命令更改为:
/data/barotrauma-server/DedicatedServer - 点击 容器化 > 开放端口 > 编辑
- 添加端口映射:
27015:27015(协议:UDP)27016:27016(协议:UDP)
如图添加端口映射
完成以上操作后:
点击 确定 → 保存 → 启动实例
服务器连接地址为:你的 IP:27015
3. 实现高可用性
自动重启策略:
在 MCSM 中设置实例重启策略为 “自动重启” 和 “自动启动”兼容性配置:
关闭 仿真终端健康检查:
定期执行以下命令检查 UDP 端口:1
nc -uvz your_IP 27015数据备份:
定期备份宿主机/home/mcsm/barot_server目录
4. 内网穿透与公网访问
自行配置穿透工具
开放防火墙:
1 | |
方案二:Docker Compose + Dockerfile 部署(K8S)
因篇幅所限,请见《Barotrauma_Docker_Compose_部署指南_P2.md》
常见问题与解决方案
| 问题现象 | 解决方案 |
|---|---|
| XML 格式错误 | 使用在线工具修复,确保 <ServerSettings> 为唯一根节点 |
| 客户端连接失败 | 检查 UDP 端口映射,关闭 Steam 认证(<RequireAuthentication>false</RequireAuthentication>) |
| 容器自动退出 | 确保 DedicatedServer 有执行权限:chmod +x DedicatedServer |
| 防火墙限制 | 开放 UDP 端口:sudo ufw allow 27015/udp |
总结与最佳实践建议
| 方案 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| MCSM 面板部署 | 快速搭建、图形化操作 | 简单易用、内置管理功能 | 灵活性较低,依赖面板功能 |
| Docker Compose + Dockerfile | 自定义部署、CI/CD 集成 | 灵活、支持多容器编排 | 配置复杂,需熟悉 Docker |
最佳实践建议:
- 优先使用 MCSM 面板:适合快速部署和日常管理
- 进阶使用 Docker Compose:适合需要自定义配置、自动化部署和集群管理的场景
- 高可用性扩展:结合 Docker Swarm 或 Kubernetes 实现负载均衡和故障转移
版本迭代说明
- 当前版本:v1.0(2025-06-16)
- 更新日志:新增内网穿透配置指引、优化防火墙规则示例