Tempo de Execução Cliente-Servidor

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Servidor

As experiências do Roblox são multijogador por padrão e são executadas em um modelo cliente-servidor. O servidor do Roblox é a autoridade final para manter o estado da experiência e é responsável por manter todos os clientes conectados com o servidor.

A server grouping with connections to three client devices.
Servidor com conexões a três dispositivos cliente

Cliente

Quando uma experiência é executada, o Roblox copia uma versão do modelo de dados "editar" que você construiu e publicou do Studio e executa-a em servidores do Roblox como modelo de dados "tempo de execução".

Os clientes conectados também recebem uma cópia do modelo de dados de tempo de execução e de qualquer inicialização de usuário ocorra, como inicializar uma mochila de um jogador (inventário) ou interface local de usuário. Quando uma experiência tiver Workspace.StreamingEnabled definido como verdadeiro, o servidor inicialmente só envia um subconjunto de conteúdo sob

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

Replicação

O servidor atualiza constantemente clientes conectados, mantendo tudo em sincronia entre o servidor e os clientes através de um processo chamado replicação , que sincroniza o modelo de dados, simulação de física e mensagens de chat. A lógica de replicação existe tanto no cliente quanto no servidor para garantir a sincronização.

Dados

As alterações no modelo de dados podem ocorrer em uma variedade de casos, como quando algo no mundo 3D é criado ou uma propriedade do mundo 3D muda. Isso geralmente ocorre quando um script no servidor ou cliente faz uma alteração que precisa ser refletida no outro lado da fronteira cliente-servidor. As seguintes figuras mostram cenários comuns para a replicação de dados.

ClienteServidor >
>

A diagram of one client communicating with the server.

Comunicação de qualquer cliente para o servidor. Por exemplo, um cliente pressiona a tecla P para beber uma poção de invisibilidade, e diz ao servidor para fazer o personagem desse cliente invisível para todos os outros jogadores.

ServidorCliente >
>

A diagram of the server communicating with one client.

Comunicação do servidor para um cliente específico. Por exemplo, um jogador se juntar à experiência e o servidor populou o inventário desse jogador com um conjunto de itens.

ServidorTodos os Clientes >
>

A diagram of the server communicating with all connected clients.

Comunicação entre o servidor e todos os clientes conectados. Por exemplo, exibir um cronômetro de contagem regressiva para todos os participantes em uma corrida.

Física

O Roblox usa um motor de física de corpo rígido, que é responsável por calcular o movimento e interações de peças no mundo 3D. Por padrão, todas as peças no Roblox são corpos rígidos e participam em física simulada, a menos que seja especificado de outra forma. Você também pode agrupar várias peças em conjuntos, que o motor de física trata como um único corpo rígido.


A single block part in the shape of a cube that represents a single assembly.
1 montagem; 1 peça
A player character that represents a single assembly of 18 individual parts.
1 montagem; 18 peças
A pirate ship mesh that represents a single assembly of 179 individual parts.
1 montagem; 179 peças

O Roblox replica dados de simulação de física entre o servidor e os clientes quando necessário. Para ajudar com a simulação de performance, o Roblox pode atribuir propriedade de montagens a um cliente ou servidor específico. Isso significa que o cliente ou servidor pode ser responsável pela simulação da física dessa montagem. Outros clientes recebem atualizações sobre a posição e o movimento do montante do proprietário do cliente ou

Propriedade da peça mostrada através de contornos coloridos

chat/conversa

O Roblox replica mensagens de chat entre o servidor e o cliente. O servidor é responsável por filtrar mensagens de chat e decidir quais mensagens replicar para outros clientes. Por exemplo, o servidor pode filtrar mensagens que contêm palavrões ou são muito longas.