大厅所有权更改
大多数游戏方案都受益于拥有大厅的单个“所有者”,但在某些情况下,所有权应转移到新的 PlayFab 实体。
本文将介绍所有权如何在实体之间迁移。
所有权迁移策略
PlayFab 大厅提供了一组预定义策略,以允许游戏控制当前所有者离开或断开连接时大厅所有权迁移方式。
此策略是在创建大厅时配置的,无法更改。
下表描述了一种 ownerMigrationPolicy。
所有者 | ownerMigrationPolicy | 说明 |
---|---|---|
客户端 | 自动 | 当前所有者离开或断开连接时,大厅服务会自动将另一个连接的成员分配为所有者。 如果未连接其他成员,则不会分配任何新所有者。 如果成员在未分配所有者的情况下重新连接,则会将其分配为所有者。 |
客户端 | Manual | 当前所有者离开时,大厅服务会清除所有者字段。 当所有者已连接时,非所有者成员无法重新分配所有者。 如果所有者已断开连接,则任何成员都可将自己设置为当前所有者。 |
客户端 | 无 | 当前所有者离开时,大厅服务会清除所有者字段。 如果当前所有者断开连接,则所有者字段不受影响。 任何成员(包括非成员)都可以随时重新分配所有者。 |
服务器 | 服务器 | 如果当前服务器所有者断开连接,则所有者字段不受影响。 当所有者断开连接时,将无法搜索大厅。 如果断开连接的所有者重新连接或新所有者连接并声明所有权,则会在搜索中还原大厅。 |
主动所有权更改
某些游戏方案可能需要所有权才能主动从当前所有者转移到新所有者。
下表介绍了 ownerMigrationPolicy 如何影响主动所有权更改。
所有者 | ownerMigrationPolicy | 说明 |
---|---|---|
客户端 | 自动 | 当前所有者可以指派另一个成员作为所有者代替他们。 非所有者成员无法重新分配所有者。 |
客户端 | Manual | 当前所有者可以指派另一个成员作为所有者代替他们。 如果没有所有者或所有者已断开连接,则任何成员都可以将自己分配为新所有者。 |
客户端 | 无 | 当前所有者可以将任何其他成员分配为所有者。 任何成员都可以将自己分配为新所有者,即使当前所有者仍然存在并已连接。 |
服务器 | 服务器 | 当前所有者可以将任何其他服务器分配给其位置的所有者。 即使当前所有者仍然存在并连接,任何服务器都可以取得服务器拥有的大厅的所有权。 |
针对服务器所有者的额外指南
- 任何获得游戏授权的服务器都可能接管为该游戏授权的任何服务器拥有的大厅的所有权。 大厅服务不会保护同一游戏的游戏服务器之间的所有权。
- 服务器所有者断开连接时,将隐藏服务器拥有的大厅。
常见问题解答
何时清除所有者字段?
当前所有者离开大厅且所有者迁移策略无法选择新所有者时,将清除所有者字段。 自动迁移策略是唯一尝试自动选择新所有者的策略。
注意:当所有者断开连接且无法自动选择新所有者时,不会清除所有者字段。 这是为了在服务中断保持时保持可靠性。
最后一个成员离开大厅时会发生什么情况?
- 对于客户端拥有的大厅,在最后一个成员离开时,始终会删除大厅。
- 对于服务器拥有的大厅,不执行任何操作。
手动和 None 所有者迁移策略有何区别?
手动所有权迁移策略允许游戏手动管理所有权,但仍提供所有权保护。 None 策略提供游戏完全所有权控制,而无需服务的任何帮助或保护。