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 intégration SDK matchmaking Unity dédié.

Nous couvrirons toutes les étapes pour configurer le matchmaking sans code d'Edgegap qui fonctionne à la fois avec Unity Engine et Unreal Engine. Le matchmaking d'Edgegap trouve des joueurs et lance des jeux instantanément, en toute simplicité. Le Matchmaker d'Edgegap est entièrement géré, infiniment personnalisable pour regrouper de manière optimale les joueurs à travers le monde.
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 ce n'est pas déjà fait, nous avons des didacticiels vidéo pour Unreal et Unity, ainsi que pour les principaux netcodes comme Mirror et Netcode for Game Objects d'Unity. Nous avons également des exemples pour vous aider à démarrer, ainsi qu'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 allons utiliser l'exemple simple.

Votre dernière version d'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 s'adresse principalement aux jeux ayant un trafic en direct.

Voilà, le matchmaker se lance sur notre plateforme.

Pendant que nous attendons que le processus se termine, 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 maximum.

Les options « Ticker expiration period » et « removal period » garantissent que les plantages inattendus de clients ou les clients qui ont abandonné le Matchmaking n'impactent pas la file d'attente de vos tickets.

Les « Profiles » désignent l'endroit où les règles de matchmaking de votre mode multijoueur sont définies. En d'autres termes, il s'agit de la logique permettant d'associer des joueurs ensemble.

Chaque fois qu'un joueur sélectionne le matchmaking dans le jeu, il crée un ticket qui le place dans 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 d'application définie sous la section « application ». 

La partie suivante concerne les règles (« rules »).

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 à remplir :

  • Premièrement, un nom de votre choix, comme « match size »,

  • Deuxièmement, un type de règle qui est également connu sous le nom d'opérateur, comme « player count »,

  • Troisièmement, les attributs de l'opérateur, comme « target ». Ici, nous voudrions 2 joueurs dans cette partie.

Chaque profil est une variable qui peut inclure différents attributs pour regrouper les joueurs, tels que le niveau de compétence, la localisation 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. Il s'agit d'une fonctionnalité unique du matchmaker d'Edgegap, qui sert à garantir le ping le plus bas possible pour tous les joueurs d'une partie.

Notre matchmaker est maintenant prêt ! Jetons-y un œil puis testons-le en émettant des tickets.

Partie 3 - Détails du Matchmaker (Configurations & Règles)

Une fois votre matchmaker initialisé, vous pouvez consulter les détails de l'instance.

Le « Status » indique l'état de santé du service.

L'« 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.

L'« API URL » est utilisée pour toutes les requêtes des clients de jeu visant à se déployer sur le serveur de jeu.

La « Swagger URL » est une interface web graphique pratique pour les spécifications de l'API ouverte où vous pouvez exporter, inspecter et tester le schéma de l'API.

 Le « Authentication Token » est requis pour toutes les requêtes effectuées par les clients et serveurs de jeu pour l'authentification.

À noter que vous pouvez régénérer le jeton d'authentification. Ce qui est particulièrement recommandé si vous suspectez une faille de sécurité.

Partie 4 - Test du Matchmaker

Maintenant, pour tester votre API, nous allons d'abord copier l'« Auth Token » puis naviguer vers l'URL Swagger en cliquant sur l'icône de partage « link out ».

Une fois la plateforme Swagger chargée, sélectionnez « Authorize » et collez l'« Auth Token » de tout à l'heure dans le champ de valeur. Cliquez ensuite sur « Authorize » et fermez le menu.

Afin de 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 ».

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éé plus tôt. Les règles d'optimisation de la latence ont reçu automatiquement des valeurs fictives.

Pour simuler un ticket de joueur demandant du Matchmaking, 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 » pour voir l'ID du ticket. Veillez à copier cette chaîne pour examiner le ticket dans quelques secondes.

De plus, vous pouvez noter que l'affectation est « null » car le ticket vient d'être émis et qu'il manque un deuxième joueur conformément aux règles que nous avons définies avant de déployer un serveur de jeu.

Par conséquent, nous allons remonter vers le haut pour créer un deuxième ticket en cliquant sur « execute ». Cela simule un second joueur à regrouper avec le premier pour le matchmaker.

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é mis en correspondance.

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é attribué, 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 étiquetés avec les ID de ticket. Nous pouvons facilement voir la même URL et le mappage des ports. Nous pouvons également constater 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 désormais 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.

N'oubliez pas de vous abonner à notre chaîne car nous y ajouterons de nouvelles vidéos de didacticiels.

Vous pouvez également rejoindre notre communauté sur Discord pour demander à notre équipe de développement et à d'autres studios comment optimiser au mieux votre matchmaker.

Intégrer Edgegap facilement en quelques minutes

Commencez l'intégration maintenant!

Mettez votre jeu en ligne facilement
& en quelques minutes