一、模板在系统中的作用
| 项 | 说明 |
|----|------|
| 游戏类型 / 查询协议 | 如 Steam(A2S)、Minecraft、Terraria、纯进程 |
| 启动方式 | 可执行文件、启动参数、工作目录、停止命令 |
| 端口规则 | 本模板基础端口,或归属「模板分类」的端口池 |
| 配置样例 | 开服时写入实例目录的 cfg/properties 等 |
| 可调参数 | 用户/管理员可改的设置项(支持魔法变量) |
| 游戏源 | Agent 上 `data/game-sources/<子目录>` 复制到实例目录 |
| 计费相关 | 创建费用、默认内存、免费磁盘额度等 |
首次初始化且模板表为空时,系统会自动写入一份 **「Source 专用服(示例)」**(见下文默认模板)。
二、添加模板的推荐流程
① 准备 Agent 游戏源
↓
②(可选)模板分类 / 端口池
↓
③(Minecraft)配置 Java 运行环境
↓
④ 后台创建游戏模板
↓
⑤ 填写启动参数、配置样例、设置项
↓
⑥(可选)绑定插件
↓
⑦ 用测试用户开服验证
### 步骤 1:准备游戏源
在 **已在线** 的 Agent 机器上放置完整服务端文件,例如:
Agent根目录/data/game-sources/cstrike/
├─ srcds.exe
├─ cstrike/
└─ ...
模板字段 **游戏源路径** `source_files_path` 填相对名:`cstrike`(不要写绝对路径)。
### 步骤 2:(可选)模板分类
路径:**管理后台 → 游戏配置 → 模板分类**
- 用于同一类游戏共用 **端口池起始端口**
- 模板若挂到分类,则模板自身的 `game_port` 会按规则走分类端口(分类存在时模板 `game_port` 存 0)
不需要端口池时可跳过,直接在模板里写固定基础端口。
### 步骤 3:(Minecraft)Java 环境
路径:**游戏配置 → Java 运行环境**
- 先添加本机/节点可用的 Java 安装信息
- 创建 Spigot/Paper/Bukkit 等模板时必须选择 `java_runtime_id`
- 启动参数中可用 `{MIN_MEMORY_MB}` / `{MAX_MEMORY_MB}`
### 步骤 4:新建游戏模板
路径:**游戏配置 → 游戏模板 → 添加**
#### 必填 / 关键字段
| 字段 | 说明 |
|------|------|
| **名称** | 必填,用户开服时看到的名字 |
| **游戏类型** | 决定状态查询协议,见下表 |
| **可执行文件** | 如 `srcds.exe`、`spigot.jar` |
| **启动参数** | 支持魔法变量 |
| **工作目录** | 建议 `data/servers/{ID}` |
| **游戏端口** | 无分类时必填基础端口 |
| **查询端口偏移** | 查询端口 = 游戏端口 + 偏移(旧「查询端口」字段已废弃) |
| **内存** | 非 MC:`memory_mb`;MC:`memory_mb_max`(JVM 最大堆) |
| **游戏源路径** | 对应 `data/game-sources/` 下子目录名 |
| **配置样例** | 可多个文件:`path` + `content` |
| **设置项** | 可手写,也可「自动解析」配置样例中的占位符 |
#### 游戏类型(后台选项)
| 值 | 用途 |
|----|------|
| `steam` | Source 引擎(CS/TF2/GMod 等),A2S 查询 |
| `palworld` | 幻兽帕鲁 |
| `terraria` | 泰拉瑞亚(可配 TShock REST) |
| `process` | 仅进程状态,无游戏协议查询 |
| `spigot` / `bukkit` / `paper` / `minecraft` | Minecraft 系 |
| `gamespy3` / `gamespy4` | GameSpy 查询 |
#### 内置魔法变量
可在启动参数、配置样例中使用:
| 变量 | 含义 |
|------|------|
| `{ID}` | 服务器实例 ID |
| `{NODE_IP}` | 节点 IP |
| `{GAME_PORT}` | 游戏端口 |
| `{QUERY_PORT}` | 查询端口 |
| `{MAX_PLAYERS}` | 最大人数 |
| `{WORKING_DIR}` | 工作目录 |
| `{EXECUTABLE}` | 可执行文件名 |
| `{MIN_MEMORY_MB}` / `{MAX_MEMORY_MB}` | Minecraft JVM 内存(MB) |
自定义设置项可再声明 `magic_var`(如 `{HOSTNAME}`),开服时替换进配置。
评论
暂无评论,欢迎留下您的看法。