创造你的世界
多人游戏

Multiplay Room

5min

房间连接过程

Document image


👍 房间连接过程

  1. 请求客户端连接
  2. ZEPETO 多人游戏服务器生成客户端会话并连接到房间
  3. 如果房间成功连接
    • 分享连接到客户端的房间 ID 和会话 ID
  4. 如果客户端无法访问房间
    • 生成一个新房间并连接



服务器 API

服务器代码应在 World.multiplay 包中实现 → index.ts 文件。

Document image




服务器提供以下房间生命周期事件:

房间生命周期事件

描述

onCreate(options: SandboxOptions)

当房间创建时调用。可以在此添加房间初始化逻辑。

onJoin(client: SandboxPlayer)

当客户端加入房间时调用。 参数 client (SandboxPlayer) 包含客户端的 sessionId 标识符。

onLeave(client: SandboxPlayer, consented?: boolean)

当客户端离开房间时调用。 参数 consented 为 true 时表示断开连接是由客户端请求的。

onTick(deltaTime: number)

在服务器端的步骤间隔事件调用,间隔时间可以在 SandboxOptions 中设置。 (tickInterval : 100ms)

  • 当您在移动测试状态下按下 'Home button > Leave' 时,OnLeave() 事件发生。
    • 在 Unity 编辑器中,OnLeave() 事件不会发生。



如果您对 ZEPETO.Multiplay 服务器 API 感兴趣,请参考文档:

📘 请参考以下指南。 [ZEPETO.Multiplay(服务器) API]



客户端 API

ZepetoWorldMultiplay 组件提供了一个接口,供客户端订阅来自 ZEPETO Multiplay 服务器的世界游戏会话(房间)事件。

Document image


可用事件列表:

房间事件监听器

描述

房间创建(Room)

当房间被创建并可访问时调用。提供一个房间参数。

房间加入(Room)

当房间连接时调用。提供一个房间参数。

房间离开(RoomLeaveEvent)

当从房间断开时调用。 提供一个房间离开事件参数。

房间重新连接(Room)

当相应的房间重新连接时调用。提供一个房间参数。

房间错误(RoomErrorEvent)

当相应的房间发生错误时调用。 提供一个房间错误事件参数。

房间弱连接

当连接不稳定时调用。



更新日期 11 Oct 2024
Doc contributor
Doc contributor
此页面是否对您有帮助?