Interfaz de Servidores en tiempo real - 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 Servidores en tiempo real

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

  • jugador

  • gameMessage

  • configuración

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 jugadores iguales IDs que estén conectados actualmente a la sesión de juego. Devuelve una matriz de objetos de jugador.

Sintaxis

rtSession.getPlayers()

broadcastGroupMembershipActualización ()

Activa la entrega de una lista de miembros de grupo actualizada al grupo de jugadores. Especifique los miembros que desea transmitir (groupIdToBroadcast) y el grupo que recibirá la actualización (targetGroupId). El grupo IDs debe ser un entero positivo o «-1" para indicar todos los grupos. Consulte Ejemplo del script de Realtime Servers para ver un ejemplo de grupo definido por el usuario. IDs

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 onewBinaryGameMessage, desde el servidor Realtime a un destinatario del jugador que utilice el UDP canal. 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 desde el servidor RealtimenewBinaryGameMessage, a todos los jugadores de un grupo de jugadores que utilicen el UDP canal. El grupo IDs debe 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 grupo definido por el usuario. IDs

Sintaxis

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Envía un mensaje, creado con newTextGameMessage o desde el servidor RealtimenewBinaryGameMessage, a un destinatario del jugador que utilice el TCP canal. Identifique el destinatario utilizando el ID de homólogo del jugador.

Sintaxis

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupMensaje ()

Envía un mensaje, creado con newTextGameMessage o desde el servidor RealtimenewBinaryGameMessage, a todos los jugadores de un grupo de jugadores que utilizan el TCP canal. Grupo IDs que debe ser un entero positivo o «-1" para indicar todos los grupos. Consulte Ejemplo del script de Realtime Servers para ver un ejemplo de grupo definido por el usuario. IDs

Sintaxis

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameMensaje ()

Crea un nuevo mensaje con texto, que se enviará desde el servidor a los destinatarios de los jugadores mediante las SendMessage funciones. El formato del mensaje es similar al utilizado en el Realtime Client SDK (consulteRTMessage). Devuelve un objeto gameMessage.

Sintaxis

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameMensaje ()

Crea un nuevo mensaje con datos binarios, que se enviará desde el servidor a los destinatarios de los jugadores mediante las SendMessage funciones. El formato del mensaje es similar al utilizado en el Realtime Client SDK (consulteRTMessage). Devuelve un objeto gameMessage.

Sintaxis

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Objeto del jugador

Información de acceso relacionada con el jugador.

jugador. 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.

jugador. 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.

getPayloadAsTexto ()

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.carga útil

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.confiable

Booleano que indica si el mensaje se envió mediante TCP (verdadero) o UDP (falso).

Objeto de configuración

El objeto de configuración se puede utilizar para anular las configuraciones predeterminadas.

configuración. maxPlayers

El número máximo de conexiones cliente/servidor que pueden aceptar RealTimeServers.

El valor predeterminado es 32.

configuración. 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.