跳到主要内容
工程

本页尚未翻译,当前显示英文版本。

Servers

Servers 是你运行托管 Room 的游戏服务器的地方。 它显示每个机群的状态、副本和日志。你也在这里设置机群中 Room 的行为,以及它在哪里、在多少台机器上运行。该页面的范围是顶栏中选中的 Environment,侧边栏中 Servers 旁边的数字是 Project 中游戏服务器的数量。


模型

游戏服务器是一种服务器类型,而不是一台机器: 游戏服务器 → 实例 → Room。

Fleet · game server cubeworld-ue room settings (capacity, lifetime, max rooms) apply to the whole fleet Deployment point FRA · machine pool size 2 · 2 rooms per machine · image v12 Machine Instance Room Room … Machine Instance Room one instance, several rooms Deployment point IAD · machine pool size 1 · 2 rooms per machine · image v12 Machine Instance Room size and image version are set per pool
一个机群,每个部署点一个机器池:Room 设置属于机群,规模和镜像版本属于各个机器池
术语是什么
Fleet(机群)一个游戏服务器:以 game_server 类型声明的 Function。
Replica(副本)机群的一个运行中的副本。在池化机群中,每台存活的池机器就是一个副本。
Instance(实例)一个连接到 PlayServ 的游戏服务器进程。一个实例可以持有多个 Room。
Deployment point(部署点)机群可以运行的 PlayServ 接入点。
Machine pool(机器池)PlayServ 在某个部署点保持运行你服务器镜像的预热机器。

运行机群的三种方式,在声明游戏服务器时确定。

路径运行模式谁做什么
PlayServ SDK · Cloud RunManagedPlayServ 负责协议集成、运行时、托管和生命周期。
Third-party · DockerPooledPlayServ 在机器池上运行你的容器镜像。
Third-party · VMExternal由你运行服务器,在你自己的机器上或通过 Edgegap。PlayServ 提供基础设施,但不解析你的游戏协议。

副本和机群的状态。 机群的状态由它的副本汇总得出;机群表中第一个适用的状态胜出。

副本含义
Healthy正常为 Player 提供服务。
Draining仍然存活,但正在有意退出服务:这是一次优雅关闭,不是故障。
Unhealthy在运行,但健康检查失败。
Starting正在启动,尚未接受 Session。
Stopped未运行。
机群含义
State unavailablePlayServ 无法读取机群的状态,或者它没有副本。这是监控盲区,并不能证明机群已宕机。
Deploy failed上一次部署失败;之前的版本继续提供服务。
Deploying新版本正在发布。
Down没有健康的副本。
Degraded至少有一个副本不健康。
Draining副本正在优雅地退出服务。
Healthy每个副本都在提供服务。

机群列表

列表中每个机群一张卡片,需要处理的排在最前。当任何机群处于 Deploy failed、Down、Degraded 或 State unavailable 时,顶部的横幅会列出它们。

Servers 列表中有两个健康的池化机群,每张卡片显示其版本、区域、副本和最近一次部署Servers 列表中有两个健康的池化机群,每张卡片显示其版本、区域、副本和最近一次部署
卡片上显示内容
State · Path机群汇总后的状态及其运行方式。
Version正在运行的版本及其提交。
Regions它拥有副本的部署点。
Replicas“X/Y healthy”,附带排空中和不健康的数量。
Deployed部署时间和部署人。

Open 打开机群;日志图标直接跳到它的日志。可以按名称、版本或镜像搜索,并按路径筛选。New fleet 打开部署点。


单个机群

一个机群有四个标签页,… 菜单提供 Regions & scaling config(打开 Deployment)和 Copy image reference。

池化机群的 Overview 标签页,三个副本中三个在提供服务,显示当前为 Player 服务的版本及其区域池化机群的 Overview 标签页,三个副本中三个在提供服务,显示当前为 Player 服务的版本及其区域

这里暂时还不能 Deploy 和 Roll back

这两个按钮显示在机群标题栏中,但处于禁用状态。托管机群通过 Functions 部署;池化机群通过在 Hosting 标签页修改其机器池的镜像版本来部署。

标签页内容
OverviewFleet 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 即可创建。

机群的 Rooms 标签页,显示其 Room 设置表单和连接到它的实例机群的 Rooms 标签页,显示其 Room 设置表单和连接到它的实例
设置范围默认值含义
Capacity1–10008每个 Room 的 Player 数。只是默认值:你的服务器为某个具体 Room 上报的容量优先。
Reservation TTL1–60 秒20 秒为已匹配但尚未进入的 Player 保留座位的时长。
Room lifetime无限制,或 N 秒1800 秒Room 的最长存续时间;临近结束时进入排空。No limit 会关闭排空和过期。
Idle timeout从不,或 N 秒120 秒Room 在关闭之前可以保持空置的时长。
Max rooms1–1000050这个游戏服务器在此 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。
ExternalLaunches:每个启动请求,附带其部署、区域、预期的 Room、时间和结果 —— Launched、Registered、Failed 或 Dead。失败会写明原因,例如 unreachable、capacity_refused、region_unavailable、credential_rejected 或 process_exited。
Pooled机群的机器池。

机器池

机器池在一个部署点保持预热的机器,运行你的服务器镜像,随时准备接收 Room。 一个机群在每个部署点有一个机器池,各自有自己的规模。集群决定提供商、机器类型和区域;你设置规模、每台机器的 Room 数和镜像版本。

池化机群的 Hosting 标签页,显示 Frankfurt 机器池的规模、镜像版本和机器池化机群的 Hosting 标签页,显示 Frankfurt 机器池的规模、镜像版本和机器
字段范围默认值含义
Size0–642机器数量。
Rooms per machine1–10004每个服务器进程可以托管的 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 stripConverging(正在添加机器,每台约 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,规模随之减一。
Consumption24 小时、7 天或 30 天内的机器时长和流量。

部署点

在部署点页面,你选择机群在哪里运行,以及这个部署范围的成本。 通过 New fleet 打开,或在 Deployment 地图上点击一个可用位置打开。

部署点页面,地图上选中了 Frankfurt,右侧是其 CCU 档位、机器数量和机群,下方是部署总计部署点页面,地图上选中了 Frankfurt,右侧是其 CCU 档位、机器数量和机群,下方是部署总计
步骤你要做的
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日