BUAT DUNIAMU

Bermain Ganda

14min

ZEPETO Multiplay adalah modul yang memungkinkan banyak pengguna untuk terhubung dan bermain di Dunia secara bersamaan.

Ini menyediakan pengembangan server/klien dan lingkungan pengujian lokal.

📘 Contoh Dunia Multiplay Resmi

LANGKAH 1 : Instal

Pilih ZEPETO → Server Multiplay di menu [+] di kiri atas panel [Proyek], atau pergi ke Aset → Buat → ZEPETO → Server Multiplay.

Document image


Paket World.multiplay terdiri dari item-item berikut, dan secara otomatis diperbarui saat Dunia diterbitkan.

  • index.ts: Kode logika utama server
  • schemas: Struktur Data untuk komunikasi server/klien
Document image


❗️ Peringatan

Hanya satu paket World.multiplay yang dapat dibuat per game.

LANGKAH 2 : Pengaturan

Klik [Buka Pengaturan Dunia] seperti yang ditunjukkan pada gambar di bawah untuk mengatur Pengaturan Dunia.

Document image

Document image


Properti

Deskripsi

Versi

Masukkan versi file Anda untuk didaftarkan.

MaxClients

Atur jumlah maksimum orang yang dapat mengakses ruangan.

Orientasi

Pilih orientasi layar.

Nonaktifkan Undangan

Menonaktifkan fungsi undangan ruangan.

Nonaktifkan Daftar Ruangan

Menonaktifkan kemampuan untuk memeriksa daftar ruangan.

Nonaktifkan Ruangan Pribadi

Menonaktifkan kemampuan untuk membuat ruangan pribadi.

👍 Nonaktifkan Undangan

Bahkan jika fungsi undangan ruangan dimatikan, Anda dapat mengirim undangan melalui tautan uji.

LANGKAH 3 : Menjalankan Server Uji

ZEPETO Multiplay menyediakan lingkungan server lokal di mana pencipta dapat menguji server/klien selama pengembangan.

Untuk memeriksa tindakan server lokal, pilih menu atas Unity → Jendela → ZEPETO → Server Multiplay untuk membuka jendela status server.

Document image


Klik tombol server di sebelah tombol [▶︎(Play)] di tengah layar editor.

Anda akan melihat log server berikut di panel Status Server.

Document image


LANGKAH 4 : Menghubungkan ke Klien (Menghubungkan ke Server Lokal)

Komponen ZepetoWorldMultiplay adalah Kelas Manajer Multiplay yang digunakan di Sisi Klien.

Buat GameObject di jendela Hierarki, dan tambahkan komponen ZepetoWorldMultiplay. Komponen ZepetoWorldMultiplay akan secara otomatis terhubung ke Paket Multiplay.

Document image


Klik pada tombol [▶︎(Putar)] di tengah layar Editor untuk melihat log koneksi klien di jendela Log Server.

Document image


Server pengembangan berjalan di localhost(127.0.0.1), dan port diatur saat proyek pertama kali dimuat.

Saat terhubung melalui multi-proyek, atur lingkungan koneksi ke yang berikut

📘 Silakan merujuk ke panduan berikut Mengakses Alamat IP Multiplay

👍 Setelah Dunia didistribusikan, itu akan berjalan di server ZEPETO.

Document image


LANGKAH 5 : Contoh Komunikasi Server / Klien Default

Mengimplementasikan Logika Server

File index.ts dalam paket World.multiplay adalah kode yang bertanggung jawab untuk logika utama server.

Buka file index.ts, dan tambahkan logika yang dikirim ke klien setelah menerima jenis pesan, echo, dalam acara onCreate().

📘 Silakan merujuk ke panduan berikut [Zepeto.Multiplay(Server) API]

JS


Mengimplementasikan Logika Klien

Buat dan tambahkan skrip ZEPETO di GameObject ZepetoWorldMultiplay yang digunakan untuk mengirim/menerima peristiwa server sebagai berikut:

Document image

MultiplaySample.ts


📘 Silakan merujuk ke panduan berikut [err] 

LANGKAH 6 : Uji Hasil Keluaran

Klik [▶︎(Putar)] di tengah layar Editor untuk menjalankan server/klien. Anda harus melihat contoh pesan tipe 'echo' seperti yang ditunjukkan di bawah ini:

Document image


① Log keluaran saat pesan klien diterima di server.

② Log pesan yang diterima dari server dari klien.

Langkah-langkah pencegahan saat menggunakan kode server

❗️ Peringatan

[Penggunaan variabel dalam kode server]

  • Variabel juga dapat dideklarasikan dalam kode server.
  • Namun, memori cache yang tersedia di server saat ini terbatas hingga 512KB. (Ini mungkin berubah nanti.)
  • Jika melebihi 512KB, ruang mungkin akan disembunyikan, jadi harap kembangkan dengan ini dalam pikiran.

[Penggunaan loop dalam kode server]

  • Batas Waktu Loop ditetapkan selama 2 detik (2000ms) dalam kode server.
  • Harap pertimbangkan ini saat mengembangkan, karena menggunakan kode yang memblokir atau loop yang berjalan lama dapat menyebabkan program gagal dieksekusi dengan benar karena Batas Waktu Loop.