Servidor
Los juegos de Roblox son multijugador por defecto y funcionan en un modelo cliente-servidor. El servidor de Roblox es la autoridad máxima para mantener el estado del juego y es responsable de mantener todos los clientes conectados sincronizados con el servidor.

Cliente
Cuando se ejecuta un juego, Roblox copia una versión del modelo de datos de "edición" que construiste y publicaste desde Studio y lo ejecuta en los servidores de Roblox como el modelo de datos de "tiempo de ejecución".
Los clientes conectados también reciben una copia del modelo de datos de tiempo de ejecución y se lleva a cabo cualquier inicialización del jugador, como inicializar la mochila (inventario) de un jugador o la interfaz de usuario local. Cuando un juego tiene Workspace.StreamingEnabled establecido en verdadero, el servidor inicialmente solo envía un subconjunto de contenido bajo Workspace que está más cerca del cliente. Luego, el cliente renderiza el mundo 3D y comienza a ejecutar cualquier script aplicable.

Replicación
El servidor actualiza constantemente a los clientes conectados, manteniendo todo en sincronía a través del servidor y los clientes mediante un proceso llamado replicación, que sincroniza el modelo de datos, la simulación física y los mensajes de chat. La lógica de replicación existe tanto en el cliente como en el servidor para asegurar la sincronización.
Los cambios en el modelo de datos pueden ocurrir en una variedad de casos, como cuando algo en el mundo 3D es creado o se cambia una propiedad del mundo 3D. Esto ocurre típicamente cuando un script en el servidor o cliente realiza un cambio que necesita ser reflejado en el otro lado de la frontera cliente-servidor. Los siguientes diagramas muestran escenarios comunes para la replicación de datos.


