Amazon GameLift 服务器软件开发工具包 (C++) 参考:数据类型 - Amazon GameLift

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon GameLift 服务器软件开发工具包 (C++) 参考:数据类型

您可以使用这份 Amazon GameLift C++ 服务器软件开发工具包 参考来帮助您为多人游戏做好准备,以便在 Amazon GameLift 上使用。有关集成过程的详细信息,请参阅将 Amazon GameLift 添加到您的游戏服务器

此 API 在 GameLiftServerAPI.hLogParameters.hProcessParameters.h 中定义。

DescribePlayerSessionsRequest

此数据类型用于指定检索哪些玩家会话。您可以按如下方式使用它:

  • 提供 PlayerSessionId 以请求特定的玩家会话。

  • 提供 GameSessionId 以请求指定游戏会话中的所有玩家会话。

  • 提供 PlayerId 以请求指定玩家的所有玩家会话。

对于大型玩家会话集合,请使用分页参数以在有序数据块中检索结果。

目录

GameSessionId

游戏会话的唯一标识符。使用此参数可请求指定游戏会话的所有玩家会话。游戏会话 ID 的格式如下所示:arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>。<ID string> 的值为自定义 ID 字符串(如果在创建游戏会话时指定了一个)或者是生成的字符串。

类型:字符串

必需:否

限制

要返回的最大结果数量。使用此参数和 NextToken 以一组连续页面的格式获取结果。如果指定玩家会话 ID,将忽略此参数。

类型:整数

必需:否

NextToken

令牌指示结果的下一个连续页面的开头。使用之前的调用返回此操作的令牌。要指定结果集的开始,请不要指定值。如果指定玩家会话 ID,将忽略此参数。

类型:字符串

必需:否

PlayerId

玩家的唯一标识符。玩家 ID 由开发人员定义。请参阅生成玩家 ID

类型:字符串

必需:否

PlayerSessionId

玩家会话的唯一标识符。

类型:字符串

必需:否

PlayerSessionStatusFilter

用于筛选结果的玩家会话状态。可能的玩家会话状态包括以下内容:

  • RESERVED - 已收到玩家会话请求,但玩家尚未连接到服务器进程和/或进行验证。

  • ACTIVE - 服务器进程已验证玩家,当前已连接。

  • COMPLETED - 玩家连接已断开。

  • TIMEDOUT - 收到了玩家会话请求,但玩家未连接和/或在超时限制 (60 秒) 内验证。

类型:字符串

必需:否

LogParameters

此数据类型用于标识您希望 在游戏会话结束时上传并存储游戏会话期间生成的哪些文件。此信息在 调用中传递给 服务。

目录

logPaths

您希望 用于存储供以后访问的游戏服务器日志文件的目录路径。这些文件将在每个游戏会话期间生成。文件路径和名称在游戏服务器中定义并存储在根游戏构建目录中。日志路径必须是绝对的。例如,如果您的游戏构建在类似于 MyGame\sessionlogs\ 的路径中存储游戏会话日志,则日志路径将为 c:\game\MyGame\sessionLogs (在 Windows 实例上) 或 /local/game/MyGame/sessionLogs (在 Linux 实例上)。

类型:std:vector<std::string>

必需:否

ProcessParameters

此数据类型包含一组在 调用中发送到 服务的参数。

目录

port

服务器进程用于侦听新玩家连接的端口号。该值必须在部署此游戏服务器构建的任意实例集上所配置的端口范围内。此端口号包含在游戏会话和玩家会话对象中,游戏会话在连接到服务器进程时使用。

类型:整数

必需:是

logParameters

包含游戏会话日志文件目录路径列表的对象。

类型:Aws::GameLift::Server::LogParameters

必需:否

onStartGameSession

服务调用用于激活新游戏会话的回调函数的名称。 调用此函数响应客户端请求 CreateGameSession。回调函数传递 GameSession 对象(在 服务 API 参考 中定义)。

类型:const std::function<void(Aws::GameLift::Model::GameSession)> onStartGameSession

必需:是

onProcessTerminate

服务调用以强制关闭服务器进程的回调函数的名称。调用此函数之后, 等待五分钟以便服务器进程关闭,然后使用 调用来进行响应。如果没有收到响应,它会关闭该服务器进程。

类型:std::function<void()> onProcessTerminate

必需:否

onHealthCheck

服务调用以从服务器进程请求运行状态报告的回调函数的名称。 每隔 60 秒调用此函数。调用此函数后, 将等待 60 秒接收响应,如果未收到响应,则会将服务器进程记录为不正常。

类型:std::function<bool()> onHealthCheck

必需:否

onUpdateGameSession

Amazon GameLift 服务为将更新的游戏会话对象传递给服务器进程而调用的回调函数的名称。为了提供更新的匹配数据而处理了匹配回填请求,Amazon GameLift 会调用此函数。它会传递一个 GameSession 对象、状态更新 (updateReason) 以及对战回填票证 ID。

类型:std::function<void(Aws::GameLift::Server::Model::UpdateGameSession)> onUpdateGameSession

必需:否

StartMatchBackfillRequest

此数据类型用于发送对战回填请求。此信息在 调用中传递给 服务。

目录

GameSessionArn

游戏会话的唯一标识符。此 API 操作 GetGameSessionId() 返回采用 ARN 格式的标识符。

类型:字符串

必需:是

MatchmakingConfigurationArn

采用 ARN 格式的唯一标识符,适用于用于此请求的对战构建器。要查找用于创建原始游戏会话的对战构建器,请查看对战构建器数据属性中的游戏会话对象。使用对战构建器数据详细了解 Word 中的对战构建器数据。

类型:字符串

必需:是

玩家

一组表示当前正在游戏会话中的所有玩家的数据。对战构建器使用此信息搜索与当前玩家非常匹配的新玩家。有关玩家对象格式的描述,请参阅 Amazon GameLift API 参考指南。要查找玩家属性、ID 和团队任务,请查看对战构建器数据属性中的游戏会话对象。如果对战构建器使用了延迟,则收集当前区域中更新的延迟并将其包含在每个玩家的数据中。

类型:std:vector<Player>

必需:是

TicketId

对战或匹配回填请求票证的唯一标识符。如果此处未提供任何值,则 Amazon GameLift 将生成一个采用 UUID 形式的值。使用此标识符可跟踪匹配回填票证状态或取消请求 (如需要)。

类型:字符串

必需:否

StopMatchBackfillRequest

此数据类型用于取消对战回填请求。此信息在 调用中传递给 服务。

目录

GameSessionArn

与被取消的请求关联的唯一游戏会话标识符。

类型:字符串

必需:是

MatchmakingConfigurationArn

此请求发送到的对战构建器的唯一标识符。

类型:字符串

必需:是

TicketId

要取消的回填请求票证的唯一标识符。

类型:字符串

必需:是