---
title: Ruang Multipemain
slug: world-sdk-guide-id/ruang-multipemain
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

## Proses Koneksi Ruangan

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

:::hint{type="success"}
👍 **Proses Koneksi Ruangan**

1. Minta koneksi dari klien
2. Server ZEPETO Multiplay menghasilkan Sesi Klien dan terhubung ke Ruangan
3. Jika Ruangan berhasil terhubung
   - bagikan ID Ruangan dan ID Sesi yang terhubung ke klien
4. Jika klien tidak dapat mengakses Ruangan
   - hasilkan Ruangan baru dan sambungkan
:::



## API Server

Kode server harus diimplementasikan dalam paket World.multiplay → file index.ts.

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



Server menyediakan peristiwa Siklus Hidup Ruangan berikut:

| **Peristiwa Siklus Hidup Ruangan**                  | **Deskripsi**                                                                                                                      |
| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| onCreate(options: SandboxOptions)                   | Dipanggil setelah ruangan dibuat. Logika inisialisasi ruangan dapat ditambahkan di sini.                                           |
| onJoin(client: SandboxPlayer)                       | Dipanggil ketika klien bergabung dengan ruangan.<br />Parameter klien (SandboxPlayer) berisi pengenal sessionId klien.             |
| onLeave(client: SandboxPlayer, consented?: boolean) | Dipanggil ketika klien meninggalkan ruangan.<br />Parameter consented adalah true ketika pemutusan diminta oleh klien.             |
| onTick(deltaTime: number)                           | Panggilan peristiwa interval langkah di sisi server, waktu interval dapat diatur dalam SandboxOptions.<br />(tickInterval : 100ms) |

:::hint{type="danger"}
- Peristiwa `OnLeave()` terjadi ketika Anda menekan 'Tombol Beranda > Tinggalkan' di sudut kiri atas selama status pengujian seluler.
  - Peristiwa `OnLeave()` tidak terjadi di editor Unity.
:::



Jika Anda tertarik dengan ZEPETO.Multiplay Server API, silakan merujuk ke dokumentasi:

:::hint{type="info"}
**📘&#x20;**&#x53;ilakan merujuk ke panduan berikut. \[[ZEPETO.Multiplay(Server) API](https://developer.zepeto.me/docs/multiplay-server/)]
:::



## API Klien

Komponen ZepetoWorldMultiplay menyediakan antarmuka bagi klien untuk berlangganan pada sesi permainan Dunia (Ruang) dari server ZEPETO Multiplay.

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

Daftar acara yang tersedia:

| **Pendengar Acara Ruangan**               | **Deskripsi**                                                                                                    |
| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| RuanganDibuat(Ruangan)                    | Dipanggil saat Ruangan dibuat dan dapat diakses. Menyediakan parameter Ruangan.                                  |
| RuanganBergabung(Ruangan)                 | Dipanggil saat Ruangan terhubung. Menyediakan parameter Ruangan.                                                 |
| RuanganTinggalkan(RuanganTinggalkanEvent) | Dipanggil saat memutuskan dari Ruangan.<br />Menyediakan parameter RuanganTinggalkanEvent.                       |
| RuanganTerhubungLagi(Ruangan)             | Dipanggil saat Ruangan yang bersangkutan terhubung kembali. Menyediakan parameter Ruangan.                       |
| RuanganKesalahan(RuanganKesalahanEvent)   | Dipanggil saat terjadi kesalahan di Ruangan yang bersangkutan.<br />Menyediakan parameter RuanganKesalahanEvent. |
| KoneksiLemahRuangan                       | Dipanggil saat koneksi tidak stabil.                                                                             |

