Waktu eksekusi klien-server

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Pelayan

Pengalaman Roblox adalah multi-pemain secara default dan dijalankan dalam model klien-server.Server Roblox adalah otoritas terakhir untuk menjaga kondisi pengalaman, dan bertanggung jawab untuk menjaga semua klien terhubung sinkron dengan server .

A server grouping with connections to three client devices.
Server dengan koneksi ke tiga perangkat klien

Pelanggan

Saat pengalaman dijalankan, Roblox menyalin versi model data "edit" yang Anda buat dan publikasikan dari Studio dan menjalankannya di server Roblox sebagai model data " runtime ".

Klien terhubung juga menerima salinan model data runtime dan setiap inisialisasi pemain terjadi, seperti menginisialisasi ransel pemain (inventaris) atau antarmuka pengguna lokal.Ketika pengalaman memiliki Workspace.StreamingEnabled diatur ke benar, server awalnya hanya mengirim subset konten di bawah Workspace yang paling dekat dengan klien.Klien kemudian menampilkan dunia 3D dan mulai menjalankan skrip yang berlaku.

A diagram that maps objects between 'edit' and 'runtime' data models.

Replikasi

Server terus memperbarui klien yang terhubung, menjaga semuanya sinkron di seluruh server dan klien melalui proses yang disebut replikasi , yang menyinkronkan model data, simulasi fisika, dan pesan obrolan.Logik replikasi ada di klien dan server untuk memastikan sinkronisasi.

Data

Perubahan model data dapat terjadi dalam berbagai kasus, seperti ketika sesuatu di dunia 3D dibuat atau perubahan properti dunia 3D.Ini biasanya terjadi ketika skrip di server atau klien membuat perubahan yang perlu dicerminkan di sisi lain batas klien-server.Diagram berikut menunjukkan skenario umum untuk replikasi data.

KlienServer >
>

>

A diagram of one client communicating with the server.

Komunikasi dari klien ke server.Sebagai contoh, klien menekan tombol P untuk minum ramuan tembus pandang, dan memberi tahu server untuk membuat karakter pemain itu tidak terlihat untuk semua pemain lain.

ServerKlien >

>

A diagram of the server communicating with one client.

Komunikasi dari server ke satu klien tertentu.Sebagai contoh, seorang pemain bergabung dengan pengalaman dan server mengisi inventaris pemain itu dengan serangkaian item.

ServerSemua Klien >
>

>

A diagram of the server communicating with all connected clients.

Komunikasi antara server dan semua klien terhubung.Sebagai contoh, menampilkan waktu mundur ke semua peserta dalam sebuah balapan.

Fisika

Roblox menggunakan mesin fisika tubuh kaku, yang bertanggung jawab untuk menghitung gerakan dan interaksi bagian di dunia 3D.Secara default, semua bagian di Roblox adalah tubuh kaku dan berpartisipasi dalam fisika simulasi, kecuali dinyatakan lain.Anda juga dapat menggrupkan beberapa bagian bersama-sama menjadi kumpulan, yang ditangani oleh mesin fisika sebagai tubuh tunggal yang kaku.


A single block part in the shape of a cube that represents a single assembly.
1 pengumpulan; 1 bagian
A player character that represents a single assembly of 18 individual parts.
1 assemblasi; 18 bagian
A pirate ship mesh that represents a single assembly of 179 individual parts.
1 pengumpulan; 179 bagian

Roblox mereplikasi data simulasi fisika antara server dan klien saat diperlukan.Untuk membantu kinerja simulasi, Roblox dapat menugaskan kepemilikan assemblies ke klien atau server tertentu.Ini berarti bahwa klien atau server dapat bertanggung jawab untuk menyimulasikan fisika dari kumpulan itu.Klien lain menerima pembaruan tentang posisi dan gerakan kumpulan dari klien atau server pemilik.Kepemilikan biasanya terjadi secara otomatis, tetapi Anda dapat menugaskannya secara langsung untuk responsibilitas yang disesuaikan.

Kepemilikan bagian ditunjukkan melalui garis berwarna

chat

Roblox menyalin pesan obrolan antara server dan klien.Server bertanggung jawab untuk menyaring pesan obrolan dan memutuskan pesan mana yang harus direplikasikan ke klien lain.Sebagai contoh, server dapat menyaring pesan yang berisi kata-kata kotor atau terlalu panjang.