---
title: マルチプレイルーム
slug: world-sdk-guide-ja/FCoSBqM4PTrW-3eoHxGlA
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

## ルーム接続プロセス

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-9_rdZyDRLkm1_dgfSR1fh-20240904-102419.png)

:::hint{type="success"}
👍 **ルーム接続プロセス**

1. クライアントから接続をリクエストする
2. ZEPETOマルチプレイサーバーがクライアントセッションを生成し、ルームに接続する
3. ルームが正常に接続された場合
   - クライアントに接続されたルームIDとセッションIDを共有する
4. クライアントがルームにアクセスできない場合
   - 新しいルームを生成し、接続する
:::



## サーバーAPI

サーバーコードはWorld.multiplayパッケージ→index.tsファイルに実装する必要があります。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-dplxIaxdzMxhJzX_l0cAg-20240904-102419.png)



サーバーは次のルームライフサイクルイベントを提供します：

| **ルームライフサイクルイベント**                                  | **説明**                                                                                |
| --------------------------------------------------- | ------------------------------------------------------------------------------------- |
| onCreate(options: SandboxOptions)                   | ルームが作成されたときに一度呼び出されます。ルームの初期化ロジックはここに追加できます。                                          |
| onJoin(client: SandboxPlayer)                       | クライアントがルームに参加したときに呼び出されます。<br />パラメータclient（SandboxPlayer）は、クライアントのsessionId識別子を含みます。 |
| onLeave(client: SandboxPlayer, consented?: boolean) | クライアントがルームを離れたときに呼び出されます。<br />パラメータconsentedは、切断がクライアントによって要求された場合にtrueになります。        |
| onTick(deltaTime: number)                           | サーバー側でのステップ間隔イベント呼び出し、間隔時間はSandboxOptionsで設定できます。<br />(tickInterval : 100ms)         |

:::hint{type="danger"}
- 「`OnLeave()`」イベントは、モバイルテスト状態中に左上の「ホームボタン > 離脱」を押すと発生します。
  - 「`OnLeave()`」イベントは、Unityエディタでは発生しません。
:::



ZEPETO.MultiplayサーバーAPIに興味がある場合は、ドキュメントを参照してください：

:::hint{type="info"}
**📘&#x20;**&#x6B21;のガイドを参照してください。 \[[ZEPETO.Multiplay（サーバー）API](https://developer.zepeto.me/docs/multiplay-server/)]
:::



## クライアントAPI

ZepetoWorldMultiplayコンポーネントは、クライアントがZEPETO Multiplayサーバーからのワールドプレイセッション（ルーム）イベントにサブスクライブするためのインターフェースを提供します。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-xYDw9NldehRFhDN7rCOqA-20240904-102419.png)

利用可能なイベントのリスト：

| **ルームイベントリスナー**           | **説明**                                                      |
| ------------------------- | ----------------------------------------------------------- |
| RoomCreated(Room)         | ルームが作成され、アクセス可能になったときに呼び出されます。ルームパラメータを提供します。               |
| RoomJoined(Room)          | ルームに接続されたときに呼び出されます。ルームパラメータを提供します。                         |
| RoomLeave(RoomLeaveEvent) | ルームから切断するときに呼び出されます。<br />RoomLeaveEventパラメータを提供します。        |
| RoomReconnected(Room)     | 対応するルームが再接続されたときに呼び出されます。ルームパラメータを提供します。                    |
| RoomError(RoomErrorEvent) | 対応するルームでエラーが発生したときに呼び出されます。<br />RoomErrorEventパラメータを提供します。 |
| RoomWeakConnection        | 接続が不安定なときに呼び出されます。                                          |

