Interfaz de Realtime Servers - Amazon GameLift

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.