Tiempo de Ejecución Cliente-Servidor

Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

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.

A server grouping with connections to three client devices.
Servidor con conexiones a tres dispositivos cliente

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.

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

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.

ClienteServidor

A diagram of one client communicating with the server.

Comunicación de cualquier cliente al servidor. Por ejemplo, un cliente presiona la tecla P para beber una poción de invisibilidad y le dice al servidor que haga que el personaje de ese jugador sea invisible para todos los demás jugadores.

ServidorCliente

A diagram of the server communicating with one client.

Comunicación del servidor a un cliente específico. Por ejemplo, un jugador se une a la experiencia y el servidor llena el inventario de ese jugador con un conjunto de artículos.

ServidorTodos los Clientes

A diagram of the server communicating with all connected clients.

Comunicación entre el servidor y todos los clientes conectados. Por ejemplo, mostrando un temporizador de cuenta regresiva a todos los participantes en una carrera.

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.


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

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.

Propiedad de la parte indicada a través de contornos de colores

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.