实时服务器客户端 API (C#) 参考:数据类型 - Amazon GameLift

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

实时服务器客户端 API (C#) 参考:数据类型

使用此 C# 实时客户端 API 参考可帮助您准备多人游戏,以便与 Amazon GameLift 实例集上部署的实时服务器配合使用。有关集成过程的详细信息,请参阅 准备实时服务器

ClientConfiguration

有关如何将游戏客户端连接到实时服务器的信息。

目录

ConnectionType

要使用的客户端/服务器连接类型,可以是安全的或不安全的。如果您未指定连接类型,默认值为不安全。

注意

当使用 TLS 证书连接到安全实例集上的实时服务器时,必须使用值 RT_OVER_WSS_DTLS_TLS12。

类型:一个 ConnectionType 枚举值。

必需:否

ConnectionToken

有关请求与实时服务器连接的游戏客户端和/或玩家的信息。

目录

PlayerSessionId

创建新玩家会话时由 Amazon GameLift 颁发的唯一 ID。玩家会话 ID 在 PlayerSession 对象中指定,作为对 GameLift API 操作 StartGameSessionPlacementCreateGameSession DescribeGameSessionPlacement DescribePlayerSessions 请求客户端调用的响应返回。

类型:字符串

必需:是

payload

连接时将传递给实时服务器的开发人员定义的信息。这包括可能用于自定义登录机制的任何任意数据。例如,在允许客户端连接之前,负载可提供实时服务器脚本要处理的身份验证信息。

类型:字节数组

必需:否

RTMessage

消息的内容和传递信息。消息必须指定目标玩家或目标组。

目录

opCode

标识游戏事件或操作(例如,玩家移动或服务器通知)的开发人员定义操作代码。消息的操作代码为所提供的数据负载提供上下文。使用 NewMessage() 创建的消息已具有操作代码集,但它可以随时进行更改。

类型:整数

必需:是

targetPlayer

标识作为所发送消息预期收件人的玩家的唯一 ID。目标可以是服务器本身(使用服务器 ID)或其他玩家(使用玩家 ID)。

类型:整数

必需:否

targetGroup

标识作为所发送消息预期收件人的组的唯一 ID。组 ID 由开发人员定义。

类型:整数

必需:否

deliveryIntent

指示使用可靠 TCP 连接还是使用快速 UDP 通道发送消息。使用NewMessage()创建的消息。

类型:DeliveryIntent 枚举

有效值:FAST | RELIABLE

必需:是

payload

消息内容。此信息根据游戏客户端基于随附操作代码处理的需要进行结构化。它可能包含游戏状态数据或者在游戏客户端之间或在游戏客户端与实时服务器之间进行通信所需的其他信息。

类型:字节数组

必需:否

DataReceivedEventArgs

通过OnDataReceived()回调提供的数据。

目录

发件人

标识发起消息的实体的唯一 ID(玩家 ID 或服务器 ID)。

类型:整数

必需:是

opCode

标识游戏事件或操作(例如,玩家移动或服务器通知)的开发人员定义操作代码。消息的操作代码为所提供的数据负载提供上下文。

类型:整数

必需:是

data

消息内容。此信息根据游戏客户端基于随附操作代码处理的需要进行结构化。它可能包含游戏状态数据或者在游戏客户端之间或在游戏客户端与实时服务器之间进行通信所需的其他信息。

类型:字节数组

必需:否

GroupMembershipEventArgs

通过OnGroupMembershipUpdated()回调提供的数据。

目录

发件人

标识请求组成员资格更新的玩家的唯一 ID。

类型:整数

必需:是

opCode

标识游戏事件或操作的开发人员定义操作代码。

类型:整数

必需:是

groupId

标识作为所发送消息预期收件人的组的唯一 ID。组 ID 由开发人员定义。

类型:整数

必需:是

playerId

作为指定组当前成员的玩家 ID 列表。

类型:整数数组

必需:是

枚举

为实时客户端软件开发工具包定义的枚举定义如下:

ConnectionStatus
  • CONNECTED – 游戏客户端仅通过 TCP 连接连接到实时服务器。无论传递意图如何,所有消息都通过 TCP 发送。

  • CONNECTED_SEND_FAST – 游戏客户端通过 TCP 和 UDP 连接连接到实时服务器。但是,通过 UDP 接收消息的功能尚未验证;因此,发送到游戏客户端的所有消息均使用 TCP。

  • CONNECTED_SEND_AND_RECEIVE_FAST – 游戏客户端通过 TCP 和 UDP 连接连接到实时服务器。游戏客户端可以使用 TCP 或 UDP 发送和接收消息。

  • CONNECTING – 游戏客户端已发送连接请求,实时服务器正在进行处理。

  • DISCONNECTED_CLIENT_CALL – 游戏客户端与实时服务器断开连接以响应来自游戏客户端的Disconnect()请求。

  • DISCONNECTED – 游戏客户端因客户端断开连接调用以外的原因与实时服务器断开连接。

ConnectionType
  • RT_OVER_WSS_DTLS_TLS12 – 安全连接类型。

    适用于在 GameLift 实例集上运行并生成 TLS 证书的实时服务器。当使用安全连接时,TCP 流量使用 TLS 1.2 进行加密,而 UDP 流量使用 DTLS 1.2 进行加密。

  • RT_OVER_WS_UDP_UNSECURED – 非安全连接类型。

  • RT_OVER_WEBSOCKET – 非安全连接类型。此值不再是首选。

DeliveryIntent
  • FAST – 使用 UDP 通道传递。

  • RELIABLE – 使用 TCP 连接传递。