Multiplayer dan Jaringan
Menyiapkan proyek multiplayer

Gambaran Keseluruhan Multiplayer

Important: UNet adalah solusi yang diuraikan, dan Solusi Multiplayer baru dan Networking (Netcode untuk GameObjects) sedang berkembang. Untuk informasi lebih lanjut dan langkah selanjutnya melihat informasi di .

Ada dua jenis pengguna untuk fitur Jaringan:

  • Pengguna membuat game Multiplayer dengan Unity. Pengguna ini harus mulai dari NetworkManager atau APISistem untuk membangun kemampuan multiplayer untuk permainan Unity. Ini dibangun di atas lapisan komunikasi real-time transportasi tingkat bawah, dan menangani banyak tugas umum yang diperlukan untuk permainan multiplayer. More info
    Lihat di Glossary
    .
  • Pengguna membangun infrastruktur jaringan atau game multiplayer canggih. Pengguna ini harus dimulai dengan API.

API scripting tingkat tinggi

Jaringan Unity memiliki API scripting “tingkat tinggi” (yang akan kita lihat sebagai HLAPI). Menggunakan ini berarti Anda mendapatkan akses ke perintah yang mencakup sebagian besar persyaratan umum untuk permainan multiuser tanpa perlu khawatir tentang rincian implementasi “rata level”. HLAPI memungkinkan Anda untuk:

  • Kontrol keadaan jaringan dari permainan menggunakan "Network ManagerKomponen Jaringan yang mengelola state jaringan proyek. More info
    Lihat di Glossary
    ".
  • Mengoperasikan game "dihost klien", di mana host juga merupakan klien pemain.
  • Serialisasi data menggunakan serializer tujuan umum.
  • Kirim dan menerima pesan jaringan.
  • Kirim perintah jaringan dari klien ke server.
  • Membuat panggilan prosedur jarak jauh (RPCs) dari server ke klien.
  • Kirim acara jaringan dari server ke klien.

Integrasi mesin dan editor

Jaringan Unity terintegrasi ke dalam mesin dan editor, memungkinkan Anda untuk bekerja dengan komponen dan bantuan visual untuk membangun permainan multiplayer Anda. Ini menyediakan:

  • Komponen NetworkIdentityKomponen Jaringan yang memungkinkan Anda untuk menetapkan identitas ke GameObject Anda untuk jaringan untuk mengenalinya sebagai GameObject Pemain Lokal atau Server Hanya GameObject. More info
    Lihat di Glossary
    untuk objek jaringan.
  • A NetworkBehaviour untuk jaringan scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
    Lihat di Glossary
    .
  • Konfigurasi sinkronisasi otomatis perubahan objek.
  • Sinkronisasi otomatis variabel skrip.
  • Dukungan untuk menempatkan objek jaringan di Unity scenesAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
    Lihat di Glossary
    .
  • Komponen jaringan

Layanan Internet

Unity menawarkan Layanan Internet untuk mendukung permainan Anda sepanjang produksi dan rilis, yang meliputi:

  • Matchmaking service
  • Buat pertandingan dan beriklan pertandingan.
  • Daftar pertandingan dan pertandingan yang tersedia.
  • Relay server
  • Game-play melalui internet tanpa dedicated server.
  • Routing pesan untuk peserta pertandingan.

JaringanTransport lapisan transportasi real-time

Kami mencakup Lapisan Transportasi Real-Time yang menawarkan:

  • Protokol berbasis UDP yang dioptimalkan.
  • Desain multi-channel untuk menghindari masalah pemblokiran kepala-of-line
  • Dukungan untuk berbagai tingkat Kualitas Layanan (QoS) per saluran.
  • Topologi jaringan yang fleksibel yang mendukung arsitektur peer-to-peer atau client-server.

Authentication

Jaringan Unity menerapkan fitur otentikasi built-in sederhana yang memberikan dukungan dasar untuk memvalidasi sesi, tetapi bukan solusi otentikasi yang kuat.

otentikasi Robust dapat menjadi faktor penting dalam mengembangkan proyek multiplayer, karena membantu mencegah pengguna jahat dari menyembunyikan sesi pemain, meniru pengguna lain, memutuskan pemain yang sah dari game, atau tindakan jahat lainnya spesifik untuk permainan atau aplikasi Anda.

Karena Unity hanya menyediakan otentikasi bawaan sederhana, jika Anda memerlukan perlindungan yang kuat terhadap tindakan jahat dalam permainan atau aplikasi Anda, Anda harus menggunakan otentikasi dan solusi enkripsi pihak ketiga, atau menerapkannya sendiri menggunakan plugin seperti implementasi referensi ini dan API.

Proyek Sampel

Anda juga dapat menggali proyek sampel multiplayer kami untuk melihat bagaimana fitur ini digunakan bersama. Proyek sampel berikut dapat ditemukan dalam:

  • Multiplayer 2D Tanks contoh permainan
  • Login Game invaders dengan Pembuatan Pertandingan
  • Multiplayer 2D ruang penembak dengan Pencocokan
  • Proyek Multiplayer minimal
Multiplayer dan Jaringan
Menyiapkan proyek multiplayer