Interface de servidores em tempo real - Amazon GameLift

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Interface de servidores em tempo real

Quando um script em tempo real é inicializado, uma interface é retornada para o servidor em tempo real. Este tópico descreve as propriedades e métodos disponíveis por meio da interface. Saiba mais sobre como gravar scripts em tempo real e visualize um script detalhado de exemplo em Criar um script em tempo real.

A interface em tempo real fornece acesso aos seguintes objetos:

  • sessão

  • player

  • gameMessage

  • configuration

Objeto de sessão em tempo real

Use esses métodos para acessar informações relacionadas ao servidor e para executar ações relacionadas ao servidor.

getPlayers()

Recupera uma lista de pares IDs para jogadores que estão atualmente conectados à sessão do jogo. Retorna uma matriz de objetos de jogador.

Sintaxe

rtSession.getPlayers()

broadcastGroupMembershipAtualizar ()

Aciona a entrega de uma lista atualizada de associações do grupo ao grupo de jogadores. Especifique qual associação groupIdTo transmitir (Transmitir) e o grupo para receber a atualização (targetGroupId). O grupo IDs deve ser um número inteiro positivo ou “-1" para indicar todos os grupos. Veja um Exemplo de script de servidores em tempo real exemplo de grupo IDs definido pelo usuário.

Sintaxe

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

Recupera o identificador do ID par exclusivo do servidor, que é usado para rotear mensagens para o servidor.

Sintaxe

rtSession.getServerId()

getAllPlayersGroupId()

Recupera o ID de grupo para o grupo padrão que contém todos os jogadores conectados no momento à sessão de jogo.

Sintaxe

rtSession.getAllPlayersGroupId()

processEnding()

Aciona o servidor em tempo real para encerrar o servidor de jogos. Essa função deve ser chamada no script em tempo real para sair corretamente de uma sessão de jogo.

Sintaxe

rtSession.processEnding()

getGameSessionIdentificação ()

Recupera o ID exclusivo da sessão do jogo em execução no momento.

Sintaxe

rtSession.getGameSessionId()

getLogger()

Recupera a interface para o registro em log. Use essa opção para registrar instruções de log que serão capturadas em seus logs de sessão de jogo. O registrador em log é compatível com o uso de instruções “info”, “warn” e “error”. Por exemplo: logger.info("<string>").

Sintaxe

rtSession.getLogger()

sendMessage()

Envia uma mensagem, criada usando newTextGameMessage ounewBinaryGameMessage, do servidor em tempo real para o destinatário de um jogador usando o UDP canal. Identifique o destinatário usando o ID par do jogador.

Sintaxe

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

Envia uma mensagem, criada usando newTextGameMessage ounewBinaryGameMessage, do servidor em tempo real para todos os jogadores em um grupo de jogadores usando o UDP canal. O grupo IDs deve ser um número inteiro positivo ou “-1" para indicar todos os grupos. Veja um Exemplo de script de servidores em tempo real exemplo de grupo IDs definido pelo usuário.

Sintaxe

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Envia uma mensagem, criada usando newTextGameMessage ounewBinaryGameMessage, do servidor em tempo real para o destinatário de um jogador usando o TCP canal. Identifique o destinatário usando o ID par do jogador.

Sintaxe

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupMensagem ()

Envia uma mensagem, criada usando newTextGameMessage ounewBinaryGameMessage, do servidor em tempo real para todos os jogadores em um grupo de jogadores usando o TCP canal. Grupo IDs que deve ser um número inteiro positivo ou “-1" para indicar todos os grupos. Veja um Exemplo de script de servidores em tempo real exemplo de grupo IDs definido pelo usuário.

Sintaxe

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameMensagem ()

Cria uma nova mensagem contendo texto, a ser enviada do servidor para os destinatários do jogador usando as SendMessage funções. O formato da mensagem é semelhante ao formato usado no Realtime Client SDK (consulteRTMessage). Informa um objeto gameMessage.

Sintaxe

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameMensagem ()

Cria uma nova mensagem contendo dados binários, a serem enviados do servidor para os destinatários do jogador usando as SendMessage funções. O formato da mensagem é semelhante ao formato usado no Realtime Client SDK (consulteRTMessage). Informa um objeto gameMessage.

Sintaxe

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Objeto do jogador

Acessar informações relacionadas ao jogador.

jogador. peerId

ID exclusivo que é atribuído a um cliente do jogo quando ele se conecta ao servidor em tempo real e ingressa na sessão do jogo.

jogador. playerSessionId

O ID da sessão do jogador que foi referenciado pelo cliente do jogo quando conectou-se ao servidor em tempo real e ingressou na sessão do jogo.

Objeto de mensagem de jogo

Use esses métodos para acessar as mensagens que são recebidas pelo servidor em tempo real. As mensagens recebidas de clientes de jogos têm a estrutura RTMessage.

getPayloadAsTexto ()

Obtém a carga útil da mensagem do jogo como texto.

Sintaxe

gameMessage.getPayloadAsText()

gameMessage.opcode

Código de operação contido em uma mensagem.

gameMessage.carga

Carga contida em uma mensagem. Pode ser texto ou binário.

gameMessage.remetente

ID par do cliente do jogo que enviou uma mensagem.

gameMessage.confiável

Booleano indicando se a mensagem foi enviada via TCP (true) ou UDP (false).

Objeto de configuração

O objeto de configuração pode ser usado para substituir as configurações padrão.

configuração. maxPlayers

O número máximo de conexões cliente/servidor que podem ser aceitas pelo RealTimeServers.

O padrão é 32.

configuração. pingIntervalTime

Intervalo de tempo em milissegundos em que o servidor tentará enviar um ping a todos os clientes conectados para verificar se as conexões estão íntegras.

O padrão é 3000 ms.