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 est initialisé, 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 plus sur l'écriture 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)

  • 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 une liste de pairs IDs 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'adhésion à diffuser (groupIdTodiffusion) et le groupe devant recevoir la mise à jour (targetGroupId). Le groupe IDs doit être un entier positif ou « -1 » pour indiquer tous les groupes. Voir un Exemple de script de serveurs en temps réel exemple de groupe IDs défini 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 arrêter le 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 newTextGameMessage ounewBinaryGameMessage, depuis le serveur Realtime à un joueur destinataire utilisant le UDP canal. 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 newBinaryGameMessage à partir du serveur Realtime à tous les joueurs d'un groupe de joueurs utilisant le UDP canal. Le groupe IDs doit être un entier positif ou « -1 » pour indiquer tous les groupes. Voir un Exemple de script de serveurs en temps réel exemple de groupe IDs défini par l'utilisateur.

Syntaxe

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

Envoie un message, créé à l'aide newTextGameMessage ounewBinaryGameMessage, depuis le serveur Realtime à un joueur destinataire utilisant le TCP canal. Identifiez le destinataire à l'aide de l'ID de pair du joueur.

Syntaxe

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupUn message ()

Envoie un message créé à l'aide newTextGameMessage ou newBinaryGameMessage à partir du serveur Realtime à tous les joueurs d'un groupe de joueurs utilisant le TCP canal. Groupe IDs qui doit être un entier positif ou « -1 » pour indiquer tous les groupes. Voir un Exemple de script de serveurs en temps réel exemple de groupe IDs défini par l'utilisateur.

Syntaxe

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameUn message ()

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

Syntaxe

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameUn message ()

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

Syntaxe

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

Objet joueur

Accédez aux informations liées au joueur.

joueur. peerId

ID 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 ()

Récupère 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.charge utile

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

gameMessage.expéditeur

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

gameMessage.fiable

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

Objet de configuration

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

configuration. maxPlayers

Le nombre maximum de connexions client/serveur pouvant être acceptées par RealTimeServers.

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 3000 ms.