Intégration de jeux aux serveurs Amazon GameLift Realtime - 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.

Intégration de jeux aux serveurs Amazon GameLift Realtime

Cette rubrique fournit une vue d'ensemble de la solution Amazon gérée GameLift avec des serveurs en temps réel. La présentation explique dans quels cas cette solution convient à votre jeu et comment Realtime Servers prend en charge les jeux multijoueurs.

Astuce

Pour essayer l'hébergement de serveurs de GameLift jeux Amazon, consultezCommencer à utiliser Amazon GameLift.

Que sont les serveurs en temps réel ?

Les serveurs en temps réel sont des serveurs de ready-to-go jeu légers qu'Amazon GameLift met à votre disposition pour vos jeux multijoueurs. Les serveurs en temps réel suppriment le processus de développement, de test et de déploiement d'un serveur de jeu personnalisé. Cette solution peut vous aider à minimiser le temps et les efforts nécessaires pour terminer votre jeu.

Fonctions principales
  • Stack réseau complet pour l'interaction entre le client et le serveur du jeu

  • Fonctionnalités de base du serveur de jeu

  • Logique de serveur personnalisable

  • Mises à jour en direct des configurations en temps réel et de la logique du serveur

  • FlexMatch matchmaking

  • Contrôle flexible des ressources d'hébergement

Configurez des serveurs en temps réel en créant une flotte et en fournissant un script de configuration.

Comment Realtime Servers gère les sessions de jeu

Vous pouvez ajouter une logique personnalisée pour la gestion des sessions de jeu en l'intégrant au script Realtime. Vous pouvez écrire du code pour accéder à des objets spécifiques au serveur, ajouter une logique axée sur les événements à l'aide de rappels ou ajouter une logique basée sur des scénarios autres que les événements.

Comment les clients et les serveurs en temps réel interagissent

Au cours d'une session de jeu, les clients du jeu interagissent en envoyant des messages au serveur en temps réel via un service principal. Le service principal transmet ensuite les messages aux clients du jeu pour échanger l'activité, l'état du jeu et les données de jeu pertinentes.

En outre, vous pouvez personnaliser la façon dont les clients et les serveurs interagissent en ajoutant une logique de jeu au script en temps réel. Avec une logique de jeu personnalisée, un serveur en temps réel peut implémenter des rappels pour démarrer des réponses basées sur des événements.

Protocole de communication

Les serveurs en temps réel et les clients de jeu connectés communiquent via deux canaux : une TCP connexion pour une diffusion fiable et un UDP canal pour une diffusion rapide. Lorsque vous créez des messages, les clients de jeu choisissent le protocole à utiliser en fonction de la nature du message. La livraison des messages est définie UDP par défaut. Si aucune UDP chaîne n'est disponible, Amazon GameLift envoie des messages en l'utilisant TCP comme solution de secours.

Contenu des messages

Le contenu du message se compose de deux éléments : un code d'opération obligatoire (opCode) et une charge utile optionnelle. Un message opCode identifie une activité du joueur ou un événement de jeu en particulier, et la charge utile fournit des données supplémentaires relatives au code d'opération. Ces deux éléments sont définis par le développeur. Votre client de jeu agit opCodes en fonction des messages qu'il reçoit.

Groupes de joueurs

Les serveurs en temps réel fournissent des fonctionnalités permettant de gérer des groupes de joueurs. Par défaut, Amazon GameLift place tous les joueurs qui se connectent à un jeu dans un groupe « tous les joueurs ». De plus, les développeurs peuvent configurer des groupes supplémentaires pour leurs jeux et les joueurs peuvent être membres de plusieurs groupes à la fois. Les membres du groupe peuvent envoyer des messages et partager des données de jeu avec tous les joueurs du groupe. Une utilisation possible pour les groupes consiste à configurer les équipes de joueurs et à gérer la communication de l'équipe.

Serveurs en temps réel avec certificats TLS

Avec les serveurs en temps réel, l'authentification du serveur et le chiffrement des paquets de données sont intégrés au service. Ces fonctionnalités de sécurité sont activées lorsque vous activez la génération de TLS certificats. Lorsqu'un client de jeu essaie de se connecter à un serveur en temps réel, le serveur répond automatiquement avec le TLS certificat, que le client valide. Amazon GameLift gère le chiffrement en utilisant TLS for TCP (WebSockets) communication et DTLS pour UDP le trafic.

Personnalisation d'un serveur en temps réel

Un serveur en temps réel fonctionne comme un serveur relais sans état. Le serveur en temps réel transmet des paquets de messages et de données de jeu entre les clients du jeu connectés au jeu. Cependant, le serveur en temps réel n'évalue pas les messages, ne traite pas les données et n'exécute aucune logique de jeu. Ainsi utilisé, chaque client de jeu conserve sa propre vision de l'état du jeu et fournit des mises à jour aux autres joueurs via le serveur relais. Chaque client de jeu est responsable de l'intégration de ces mises à jour et de la conciliation de son propre état de jeu.

Vous pouvez personnaliser vos serveurs en ajoutant des fonctionnalités de script en temps réel. Avec la logique du jeu, par exemple, vous pouvez créer un jeu dynamique avec une vue de l'état du jeu faisant autorité sur le serveur.

Amazon GameLift définit un ensemble de rappels côté serveur pour les scripts en temps réel. Implémentez ces rappels pour ajouter des fonctionnalités pilotées par les événements à votre serveur. Par exemple, vous pouvez :

  • Authentifier un joueur lorsqu'un client de jeu essaie de se connecter au serveur.

  • Validez si un joueur peut rejoindre un groupe sur demande.

  • Déterminez quand envoyer les messages d'un joueur donné ou à un joueur cible, ou effectuez un traitement supplémentaire en réponse.

  • Avertissez tous les joueurs lorsqu'un joueur quitte un groupe ou se déconnecte du serveur.

  • Affichez le contenu des objets de session de jeu ou des objets de message, et utilisez les données.

Déploiement et mise à jour de serveurs en temps réel

L'un des principaux avantages des serveurs en temps réel est la possibilité de mettre à jour vos scripts à tout moment. Lorsque vous mettez à jour un script, Amazon GameLift distribue la nouvelle version à toutes les ressources d'hébergement en quelques minutes. Une fois qu'Amazon aura GameLift déployé le nouveau script, toutes les nouvelles sessions de jeu créées par la suite utiliseront la nouvelle version du script. (Les sessions de jeu existantes continueront à utiliser la version originale.)