Fleets
Fleet 代表一组 DS(专用服务器)托管资源,同时也是负责 DS 部署和生命周期管理的服务。游戏可以指定:
1. 添加 Fleet
1.1 打开创建页面
选择 DS 托管 > Fleets
,然后点击 添加 Fleet
按钮:
1. 添加Fleet
1.1 打开创建页面
选择 DS Hosting > Fleets
, 并且点击 Add Fleet
按钮:
点击按钮后会打开以下创建页面:
1.2 基本配置
填写以下字段:
- Fleet 名称:Fleet的描述性名称,该名称不一定要唯一,提交后可以修改。
- 描述:Fleet的描述,提交后可以修改。
如果此Fleet与另一个fleet具有相同的配置值,您可以单击“从其他fleet克隆配置”以简化工作:
1.3 Build 配置
1.3.1 当添加新fleet时配置主Build
选择一个已经创建的Build:
1.3.2 在fleet创建后修改主Build
如果需要,您可以随时修改 Fleet 的主build。从build列表中选择新的build:
选择一个更新模式:
- 强制更新:立即更新所有机器,无论它们是否正在举行战斗会话。
- 软更新:在机器空闲时(没host任何战斗会话)更新。使用旧主build部署的机器将被标记为
WATING_UPDATE
状态,新的战斗会话无法放置在WATING_UPDATE
状态下的机器上。
点击提交按钮提交修改,然后刷新页面,等待更新完成(可能需要刷新页面进行检查):
1.4 进程配置
填写以下字段:
- 启动路径:编译包中的DS可执行文件路径,不能是脚本文件路径(*.sh、*.ps1、*.bat 等)。
- 启动参数:启动时可以传递给DS的参数字符串。(可选)
- 如果在规定时间内没有放置,则重新启动进程:如果长时间没有进程放置,则重启DS服务器进程。这有助于解决由长时间运行的 DS 进程(例如:UE4 中的时间膨胀)引起的一些数据错误。设置值不得大于 168 小时(7 天),如果设置为 0,则忽略此设置。
1.5 部署配置
部署配置指定了在何处以及如何部署游戏服务器。
1.5.1 整体概念
PGOS 采用数据中心和地域两个层次来管理游戏服务器部署:
- 数据中心:是云厂商在某个城市的物理数据中心,可以提供部署游戏服务器所需的机器资源。
- 地域:是某个地理区域内多个数据中心组成的集群,这些数据中心共享一个扩缩容策略,在集群内按需调度。抽象出地域的概念,让游戏可以有效利用某个地理地域内不同数据中心的机器资源,从而实现成本控制和资源备份。即使设置了备份数据中心的资源,游戏如果不使用也不会收取费用。
Here is a rough conceptual diagram:
1.5.2 添加地域
添加地域以便在特定地理地域提供游戏服务器服务。
1.5.3 添加数据中心
添加数据中心以利用特定城市的云提供商的机器资源。
数据中心:云服务商在某个城市的物理数据中心,可以提供部署游戏服务器所需的机器资源。
优先级:是指当需要在某个地域放置战斗会话时,数据中心的优先级,即当战斗会话需要放置在服务器进程上时,会从优先级最高的数据中心中选择服务器进程。如果多个数据中心的优先级相同,则会优先选择对玩家延迟最低的数据中心。
优先级的设置还会影响优先扩容哪个数据中心:优先级最高的数据中心会优先扩容。当多个数据中心的最高优先级相同时,扩容操作会尽量将空闲的服务器进程均匀分布在这些数据中心上。
机器类型:PGOS 提供两种类型的机器:
按使用量计费的虚拟机 (VM)
按月计费的裸机 (BM)。
机器型号:数据中心允许部署的机器型号。游戏至少需选择1个机型,最多可选择10个机型,PGOS将优先购买和部署排名靠前的机型。
1.5.4 扩容策略设置
扩容策略指定了如何控制游戏服务器进程的数量。
1.5.4.1 数据中心的服务器容量
- 对于virtual serer数据中心:
指定数据中心的最大服务器进程数:
数据中心对可启动的服务器进程数有最大限制,由于实际的服务器进程数是 每台机器的服务器进程
设置的整数倍,所以最终的实际服务器进程数可能略大于此最大限制。
为什么实际值可能略大于设置值,下面是一个例子: 假设数据中心的最大服务器进程为 1000,而数据中心只有 1 台机器模型,设置:每台机器 6 个服务器进程 ,那么最终的实际最大服务器进程数为 1002 (= 6 * 167),略大于设置值(1000)。
- 对于裸金属数据中心 :指定从裸金属池中分配给该地域的裸机数量:
- 除非您将裸金属机器从裸金属资源池返还给后端,否则这些机器将一直保持运行状态,且不会进行冷却。因此,在裸金属机器上运行的服务器进程数量是固定的,不参与自动扩缩容。 点击此处了解更多关于在控制台管理裸金属实例的信息。
1.5.4.2 扩容模式
PGOS提供两种扩容模式:
- 固定数量的服务器进程:启动固定数量的游戏服务器,适用于Debug或QA场景。
- 可设置扩容buffer的自动扩容:在保持一定数量或百分比的可用游戏服务器进程的同时,自动进行扩容或缩容。
固定数量的服务器进程模式 在此模式下,指定地域内将维持固定数量的服务器进程,该数量等于所有数据中心的最大服务器进程总和。这意味着托管这些服务器进程的机器将持续产生费用,因此该模式更适合于具有少量服务器进程的Debug或QA场景。
初始服务器进程数: 地域的初始化服务器进程数量。这是地域创建后预热的服务器进程数量,也是地域的最小服务器进程数量。由于实际的服务器进程数量是
每台机器的服务器进程数
设置的整数倍,因此最终实际的服务器进程数量可能会略微超过此设置值。在固定数量服务器进程模式下,初始服务器进程数等于最大服务器进程数,且不可修改。最大服务器进程数: 地域的最大服务器进程数量,其值是所有数据中心的
最大服务器进程数
之和。由于实际的服务器进程数量是每台机器的服务器进程数
设置的整数倍,因此最终实际的服务器进程数量可能会略微超过此最大限制。
可设置扩容buffer的自动扩容 在此模式下,地域将根据当前对战会话数量自动调整服务器进程数量。此外,为了更快地放置对战会话,地域将维持一定数量或百分比的可用游戏服务器进程。
初始服务器进程数: 地域的初始化服务器进程数量。这是地域创建后预热的服务器进程数量,也是地域的最小服务器进程数量。由于实际的服务器进程数量是"每台机器的服务器进程数"设置的整数倍,因此最终实际的服务器进程数量可能会略微超过此设置值。其值必须是大于0的整数。
最大服务器进程数: 地域的最大服务器进程数量,其值是所有数据中心的"最大服务器进程数"之和。由于实际的服务器进程数量是"每台机器的服务器进程数"设置的整数倍,因此最终实际的服务器进程数量可能会略微超过此最大限制。
缓冲规则: 在运行的服务器进程总数超过服务器进程的最大限制之前,地域会维持可用的服务器进程以支持快速的战斗会话放置。有两种方式可以指定如何维持可用的游戏服务器进程:
维持可用服务器: 维持固定数量的可用/空闲游戏服务器进程。
维持可用百分比:根据当前服务器进程总数维持一定百分比的可用服务器进程。
某些游戏在不同的已激活战斗会话规模下,可能会有不同的战斗会话放置请求增长率。因此,除了支持"单一规则"外,PGOS还提供了"分段规则",允许游戏根据当前已激活的战斗会话(已放置的服务器)数量设置不同的缓冲值。
1.5.4.3 冷却策略
冷却时间:如果地域内所有对战会话都已终止,那么在指定时间(冷却时间)后,后台将尝试将所有按用量计费的机器数量缩减至0。此设置的目的是为了节省托管成本,特别是对于那些用于调试或测试的机器集群。(设置为0表示忽略此设置)。
如果地域/数据中心处于冷却状态时收到战斗会话放置请求,后台将自动恢复与初始服务器进程数量相等的服务器进程,以满足放置请求,无需任何额外干预。
1.5.5 每台机器的服务器进程数
在选择要在数据中心部署的机器型号后,我们还需要为每个机器型号指定允许同时运行的最大服务器进程数。
1.6 防火墙配置
字段说明:
- 端口范围: 指定游戏服务器可用于入站连接的端口号范围,取值在5000到35000之间;
- 协议: 指定要使用的通信协议类型,TCP或UDP;
- IP地址范围: 使用CIDR表示法指定允许访问游戏DS的IP地址范围。
0.0.0.0/0:表示允许任何尝试连接的人访问。
1.7 存储配置
PGOS 为机器配置的默认存储空间大小为 50GB。但是,游戏可以根据需要配置更合适的空间大小。例如,如果游戏需要对 DS 进行性能分析并希望在本地输出大量性能日志,50GB 的空间可能不够用。在这种情况下,游戏可以选择自定义容量模式并设置更大的空间大小。
1.8 提交创建
当所有配置字段都填写完成后,点击"Submit"按钮即可创建一个新的Fleet。
2. Fleet 列表
选择"DS 托管 > Fleets",您将看到所有已创建的 fleet 列表,该列表显示了这些 fleet 的一些关键信息:
右侧的“操作”列显示了可以对Fleet执行的操作。
2.1 Fleet状态
Fleet可能处于以下状态之一:
2.1.1 状态:新
Fleet正在新建,尚无任何资源。
2.1.2 状态:启动
Fleet正在获取资源。它可能正在购买机器,或在机器上下载/安装服务器Build ,或启动服务器实例。
2.1.3 状态:可用
Fleet的游戏服务器实例(可能不是所有实例)正在正常工作并可以接受战斗会话 放置 。
2.1.4 状态:可用(冷却)
如果所有战斗会话都终止,并且在一段时间内没有新的战斗会话放置 ,后端将尝试将所有机器缩减到 0,然后Fleet状态将变为可用(冷却)。此机制的目的是为了节省成本,特别是对于那些用于 Debug/QA 的Fleet 。
处于可用(冷却)状态的Fleet仍然可用于战斗会话 放置 ,当突然有战斗会话 放置请求时,后端将自动恢复扩容策略指定的初始服务器进程以满足请求,然后Fleet状态将变为可用。
2.1.5 状态:不可用
Fleet出现异常无法自动修复,无法提供战局放置服务,此时您可以查看Fleet 事件了解详情。
2.1.5 状态:删除
Fleet正在删除,一般由手动删除操作触发。
2.2 编辑Fleet点击编辑
进入Fleet编辑页面, Fleet字段编辑请参考添加Fleet.
2.3 删除Fleet
点击"删除"按钮,将会弹出确认窗口询问您是否确定要删除该Fleet。
❗ 注意:
- 当 Fleet 与某些 placer 关联时,可能无法成功执行
删除
操作。- 请确认
删除
操作,因为该操作无法恢复。
2.4 查看详情
点击蓝色字体的名称
将打开 Fleet 详情页面:
该页面显示了几个子标签:
- 概览:Fleet 的基本信息。
- 配置:查看或编辑 Fleet 配置。
- 机器实例:属于该 Fleet 的所有机器实例列表,您可以在此查看关键的机器信息(如状态、IP、崩溃核心转储等)。
- 对战会话:已分配到该 Fleet 的对战会话列表。
- 事件:该 Fleet 上发生的关键事件列表。
- 崩溃:该 Fleet 上发生的 DS 崩溃列表。
2.4.1 概览
显示当前 Fleet 的基本信息。
2.4.1 概览
显示当前 Fleet 的基本信息。
关键字段含义:
- 已占用/总计 CVM:已占用的 CVM 表示该 CVM 上至少运行着一个战斗会话。
- 已分配/总计 DS:已分配的 DS 表示该 DS 实例已被分配了一个战斗会话,不再是空闲状态。
- 活跃战斗会话:当前正在进行的战斗会话数量。
- 活跃玩家战斗会话:当前正在战斗会话中游戏的玩家数量。
2.4.2 配置
您可以在此查看当前 Fleet 配置,如需编辑请参考添加 Fleet.
2.4.3 机器实例
属于该 Fleet 的所有机器实例列表:

