负载定义

您可在创建 配载 时指定 Payload definition (负载定义)。前往 zeuz 控制面板的 Allocations (配载) 页面 (路径:Orchestration& > Allocations),然后点击 +ADD ALLOCATION 创建配载。更多信息,请参阅 创建配载

负载即容器化的游戏服务器实例。我们需要用以下两者创建负载:

  • 游戏服务器的 镜像
  • 描述如何执行该镜像的命令

镜像

Image (镜像) 下拉菜单中显示了您使用 zeuz 工具 上传并发布的 镜像,您可从中为配载选择一个镜像,在负载中使用。

如需更新已上传的镜像,您可用相同文件名命名该镜像的新版本,并上传新版本将原有镜像替换掉。

(如需帮助,请参见 上传并发布镜像。)

注意

zeuz 提供可选功能 Always Use Latest Image (总是使用最新镜像):启用此功能后,新镜像一经上传发布,zeuz 会自动刷新配载中的全部待分配负载,以使用最新镜像。如需手动选择镜像,禁用 Always Use Latest Image (总是使用最新镜像) 即可。

如需了解或启用该功能,请联系 zeuz 支持

命令

Command (命令) 字段定义 zeuz 如何将负载部署到服务器硬件上,其中包括游戏可执行 (二进制) 文件的详细信息,以及部署负载时使用的设置。您可在 编排 设置中指定服务器硬件上。

请根据以下信息配置 Command (命令) 字段。关于 Command 字段的格式,请参考下文的 命令格式 部分。

注意:除以下提及的参数外,不要更改其他 Command (命令) 设置。

  • binaryactivename:将 NAME_OF_YOUR_BINARY 替换为启动负载的可执行 (二进制) 文件名称。必填。

  • binaryexecpath:将 PATH_TO_YOUR_BINARY 替换为您的游戏可执行 (二进制) 文件路径。不要变更路径的前缀。必填。

  • execargs:使用此行为负载添加设置,例如:端口 (必填)、标识变量 (必填) 和其他可选变量。

    如需更多信息,请参见下文的 设置 部分。

设置

您可以进一步指定负载部署的细节。

端口

您必须为玩家指定至少一个连接到游戏的端口。此外也可以按需指定其他端口,例如:一个单独用于调试的端口,一个单独用于上报游戏统计数据的端口。

如需指定端口,您可使用 Command (命令) 字段中的 ${servicePort:PortName} 变量。当您添加端口时,端口会按字母顺序列在 Command (命令) 字段下方。例如:

2 ports in use (debug, default)

您可在该列中检查端口名称是否正确,确保没有拼写错误。

如果您想启用同时在线人数 (CCU) 追踪功能来查看您游戏的同时在线人数,则必须在 Command 字段中加入 ${statsPort} 变量。该变量把端口配置传递给您的游戏,并允许端口传输同时在线人数的信息。更多信息,请参阅 负载定义的 CCU 追踪 部分 和 CCU 追踪 页面。

注意:您此前用 ${serviceContainerPortX}${serviceHostPortX} 句法设置的端口仍然生效。

标识变量

您必须指定下列标志变量 (这些标志变量对部分 API 请求是必须的):

  • ${serviceIP}:活跃负载上报其所在的游戏服务器 IP 地址
  • ${payloadID}:活跃负载上报其 ID

可选环境变量

如果您使用匹配后端服务把玩家分配到游戏服务器,您可能会希望负载上报相关信息。您可以在 shell 脚本或可执行 (二进制) 文件中使用下列环境变量,以便负载为玩家路由和调试提供更多有用信息。

您可在脚本中使用以下环境变量,下方示例给出了变量可能包含的数值,实际数值取决于您的 zeuz 配置且因负载而异。

变量名描述
ZEUZ_ALLOCATIONID配载的唯一 ID。在 zeuz 控制面板的 Allocations (配载) 页面上显示为 ID 栏。

示例:tfiuDnppqrsnxYYoBKlrXlgcagy
ZEUZ_ENVID环境的唯一 ID。在 zeuz 控制面板的左侧显示为 ENVIRONMENT ID (环境 ID)。

