Client-Server Runtime

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Server

Le esperienze Roblox sono multiplayer per impostazione predefinita e vengono eseguite in un modello client-server. Il server Roblox è l'autorità finale per mantenere lo stato dell'esperienza e ne è responsabile per mantenere tutti i client connessi con il Server.

A server grouping with connections to three client devices.
Server con connessioni a tre dispositivi client

Client

Quando un'esperienza viene eseguita, Roblox copia una versione del modello di dati "Modificare" che hai costruito e pubblicato da Studio e la esegue sui server Roblox come modello di dati " Tempo esecuzione".

I client connessi ricevono anche una copia del modello di dati di runtime e di qualsiasi inizializzazione del giocatore, come l'inizializzazione di uno zaino del Giocatore(nella cartella di Inventario, reportorio) o dell'interfaccia utente locale. Quando un'esperienza ha Workspace.StreamingEnabled impostato su true, il server invia inizialmente solo un sottoinsieme di contenuti sotto Class

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

Replicazione

Il server aggiorna costantemente i client connessi, mantenendo tutto in sincronia tra il server e i client attraverso un processo chiamato replicazione , che sincronizza il modello di dati, la simulazione fisica e i messaggi di chat. La logica di replicazione esiste sia sul client che sul server per garantire la sincronizzazione.

Data

Le modifiche del modello di dati possono verificarsi in una varietà di casi, come quando qualcosa nel mondo 3D viene creato o una proprietà del mondo 3D cambia. Ciò di solito accade quando uno script sul server o sul client crea una modifica che deve essere riflessa sull'altro lato del confine client-server. I seguenti diagrammi mostrano casi comuni per la replicazione dei dati.

ClientServer >
>

A diagram of one client communicating with the server.

Comunicazione da qualsiasi client al Server. Ad esempio, un client premere il P key to drink an invisibility potion, e tell the server to make that Giocatore's character invisible to tutti gli altri giocatori.

ServerClient >
>

A diagram of the server communicating with one client.

Comunicazione dal server a un client specifico. Ad esempio, un giocatore si unisce all'esperienza e il server popola l'inventario di quel Giocatorecon un insieme di oggetti.

ServerTutti i clienti >
>

A diagram of the server communicating with all connected clients.

Comunicazione tra il server e tutti i client connessi. Ad esempio, mostrare un timer Countdown a tutti i partecipanti in una gara.

Fisica

Roblox utilizza un motore fisico rigido, che è responsabile del calcolo del movimento e delle interazioni delle parti nel Mondo3D. Per impostazione predefinita, tutte le parti in Roblox sono corpi rigidi e partecipano alla fisica simulata, a meno che non sia diversamente specificato. Puoi anche raggruppare più parti insieme in assemblaggi, che il motore fisico tratta come un solo corpo rigido.


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

Roblox replica i dati di simulazione della fisica tra il server e i client quando necessario. Per aiutare con le Prestazionedi simulazione, Roblox può assegnare la proprietà delle assemblaggi a un client o Serverspecifico. Ciò significa che il client o il server può essere responsabile della simulazione della fisica di quella selezione. Altri client ricevono aggiornamenti sulla posizione e sul movimento della selezione dal client o Serverdi proprietà. La proprietà viene generalmente assegnata automaticamente, ma

Proprietà della parte mostrata attraverso contorni colorati

Chat

Roblox replica i messaggi di chat tra il server e il client. Il server è responsabile della filtro dei messaggi di chat e decisione su quali messaggi replicare agli altri client. Ad esempio, il server potrebbe filtrare i messaggi che contengono profanità o sono troppo lunghi.