Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Interfaz de Realtime Servers
Cuando un script de Realtime se inicializa, se devuelve una interfaz para el servidor de Realtime. En este tema se describen las propiedades y los métodos disponibles a través de la interfaz. Obtenga más información sobre cómo escribir scripts de Realtime y vea un ejemplo de script detallado en Creación de un script de Realtime.
La interfaz de Realtime proporciona acceso a los siguientes objetos:
-
session
-
player
-
gameMessage
-
configuration
Objeto de sesión de Realtime
Utilice estos métodos para acceder a información relativa al servidor y llevar a cabo acciones relacionadas con los servidores.
getPlayers()
Recupera una lista de ID de homólogos para los jugadores que se encuentran conectados actualmente a la sesión de juego. Devuelve una matriz de objetos de jugador.
Sintaxis
rtSession.getPlayers()
broadcastGroupMembershipUpdate()
Activa la entrega de una lista de miembros de grupo actualizada al grupo de jugadores. Especifica los miembros a los que transmitir (groupIdToBroadcast) y el grupo que recibe la actualización (targetGroupId). Los ID de grupo deben ser un número entero positivo o «-1» para indicar todos los grupos. Consulte Ejemplo del script de Realtime Servers para ver un ejemplo de ID de grupo definidos por el usuario.
Sintaxis
rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)
getServerId()
Recupera el identificador de ID de homólogo único del servidor, que se utiliza para dirigir mensajes al servidor.
Sintaxis
rtSession.getServerId()
getAllPlayersGroupId()
Recupera el ID del grupo para el grupo predeterminado que contiene todos los jugadores conectados actualmente a la sesión de juego.
Sintaxis
rtSession.getAllPlayersGroupId()
processEnding()
Activa el servidor de Realtime para terminar el servidor de juegos. A esta función se debe llamar desde el script de Realtime para salir de forma correcta de una sesión de juego.
Sintaxis
rtSession.processEnding()
getGameSessionId()
Recupera el ID exclusivo de la sesión de juego que se está ejecutando actualmente.
Sintaxis
rtSession.getGameSessionId()
getLogger()
Recupera la interfaz para el registro. Utilice esta opción para registrar declaraciones que se capturarán en los registros de la sesión de juego. El registrador admite el uso de declaraciones "info", "warn" y "error". Por ejemplo: logger.info("<string>")
.
Sintaxis
rtSession.getLogger()
sendMessage()
Envía un mensaje, creado con newTextGameMessage
o newBinaryGameMessage
, desde el servidor de Realtime a un jugador destinatario con el canal UDP. Identifique el destinatario utilizando el ID de homólogo del jugador.
Sintaxis
rtSession.sendMessage(gameMessage, targetPlayer)
sendGroupMessage()
Envía un mensaje, creado con newTextGameMessage
o newBinaryGameMessage
, desde el servidor de Realtime a todos los jugadores en un grupo de jugadores mediante el canal UDP. Los ID de grupo deben ser un número entero positivo o «-1» para indicar todos los grupos. Consulte Ejemplo del script de Realtime Servers para ver un ejemplo de ID de grupo definidos por el usuario.
Sintaxis
rtSession.sendGroupMessage(gameMessage, targetGroup)
sendReliableMessage()
Envía un mensaje, creado con newTextGameMessage
o newBinaryGameMessage
, desde el servidor de Realtime a un jugador destinatario con el canal TCP. Identifique el destinatario utilizando el ID de homólogo del jugador.
Sintaxis
rtSession.sendReliableMessage(gameMessage, targetPlayer)
sendReliableGroupMessage()
Envía un mensaje, creado con newTextGameMessage
o newBinaryGameMessage
, desde el servidor de Realtime a todos los jugadores de un grupo de jugadores mediante el canal TCP. Los ID de grupo deben ser un número entero positivo o «-1» para indicar todos los grupos. Consulte Ejemplo del script de Realtime Servers para ver un ejemplo de ID de grupo definidos por el usuario.
Sintaxis
rtSession.sendReliableGroupMessage(gameMessage, targetGroup)
newTextGameMessage()
Crea un nuevo mensaje que contiene texto, que se va a enviar desde el servidor a los destinatarios jugadores mediante las funciones SendMessage. El formato del mensaje es similar al formato utilizado en el SDK de cliente de Realtime (consulte RTMessage). Devuelve un objeto gameMessage
.
Sintaxis
rtSession.newTextGameMessage(opcode, sender, payload)
newBinaryGameMessage()
Crea un nuevo mensaje que contiene datos binarios, que se va a enviar desde el servidor a los destinatarios jugadores mediante las funciones SendMessage. El formato del mensaje es similar al formato utilizado en el SDK de cliente de Realtime (consulte RTMessage). Devuelve un objeto gameMessage
.
Sintaxis
rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)
Objeto del jugador
Información de acceso relacionada con el jugador.
player.peerId
El ID único que se asigna a un cliente de juegos cuando se conecta al servidor de Realtime y se une a la sesión de juego.
player.playerSessionId
El ID de sesión de jugador al que ha hecho referencia el cliente de juegos al conectarse al servidor de Realtime y unirse a la sesión de juego.
Objeto de mensaje de juego
Utilice estos métodos para acceder a los mensajes que recibe el servidor de Realtime. Los mensajes recibidos desde los clientes de juego tienen la estructura RTMessage.
getPayloadAsText()
Obtiene la carga del mensaje del juego en forma de texto.
Sintaxis
gameMessage.getPayloadAsText()
gameMessage.opcode
Código de operación incluido en un mensaje.
gameMessage.payload
Carga contenida en un mensaje. Puede ser texto o binario.
gameMessage.sender
ID de homólogo del cliente de juego que envió un mensaje.
gameMessage.reliable
Valor booleano que indica si el mensaje se envió a través de TCP (true) o UDP (false).
Objeto de configuración
El objeto de configuración se puede utilizar para anular las configuraciones predeterminadas.
configuration.maxPlayers
El número máximo de conexiones de cliente/servidor que Realtime Servers puede aceptar.
El valor predeterminado es 32.
configuration.pingIntervalTime
Intervalo de tiempo en milisegundos en el que el servidor intentará enviar un ping a todos los clientes conectados para verificar que las conexiones están en buen estado.
El valor predeterminado es 300 ms.