GSManager(Game Server Manager)是一款开源的、基于 Web 的游戏服务器管理面板,社区中也常被称为 GSM3。它把 SteamCMD、游戏服务端进程、文件管理、定时任务、备份恢复、多实例隔离等能力统一收敛到一个浏览器界面里,让你在绿联私有云(NAS)上也能像使用面板一样,一键部署《幻兽帕鲁》《我的世界》《方舟》《雾锁王国》《CS2》等热门联机游戏服务端,彻底告别手敲命令行。

本文以绿联 Pro(UGREEN NAS)为例,使用 Docker Compose 方式部署 GSManager3 容器,并逐行拆解这份 Compose 配置文件的每一项参数,帮助你一次性部署成功。

1、容器简介

项目说明
镜像名称xiaozhu674/gameservermanager:latest
容器名GSManager3
管理面板端口3022
游戏服务端口27015(Steam 游戏默认端口,可按需增减)
数据目录./data(面板配置 / 游戏文件)
访问地址http://NASIP:3022

2、部署项目

2.1、准备工作

在绿联 NAS 的「文件管理」中,先创建一个用于存放本项目数据的目录,例如 /volume1/docker/gsm3(实际路径请以你自己的存储空间为准)。GSManager 会在首次启动时自动在该目录下生成 data 子目录,用于存放面板配置与下载的游戏服务端文件。请确保该目录剩余空间充足——大型游戏(如方舟、帕鲁)服务端动辄 20~50GB。

2.2、Compose 配置

在绿联 NAS 的「Docker」应用中选择「项目 / Compose」,把下面的配置完整粘贴进去。

services:
  management_panel:
    image: xiaozhu674/gameservermanager:latest
    container_name: GSManager3
    restart: unless-stopped
    network_mode: host
    user: root
    stdin_open: true
    tty: true
    ports:
      - "3022:3022"
      - "27015:27015"
    volumes:
      - ./data/data:/home/.config
      - ./data/data:/home/.local
      - ./data/file:/home/steam/games
      - ./data/data:/root/.config
      - ./data/data:/root/.local
      - ./data/file:/root/steam/games
      - ./data/gsm3:/root/server/data
    environment:
      - SERVER_PORT=3022
      - TZ=Asia/Shanghai

3、配置逐项详解

3.1、服务与镜像

  • services::Compose 的顶层服务定义块,management_panel 是服务名(可自定义,仅作标识)。
  • image: xiaozhu674/gameservermanager:latest:指定拉取的镜像,:latest 表示始终使用最新版本;若追求稳定性,可改为某个固定版本号标签。
  • container_name: GSManager3:指定容器名称,便于在 Docker 列表中快速识别与管理。

3.2、重启策略

restart: unless-stopped:表示除非手动停止容器,否则容器退出时(包括 NAS 重启、Docker 服务重启)都会自动重新拉起。这是自托管服务推荐的重启策略,可保证面板 7×24 小时在线。

3.3、网络模式(关键)

network_mode: host:使用宿主机(主机)网络模式,容器与 NAS 共享同一个网络命名空间。host 网络模式下,容器使用的所有端口默认全部开放,无需在 Docker 或 NAS 上额外做端口映射配置。对于游戏服务端而言,这一点非常重要:

  • 游戏服务端往往会用到大量动态端口(如 Steam 的查询端口、语音端口等),host 模式下这些端口会随容器进程自动对外可用,无需逐个手动映射,也就不存在因端口未映射导致联机失败的问题。
  • 主机模式下,容器直接监听 NAS 的 IP,玩家只需连接 NAS的IP:游戏端口 即可。

所以本配置文件中的 ports: 端口映射并不会真正生效(Docker 在 host 模式下会忽略它),也无需依赖它来开放端口。此处保留只是为了方便自己查看记录——把该容器涉及的关键端口(面板 3022、游戏 27015)写在配置里,日后翻阅或迁移时一目了然。

3.4、容器运行身份与交互

  • user: root:以 root 用户运行容器。GSManager 需要通过 SteamCMD 安装游戏、写入文件、管理子进程,因此使用 root 可以避免大量权限问题(也正因如此,请务必做好 NAS 的网络安全与端口暴露管理)。
  • stdin_open: true 与 tty: true:为容器开启标准输入与伪终端(等价于 docker run -i -t)。许多游戏服务端进程需要一个「前台终端」才能稳定运行,同时这也方便你通过 docker attach 进入容器查看实时日志、响应交互式命令。

3.5、目录挂载(重点)

挂载规则是 宿主机路径:容器内路径。本配置把「面板数据」与「游戏文件」分门别类地持久化到本地,容器重建时数据不会丢失:

宿主机路径容器内路径作用
./data/data/home/.configsteam 用户配置目录
./data/data/home/.localsteam 用户本地数据
./data/file/home/steam/gamessteam 用户游戏文件目录
./data/data/root/.configroot 用户配置目录
./data/data/root/.localroot 用户本地数据
./data/file/root/steam/gamesroot 用户游戏文件目录
./data/gsm3/root/server/dataGSManager 面板自身的数据目录

几点说明:

  • 为什么 /home 和 /root 各挂一份?GSManager 内部可能以不同用户身份执行任务,同时覆盖两处配置与游戏目录,可保证无论以哪个用户运行,配置与游戏文件都能稳定落到宿主机,避免「面板里下的游戏重启后消失」。
  • ./data/gsm3:/root/server/data 是最关键的一项——面板的账号、站点配置、服务端实例元数据都保存在这里,迁移和备份时优先备份该目录。
  • ./data 是相对路径,相对于 Compose 文件所在目录。建议直接使用绝对路径(如 /volume1/docker/gsm3/data/data),避免因工作目录变化导致挂载「挂空」。

3.6、环境变量

  • SERVER_PORT=3022:指定面板 Web 服务的监听端口,需与访问端口一致。如无特殊需求保持 3022 即可;若修改,记得同步调整访问地址。
  • TZ=Asia/Shanghai:设置容器时区为东八区,确保日志时间、定时任务(如自动备份、定时重启)按北京时间执行。

4、启动与访问

配置粘贴完成后,点击「部署 / 启动」,绿联 Docker 会自动拉取镜像并创建容器。首次拉取镜像体积较大,请耐心等待。

启动成功后,在浏览器访问:

http://NAS的IP地址:3022

首次进入需要设置管理员的用户名与密码。登录后即可在面板中安装 SteamCMD、添加游戏服务端实例、配置端口与启动参数。

5、注意事项

  1. 安全第一:容器以 root 运行且使用 host 网络,请勿将 3022 面板端口直接暴露到公网;如确需远程管理,建议仅在内网可信环境访问,并为面板设置强密码。
  2. 端口规划:host 模式下游戏服务端会直接占用 NAS 端口,多开实例时注意各游戏端口不要冲突(尤其 27015 这类默认端口)。
  3. 性能与散热:游戏服务端对 CPU 与内存占用较高,建议在 NAS 上监控资源使用,避免影响其他服务(如影音、同步)。
  4. 数据备份:定期备份 ./data 目录,尤其是 ./data/gsm3 面板数据与 ./data/file 游戏存档。
  5. 防火墙:请确认 NAS 防火墙以及路由器端口转发规则已放行所需游戏端口,否则外网玩家无法连接。

至此,绿联 Pro 上的 GSManager3 游戏服务器管理面板就部署完成了,接下来就可以在浏览器里愉快地开服了。