Comment ils fonctionnent
Il y a trois aspects clés à saisir concernant les sessions : comment la capacité d'un déploiement est gérée, comment créer et gérer des déploiements pour héberger des sessions, et comment sélectionner le déploiement le plus adapté pour chaque requête de session.
Gestion de la capacité : comprendre les sessions dans le déploiement
La gestion de la capacité d'un déploiement dépend d'une décision centrale basée sur vos besoins spécifiques. Nous gérons les sockets de notre côté, en les remplissant jusqu'à une certaine limite. Vous devez simplement indiquer comment vous souhaitez que ces sockets soient remplis.
Nous proposons deux options : type-siège session ou type-match session. Nous vous aiderons à comprendre les différences entre ces types de session et à choisir celui qui convient le mieux à vos besoins de gestion de la capacité du déploiement.
Session de type siège
Avec type-siège session, chaque joueur de vos sessions dans votre déploiement occupe un espace de socket. Par exemple, si votre déploiement a dix sockets, un joueur solo et un groupe de quatre joueurs occuperaient cinq sockets sur les dix. Si vous supprimez la session du groupe, le nombre de sockets utilisés serait maintenant d'un.
Session de type match
Avec type-match session, chaque session de votre déploiement occupe un espace de socket indépendamment du nombre de joueurs présents dans la session. Par exemple, si votre déploiement dispose de cinq sockets, vous pourriez avoir trois parties de dix joueurs et cela compterait comme trois sockets sur les cinq, même si vous avez 30 joueurs connectés. Si vous supprimez les sessions de dix joueurs, le nombre de sockets utilisés serait maintenant de deux.
Ce type peut être très utile si vous avez un serveur de jeu avec des exigences élevées en ressources. Par exemple, vous pouvez avoir besoin de 2 vCPU et 4 Go de RAM pour charger plusieurs ressources, mais une fois chargées, votre serveur peut gérer plusieurs parties sur la même instance. Cette approche peut vous faire économiser beaucoup d'argent à long terme car vous n'avez pas besoin d'exiger 2 vCPU et 4 Go de RAM pour chaque partie. À la place, vous pouvez répartir le coût sur plusieurs sessions de match sur le même déploiement.
Dans les deux cas, lorsque vous créez une requête de session, nous veillerons à choisir le meilleur déploiement pour héberger votre session qui dispose d'assez de sockets disponibles, en fonction du type de session que vous avez choisi (soit "type-siège", soit "type-match").
Création et gestion des déploiements pour les sessions
À la page précédente, nous avons mentionné l'option d'automatiser le processus de création de déploiements pour héberger vos sessions. Il existe deux façons de créer des déploiements pour vos sessions.
Système d'arrière-plan personnalisé: Vous pouvez créer un système dans votre backend qui crée des déploiements au besoin pour vos sessions. Cette approche peut être plus adaptée si vous avez des exigences spécifiques ou si vous avez besoin de plus de contrôle sur le processus de déploiement.
Option d'autodéploiement: Alternativement, vous pouvez activer l'
autodeployoption dans votre version de l'application. Cela automatisera le processus de création de déploiements pour vos sessions, le rendant plus pratique et fluide. Chaque fois que vous demandez une session, s'il n'y a pas de déploiement disponible, le système lancera automatiquement un nouveau en quelques secondes, puis y liera votre session. Cela garantit que vos sessions sont hébergées en temps voulu, même s'il n'y a pas de déploiements existants disponibles au moment de votre demande.
Cette option est incroyablement puissante car elle vous permet de déployer rapidement des serveurs de jeu dans les emplacements où vos joueurs en ont besoin. Lorsqu'elle est activée, elle répartit la charge sur plusieurs emplacements et l'équilibre au fil du temps, regroupant les joueurs sur les serveurs les plus populaires et fermant automatiquement les moins populaires (voir section suivante).
En gérant automatiquement l'infrastructure, vous pouvez économiser beaucoup d'argent à long terme sans aucune intervention de votre part. C'est une infrastructure de serveurs de jeu entièrement automatisée qui peut vous aider à optimiser l'utilisation et réduire les coûts.
Lors de l'utilisation de l' autodeploy option, s'il n'y a pas de déploiements disponibles et que plusieurs sessions sont demandées simultanément, le système créera un nouveau déploiement pour chaque session.
Cela se produit car toutes les sessions vérifient la disponibilité des déploiements, et à ce moment-là, la réponse est négative pour toutes en raison du court laps de temps. Par conséquent, l' autodeploy option initie plusieurs déploiements.
Il existe une troisième façon de gérer les déploiements pour vos sessions, qui se fait via le Flotte. Cependant, afin de garder cette documentation concise, nous n'aborderons pas ce sujet ici. Vous pouvez vous référer à la section dédiée sur Flotte pour toutes les informations nécessaires sur ce sujet.
Choisir le meilleur déploiement pour les requêtes de session
Il existe deux méthodes principales pour déterminer quel déploiement hébergera votre session.
Affectation manuelle: Dans cette approche, votre backend connaîtra les déploiements disponibles et choisira un déploiement spécifique pour héberger votre session. Cela vous donne un contrôle total sur le processus de sélection du déploiement.
Cela peut être particulièrement utile si vous avez un système de hall où les joueurs peuvent choisir le serveur qu'ils souhaitent rejoindre. Le système de sockets (capacité) peut être utilisé pour afficher combien d'espace est disponible dans chaque serveur.
Système de décision breveté Edgegap: Alternativement, vous pouvez laisser le système de décision Edgegap choisir le meilleur déploiement en fonction de la télémétrie de vos joueurs. Ce système utilise des algorithmes avancés et l'analyse de données pour déterminer dynamiquement le déploiement optimal pour héberger votre session.
Les deux approches sont valides et peuvent être choisies en fonction de vos besoins et exigences spécifiques.
Si vous choisissez l'option 2, nous privilégions le regroupement des joueurs dans une certaine plage géographique par rapport à la télémétrie lors du choix d'un déploiement potentiel pour vos sessions car il est généralement plus agréable de jouer à des jeux multijoueurs avec d'autres plutôt que seul. Ceci est particulièrement pertinent dans le cas des jeux MMO, où plusieurs serveurs avec peu de joueurs peuvent être indésirables, et c'est une perspective en laquelle nous croyons.
Si aucun déploiement approprié n'est trouvé dans la zone, nous effectuerons une requête complète de télémétrie pour choisir le meilleur emplacement pour créer un déploiement et héberger votre session. Il est recommandé d'activer l' autodeploy option pour éviter l'échec de la session en raison de l'absence de déploiements disponibles.
Exemple d'utilisation réel
Utilisons un exemple pour expliquer cela. Imaginez qu'il y ait trois déploiements sans sessions, situés à New York, Washington et Chicago. Nous avons également un déploiement avec des sessions actives (serveur avec le cercle vert), ce qui signifie qu'il y a des joueurs disponibles pour jouer. Maintenant, supposons que deux joueurs veulent démarrer une nouvelle session.
À première vue, il pourrait sembler logique d'héberger la session dans le déploiement de New York puisqu'il est le plus proche de l'un des joueurs. Cependant, nous privilégions le regroupement des joueurs pour éviter de créer des serveurs presque vides. Ainsi, s'il existe un autre déploiement, comme Washington, qui est géographiquement bien positionné pour les deux joueurs, nous hébergerons la session là-bas à la place.

Il existe plusieurs façons d'affiner la sélection des déploiements. Une méthode simple et couramment utilisée est de spécifier au moins le continent dans votre requête de session. De plus, dans une autre section, nous couvrirons la puissance des Sélecteurs, où vous pouvez filtrer les déploiements à l'aide d'un système de balises.
Mis à jour
Ce contenu vous a-t-il été utile ?

