Session
Avant de poursuivre cette section, il est essentiel que vous ayez déjà consulté les déploiements. Voici les liens que vous devez avoir lus au préalable : Commencer et Déploiement.
Les sessions servent de couche au sein du déploiement et sont utilisées lorsque vous devez gérer des sockets ou l'espace disponible dans un déploiement. Nous verrons les détails plus tard, mais voici les cas d'utilisation typiques où les sessions complètent les déploiements :
Gérer l'entrée et la sortie (hop-in, hop-out) des joueurs ou des groupes de joueurs au sein d'un déploiement.
Créer plusieurs matches ou parties au sein d'un même déploiement.
Une session ne peut pas exister sans déploiement, car une session est toujours associée à un déploiement.
Comparaison des approches Déploiement et Session pour la gestion des serveurs de jeu
Si vous êtes dans cette section, c'est probablement parce que le flux habituel de déploiement ne correspond pas parfaitement à vos besoins. Rappelons rapidement le flux typique des déploiements.
Vous nous fournissez une liste d'adresses IP, et nous créons un déploiement avec votre application à l'emplacement optimal. Vos utilisateurs s'y connectent ensuite. Une fois la partie terminée, vous effectuez une autre requête API, et nous supprimerons le déploiement.
Dans le flux de déploiement standard, chaque partie nécessite un nouveau déploiement.
Flux de gestion des déploiements

Lorsque vous demandez la suppression d'un déploiement, nous supprimons votre instance de jeu, la rendant inaccessible à vos joueurs. Si vous avez besoin d'une nouvelle instance de votre application pour quatre autres joueurs, vous pouvez soumettre une nouvelle demande de déploiement.

Problème potentiel avec ce flux
Cependant, si vous développez un MMO ou un jeu en monde ouvert, vous pourriez avoir besoin de gérer l'entrée et la sortie des joueurs d'une instance de votre application. Dans ce cas, votre déploiement est plus susceptible de démarrer vide, par exemple lorsque vous ouvrez un nouveau serveur dans une nouvelle région.

Et le déploiement peut se remplir au fil du temps à mesure que les joueurs entrent et sortent de l'instance. Alternativement, vous pouvez également appliquer le concept d'entrée et de sortie des joueurs pour des matches entiers.

Les sessions sont une approche recommandée plutôt que les seuls déploiements lorsque vous avez besoin d'une instance de jeu plus persistante avec des joueurs qui entrent et sortent ou que vous devez gérer plusieurs jeux/matches par instance de serveur.
Les sessions sont conçues pour simplifier le processus de développement en offrant des fonctionnalités intégrées pour la gestion des joueurs, des matches et des instances de jeu. Cela dit, il est également possible de gérer un système de type « session » dans votre backend en utilisant des déploiements sans sessions si nécessaire. Les sessions sont spécifiquement conçues pour faciliter les cas d'utilisation décrits ci-dessus.
Dans la section suivante, nous approfondirons le concept de sessions.
Comment vous pouvez utiliser les sessions pour gérer vos joueurs
Maintenant que nous avons déterminé que les sessions peuvent être ce dont vous avez besoin, comprenons comment elles sont utilisées en conjonction avec les déploiements plus en détail. Nous utiliserons les mêmes diagrammes tout en ajoutant un principe à la fois.
Les sessions sont utilisées pour gérer l'ajout et la suppression de joueurs, de groupes de joueurs ou de matches sur un déploiement. Elles offrent un moyen d'ajouter ou de supprimer dynamiquement des joueurs ou des groupes de joueurs d'un déploiement en cours d'exécution, permettant une gestion des joueurs plus flexible et dynamique dans les jeux multijoueurs ou autres applications en temps réel.
Créer un déploiement vide pour héberger des sessions
Dans ce scénario, nous supposerons qu'il existe déjà un déploiement disponible pour héberger la session. Dans une autre section, nous expliquerons comment automatiser le processus de création d'un déploiement automatiquement lorsqu'il n'existe aucun déploiement pour héberger la session souhaitée.

Créer une requête de session
Lorsqu'un joueur souhaite rejoindre une instance de jeu, vous créez une requête de session vers Arbitrium, soit via votre matchmaker, soit directement depuis le client du jeu, selon l'implémentation de votre jeu.

Ajouter plusieurs joueurs à la fois
Les sessions permettent d'ajouter plusieurs joueurs à un même déploiement en incluant leurs adresses IP dans la même requête de session.
Les déploiements peuvent toujours être utilisés pour héberger plusieurs joueurs, mais contrairement aux sessions, vous devrez spécifier tous les joueurs au début de la requête. Les sessions, en revanche, permettent l'ajout et la suppression dynamiques de joueurs pendant l'exécution.

Supprimer des joueurs d'un déploiement
Si vous souhaitez retirer un joueur du déploiement, il vous suffit d'envoyer une requête pour supprimer la session correspondante à ce joueur.

Remplir le déploiement avec une nouvelle session
Et maintenant, un nouveau joueur peut prendre la place vacante en envoyant une nouvelle requête de session.

Maintenant que vous comprenez mieux une session, nous examinerons leur fonctionnement et quelques spécificités.
Vous pouvez gérer davantage les joueurs et les sessions en ajoutant ou en supprimant des joueurs d'une session spécifique. Voir la documentation API.
Mis à jour
Ce contenu vous a-t-il été utile ?

