概览
PlayFab 大厅是玩家的临时分组。每个大厅都有一个生存时间 (TTL),它决定在闲置多久后会被自动删除。每当大厅中有活动(例如成员加入、离开或更新大厅数据)时,TTL 都会被重置。 决定大厅存活时间的两个最重要因素是:- 大厅类型:大厅是客户端所拥有还是服务器所拥有。
- 连接状态:成员(和服务器)是否通过实时通知保持连接。
默认大厅生命周期
创建大厅时,会为其分配 1 小时的默认 TTL。每次大厅被更新(通过成员加入、数据更新或其他操作),TTL 都会刷新回其完整持续时间。 对于使用实时通知(连接)的大厅,当成员连接时,TTL 会延长到 4 小时。这一较长的 TTL 是考虑到已连接的大厅通过连接系统被主动监控,因此不需要那么快过期。每次大厅操作都会重置大厅 TTL。正在被主动使用的大厅不会仅因 TTL 而过期。
连接如何影响大厅生命周期
使用实时通知的大厅会跟踪成员连接。成员的连接状态直接影响大厅的生命周期和搜索可见性。已连接的大厅
当至少一个成员连接到客户端所拥有的大厅时,该大厅保持可搜索,且最大空闲 TTL 为 4 小时。只要大厅继续收到更新或连接活动,TTL 就会持续重置。已断开的大厅
当客户端所拥有大厅的所有成员断开连接时,会发生两件事:- **该大厅在搜索中被隐藏。**这可以防止其他玩家发现一个可能已被放弃的大厅。
- **大厅的 TTL 缩短到 1 分钟。**大厅在删除前进入短暂的宽限期。
按大厅类型划分的生命周期行为
客户端所拥有和服务器所拥有的大厅具有不同的过期行为。客户端所拥有的大厅
有关所有者断开连接时会发生什么的更多信息,请参阅所有权变更。
服务器所拥有的大厅
当所有玩家成员离开时,服务器所拥有的大厅不会被删除。只有服务器所有者才能删除服务器所拥有的大厅,否则它将在 TTL 用完后过期。
将大厅生命周期延长到超过默认 TTL
4 小时的空闲 TTL 旨在作为大厅在无人管理情况下的普通预期最长时间。但是,某些场景(例如服务器所拥有的大厅等待玩家到达)可能需要更长生命周期的大厅。 若要让大厅存活时间超过默认 TTL,请在 TTL 过期之前定期更新大厅。任何更新操作都会重置 TTL。例如,游戏服务器可以定期更新大厅属性以防止大厅过期。任何大厅操作都会重置 TTL,包括更新大厅属性、成员属性或搜索属性。
搜索可见性与过期
大厅过期和搜索可见性密切相关但是不同的概念。- 在搜索中被隐藏意味着大厅不会出现在 FindLobbies 结果中,但它仍然存在,并且可以使用连接字符串加入。
- 已删除意味着大厅不再存在并且无法访问。
