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

Os jogos do Roblox são multiplayer por padrão e funcionam em um modelo cliente-servidor. O servidor do Roblox é a autoridade máxima para manter o estado do jogo e é responsável por manter todos os clientes conectados sincronizados com o servidor.

Um servidor agrupando conexões com três dispositivos cliente.
Servidor com conexões a três dispositivos cliente

Cliente

Quando um jogo é executado, o Roblox copia uma versão do modelo de dados "editar" que você construiu e publicou do Studio e a executa nos servidores do Roblox como o modelo de dados "em execução".

Os clientes conectados também recebem uma cópia do modelo de dados em execução e qualquer inicialização do jogador ocorre, como inicializar a mochila (inventário) de um jogador ou a interface de usuário local. Quando um jogo tem Workspace.StreamingEnabled definido como verdadeiro, o servidor inicialmente envia apenas um subconjunto do conteúdo sob Workspace que está mais próximo do cliente. O cliente então rende o mundo 3D e começa a executar quaisquer scripts aplicáveis.

Um diagrama que mapeia objetos entre os modelos de dados 'editar' e 'em execução'.

Replicação

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

Mudanças 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 no cliente faz uma mudança que precisa ser refletida do outro lado da fronteira cliente-servidor. Os diagramas a seguir mostram cenários comuns de replicação de dados.

Cliente → Servidor


Um diagrama de um cliente se comunicando com o servidor.
Comunicação de qualquer cliente para o servidor. Por exemplo, um cliente pressiona a tecla P para beber uma poção de invisibilidade e informa ao servidor para tornar o personagem desse jogador invisível para todos os outros jogadores.
Servidor → Cliente


Um diagrama do servidor se comunicando com um cliente específico.
Comunicação do servidor para um cliente específico. Por exemplo, um jogador entra no jogo e o servidor preenche o inventário desse jogador com um conjunto de itens.
Servidor → Todos os Clientes


Um diagrama do servidor se comunicando com todos os clientes conectados.
Comunicação entre o servidor e todos os clientes conectados. Por exemplo, exibindo um cronômetro de contagem regressiva para todos os participantes de uma corrida.
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.