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:
-
session
-
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 IDs pares para jogadores que estão conectados no momento à sessão de jogo. Retorna uma matriz de objetos de jogador.
Sintaxe
rtSession.getPlayers()
broadcastGroupMembershipUpdate()
Aciona a entrega de uma lista atualizada de associações do grupo ao grupo de jogadores. Especifique qual associação transmitir (groupIdToBroadcast) e o grupo para receber a atualização (targetGroupId). Os IDs de grupo devem ser um número inteiro positivo ou “-1” para indicar todos os grupos. Consulte Exemplo de script de servidores em tempo real para ver um exemplo de IDs de grupo definidos 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()
getGameSessionId()
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
ou newBinaryGameMessage
, do servidor em tempo real para um jogador destinatário usando o canal UDP. Identifique o destinatário usando o ID par do jogador.
Sintaxe
rtSession.sendMessage(gameMessage, targetPlayer)
sendGroupMessage()
Envia uma mensagem, criada usando newTextGameMessage
ou newBinaryGameMessage
, do servidor em tempo real a todos os jogadores em um grupo de jogadores usando o canal UDP. Os IDs de grupo devem ser um número inteiro positivo ou “-1” para indicar todos os grupos. Consulte Exemplo de script de servidores em tempo real para ver um exemplo de IDs de grupo definidos pelo usuário.
Sintaxe
rtSession.sendGroupMessage(gameMessage, targetGroup)
sendReliableMessage()
Envia uma mensagem, criada usando newTextGameMessage
ou newBinaryGameMessage
, do servidor em tempo real para um jogador destinatário usando o canal TCP. Identifique o destinatário usando o ID par do jogador.
Sintaxe
rtSession.sendReliableMessage(gameMessage, targetPlayer)
sendReliableGroupMessage()
Envia uma mensagem, criada usando newTextGameMessage
ou newBinaryGameMessage
, do servidor em tempo real para todos os jogadores em um grupo de jogadores usando o canal TCP. Os IDs de grupo que devem ser um número inteiro positivo ou “-1” para indicar todos os grupos. Consulte Exemplo de script de servidores em tempo real para ver um exemplo de IDs de grupo definidos pelo usuário.
Sintaxe
rtSession.sendReliableGroupMessage(gameMessage, targetGroup)
newTextGameMessage()
Cria uma nova mensagem que contém texto, a ser enviada do servidor aos jogadores destinatários usando as funções SendMessage. O formato da mensagem é semelhante ao formato usado no SDK do cliente Realtime (consulte RTMessage). Informa um objeto gameMessage
.
Sintaxe
rtSession.newTextGameMessage(opcode, sender, payload)
newBinaryGameMessage()
Cria uma nova mensagem que contém dados binários a ser enviada do servidor aos jogadores destinatários usando as funções SendMessage. O formato da mensagem é semelhante ao formato usado no SDK do cliente Realtime (consulte RTMessage). Informa um objeto gameMessage
.
Sintaxe
rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)
Objeto do jogador
Acessar informações relacionadas ao jogador.
player.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.
player.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.
getPayloadAsText()
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.payload
Carga contida em uma mensagem. Pode ser texto ou binário.
gameMessage.sender
ID par do cliente do jogo que enviou uma mensagem.
gameMessage.reliable
Booliano indica se a mensagem foi enviada por meio de TCP (verdadeiro) ou UDP (falso).
Objeto de configuração
O objeto de configuração pode ser usado para substituir as configurações padrão.
configuration.maxPlayers
O número máximo de conexões cliente/servidor que podem ser aceitas pelo RealTimeServers.
O padrão é 32.
configuration.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.