示例:xZjuARrbUeahqKsqfUxTOpLxuCH
ZEUZ_MACHINEID分配用于运行负载的机器 ID。在 zeuz 控制面板的 Machines (机器) 和 Payloads (负载) 页面上显示为 MACHINE ID (机器 ID)。

示例:bAxrSlvDerxllEOqmUiVanQKdmX
ZEUZ_PAYLOADID负载的唯一 ID。在 zeuz 控制面板的 Payloads (负载) 页面上显示为 PAYLOAD ID (负载 ID)。

示例:dKgnGTtFxlXCtWgkiTaaMrixocl
ZEUZ_PROJID项目的唯一 ID。在 zeuz 控制面板左侧显示为 PROJECT ID (项目 ID)。

示例:icYmKawQrtBwtCzfrwxqAjkZbwi
ZEUZ_REGIONS配载的服务器硬件所在的地理区域。显示于 zeuz 控制面板的 Allocations (配载) 页面。该变量可表示多个区域,每个区域之间以英文逗号 (,) 分隔,不含空格。

示例:US-East,US-Mid,Asia

可用区域的完整列表如下:

  • US
  • Asia
  • Europe
  • Australia
  • US-East
  • US-Mid
  • US-West
  • South America
  • Russia
  • Australia (GCP-N1) |

负载自动释放

当一个游戏会话结束时,您可以设置自动停用拉起的负载,这样既可以避免资源浪费,还可以让您免于手动操作。

具体操作为:

  1. 获取 API 密钥: 在 zeuz 控制面板中,点击右上角登录名旁的下拉箭头,在下拉菜单中选择 API Keys (API 密钥)。

  2. Command (命令) 字段中添加如下命令:

1
2
3
apiendpoint=https://zcp.zeuz.io/api/v1
apikey=API_KEY (replace API_KEY with your API key)
apisecret=API_KEY_PASSWORD (replace API_KEY_PASSWORD with your API key's password)

命令格式

每个属性都要另起一行,Command (命令) 字段示例如下:

1
2
3
4
5
6
7
8
/opt/zeuz/bin/payloadrunner
run
binaryactivename=MY_GAME
binaryexecpath=/opt/zeuz/gameserver/mygame/start_in_zeuz.sh
execargs=-PlayerPort=${servicePort:PlayerPort} -IP=${serviceIP} -statsPort=${statsPort} -id=${payloadID}
apiendpoint=https://zcp.zeuz.io/api/v1
apikey=MY_API_KEY
apisecret=MY_API_KEY_PASSWORD

CCU 追踪

您可使用同时在线人数 (CCU) 追踪功能查看有多少玩家同时连接到您的 zeuz 游戏服务器。

如您想使用该功能,但在 Allocation : Create (创建配载) 页面上没有看到 CCU Tracking (CCU 追踪) 的下拉菜单,请联系 zeuz 支持 为您的账号添加该功能。

关于如何启用这项功能,请参阅 CCU 追踪

负载工件

游戏服务器瞬时运行 (请参阅 维基百科:瞬时,这意味着当负载停止运行时,其崩溃转储文件及您配置保存的操作数据都将不复存在。负载工件 (Payload artifact) 功能保存数据并将其上传至统一位置 (zeuz AWS S3 bucket),以便您下载数据并进行事后分析。

负载工件是一项测试功能。如需为您的账号启用此功能,请联系 zeuz 支持

其他部分

确保您已完成创建配载页面上其他部分的配置:

  • Basic information (基本信息)

    添加文本描述并指定服务器硬件所在的 区域

    详情请参阅 创建配载

  • Hardware configuration (硬件配置)

    指定硬件配置。

    详情请参阅 硬件配置

  • Scaling rules (伸缩规则)

    定义 伸缩 规则。

    详情请参阅 伸缩规则

保存

点击页面顶部的 SAVE 按钮保存配载设置。您也可以点击 CANCEL 返回配载主页面。


2021年9月9日 该文档已更新并通过审校:废弃 execdelay 命令设置 新增环境变量描述

2021年8月24日 该文档已更新并通过审校:新增“负载工件”功能

2021年8月17日 该文档已更新并通过审校:新增“总是使用最新镜像”功能


最近更新时间: October 20, 2021 (919d59f5)