Relay 集成
虽然使用 Relay 服务并不是使用 Lobby 服务的必要条件,但如果您使用 Relay,则可以在大厅上设置与 Relay 相关的属性,以实现 Relay 与 Lobby 之间同步断开连接。如果您在大厅上注册玩家的 Relay 信息,当该玩家断开连接或与所连接的 Relay 服务器断开连接时,Relay 服务会向 Lobby 服务发送通知,将断开连接的玩家从该大厅中移除。如需进一步了解 Relay,请参阅 Relay 文档;如需了解有关配置玩家断开连接的更多详细信息,请参阅 Lobby 配置选项。
为了使 Relay 与 Lobby 服务集成,只要玩家在大厅中并使用 Relay 服务器时,便应为每名玩家设置 AllocationID。设置分配的玩家(通常是厅主)的 AllocationID 应该是 CreateAllocationAsync API 调用返回的分配 ID。而加入该分配的大厅中所有其他玩家都应该使用由其各自 JoinAllocationAsync API 调用返回的分配 ID。
您可以使用游戏大厅示例,此示例展示了如何使用 Lobby 和 Relay 软件包来创建典型的游戏大厅体验。
注意:当您使用 Relay 集成且中继主机与中继服务断开连接时,厅主会从大厅中移除。此时,其他玩家也会从中继服务断开连接(因为厅主不再存在),但不会从大厅断开连接。如需更多信息,请参阅主机迁移。
查看 Lobby 和 Relay 演示概述,了解如何结合使用 Lobby 和 Relay 来打造方便进行多人游戏会话的游戏,而无需专用游戏服务器。