Amazon GameLift
开发人员指南 (版本 )
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Amazon GameLift 服务器 API (C#) 参考:数据类型

此 Amazon GameLift C# 服务器 API 参考可帮助您准备使用 Amazon GameLift 的多人游戏。有关集成过程的详细信息,请参阅 添加 Amazon GameLift 到您的游戏服务器

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

LogParameters

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

内容

logPaths

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

类型:List<String>

必需:否

DescribePlayerSessionsRequest

此数据类型用于指定检索哪些玩家会话。它可以通过多种方式使用:(1) 提供 PlayerSessionId 来请求特定的玩家会话;(2) 提供 GameSessionId 以在指定游戏会话中请求所有玩家会话;或 (3) 提供 PlayerId 以请求指定玩家的所有玩家会话。对于大型玩家会话集合,请使用分页参数以连续页面格式检索结果。

内容

GameSessionId

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

类型:字符串

必需:否

Limit

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

类型:整数

必需:否

NextToken

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

类型:字符串

必需:否

PlayerId

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

类型:字符串

必需:否

PlayerSessionId

玩家会话的唯一标识符。

类型:字符串

必需:否

PlayerSessionStatusFilter

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

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

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

  • COMPLETED - 玩家连接已断开。

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

类型:字符串

必需:否

ProcessParameters

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

内容

port (远程调试端口)

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

类型:整数

必需:是

logParameters

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

Type: Aws::GameLift::Server::LogParameters

必需:是

onStartGameSession

Amazon GameLift 为了激活新的游戏会话而调用的回调函数的名称。Amazon GameLift 调用此函数以响应客户端请求 CreateGameSession。回调函数采用 GameSession 对象(在 Amazon GameLift 服务 API 参考 中定义)。

Type: void OnStartGameSessionDelegate(GameSession gameSession)

必需:是

onProcessTerminate

Amazon GameLift 服务调用用于强制关闭服务器进程的回调函数的名称。调用此函数之后,Amazon GameLift 等待五分钟以便服务器进程关闭,然后使用 ProcessEnding() 调用响应,再关闭服务器进程。

Type: void OnProcessTerminateDelegate()

必需:是

onHealthCheck

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

Type: bool OnHealthCheckDelegate()

必需:是

onHealthCheck

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

Type: void OnUpdateGameSessionDelegate ( UpdateGameSession updateGameSession )

必需:否

StartMatchBackfillRequest

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

内容

GameSessionArn

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

类型:字符串

必需:是

MatchmakingConfigurationArn

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

类型:字符串

必需:是

玩家

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

类型:Player[ ]

必需:是

TicketId

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

类型:字符串

必需:否

StopMatchBackfillRequest

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

内容

GameSessionArn

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

类型:字符串

必需:是

MatchmakingConfigurationArn

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

类型:字符串

必需:是

TicketId

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

类型:字符串

必需:是