您可以通过 ID、IP、状态、Build、IDC 来筛选 CVM 实例列表。 CVM 列表的关键列说明:
- 最近一次的core dump时间
如果 CVM 上的 DS 发生过崩溃,这里会显示最近一次的崩溃时间。
❗ 注意:
- 如果 DS 程序没有生成崩溃转储的功能,此列将不会显示数据。
- 对于 UE4 的 DS 程序,您只需要在启动参数中添加 "-core" 即可让程序生成崩溃转储。
点击时间可以打开该 CVM 的 DS 崩溃列表:
点击"详情"查看core dump的详细信息,其中包含core堆栈:
您也可以点击"下载"将核心转储文件下载到本地进行进一步分析。
- 操作监控
在"操作"列中点击"监控",打开监控页面查看该 CVM 的 CPU/内存使用趋势:
在"操作"列中点击"监控",打开监控页面查看该 CVM 的 CPU/内存使用趋势:
操作终端
- 点击
操作
列中的终端
按钮以启动 CVM 上的代理终端:
终端服务成功启动后,您可以点击"连接终端"跳转到终端界面。
❗ 注意: 由于合规性要求,我们只能为您提供P2P直连和自签名证书。不过,我们会提供证书的sha256值。请根据页面提示验证证书的sha256值是否正确。
连接成功后,您可以通过终端操作 CVM。Windows CVM 支持 VNC 和 Shell,Linux CVM 支持 Shell。每次操作都需要创建一个新的终端会话。
创建会话后,您将能够通过终端操作 CVM:
右侧支持文件操作,可以上传文件到云服务器,从云服务器下载文件,图形化文件管理。
- 点击
操作浏览
点击“操作”栏中的“浏览”,可以打开并浏览本CVM上的游戏DS文件夹:
您可以查看游戏目录中的任何文件/文件夹,或下载它们,甚至可以在线预览一些文本文件:
操作删除
点击“操作”栏中的“删除”按钮,可以删除该云服务器实例,此时会弹出确认弹窗,询问是否确实要删除。
❗ 注意:
Revoke
操作是硬操作,这意味着无论 CVM 实例上是否有正在运行的战斗会话,CVM 实例都将被删除。这可能会导致某些玩家与 DS 断开连接,因此请谨慎执行此操作。
2.4.4 战斗会话
已放置在fleet上的战斗会话列表,您可以按 ID、源配置、CVM ID、IDC 和版本筛选列表。
点击ID
可以查看该战斗会话的详细信息:
点击“监控”链接,可以查看战斗过程中 CVM 的表现:
2.4.5 事件
Fleet上发生的关键事件列表:
您可以按 DC、事件级别(信息/警告/错误)、事件生产者(fleet/CVM)过滤事件列表,或者使用事件消息中的关键字进行过滤:
2.4.6 崩溃
Fleet上发生的 DS 崩溃列表,您可以按 DC 或 Build 筛选列表。
点击Stack ID
或Details
链接,可以查看崩溃的详细信息:
如果需要,请单击“下载”按钮下载core dump文件。