
Comment ajouter un Matchmaking automatique et sans code à n'importe quel jeu multijoueur Unreal ou Unity
Avis de non-responsabilité : nous avons mis à jour notre intégration Unity avec un SDK gratuit et facile. Assurez-vous de suivre plutôt notre SDK de matchmaking Unity dédié.
Nous allons couvrir toutes les étapes pour configurer le matchmaking sans code d'Edgegap qui fonctionne à la fois avec Unity Engine et Unreal Ungine. Le matchmaking d'Edgegap associe les joueurs et lance les jeux instantanément, en toute simplicité. Le Matchmaker d'Edgegap est entièrement géré, personnalisable à l'infini pour regrouper de manière optimale les joueurs du monde entier.
Commençons !
Partie 1 - Configuration
Tout d'abord, créez un compte gratuit sur la plateforme d'Edgegap et créez une application serveur pour votre jeu.
Si vous ne l'avez pas encore fait, nous proposons des tutoriels vidéo pour Unreal et Unity, ainsi que pour les principaux netcodes comme Mirror et Netcode for Game Objects de Unity. Nous disposons également d'exemples pour vous aider à démarrer, ainsi que d'une documentation détaillée.
Une fois la version de l'application téléchargée sur la plateforme, rendez-vous sur la page « Matchmaker ».
Partie 2 - Créer un Matchmaker
Cliquez sur « Create a Matchmaker » et saisissez un nom.
Sélectionnez l'exemple qui correspond à votre type de jeu, comme « Competitive » pour un jeu de tir à la première personne. Pour la vidéo d'aujourd'hui, nous utiliserons l'exemple simple.
La dernière version de votre application, avec ses détails, est déjà préremplie.
Ensuite, cliquez sur « Create & Start », ce qui pousse le matchmaker vers notre cluster gratuit et le rend accessible. Ignorez l'avertissement de mise en cache, car il concerne principalement les jeux avec du trafic en direct.
Voilà, le matchmaker démarre sur notre plateforme.
En attendant la fin du processus, explorons la configuration.
Chaque nouvelle version utilise le versionnage sémantique. Comme certains déploiements peuvent entraîner des erreurs, la configuration « max deployment retry count » résout ce problème en réessayant votre déploiement jusqu'à ce nombre maximal.
Les options « Ticker expiration period » et « removal period » garantissent que les plantages inattendus de clients ou les clients ayant abandonné le matchmaking n'impactent pas la file d'attente de vos tickets.
La section « Profiles » est l'endroit où les règles de matchmaking de votre jeu multijoueur sont définies. En d'autres termes, il s'agit de la logique permettant d'associer les joueurs entre eux.
Chaque fois qu'un joueur sélectionne le matchmaking dans le jeu, il crée un ticket qui l'assigne à l'une de ces files d'attente avec ces règles spécifiques.
Si deux tickets ou plus correspondent, ou en d'autres termes si deux joueurs ou plus se trouvent dans la même file d'attente, le matchmaker les libère et ils sont autorisés à jouer ensemble. Ils sont déployés vers la version de l'application définie dans la section « application ».
La partie suivante concerne les « rules » (règles).
Par exemple, vous pouvez autoriser les joueurs à sélectionner des cartes spécifiques et si vous avez assez de joueurs, le matchmaker envoie une requête pour déployer un serveur de jeu, ce qui permet aux joueurs de se rejoindre et de jouer ensemble.
Chaque règle comporte trois champs à renseigner :
Premièrement, un nom de votre choix, tel que « match size »,
Deuxièmement, un type de règle qui est également connu sous le nom d'opérateur, tel que « player count »,
Troisièmement, les attributs de l'opérateur, tels que « target ». Ici, nous voudrions 2 joueurs dans ce match.
Chaque profil est une variable qui peut inclure différents attributs pour regrouper les joueurs, tels que les niveaux de compétence, l'emplacement ou le mode de jeu. Cela signifie que chaque profil génère une file d'attente entièrement distincte au sein de votre jeu.
Dans cet exemple, nous utilisons également une règle basée sur la latence. C'est une fonctionnalité unique du matchmaker d'Edgegap, qui sert à garantir le ping le plus bas possible pour tous les joueurs d'un match.
Notre matchmaker est maintenant prêt ! Jetons-y un coup d'œil, puis testons-le en émettant des tickets.
Partie 3 - Détails du Matchmaker (Configurations et Règles)
Une fois votre matchmaker initialisé, vous pouvez examiner les détails de l'instance.
« Status » indique l'état de santé du service.
« Identifier » met en évidence l'identifiant unique de votre matchmaker, ce qui aide Edgegap à résoudre rapidement les problèmes si vous avez besoin d'assistance.
« API URL » est utilisé pour toutes les requêtes des clients de jeu à déployer sur le serveur de jeu.
« Swagger URL » est une interface web graphique pratique pour les spécifications d'API ouvertes où vous pouvez exporter, inspecter et tester le schéma d'API.
« Authentication Token » est requis pour toutes les requêtes d'authentification effectuées par les clients et les serveurs de jeu.
À noter que vous pouvez régénérer le jeton d'authentification (auth token). Ce qui est particulièrement recommandé si vous soupçonnez une faille de sécurité.
Partie 4 - Test du Matchmaker
Maintenant, pour tester votre API, nous allons d'abord copier le « Auth Token » puis naviguer vers l'URL swagger en cliquant sur l'icône de lien externe « link out ».
Une fois la plateforme Swagger chargée, sélectionnez « Authorize » et collez le « Auth Token » dans le champ de valeur copié précédemment. Cliquez ensuite sur « Authorize » et fermez le menu.
Pour confirmer que cela a fonctionné, faites défiler vers le bas jusqu'à la section API « Ticket » et sélectionnez le champ « Create a Matchmaking Ticket ». Cliquez sur « Try it out ».
Tout d'abord, examinez l'exemple. Notez qu'ici « Player IP » est défini sur null, ce qui signifie qu'il utilisera l'adresse IP de votre machine. Notez également que le profil utilisé est le « simple example » créé précédemment. Des valeurs fictives ont été attribuées automatiquement aux règles d'optimisation de la latence.
Pour simuler la demande de matchmaking d'un ticket de joueur, cliquez sur « execute ». Cela crée un ticket, ce qui nous permet d'évaluer la réponse.
Faites défiler vers le bas jusqu'au « Response Body » qui nous permet de voir l'ID du ticket. Veillez à copier cette chaîne pour examiner le ticket dans quelques secondes.
De plus, vous pouvez noter que l'assignation est « null » car le ticket vient d'être émis, et il manque un second joueur selon les règles que nous avons définies avant de déployer un serveur de jeu.
Par conséquent, nous allons remonter pour créer un second ticket en cliquant sur « execute ». Cela simule un second joueur que le matchmaker pourra regrouper avec le premier.
Une fois l'opération terminée, nous allons remonter tout en haut et récupérer le ticket pour examiner notre test. Collez l'ID du ticket d'origine et sélectionnez « execute ».
En revenant au corps de la réponse (response body), nous constatons que le statut est désormais devenu « Match Found », ce qui signifie que les deux tickets ont été associés.
Après rafraîchissement, le statut passera à « Host Assigned », ce qui signifie que le serveur a été déployé automatiquement.
Sous « assignment », nous voyons qu'un hôte a été assigné, il liste également une URL disponible et met en évidence l'IP publique du serveur, ainsi que les ports externes et internes utilisés pour les clients de jeu.
En revenant sur la plateforme Edgegap, nous pouvons voir que les détails du déploiement sont marqués avec les ID de ticket. Nous pouvons facilement voir la même URL et le mappage des ports. Nous pouvons également voir que le serveur est prêt grâce à l'icône de coche verte.
Ouvrez le serveur dans le navigateur et vous verrez que vous avez connecté les joueurs. Félicitations, votre matchmaker est maintenant fonctionnel.
Prochaines étapes du Matchmaker
L'exemple simple peut suffire à vos besoins.
Pour les jeux proposant plusieurs modes de jeu ou pour les développeurs de jeux qui souhaitent explorer l'extension des règles afin d'optimiser leur matchmaker pour des temps d'attente plus courts, nous vous recommandons d'explorer notre documentation.
Assurez-vous de vous abonner à notre chaîne car nous ajouterons de nouvelles vidéos de tutoriels.
Vous pouvez également rejoindre notre communauté sur Discord pour demander à notre équipe de développement et à d'autres studios des conseils sur la meilleure façon d'optimiser votre matchmaker.







