Servidor
Las experiencias de Roblox son multijugador por defecto y se ejecutan en un aplicación de modeladocliente-servidor. El servidor de Roblox **** es la autoridad definitiva para mantener el estado de la experiencia y es responsable de mantener a todos los clientes conectados sincronizados con el servidor.
Cliente
Cuando una experiencia se ejecuta, Roblox copia una versión del modelo de datos de "editar" que construiste y publicaste desde Studio y lo ejecuta en los servidores de Roblox como el aplicación de modeladode 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 produce cualquier inicialización del jugador, como inicializar la mochila de un jugador (inventario) o la interfaz de usuario local. Cuando una experiencia tiene Workspace.StreamingEnabled establecido como verdadero, el servidor inicialmente solo envía un subconjunto de contenido bajo Workspace que está más cerca del cliente. El cliente luego renderiza el mundo 3D y comienza a ejecutar cualquier script aplicable.
Replicación
El servidor actualiza constantemente a los clientes conectados, manteniendo todo sincronizado entre el servidor y los clientes a través de un proceso llamado replicación , que sincroniza el aplicación de modeladode datos, la simulación física y los mensajes de chat. Existe una lógica de replicación tanto en el cliente como en el servidor para garantizar la sincronización.
Datos
Los cambios en el modelo de datos pueden ocurrir en una variedad de casos, como cuando se crea algo en el mundo 3D o una propiedad del mundo 3D cambia. Esto típicamente ocurre cuando un script en el servidor o cliente realiza un cambio que debe reflejarse en el otro lado del límite cliente-servidor. Los siguientes diagramas muestran escenarios comunes para la replicación de datos.
Física
Roblox utiliza un motor de física de cuerpo rígido, que es responsable de calcular el movimiento y las interacciones de las partes en el mundo 3D. Por defecto, todas las partes de Roblox son cuerpos rígidos y participan en física simulada, a menos que se especifique lo contrario. También puede agrupar múltiples partes en conjuntos, que el motor de física trata como un solo cuerpo rígido.
Roblox replica los datos de simulación física entre el servidor y los clientes cuando sea necesario. Para ayudar con el ejecuciónde la simulación, Roblox puede asignar la propiedad de las asambleas a un cliente o servidor específico. Esto significa que el cliente o servidor puede ser responsable de simular la física de esa asamblea. Otros clientes reciben actualizaciones sobre la posición y el movimiento de la asamblea del cliente o servidor propietario. La propiedad generalmente ocurre automáticamente, pero puede asignarla directamente para una capacidad de respuesta ajustada.
chat
Roblox replica los mensajes de chat entre el servidor y el cliente. El servidor es responsable de filtrar los mensajes de chat y decidir qué mensajes replicar a otros clientes. Por ejemplo, el servidor puede filtrar los mensajes que contienen profanidad o son demasiado largos.