AMAZON GAMELIFT MANUEL DU DÉVELOPPEUR FLEXMATCH VERSION - AWS ...
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Amazon GameLift
Manuel du développeur FlexMatch
VersionAmazon GameLift Manuel du développeur FlexMatch Amazon GameLift: Manuel du développeur FlexMatch Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Amazon GameLift Manuel du développeur FlexMatch
Table of Contents
Qu'est-ce qu'GameLift FlexMatch ? ....................................................................................................... 1
Fonctions FlexMatch clés ............................................................................................................. 1
FlexMatch avec GameLift hébergement ......................................................................................... 2
Fonctionnement de FlexMatch ...................................................................................................... 2
Composants de mise en relation ........................................................................................... 3
FlexMatch processus de mise en relation ............................................................................... 4
Configuration de ................................................................................................................................. 6
Mise en route .................................................................................................................................... 7
Intégration pour la mise en relation autonome ................................................................................. 7
Intégration à l'hébergementGameLift .............................................................................................. 8
Création d'un matchmakerFlexMatch .................................................................................................... 10
Concevoir un matchmaker .......................................................................................................... 10
Configuration d'un matchmaker de base ............................................................................... 10
Choix d'une région AWS pour le matchmaker ....................................................................... 10
Ajouter des éléments facultatifs ........................................................................................... 11
Créer une configuration de mise en relation .................................................................................. 12
Création d'un matchmaker pour l'hébergementGameLift .......................................................... 12
Création d'un matchmaker pour FlexMatch autonome ............................................................. 14
Créer un ensemble de règles ..................................................................................................... 15
Concevoir un ensemble de règles ....................................................................................... 16
Créer des ensembles de règles de mise en relation ............................................................... 25
Exemples d'ensembles de règles ........................................................................................ 27
Configuration de la notification d'événement .................................................................................. 41
Configurer CloudWatch Events ........................................................................................... 41
Configuration d'une rubrique SNS ........................................................................................ 41
Préparation des jeux pourFlexMatch .................................................................................................... 43
Ajouter FlexMatch à un client de jeu ............................................................................................ 43
Se préparer à demander une mise en relation pour les joueurs ................................................ 43
Demander une mise en relation pour les joueurs ................................................................... 44
Suivre les événements de mise en relation ........................................................................... 45
Demander l'acceptation du joueur ........................................................................................ 46
Se connecter à une mise en relation ................................................................................... 46
Exemples de demandes de mise en relation ......................................................................... 47
Ajouter FlexMatch à un serveur de jeux hébergé surGameLift .......................................................... 48
Configuration de votre serveur de jeux pour la mise en relation ................................................ 48
Utiliser les données du matchmaker .................................................................................... 49
Renvoi des jeux existants .......................................................................................................... 50
Activation du remplissage automatique ................................................................................. 50
Envoi de demandes de remplissage (à partir d'un serveur de jeux) ........................................... 51
Envoi de requêtes de renvoi (depuis un service client) ............................................................ 53
Mise à jour des données de mise en relation sur le serveur de jeux .......................................... 55
Surveillance avec CloudWatch ............................................................................................................ 56
Référence FlexMatch ......................................................................................................................... 57
Référence d'API FlexMatch (kit SDK AWS) ................................................................................... 57
Configurer les règles et les processus de mise en relation ...................................................... 57
Demander une mise en relation pour un ou plusieurs joueurs .................................................. 58
Langages de programmation disponibles .............................................................................. 58
Schéma d'ensemble de règles .................................................................................................... 58
Schéma d’ensemble de règles pour les parties de petite envergure ........................................... 59
Schéma d’ensemble de règles pour les parties à grande échelle .............................................. 60
Définitions des propriétés de schéma des ensembles de règles ................................................ 61
Langage des règles .................................................................................................................. 65
Types de règle ................................................................................................................. 66
Expressions de propriété .................................................................................................... 68
Version
iiiAmazon GameLift Manuel du développeur FlexMatch
Événements de mise en relation ................................................................................................. 71
MatchmakingSearching ...................................................................................................... 71
PotentialMatchCreated ....................................................................................................... 72
AcceptMatch .................................................................................................................... 73
AcceptMatchCompleted ...................................................................................................... 74
MatchmakingSucceeded ..................................................................................................... 75
MatchmakingTimedOut ...................................................................................................... 76
MatchmakingCancelled ...................................................................................................... 77
MatchmakingFailed ............................................................................................................ 78
Sécurité avec FlexMatch .................................................................................................................... 80
Versions des notes de mise à jour et du kit SDK ................................................................................... 81
Tous les guidesGameLift .................................................................................................................... 82
Glossaire AWS ................................................................................................................................. 83
.................................................................................................................................................. lxxxiv
Version
ivAmazon GameLift Manuel du développeur FlexMatch
Fonctions FlexMatch clés
Qu'est-ce qu'GameLift FlexMatch ?
GameLift FlexMatch est un service personnalisable de mise en relation pour les jeux multijoueur. Avec
FlexMatch, vous pouvez créer un ensemble de règles personnalisé qui définit à quoi ressemble une
mise en relation multijoueur pour votre jeu, et détermine comment évaluer et sélectionner les joueurs
compatibles pour chaque mise en relation. Vous pouvez également personnaliser les principaux aspects du
processus de mise en relation, y compris l'ajustement de l'algorithme correspondant, en fonction de votre
jeu.
FlexMatch est disponible pour une utilisation avec une solution d'hébergement de jeux GameLift (y
compris Serveurs en temps réel), ou en tant que service autonome de mise en relation. Vous pouvez
implémenter FlexMatch en tant que fonction autonome avec des jeux qui utilisent l'architecture peer-to-peer
ou hébergent des serveurs de jeux sur site ou sur d'autres solutions de calcul cloud (y compris GameLift
FleetIQ). Ce guide fournit des informations détaillées sur la création d'un système de mise en relation pour
l'un de ces scénarios.
FlexMatch vous donne la flexibilité nécessaire pour définir les priorités de mise en relation en fonction des
exigences de votre jeu. Par exemple, vous pouvez effectuer les opérations suivantes :
• Trouvez un équilibre entre la vitesse et la qualité de la partie. Définissez des règles de mise en relation
pour trouver rapidement les rencontres qui sont suffisamment bonnes, ou autorisez les joueurs à
attendre un peu plus pour trouver la meilleure rencontre possible pour une expérience joueur optimale.
• Créez des rencontres basées sur des joueurs ou des équipes bien mis en relation. Crée une mise
en relation où tous les joueurs ont des caractéristiques très similaires, telles que la compétence ou
l'expérience. Sinon, formez des rencontres où les caractéristiques combinées de chaque équipe sont
similaires, même si les caractéristiques des joueurs individuels sont plus variées.
• Hiérarchisez les facteurs de latence des joueurs dans une mise en relation. Définissez une limite stricte
de latence pour tous les joueurs d'une mise en relation ou assurez-vous que tous les joueurs d'une mise
en relation connaissent une latence très similaire, ou les deux.
Prêt à commencer à utiliser FlexMatch ?
Suivez ces guides pour obtenir des conseils étape par étape sur la façon d'obtenir votre jeu
opérationnel avec FlexMatch : guide.
• Intégration d'FlexMatch avec l'hébergementGameLift (p. 8)
• GameLift FlexMatch Intégration de pour la mise en relation autonome (p. 7)
Fonctions FlexMatch clés
Les fonctions suivantes sont disponibles avec tous les scénarios FlexMatch, qu'elles soient utilisées en tant
que service autonome ou avec l'hébergement de jeux GameLift.
• Correspondance de joueur personnalisable. Concevez et construisez des matchmakers pour répondre
à tous les modes de jeu que vous proposez à vos joueurs. Créez un ensemble de règles personnalisées
pour évaluer les attributs de joueur clés (tels que le niveau de compétence ou le rôle) et les données de
latence géographique pour former des rencontres de joueurs de grande qualité pour votre jeu.
• Association basée sur la latence. Fournissez les données de latence des joueurs et créez des règles de
mise en relation qui exigent que les joueurs d'une mise en relation aient des temps de réponse similaires.
Cette fonction est utile lorsque les groupes de mise en relation de vos joueurs couvrent plusieurs régions
géographiques.
Version
1Amazon GameLift Manuel du développeur FlexMatch
FlexMatch avec GameLift hébergement
• Prise en charge des tailles de rencontre allant jusqu'à 200 joueurs. Créez des rencontres impliquant
jusqu'à 40 joueurs à l'aide de règles de rencontre personnalisées pour votre jeu. Créez des parties
réunissant jusqu'à 200 joueurs à l'aide d'un processus de mise en relation personnalisé rationalisé pour
gérer les temps d'attente des joueurs.
• Acceptation des joueurs. Nécessitent que les joueurs s'inscrivent à une mise en relation proposée avant
de finaliser la mise en relation et de démarrer une session de jeu. Utilisez cette fonction pour initier votre
flux de travail d'acceptation personnalisé et signaler les réponses des joueurs à FlexMatch avant de
placer une nouvelle session de jeu pour la mise en relation. Si tous les joueurs n'acceptent pas une mise
en relation, la mise en relation proposée échoue et les joueurs qui ont accepté sont automatiquement
renvoyés au pool de mise en relation.
Prise en charge des parties des joueurs. Générez des rencontres pour des groupes de joueurs qui
souhaitent jouer ensemble dans la même équipe. Utilisez FlexMatch pour trouver d'autres joueurs afin de
remplir la mise en relation en fonction des besoins.
• Règles de correspondance extensibles. Assouplissez progressivement les exigences de mise en relation
après un certain délai sans trouver de correspondance. Une extension de règle vous permet de décider
où et quand assouplir les règles initiales de la mise en relation, afin que les joueurs puissent participer à
des jeux jouables dans un délai raisonnable.
• Renvoi de correspondance. Remplissez les emplacements de joueur vides dans une session de jeu
existante avec de nouveaux joueurs à bonne correspondance. Personnalisez quand et comment
de nouveaux joueurs peuvent être demandés, et utilisez les mêmes règles de mise en relation
personnalisées pour trouver des joueurs supplémentaires.
FlexMatch avec GameLift hébergement
Pour les jeux hébergés avec GameLift, FlexMatch offre les fonctions supplémentaires suivantes. Ces
fonctions sont disponibles lors de l'utilisation du service GameLift pour héberger des serveurs de jeux
personnalisés, ou lors de l'utilisation de Serveurs en temps réel. Les jeux hébergés sur des ressources
Amazon EC2 avec GameLift FleetIQ doivent implémenter FlexMatch en tant que fonction autonome.
• Placement des sessions de jeu. Lorsqu'une mise en relation aboutit, FlexMatch demande
automatiquement un nouveau placement de session de jeu à GameLift. Les données générées au cours
de l'activité de mise en relation, y compris les affectations de joueur IDs et d'équipe, sont fournies au
serveur de jeux afin qu'il puisse utiliser ces informations pour démarrer la session de jeu pour la mise en
relation. FlexMatch transmet ensuite les informations de connexion de session de jeu afin que les clients
puissent rejoindre le jeu. Le placement de session de jeu avec GameLift peut également utiliser les
données de latence régionales des joueurs, si elles sont fournies, afin de réduire la quantité de latence
perçue par tous les joueurs de la mise en relation.
• Renvoi de correspondance automatique. Lorsque cette fonction est activée, FlexMatch envoie
automatiquement une demande de renvoi de correspondance lorsqu'une nouvelle session de jeu
commence avec des emplacements de joueur non remplis. Avec cette fonction, votre système de mise
en relation démarre le processus de placement de session de jeu avec un nombre minimum de joueurs,
puis remplit rapidement les emplacements restants. Le remplissage automatique ne peut pas être utilisé
pour remplacer les joueurs qui abandonnent une session de jeu correspondante.
Fonctionnement Amazon GameLift FlexMatch d'
Cette rubrique fournit une vue d'ensemble du GameLift FlexMatch service , y compris les composants de
base d'un FlexMatch système et leur interaction.
Vous pouvez utiliser FlexMatch avec des jeux qui utilisent l'hébergement GameLift géré ou avec des jeux
qui utilisent une autre solution d'hébergement. Les jeux hébergés sur GameLift des serveurs , y compris
Version
2Amazon GameLift Manuel du développeur FlexMatch
Composants de mise en relation
Serveurs en temps réel, utilisent le GameLift service intégré pour localiser automatiquement les serveurs
de jeux disponibles et démarrer des sessions de jeu pour les rencontres. Les jeux qui utilisent FlexMatch
en tant que service autonome, y compris GameLift FleetIQ, doivent se coordonner avec le système
d'hébergement existant pour attribuer des ressources d'hébergement et démarrer des sessions de jeu pour
les rencontres.
Pour obtenir des conseils détaillés sur la configuration FlexMatch de pour vos jeux, consultez Mise en route
avec FlexMatch (p. 7).
Composants de mise en relation
Un système de mise en FlexMatch relation comprend tout ou partie des composants suivants.
GameLiftComposants
Il s'agit GameLift des ressources qui contrôlent la façon dont le FlexMatch service effectue la mise en
relation pour votre jeu. Elles sont créées et gérées à l'aide GameLift d'outils, y compris la console et
l'interface de ligne de commande AWS, ou par programmation à l'aide du kit AWS SDK pour GameLift.
• FlexMatch configuration de mise en relation (également appelé matchmaker) – Un matchmaker est un
ensemble de valeurs de configuration qui personnalise le processus de mise en relation pour votre jeu.
Un jeu peut avoir plusieurs matchmakers, chacun configuré pour différents modes de jeu ou expériences
selon les besoins. Lorsque votre jeu envoie une demande de mise en relation à FlexMatch, il spécifie le
matchmaker à utiliser.
• FlexMatch Ensemble de règles de mise en relation – Un ensemble de règles contient toutes les
informations nécessaires pour évaluer les joueurs d'une mise en relation potentielle et approuver ou
rejeter. L'ensemble de règles définit la structure d'équipe d'une mise en relation, déclare les attributs
de joueur qui sont utilisés pour l'évaluation et fournit des règles qui décrivent les critères d'une mise
en relation acceptable. Les règles peuvent s'appliquer à des joueurs individuels, à des équipes ou à
l'ensemble de la mise en relation. Par exemple, une règle peut exiger que chaque joueur de la mise
en relation choisisse la même relation de jeu, ou exiger que toutes les équipes aient une moyenne de
compétences de joueur similaire.
• GameLift File d'attente de session de jeu (pour FlexMatch l'hébergement GameLift géré uniquement)
– Une file d'attente de session de jeu localise les ressources d'hébergement disponibles et démarre
une nouvelle session de jeu pour la mise en relation. La configuration de la file d'attente détermine où
GameLift recherche les ressources d'hébergement disponibles et comment sélectionner le meilleur hôte
disponible pour une mise en relation.
Composants personnalisés
Les composants suivants comprennent les fonctionnalités requises pour un FlexMatch système complet
que vous devez implémenter en fonction de l'architecture de votre jeu.
• Interface de joueur pour la mise en relation – Cette interface permet aux joueurs de rejoindre une mise
en relation. Au minimum, il initie une demande de mise en relation via le composant de service de mise
en relation du client et fournit des données spécifiques au joueur, telles que les données de niveau de
compétence et de latence, selon les besoins du processus de mise en relation.
Note
Comme bonne pratique, la communication avec le FlexMatch service doit être effectuée par un
service backend, et non par un client de jeu.
• Service de mise en relation du client – Ce service champ les demandes de jonction de joueurs à partir de
l'interface du joueur, génère des demandes de mise en relation et les envoie au FlexMatch service . Pour
les demandes en cours, il surveille les événements de mise en relation, suit l'état de la mise en relation
et agit en fonction des besoins. Selon la façon dont vous gérez l'hébergement de session de jeu dans
Version
3Amazon GameLift Manuel du développeur FlexMatch
FlexMatch processus de mise en relation
votre jeu, ce service peut renvoyer des informations de connexion de session de jeu aux joueurs. Ce
composant utilise le kit SDK AWS avec GameLift l'API pour communiquer avec le FlexMatch service .
• Service de placement de rencontre (pour FlexMatch un service autonome uniquement) – Ce
composant fonctionne avec votre système d'hébergement de jeux existant pour localiser les ressources
d'hébergement disponibles et démarrer de nouvelles sessions de jeu pour les rencontres. Le composant
doit obtenir les résultats de la mise en relation et extraire les informations nécessaires pour démarrer une
nouvelle session de jeu, y compris les IDs de joueur, les attributs et les affectations d'équipe pour tous
les joueurs de la mise en relation.
FlexMatch processus de mise en relation
Cette rubrique décrit un scénario de mise en relation de base et les interactions entre les différents
composants de votre jeu et le FlexMatch service .
Demande de mise en relation pour les joueurs
Un joueur qui utilise votre client de jeu clique sur un bouton « Rejoindre le jeu ». Avec cette action,
votre service de mise en relation client envoie une demande de mise en relation à FlexMatch. La
demande identifie le FlexMatch matchmaker à utiliser lors de l'exécution de la demande. La demande
inclut également les informations de joueur dont votre matchmaker personnalisé a besoin, telles que le
niveau de compétence, les préférences de jeu ou les données de latence géographique. Vous pouvez
effectuer des demandes de mise en relation pour un ou plusieurs joueurs.
Ajouter des demandes au pool de mise en relation
Quand FlexMatch reçoit la demande de mise en relation, il génère un ticket de mise en relation et
l'ajoute au pool de ticket du matchmaker. Le ticket reste dans le pool jusqu'à ce qu'il corresponde
ou qu'un délai maximum soit atteint. Le service de mise en relation de votre client est régulièrement
informé des événements de mise en relation, y compris des modifications de l'état du ticket.
Création d'une mise en relation
Votre FlexMatch matchmaker exécute en permanence le processus suivant sur tous les tickets de son
groupe :
1. Le matchmaker trie le pool par âge de ticket, puis commence à créer une mise en relation
potentielle à partir du ticket le plus ancien.
2. Le matchmaker ajoute un second ticket à la mise en relation potentielle et évalue le résultat par
rapport à vos règles de mise en relation personnalisées. Si la mise en relation potentielle réussit
l'évaluation, les joueurs du ticket sont affectés à une équipe.
3. Le matchmaker ajoute le prochain ticket dans l'ordre et répète le processus d'évaluation. Une fois
tous les emplacements de joueur remplis, la mise en relation est prête.
L'activité de mise en relation pour les parties à grande échelle (41 à 200 joueurs) utilise une version
modifiée du processus décrit ci-dessus afin de créer des rencontres dans un délai raisonnable. Au lieu
d'évaluer chaque ticket individuellement, le matchmaker divise un pool de ticket pré-trié en rencontres
potentielles, puis équilibre chaque rencontre en fonction d'une caractéristique de joueur que vous avez
spécifiée. Par exemple, un matchmaker peut pré-trier les tickets en fonction d'emplacements à faible
latence similaires, puis utiliser l'équilibrage après la mise en relation pour s'assurer que les équipes
sont mises en relation uniformément par compétence de joueur.
Rapport des résultats de mise en relation
Lorsqu'une mise en relation acceptable est trouvée, tous les tickets correspondants sont mis à jour et
un événement de mise en relation réussi est généré pour chaque ticket correspondant.
• FlexMatch en tant que service autonome : votre jeu reçoit les résultats d'une mise en relation
réussie. Les données de résultat incluent une liste de tous les joueurs mis en relation et leurs
affectations d'équipe. Si vos demandes de mise en relation contiennent des informations sur la
Version
4Amazon GameLift Manuel du développeur FlexMatch
FlexMatch processus de mise en relation
latence des joueurs, les résultats suggèrent également un emplacement géographique optimal pour
la mise en relation.
• FlexMatch avec une solution GameLift d'hébergement : les résultats de la mise en relation sont
automatiquement transmis à une file GameLift d'attente pour le placement de session de jeu. Le
matchmaker détermine la file d'attente utilisée pour le placement de session de jeu.
Démarrer une session de jeu pour la mise en relation
Une fois qu'une mise en relation proposée est correctement formée, une nouvelle session de jeu est
démarrée. Vos serveurs de jeux doivent être en mesure d'utiliser les données de résultats de mise en
relation, y compris les IDs de joueur et les affectations d'équipe, lors de la configuration d'une session
de jeu pour la mise en relation.
• FlexMatch en tant que service autonome : votre service de placement de mise en relation
personnalisé obtient les données des résultats de mise en relation à partir d'événements de
mise en relation réussis et se connecte à votre système de placement de session de jeu existant
pour localiser une ressource d'hébergement disponible pour la mise en relation. Une fois qu'une
ressource d'hébergement a été trouvée, le service de placement des rencontres coordonne avec
votre système d'hébergement existant pour démarrer une nouvelle session de jeu et acquérir les
informations de connexion.
• FlexMatch avec une solution GameLift d'hébergement : la file d'attente de session de jeu localise
le meilleur serveur de jeux disponible pour la mise en relation. En fonction de la façon dont la file
d'attente est configurée, elle essaie de placer la session de jeu avec les ressources les moins
onéreuses et où les joueurs subiront une faible latence (si les données de latence pour les joueurs
sont fournies). Une fois que la session de jeu est correctement placée, le GameLift service invite le
serveur de jeux à démarrer une nouvelle session de jeu, en transmettant les résultats de mise en
relation et d'autres données de jeu facultatives.
Connecter les joueurs à la mise en relation
Une fois qu'une session de jeu est démarrée, les joueurs se connectent à la session, revendiquent leur
affectation d'équipe et commencent le gameplay.
• FlexMatch en tant que service autonome : votre jeu utilise le système de gestion de session de jeu
existant pour fournir les informations de connexion aux joueurs.
• FlexMatch avec une solution GameLift d'hébergement : sur un placement de session de jeu réussi,
FlexMatch met à jour tous les tickets correspondants avec les informations de connexion de session
de jeu et un ID de session de joueur.
Version
5Amazon GameLift Manuel du développeur FlexMatch
Configuration d’FlexMatch
GameLift FlexMatch est un service AWS et vous devez disposer d'un compte AWS pour utiliser ce service.
La création d'un compte AWS est gratuite. Pour plus d'informations sur ce que vous pouvez faire avec un
compte AWS, consultez Mise en route avec AWS.
Si vous utilisez FlexMatch avec d'autres solutions GameLift, consultez les rubriques suivantes :
• Configuration de l'accès pour l'hébergement GameLift et Serveurs en temps réel
• Configuration de l'accès pour l'hébergement sur Amazon EC2 avec GameLift FleetIQ
Pour configurer votre compte pour GameLift
1. Obtenez un compte. Ouvrez Amazon Web Services et choisissez Sign In to the Console (Se connecter
à la console). Suivez les invites pour créer un nouveau compte ou vous connecter à un compte
existant.
2. Configurez un groupe d'utilisateurs administratif. Ouvrez la console du service AWS Identity and
Access Management (IAM) et suivez les étapes pour créer ou mettre à jour des utilisateurs ou des
groupes d'utilisateurs. IAM gère l'accès à vos services et ressources AWS. Toute personne qui accède
à vos ressources FlexMatch, à l'aide de la console GameLift ou en appelant GameLift APIs, doit
bénéficier d'un accès explicite. Pour obtenir des instructions détaillées sur l'utilisation de la console (ou
de l'interface de ligne de commande AWS ou d'autres outils) pour configurer des groupes d'utilisateurs,
consultez Création d'utilisateurs IAM.
3. Attachez une stratégie d'autorisations à votre utilisateur ou groupe d'utilisateurs. L'accès aux
services et ressources AWS est géré en attachant une stratégie IAM à un utilisateur ou à un groupe
d'utilisateurs. Les stratégies d'autorisations spécifient un ensemble de services et d'actions AWS
auxquels un utilisateur doit pouvoir accéder.
Pour GameLift, vous devez créer une stratégie d'autorisations personnalisées et l'attacher à chaque
utilisateur ou groupe d'utilisateurs. Une stratégie est un document JSON. Utilisez l'exemple ci-dessous
pour créer votre stratégie.
L'exemple suivant illustre une stratégie d'autorisations en ligne avec des autorisations administratives pour
toutes les ressources et actions GameLift. Vous pouvez choisir de limiter l'accès en spécifiant uniquement
des éléments spécifiques à FlexMatch.
{
"Version": "2012-10-17",
"Statement":
{
"Effect": "Allow",
"Action": "gamelift:*",
"Resource": "*"
}
}
Version
6Amazon GameLift Manuel du développeur FlexMatch
Intégration pour la mise en relation autonome
Mise en route avec FlexMatch
Utilisez les ressources de cette section pour vous aider à démarrer la création d'un système de mise en
relation avec FlexMatch.
Rubriques
• GameLift FlexMatch Intégration de pour la mise en relation autonome (p. 7)
• Intégration d'FlexMatch avec l'hébergementGameLift (p. 8)
GameLift FlexMatch Intégration de pour la mise en
relation autonome
Cette rubrique décrit le processus d'intégration complet pour implémenter FlexMatch en tant que service de
mise en relation autonome. Utilisez ce processus si votre jeu multijoueur est hébergé à l'aide de matériel
d'homologue à homologue, d'un matériel sur site configuré sur mesure ou d'autres primitives de calcul du
cloud. Ce processus est également destiné à une utilisation avec GameLift FleetIQ, qui est une solution
d'optimisation d'hébergement pour les jeux hébergés sur Amazon EC2. Si vous hébergez votre jeu à l'aide
de l'hébergement GameLift géré (y compris Serveurs en temps réel), consultez Intégration d'FlexMatch
avec l'hébergementGameLift (p. 8).
Avant de commencer l'intégration, vous devez disposer d'un AWS compte et configurer les autorisations
d'accès pour le GameLift service . Pour de plus amples informations, veuillez consulter Configuration
d’FlexMatch (p. 6). Toutes les tâches essentielles liées à la création et à la gestion des GameLift FlexMatch
matchmakers et des ensembles de règles peuvent être effectuées à l'aide de la Amazon GameLift
console , mais vous pouvez également Obtenez et installez l'outil AWS Command Line Interface.
1. Créez un ensemble de règles de mise en FlexMatch relation. Votre ensemble de règles personnalisé
fournit des instructions complètes sur la création d'une mise en relation. Dans celui-ci, vous définissez
la structure et la taille de chaque équipe. Vous fournissez également un ensemble d'exigences qu'une
mise en relation doit respecter pour être valide, qu' FlexMatch utilise pour inclure ou exclure des
joueurs dans une mise en relation. Ces exigences peuvent s'appliquer aux joueurs individuels. Vous
pouvez également personnaliser FlexMatch l'algorithme dans l'ensemble de règles, par exemple pour
créer des parties à grande échelle avec jusqu'à 200 joueurs. Consultez ces rubriques :
• Créer un ensemble de règlesFlexMatch (p. 15)
• Exemples d'ensembles de règlesFlexMatch (p. 27)
2. Configurez des notifications pour les événements de mise en relation. Utilisez les notifications pour
suivre l'activité de mise en FlexMatch relation, y compris le statut des demandes de mise en relation
en attente. Il s'agit du mécanisme utilisé pour fournir les résultats d'une mise en relation proposée.
Les demandes de mise en relation étant asynchrones, vous devez disposer d'un moyen pour suivre
le statut des demandes. L'utilisation des notifications est l'option préférée pour cela. Consultez ces
rubriques :
• Configuration d'une notification d'événementFlexMatch (p. 41)
• FlexMatch Événements de mise en relation (p. 71)
3. Configurez une configuration de FlexMatch mise en relation. Également appelé matchmaker, ce
composant reçoit et traite les demandes de mise en relation. Vous configurez un matchmaker en
spécifiant un ensemble de règles, une cible de notification et un temps d'attente maximal. Vous pouvez
également activer les fonctions facultatives. Consultez ces rubriques :
• Concevoir un FlexMatch matchmaker (p. 10)
Version
7Amazon GameLift Manuel du développeur FlexMatch
Intégration à l'hébergementGameLift
• Créer une configuration de mise en relation (p. 12)
4. Créez un service de mise en relation client. Créez ou développez un service de client de jeu
avec des fonctionnalités permettant de créer et d'envoyer des demandes de mise en relation à
FlexMatch. Pour créer des demandes de mise en relation, ce composant doit avoir des mécanismes
permettant d'obtenir les données de joueur requises par l'ensemble de règles de mise en relation et,
éventuellement, les informations de latence régionale. Il doit également avoir une méthode pour créer
et attribuer un ticket unique IDs pour chaque demande. Vous pouvez également choisir de créer un
flux de travail d'acceptation de joueur qui nécessite que les joueurs choisissent une mise en relation
proposée. Ce service doit également surveiller les événements de mise en relation pour obtenir
les résultats de la mise en relation et lancer le placement de la session de jeu pour les rencontres
réussies. Consultez cette rubrique :
• Ajouter FlexMatch à un client de jeu (p. 43)
5. Créez un service de placement des parties. Créez un mécanisme qui fonctionne avec votre système
d'hébergement de jeux existant pour localiser les ressources d'hébergement disponibles et démarrer
de nouvelles sessions de jeu pour des rencontres réussies. Ce composant doit être en mesure
d'utiliser les informations des résultats de la mise en relation pour obtenir un serveur de jeux disponible
et démarrer une nouvelle session de jeu pour la mise en relation. Vous pouvez également implémenter
un flux de travail pour effectuer des requêtes de renvoi de correspondance, qui utilise la mise en
relation pour remplir les emplacements ouverts dans les sessions de jeu qui sont déjà en cours
d'exécution.
Intégration d'FlexMatch avec
l'hébergementGameLift
est disponible avec l'hébergement FlexMatch géré pour les serveurs de jeux personnalisés et
GameLift.Serveurs en temps réel Pour ajouter la mise en relation FlexMatch à votre jeu, veuillez exécuter
les tâches suivantes.
• Définir un matchmaker. Un matchmaker reçoit les demandes de mise en relation des joueurs et les
traite. Il regroupe les joueurs en fonction d'un ensemble de règles définies et, pour chaque mise en
relation réussie, crée une nouvelle session de jeu et de joueur. Suivez ces étapes pour configurer un
matchmaker :
• Créer un ensemble de règles. Un ensemble de règles indique au matchmaker comment construire une
mise en relation valide. Il spécifie la structure de l'équipe, ainsi que la manière d'évaluer les joueurs
afin de les inclure dans une mise en relation. Consultez ces rubriques :
• Créer un ensemble de règlesFlexMatch (p. 15)
• Exemples d'ensembles de règlesFlexMatch (p. 27)
• Créer une file d'attente de session de jeu. Une file d'attente localise la région la mieux adaptée à
chaque mise en relation et crée une nouvelle session de jeu dans cette région. Vous pouvez utiliser
une file d'attente existante ou en créer une nouvelle pour la mise en relation. Consultez cette rubrique :
• Créer une file d'attente
• Configurer des notifications (facultatif). Les demandes de mise en relation étant asynchrones, vous
devez disposer d'un moyen pour suivre le statut des demandes. Les notifications représentent la
meilleure option. Consultez cette rubrique :
• Configuration d'une notification d'événementFlexMatch (p. 41)
• Configurer un matchmaker. Une fois que vous disposez d'un ensemble de règles, d'une file d'attente
et d'une cible pour les notifications, créez la configuration pour votre matchmaker. Consultez ces
rubriques :
• Concevoir un FlexMatch matchmaker (p. 10)
• Créer une configuration de mise en relation (p. 12)
Version
8Amazon GameLift Manuel du développeur FlexMatch
Intégration à l'hébergementGameLift
• Intégrez FlexMatch à votre service de client de jeu. Ajoutez des fonctionnalités au service du client de jeu
pour démarrer de nouvelles sessions de jeu avec la mise en relation. Les demandes de mise en relation
spécifient le matchmaker à utiliser et fournissent des données de joueur nécessaires pour la mise en
relation. Consultez cette rubrique :
• Ajouter FlexMatch à un client de jeu (p. 43)
• Intégrez FlexMatch à votre serveur de jeux. Ajoutez des fonctionnalités à votre serveur de jeux pour
démarrer des sessions créées par le biais de la mise en relation. Les demandes de ce type de session
de jeu incluent des informations spécifiques à la partie, y compris les joueurs et les affectations d’équipe.
Le serveur de jeux a besoin de pouvoir utiliser ces informations et y accéder lors de la construction d'une
session de jeu pour la mise en relation. Consultez cette rubrique :
• Ajouter FlexMatch à un serveur de jeux hébergé surGameLift (p. 48)
• Configurez le remplissage FlexMatch (facultatif). Demandez des mises en relation supplémentaires
de joueurs afin de remplir les emplacements ouverts dans les jeux existants. Vous pouvez activer le
remplissage automatique pour laisserGameLift gérer les demandes de remplissage. Vous pouvez
également gérer manuellement le remplissage en ajoutant des fonctionnalités à votre client ou serveur
de jeu afin de pouvoir initier des demandes de remplissage. Consultez cette rubrique :
• Renvoi de jeux existants avec FlexMatch (p. 50)
Note
Le remplissage FlexMatch n'est pas disponible actuellement pour les jeux qui utilisent Serveurs
en temps réel.
Version
9Amazon GameLift Manuel du développeur FlexMatch
Concevoir un matchmaker
Protection d'un
matchmakerGameLiftFlexMatch
Un matchmaker FlexMatch effectue la tache de créer une mise en relation pour un jeu. Il gère le pool des
demandes de mise en relation reçues, forme les équipes d'une mise en relation, traite et sélectionne les
joueurs pour trouver les meilleurs groupes de joueurs possibles et lance le processus de placement et de
démarrage d'une session de jeu pour la mise en relation. Cette rubrique décrit les principaux aspects d'un
matchmaker et explique comment configurer un matchmaker personnalisé pour votre jeu.
Pour une description détaillée de la façon dont un matchmaker FlexMatch traite les demandes de mise en
relation qu'il reçoit, consultez FlexMatch processus de mise en relation (p. 4).
Rubriques
• Concevoir un FlexMatch matchmaker (p. 10)
• Créer une configuration de mise en relation (p. 12)
• Créer un ensemble de règlesFlexMatch (p. 15)
• Configuration d'une notification d'événementFlexMatch (p. 41)
Concevoir un FlexMatch matchmaker
Cette rubrique fournit des conseils sur la façon de concevoir un matchmaker adapté à votre jeu.
Configuration d'un matchmaker de base
Au minimum, un matchmaker a besoin des éléments suivants :
• L'ensemble de règles détermine la taille et la portée des équipes pour une mise en relation et définit
un ensemble de règles à utiliser lors de l'évaluation des joueurs pour une mise en relation. Chaque
matchmaker est configuré pour utiliser un seul ensemble de règles. Consultez Créer un ensemble de
règlesFlexMatch (p. 15) et Exemples d'ensembles de règlesFlexMatch (p. 27).
• La cible de notification reçoit toutes les notifications d'événements de mise en relation. Vous devez
configurer une rubrique Amazon Simple Notification Service (SNS), puis ajouter l'ID de rubrique au
matchmaker. Pour plus d'informations sur la configuration des notifications, consultez Configuration d'une
notification d'événementFlexMatch (p. 41).
• Le délai d'expiration de la demande détermine combien de temps les demandes de mise en relation
peuvent rester dans le pool de demandes et être évaluées pour les rencontres potentielles. Une fois
qu'une demande a dépassé le délai, elle a échoué à créer une mise en relation et elle supprimée du
pool.
• Lorsque vous utilisez FlexMatch avec l'hébergement GameLift géré, la file d'attente de session de jeu
trouve les meilleures ressources disponibles pour héberger une session de jeu pour la mise en relation
et démarre une nouvelle session de jeu. Chaque file d'attente est configurée avec une liste des régions
AWS et des types de ressources (y compris les instances Spot ou à la demande) qui déterminent où
les sessions de jeu peuvent être placées. Pour plus d'informations sur les files d'attente , consultez
Utilisation des files d'attente sur plusieurs régions.
Choix d'une région AWS pour le matchmaker
Décidez où vous souhaitez que l'activité de mise en relation se déroule et créez votre matchmaker
(configuration de la mise en relation et ensemble de règles) dans cette région. Toutes les demandes
Version
10Amazon GameLift Manuel du développeur FlexMatch
Ajouter des éléments facultatifs
pour le matchmaker sont envoyées à un groupe de ticket où elles sont triées et évaluées pour des
correspondances viables. Une fois les rencontres effectuées, les joueurs peuvent ensuite être dirigés vers
des sessions de jeu à n'importe quel emplacement pris en charge par votre solution d'hébergement.
Lorsque vous choisissez AWS Regions (Régions AWS) pour vos matchmakers, tenez compte de la façon
dont l'emplacement peut affecter leurs performances et comment optimiser l'expérience de mise en relation
pour les joueurs ciblés. Nous vous recommandons les bonnes pratiques suivantes :
• Placez un matchmaker dans une région AWS proche de vos joueurs —et votre service client qui envoie
des demandes de mise en FlexMatch relation. Cette approche réduit l'effet de latence sur votre flux de
travail de demande de mise en relation et le rend plus efficace.
• Si votre jeu atteint un public mondial, envisagez de créer des matchmakers dans plusieurs régions
et d'acheminer les demandes de mise en relation vers le matchmaker le plus proche du joueur.
Outre l'amélioration de l'efficacité, cela entraîne la formation de groupes de tickets avec des joueurs
géographiquement proches les uns des autres, ce qui améliore la capacité du matchmaker à mettre en
relation des joueurs en fonction des exigences de latence.
• Lorsque vous utilisez FlexMatch avec l'hébergement GameLift géré, placez votre matchmaker et la file
d'attente de session de jeu qu'il utilise dans la même région AWS. Cela permet de réduire la latence des
communication entre le matchmaker et la file d'attente.
Les FlexMatch ressources MatchmakingConfiguration et MatchmakingRuleSet peuvent être placées
dans les régions AWS GameLiftprises en charge par les régions suivantes : USA Est (Virginie du Nord),
USA Ouest (Oregon), UE Centre (Francfort), UE Ouest (Irlande), Asie-Pacifique Sud-Est (Sydney), Asie-
Pacifique Nord (Séoul et Tokyo) et Chine (Beijing).
Ajouter des éléments facultatifs
En plus de ces exigences minimales, vous pouvez configurer votre matchmaker avec les options
supplémentaires suivantes. Si vous utilisez FlexMatch avec une solution GameLift d'hébergement, de
nombreuses fonctions sont intégrées. Si vous utilisez FlexMatch en tant que service de mise en relation
autonome, vous pouvez souhaiter intégrer ces fonctionnalités à votre système.
Acceptation des joueurs
Vous pouvez configurer un matchmaker pour exiger que tous les joueurs sélectionnés pour une mise en
relation acceptent la participation. Si votre système nécessite l'acceptation, tous les joueurs doivent avoir
la possibilité d'accepter ou de rejeter une mise en relation proposée. Une mise en relation doit recevoir les
acceptations de tous les joueurs avant d'être effective. Si un joueur refuse ou ne parvient pas à accepter
une mise en relation, la mise en relation proposée est ignorée et les tickets sont traités comme suit. Les
tickets dans lesquels tous les joueurs du ticket ont accepté la mise en relation sont renvoyés au pool de
mise en relation pour poursuivre le traitement. Les tickets pour lesquels au moins un joueur a rejeté la mise
en relation ou n'a pas répondu sont mis en état d'échec et ne sont plus traités. L'acceptation des joueurs
nécessite une limite de temps ; tous les joueurs doivent accepter une mise en relation proposée dans la
limite de temps pour que la mise en relation se poursuive.
Mode de remplissage
Utilisez FlexMatch le remplissage pour que vos sessions de jeu soient remplies avec de nouveaux joueurs
bien mis en relation tout au long de la durée de vie de la session de jeu. Lors du traitement des demandes
de remplissage, FlexMatch utilise le même matchmaker que celui utilisé pour mettre en relation les joueurs
d'origine. Vous pouvez personnaliser la façon dont les tickets de remplissage sont hiérarchisés avec les
tickets pour les nouvelles rencontres, en plaçant les tickets de remplissage à l'avant ou à la fin de la ligne.
Cela signifie qu'à mesure que de nouveaux joueurs entrent dans le pool de mise en relation, ils sont plus
ou moins susceptibles d'être placés dans un jeu existant que dans un jeu nouvellement formé.
Le remplissage manuel est disponible que votre jeu utilise FlexMatch avec GameLift l'hébergement géré
ou avec d'autres solutions d'hébergement. Le remplissage manuel vous offre la flexibilité dont vous avez
besoin pour déterminer quand déclencher une demande de remplissage. Par exemple, vous pouvez
Version
11Amazon GameLift Manuel du développeur FlexMatch
Créer une configuration de mise en relation
ajouter de nouveaux joueurs uniquement au cours de certaines phases de votre jeu ou uniquement lorsque
certaines conditions existent.
Le remplissage automatique est disponible uniquement pour les jeux qui utilisent GameLift l'hébergement
géré. Avec cette fonction activée, si une session de jeu commence avec des emplacements de joueur
ouverts, GameLift commence automatiquement à générer des demandes de remplissage pour celle-ci.
Cette fonction vous permet de configurer la mise en relation de sorte que les nouveaux jeux commencent
avec un nombre minimum de joueurs, puis rapidement remplis lorsque de nouveaux joueurs entrent dans
le pool de mise en relation. Vous pouvez désactiver le remplissage automatique à tout moment pendant la
durée de vie de la session de jeu.
Propriétés du jeu
Pour les jeux qui utilisent FlexMatch avec l'hébergement GameLift géré, vous pouvez fournir des
informations supplémentaires à transmettre à un serveur de jeux chaque fois qu'une nouvelle session
de jeu est demandée. Il peut s'agir d'un moyen utile de transmettre les configurations de mode de jeu
nécessaires pour démarrer une session de jeu pour le type de rencontres en cours de création. Toutes les
sessions de jeu pour les rencontres créées par un matchmaker reçoivent le même ensemble de propriétés
de jeu. Vous pouvez modifier les informations de propriété de jeu en créant différentes configurations de
mise en relation.
Emplacements de joueur réservés
Vous pouvez définir certains emplacements de joueur comme étant réservés et remplis ultérieurement.
Pour cela, vous devez configurer la propriété « additional player count » d'une configuration de mise en
relation.
Données d'événement personnalisées
Utilisez cette propriété pour inclure un ensemble d'informations personnalisées dans tous les événements
liés à l'activité de mise en relation et destinés au matchmaker. Cette fonction peut être utile pour le suivi
d'une activité spécifique à votre jeu, y compris le suivi des performances de vos matchmakers.
Créer une configuration de mise en relation
Pour configurer un matchmaker FlexMatch pour traiter les demandes de mise en relation, vous créez
une configuration de mise en relation. Utilisez la console GameLift ou l'AWS Command Line Interface
(AWS CLI). Pour plus d'informations sur la conception de votre matchmaker, consultez the section called
“Concevoir un matchmaker” (p. 10).
Création d'un matchmaker pour
l'hébergementGameLift
Avant de créer une configuration de mise en relation, vous devez créer votre ensemble de règles et une
GameLiftfile d'attente de sessions de jeu à utiliser avec le matchmaker.
Console
1. Ouvrez la console GameLift à l'adresse https://console.aws.amazon.com/gamelift/home.
2. Basculez vers la région où vous souhaitez placer votre matchmaker. Pour obtenir la liste des
régions qui prennent en charge les configurations de mise en relation Choix d'une région AWS
pour le matchmaker (p. 10), consultez FlexMatch.
3. Dans le menu principal, choisissez Create matchmaking configuration. Complétez les détails de la
configuration de mise en relation.
• Nom – Créez un nom de matchmaker pertinent afin de pouvoir l'identifier facilement dans une
liste et dans les métriques. Le nom d'un matchmaker doit être unique au sein d'une région. Les
Version
12Vous pouvez aussi lire