本页尚未翻译,当前显示英文版本。
Servers
Servers 是你运行托管 Room 的游戏服务器的地方。 它显示每个机群的状态、 副本和日志。你也在这里设置机群中 Room 的行为,以及它在哪里、在多少台机器上运行。该页面的范围是顶栏中选中的 Environment,侧边栏中 Servers 旁边的数字是 Project 中游戏服务器的数量。
模型
游戏服务器是一种服务器类型,而不是一台机器: 游戏服务器 → 实例 → Room。
| 术语 | 是什么 |
|---|---|
| Fleet(机群) | 一个游戏服务器:以 game_server 类型声明的 Function。 |
| Replica(副本) | 机群的一个运行中的副本。在池化机群中,每台存活的池机器就是一个副本。 |
| Instance(实例) | 一个连接到 PlayServ 的游戏服务器进程。一个实例可以持有多个 Room。 |
| Deployment point(部署点) | 机群可以运行的 PlayServ 接入点。 |
| Machine pool(机器池) | PlayServ 在某个部署点保持运行你服务器镜像的预热机器。 |
运行机群的三种方式,在声明游戏服务器时确定。
| 路径 | 运行模式 | 谁做什么 |
|---|---|---|
| PlayServ SDK · Cloud Run | Managed | PlayServ 负责协议集成、运行时、托管和生命周期。 |
| Third-party · Docker | Pooled | PlayServ 在机器池上运行你的容器镜像。 |
| Third-party · VM | External | 由你运行服务器,在你自己的机器上或通过 Edgegap。PlayServ 提供基础设施,但不解析你的游戏协议。 |
副本和机群的状态。 机群的状态由它的副本汇总得出;机群表中第一个适用的状态胜出。
| 副本 | 含义 |
|---|---|
| Healthy | 正常为 Player 提供服务。 |
| Draining | 仍然存活,但正在有意退出服务:这是一次优雅关闭,不是故障。 |
| Unhealthy | 在运行,但健康检查失败。 |
| Starting | 正在启动,尚未接受 Session。 |
| Stopped | 未运行。 |
| 机群 | 含义 |
|---|---|
| State unavailable | PlayServ 无法读取机群的状态,或者它没有副本。这是监控盲区,并不 能证明机群已宕机。 |
| Deploy failed | 上一次部署失败;之前的版本继续提供服务。 |
| Deploying | 新版本正在发布。 |
| Down | 没有健康的副本。 |
| Degraded | 至少有一个副本不健康。 |
| Draining | 副本正在优雅地退出服务。 |
| Healthy | 每个副本都在提供服务。 |
机群列表
列表中每个机群一张卡片,需要处理的排在最前。当任何机群处于 Deploy failed、Down、Degraded 或 State unavailable 时,顶部的横幅会列出它们。

| 卡片上 | 显示内容 |
|---|---|
| State · Path | 机群汇总后的状态及其运行方式。 |
| Version | 正在运行的版本及其提交。 |
| Regions | 它拥有副本的部署点。 |
| Replicas | “X/Y healthy”,附带排空中和不健康的数量。 |
| Deployed | 部署时间和部署人。 |
Open 打开机群;日志图标直接跳到它的日志。可以按名称、版本或镜像搜索,并按路径筛选。New fleet 打开部署点。
单个机群
一个机群有四个标签页,… 菜单提供 Regions & scaling config(打开 Deployment)和 Copy image reference。

这里暂时还不能 Deploy 和 Roll back
这两个按钮显示在机群标题栏中,但处于禁用状态。托管机群通过 Functions 部署;池化机群通过在 Hosting 标签页修改其机器池的镜像版本来部署。
| 标签页 | 内容 |
|---|---|
| Overview | Fleet status(提供服务的副本,按状态划分)、Serving players now(版本、提交、分支、镜像、部署时间、上一个版本、运行时)、Regions(每个部署点的副本)、Replicas needing context(不健康和排空中的副本,附带跳到其日志的快捷方式)以及 Recent activity。横幅会解释部署失败、正在进行的发布,或无法读取的状态。 |
| Logs | 最新的日志行,在 Live 开启时每 5 秒刷新一次。可按文本、严重程度、副本和区域筛选;可以换行显示;可以复制可见内容。 |
| Rooms | 这个游戏服务器的 Room 如何运作 —— Room 设置 —— 以及当前已连接的实例。 |
| Hosting | 机群在哪里、以何种方式运行;对于池化机群,是它的机器池。 |
Room 设置
Room 设置让一个游戏服务器成为一种 Room 类型。 在设置之前,平台会拒绝它的实例尝试注册的每一个 Room。在 Rooms 标签页点击 Configure room settings 即可创建。

