XblMultiplayerSessionConstants
表示多人游戏会话的常数值。
语法
typedef struct XblMultiplayerSessionConstants {
uint32_t MaxMembersInSession;
XblMultiplayerSessionVisibility Visibility;
uint64_t* InitiatorXuids;
size_t InitiatorXuidsCount;
const char* CustomJson;
const char* SessionCloudComputePackageConstantsJson;
uint64_t MemberReservedTimeout;
uint64_t MemberInactiveTimeout;
uint64_t MemberReadyTimeout;
uint64_t SessionEmptyTimeout;
uint64_t ArbitrationTimeout;
uint64_t ForfeitTimeout;
bool EnableMetricsLatency;
bool EnableMetricsBandwidthDown;
bool EnableMetricsBandwidthUp;
bool EnableMetricsCustom;
XblMultiplayerMemberInitialization* MemberInitialization;
XblMultiplayerPeerToPeerRequirements PeerToPeerRequirements;
XblMultiplayerPeerToHostRequirements PeerToHostRequirements;
const char* MeasurementServerAddressesJson;
bool ClientMatchmakingCapable;
XblMultiplayerSessionCapabilities SessionCapabilities;
} XblMultiplayerSessionConstants
成员
MaxMembersInSession
类型:uint32_t
该会话中的最大成员数。
可见性
类型:XblMultiplayerSessionVisibility
该会话的可见性。
InitiatorXuids
类型:uint64_t*
Xbox 用户 ID 的集合,指示发起会话的人员。 (可选)
InitiatorXuidsCount
类型:size_t
InitiatorXuids
数组中的条目数。
CustomJson
类型:const char*
在 JSON 字符串中指定的会话的任何自定义常数。 创建会话后,无法更改这些常数。 (可选)
SessionCloudComputePackageConstantsJson
类型:const char*
在 JSON 字符串中指定的会话的云计算包常数。 创建会话后,无法更改这些常数。 (可选)
MemberReservedTimeout
类型:uint64_t
具有保留的成员加入会话的最长时间(以毫秒为单位)。 如果成员在此时间内未加入,则删除预留。
MemberInactiveTimeout
类型:uint64_t
非活动成员处于活动状态的最长时间(以毫秒为单位)。 如果非活动成员在此期间未处于活动状态,则从会话中删除该成员。
MemberReadyTimeout
类型:uint64_t
标记为准备进入活动状态成员的最长时间(以毫秒为单位)。 当 shell 启动游戏以开始多人游戏时,将该成员标记为已就绪。 如果标记为“已就绪”的成员在此期间未处于活动状态,则该成员将变为非活动状态。
SessionEmptyTimeout
类型:uint64_t
会话可以保持为空的最长时间(以毫秒为单位)。 如果此时间内没有成员加入会话,则删除该会话。
ArbitrationTimeout
类型:uint64_t
从表示最终确定结果时间的开始时间起的增量,以毫秒为单位。 如果此时没有人(客户端或服务器)报告,我们会声明匹配结果不完整。 已弃用。 此成员会在将来的版本中删除。
ForfeitTimeout
类型:uint64_t
从表示取消匹配(如果会话没有活动用户)时间的开始时间起的增量,以毫秒为单位。 已弃用。 此成员会在将来的版本中删除。
EnableMetricsLatency
类型:布尔
如果为 true,则指示游戏需要测量延迟以帮助确定连接性。 需要 capabilities.connectivity
为 true。
EnableMetricsBandwidthDown
类型:布尔
如果为 true,则表示游戏需要测量下游 (host-to-peer) 带宽以帮助确定连接性。 需要 capabilities.connectivity
为 true。
EnableMetricsBandwidthUp
类型:布尔
如果为 true,则指示游戏需要测量上游 (peer-to-host) 带宽以帮助确定连接性。 需要 capabilities.connectivity
为 true。
EnableMetricsCustom
类型:布尔
如果为 true,则表示游戏需要自定义度量来帮助确定连接性。 需要 capabilities.connectivity
为 true。
MemberInitialization
类型:XblMultiplayerMemberInitialization*
如果已设置,则会话预期客户端系统或游戏在创建会话后执行初始化。 超时和初始化阶段由会话自动跟踪,包括初始服务质量 (QoS) 测量值(如果设置了任何指标)。
PeerToPeerRequirements
类型:XblMultiplayerPeerToPeerRequirements
对于会话成员之间连接的 QoS 要求。
peerToHostRequirements
类型:XblMultiplayerPeerToHostRequirements
对于候选主机和会话成员之间每个连接的 QoS 要求。
MeasurementServerAddressesJson
类型:const char*
应评估的潜在服务器连接字符串集。
ClientMatchmakingCapable
类型:bool
指示是否可以写入匹配状态字段。
SessionCapabilities
类型:XblMultiplayerSessionCapabilities
会话的功能。
备注
仅在创建会话时由创建者或会话模板设置的会话常数。
要求
头文件:multiplayer_c.h