Interface de serveurs en temps réel - Amazon GameLift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Interface de serveurs en temps réel

Lorsqu'un script en temps réel s'initialise, une interface vers le serveur en temps réel est renvoyée. Cette rubrique décrit les propriétés et les méthodes disponibles via cette interface. Apprenez-en davantage sur la rédaction de scripts en temps réel et consultez un exemple de script détaillé dansCréation d'un script en temps réel.

L'interface en temps réel permet d'accéder aux objets suivants :

  • séance

  • joueur (player)

  • message de jeu (gameMessage)

  • configuration

Objet de session en temps réel

Utilisez ces méthodes pour accéder aux informations liées au serveur et effectuer des actions liées au serveur.

getPlayers()

Récupère la liste des ID de pair pour les joueurs actuellement connectés à la session de jeu. Renvoie un tableau d'objets joueur.

Syntaxe

rtSession.getPlayers()

broadcastGroupMembershipMettre à jour ()

Déclenche la livraison d'une mise à jour de la liste des membres d'un groupe de joueurs. Spécifiez l'appartenance à diffuser (groupIdToDiffusion) et le groupe auquel vous souhaitez recevoir la mise à jour (targetGroupId). Les identifiants de groupe doivent être un entier positif ou « -1 » pour indiquer tous les groupes. Consultez un Exemple de script de serveurs en temps réel exemple d'ID de groupe définis par l'utilisateur.

Syntaxe

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

Récupère l'identifiant de pair unique du serveur, qui est utilisé pour router les messages vers le serveur.

Syntaxe

rtSession.getServerId()

getAllPlayersGroupId()

Récupère l'ID de groupe pour le groupe par défaut qui contient tous les joueurs actuellement connectés à la session de jeu.

Syntaxe

rtSession.getAllPlayersGroupId()

processEnding()

Déclenche le serveur en temps réel pour mettre fin au serveur de jeu. Cette fonction doit être appelée depuis le script Realtime pour quitter correctement une session de jeu.

Syntaxe

rtSession.processEnding()

getGameSessionIdentifiant ()

Récupère l'ID unique de la session de jeu en cours d'exécution.

Syntaxe

rtSession.getGameSessionId()

getLogger()

Récupère l'interface pour la journalisation. Utilisez cette commande pour consigner les instructions qui seront capturées dans vos journaux de session de jeu. L'enregistreur prend en charge les instructions « info », « warn » et « error ». Par exemple : logger.info("<string>").

Syntaxe

rtSession.getLogger()

sendMessage()

Envoie un message, créé à l'aide de newTextGameMessage ou depuis le serveur en temps réelnewBinaryGameMessage, à un joueur destinataire via le canal UDP. Identifiez le destinataire à l'aide de l'ID de pair du joueur.

Syntaxe

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

Envoie un message, créé à l'aide newTextGameMessage ou à partir du serveur en temps réelnewBinaryGameMessage, à tous les joueurs d'un groupe de joueurs via le canal UDP. Les identifiants de groupe doivent être un entier positif ou « -1 » pour indiquer tous les groupes. Consultez un Exemple de script de serveurs en temps réel exemple d'ID de groupe définis par l'utilisateur.

Syntaxe

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Envoie un message, créé à l'aide de newTextGameMessage ou depuis le serveur en temps réelnewBinaryGameMessage, à un joueur destinataire via le canal TCP. Identifiez le destinataire à l'aide de l'ID de pair du joueur.

Syntaxe

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupVotre message ()

Envoie un message, créé à l'aide newTextGameMessage ou à partir du serveur en temps réelnewBinaryGameMessage, à tous les joueurs d'un groupe de joueurs via le canal TCP. Les identifiants de groupe doivent être un entier positif ou « -1 » pour indiquer tous les groupes. Consultez un Exemple de script de serveurs en temps réel exemple d'ID de groupe définis par l'utilisateur.

Syntaxe

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameVotre message ()

Crée un nouveau message contenant du texte, à envoyer depuis le serveur aux destinataires des joueurs à l'aide SendMessage des fonctions. Le format du message est similaire au format utilisé dans le kit SDK de client en temps réel (voir RTMessage). Renvoie un objet gameMessage.

Syntaxe

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameVotre message ()

Crée un nouveau message contenant des données binaires, à envoyer depuis le serveur aux destinataires des joueurs à l'aide SendMessage des fonctions. Le format du message est similaire au format utilisé dans le kit SDK de client en temps réel (voir RTMessage). Renvoie un objet gameMessage.

Syntaxe

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Objet joueur

Accédez aux informations liées au joueur.

player.peerId

Identifiant unique attribué à un client de jeu lorsqu'il se connecte au serveur Realtime et rejoint la session de jeu.

joueur. playerSessionId

ID de session du joueur référencé par le client du jeu lorsqu'il s'est connecté au serveur Realtime et a rejoint la session de jeu.

Objet message de jeu

Utilisez ces méthodes pour accéder aux messages reçus par le serveur en temps réel. Les messages reçus des clients de jeu ont la structure RTMessage.

getPayloadAsTexte ()

Obtient la charge utile du message du jeu sous forme de texte.

Syntaxe

gameMessage.getPayloadAsText()

gameMessage.opcode

Code d'opération contenu dans un message.

gameMessage.payload

Charge utile contenue dans un message. Peut être de type texte ou binaire.

gameMessage.sender

ID de pair du client de jeu qui a envoyé un message.

gameMessage.reliable

Booléen indiquant si le message a été envoyé via TCP (true) ou UDP (false).

Objet de configuration

L'objet de configuration peut être utilisé pour remplacer les configurations par défaut.

Configuration. Nombre maximum de joueurs

Le nombre maximum de connexions client-serveur pouvant être acceptées parRealTimeServers.

La valeur par défaut est 32.

configuration. pingIntervalTime

Intervalle de temps en millisecondes pendant lequel le serveur tentera d'envoyer un ping à tous les clients connectés pour vérifier que les connexions sont saines.

La valeur par défaut est de 3 000 ms.