| 设置 | 范围 | 默认值 | 含义 |
|---|---|---|---|
| Capacity | 1–1000 | 8 | 每个 Room 的 Player 数。只是默认值:你的服务器为某个具体 Room 上报的容量优先。 |
| Reservation TTL | 1–60 秒 | 20 秒 | 为已匹配但尚未进入的 Player 保留座位的时长。 |
| Room lifetime | 无限制,或 N 秒 | 1800 秒 | Room 的最长存续时间;临近结束时进入排空。No limit 会关闭排空和过期。 |
| Idle timeout | 从不,或 N 秒 | 120 秒 | Room 在关闭之前可以保持空置的时长。 |
| Max rooms | 1–10000 | 50 | 这个游戏服务器在此 Environment 中可同时运行的 Room 数。超出的注册会被拒绝;它从不关闭正在运行的 Room。 |
保存后在下一次心跳生效
每次保存都会创建一个新版本的设置,运行中的实例会在下一次心跳时获取它 —— 无需重新部署,也无需重启。正在运行的 Room 继续运行,降低容量也不会踢出任何人。
超出范围的值会在其字段上被拒绝,而不是被截断。标签页的标题栏还会显示在服务器声明中设置的托管模式:Multi-room(每台机器上一个长期运行的进程托管多个 Room,默认)或 Process per room。
实例
当前已连接的每个游戏服务器进程,附带其 Region、Rooms、Players、Connected(连接时间)和 Last response(最近响应),按与 Room 相同的 15 秒窗口判断为 fresh 或 stale。在池化机群中,每台机器的 launcher 会把它运行的进程分组。点击一个实例,可在 Game Rooms 中查看它的 Room。
托管
| 路径 | 标签页显示的内容 |
|---|---|
| Managed | 当前部署、提交和运行中的副本。部署、日志、密钥、环境变量和扩缩都在 Functions 中 —— Open in Functions。 |
| External | Launches:每个启动请求,附带其部署、区域、预期的 Room、时间和结果 —— Launched、Registered、Failed 或 Dead。失败会写明原因,例如 unreachable、capacity_refused、region_unavailable、credential_rejected 或 process_exited。 |
| Pooled | 机群的机器池。 |
机器池
机器池在一个部署点保持预热的机器,运行你的服务器镜像,随时准备接收 Room。 一个机群在每个部署点有一个机器池,各自有自己的规模。集群决定提供商、机器类型和区域;你设置规模、每台机器的 Room 数和镜像版本。

| 字段 | 范围 | 默认值 | 含义 |
|---|---|---|---|
| Size | 0–64 | 2 | 机器数量。 |
| Rooms per machine | 1–1000 | 4 | 每个服务器进程可以托管的 Room 数。 |
| Image version | 你推送的标签 | — | 只能选择 linux/amd64 标签。 |
用 Create pool 创建一个机器池;如果机群已经有机器池,则用 Add deployment point。表单会显示由此得到的容量,例如“2 machines × 4 rooms = up to 8 rooms at once”,第一台机器大约 3.5 分钟后加入。Edit pool 修改这些值;如果在此期间有其他人修改了这个机器池,保存会被拒绝,你需要重新加载。
修改镜像版本就是部署
机器会保留,其中的进程以新版本重启,因此这些机器上的 Player 会断开连接,之后可以重新加入。降低规模会移除机器并关闭其上的 Room;规模为 0 会停止所有机器,但保留机器池的设置。两种操作都会要求你确认,并显示受影响的 Room 和 Player 数量。
| 机器池的组成部分 | 显示内容 |
|---|---|
| Status strip | Converging(正在添加机器,每台约 3.5 分钟)、Above size, coming back down、Moving to version 或 Destroying this pool。 |
| Reason | 机器池遇到问题时的通俗原因:容量被拒绝、达到配额或实例上限、机器无法启动。 |
| Machines | 每台机器(包括已失效的),附带其状态、正在使用的 Room 数和处于该状态的时长:Requested → Booting → Ready → In rotation → Draining → Dead。Ready 表示机器有响应;in rotation 表示服务器进程已连接、可以接收 Room。Remove 会销毁一台机器及其上的 Room,规模随之减一。 |
| Consumption | 24 小时、7 天或 30 天内的机器时长和流量。 |
部署点
在部署点页面,你选择机群在哪里运行,以及这个部署范围的成本。 通过 New fleet 打开,或在 Deployment 地图上点击一个可用位置打开。

| 步骤 | 你要做的 |
|---|---|
| 1. 选择部署点 | 在地图上点击一个部署点 。它的面板显示其状态 —— Active · N machines、In footprint 或 Not selected —— 以及当前集群能否连接到它;集群不提供的部署点无法选择。 |
| 2. 设定规模 | 为部署点选择一个 CCU 档位(显示的价格是该套餐的估算),以及机器数量,0–5。已激活的机器池从其当前规模开始。 |
| 3. 选择机群 | 只有不在 Cloud Run 上运行的机群才能使用机器池。 |
| 4. 检查并继续 | Selected deployment points 列出每个部署点的机器数、CCU 和价格,以及总计。Continue creating server 会在生效前显示每一项变更,例如“Frankfurt (FRA): 2 → 3 machines”,以及缩减会影响的 Room 和 Player。 |
机器数量大约在 5 分钟内生效,资费套餐从下个月 1 日起生效。尚未推送镜像的机群会继续进入其 Hosting 标签页上的机器池表单。
当机器上还有已注册的 Room 时,无法移除该机器池:请先在 Game Rooms 中关闭它们,或等它们结束。
下一步
- Game Rooms —— 你的机群托管的实时 Room
- Deployment —— 你的 Project 为 Player 提供服务的每个位置
- 游戏服务器托管 —— 编写注册 Room 的服务器
- Functions —— 托管游戏服务器的部署、密钥和扩缩
更新于 2026年10月10日