Migrez facilement du Matchmaking de Unity vers le système de Matchmaking d'Edgegap

Migrez facilement du Matchmaking de Unity vers le système de Matchmaking d'Edgegap
Migrez facilement du Matchmaking de Unity vers le système de Matchmaking d'Edgegap
Migrez facilement du Matchmaking de Unity vers le système de Matchmaking d'Edgegap

Principales informations

Principales informations

Principales informations

Annoncé le 4 décembre 2025, Unity cessera de supporter leur plateforme d'hébergement de serveurs de jeux, Multiplay le 31 mars 2026.

Cela signifie que vous ne pourrez pas déployer de serveurs de jeux en utilisant le matchmaker d'Unity, car c'est la seule plateforme d'hébergement prise en charge par le système de Matchmaking d'Unity.

Heureusement, le Matchmaking d'Edgegap peut être intégré facilement. Le Matchmaking d’Edgegap pour serveurs dédiés permet à n'importe quel jeu multijoueur de regrouper automatiquement les joueurs et de déployer instantanément des serveurs de jeux.

Notre SDK Unity rend l'intégration un jeu d'enfant, et la logique de Matchmaking est simplifiée grâce à nos configurations simples sans code basées sur des paramètres - il vous suffit de télécharger votre JSON et c'est terminé !

Si nécessaire, personnalisez la logique de votre matchmaker pour répondre aux besoins uniques de votre jeu en utilisant nos configurations d'exemples et extensions de règles pour tous types de jeux. Une fois en ligne, notre plateforme entièrement gérée simplifie votre charge de travail DevOps et élimine le besoin de service d'astreinte, de maintenance, de mise à l'échelle et d'hébergement. Soutenu par le support live 24/7 de l'équipe d'experts d'Edgegap.

De plus :

  • Matchmaking par équipe basé sur les règles: Rejoignez en groupe ou remplissez plusieurs équipes avec des joueurs selon n'importe quelle organisation d'équipe (par exemple, 1v1, 1v3, 8v8, 16v16, etc.).

  • Pas de code avec des paramètres personnalisables: Regroupez les joueurs selon des règles uniques adaptées à votre jeu à travers les joueurs, la latence, l'égalité de chaîne, l'intersection et la différence de nombre. Ce qui vous permet de faire correspondre les joueurs selon n'importe quel ensemble de règles unique - du classement basé sur les compétences (SBMM), ELO, latence, région / géo basée, paramètres de taille de groupe et bien plus encore.

  • Matchmaking basé sur la latence: Le matchmaker d’Edgegap est le seul (à notre connaissance) système de Matchmaking avec des règles basées sur la latence qui garantissent une expérience en ligne sans lag pour tous les joueurs.

  • N'importe quel genre de jeu: Notre solution de Matchmaking vous propose à la fois un modèle de configuration simple pour vous aider à démarrer et à faire correspondre rapidement les joueurs, ainsi que des exemples spécifiques au genre pour adapter les règles de matchmaking aux besoins uniques de votre jeu - compétitif (par exemple, tireurs, MOBA, combat, battle royale, stratégie, sports, cartes à collectionner, etc.), coopératif (par exemple, COOP, PvE, fête, etc.), social (par exemple, casual, hypercasual, etc.), et les jeux nécessitant des lobbies (bac à sable, MMOs, course, survie, roguelike, métaverse, etc.).

  • Remplissage automatisé: Pour les jeux avec des lobbies, réutilisez les places de serveur lorsque les joueurs quittent les sessions avec un remplissage automatisé.

  • Compatible multiplateforme: Le matchmaker d'Edgegap est compatible multiplateforme, faisant correspondre les joueurs indépendamment de leur matériel - mobile, web, console, PC, VR, etc.

  • Entièrement géré: Hébergé et géré par Edgegap, il simplifie votre charge de travail DevOps et supprime le besoin de service d'astreinte, de maintenance, de mise à l'échelle et d'hébergement.

  • Allez au-delà d'un navigateur de serveurs: Permettez à vos joueurs de parcourir les serveurs actifs et de rejoindre des jeux en déplacement.



Assurez-vous de consulter notre documentation mise à jour ici. Voici un extrait de cette documentation :

Démarrez rapidement avec le Matchmaking et explorez des scénarios d'exemple pour divers genres.

Le Matchmaking dans les jeux basés sur des matchs vise généralement à :

  • trouver d'autres joueurs selon des critères comme la région, la latence, les compétences ou les paramètres de jeu ;

  • rechercher des serveurs à rejoindre selon leur capacité disponible [ou le ping, la région, les compétences, la carte, le mode] ;

  • démarrer un nouveau serveur si les serveurs existants sont pleins ou ne satisfont pas les critères des joueurs.

L'expérience du joueur est primordiale, définissant nos objectifs principaux :

  • un taux de remplissage de match élevé et une intégration des fonctionnalités sociales (jouer avec des amis en groupes),

  • des matchs rapides avec une qualité de match contrôlée (faible latence, préférences partagées),

  • un processus de Matchmaking fiable et prévisible avec une disponibilité globale.

Suivez cette vidéo pour commencer avec notre service de Matchmaking :

Comment intégrer le matchmaking à votre jeu multijoueur sous Unity Engine

-> Cet article est basé sur la documentation Matchmaking. Si vous rencontrez des problèmes ou incohérences, assurez-vous de vous référer au guide original, car ils sont plus fréquemment mis à jour.

L'exemple suivant vous aidera à tester le flux principal de matchmaking des joueurs pour un jeu multijoueur sous Unity Engine, à savoir :

Il y a cinq étapes pour intégrer notre matchmaker à votre jeu :

  1. La première étape consiste à créer un compte et utiliser notre exemple de jeu simple. Voilà, vous êtes (techniquement) à mi-chemin ! Il vous suffirait d'intégrer le matchmaker dans votre jeu (voir étape 5).

  2. Ensuite, vous ne devriez jamais suivre aveuglément un exemple JSON trouvé sur Internet, et il est donc fortement recommandé d'adapter les règles ci-dessus à votre jeu au tour par tour. L'étape 2 (« Explorer la configuration ») est notre « comment lire » qui entre dans la fonction de chaque règles de matchmaking (« Explorer la configuration »).

  3. L'étape 3 (« Examiner les détails de l'instance ») couvre votre matchmaker personnel et spécifique afin de s'assurer qu'il est déployé et fonctionne avec la conception de votre jeu.

  4. L'étape 4, comme son nom l'indique (« 4. Tester l'API des tickets »), est entièrement consacrée à tester vos demandes de matchmaking des joueurs sont reçues par le matchmaker, appelées tickets.

  5. L'étape 5 (« Intégrer le Matchmaking dans votre Jeu ») met en évidence comment intégrer le matchmaker dans le projet de votre moteur.

Si vous avez des problèmes de dépannage, notre centre d'apprentissage approfondi propose des conseils supplémentaires de dépannage.

Tutoriel Unreal - Ajouter le Matchmaking d'Edgegap

Si cela vous semble intimidant, nous vous avons couvert - regardez la vidéo d'intégration étape par étape :

1. Configurer le forfait gratuit

Inscrivez-vous pour votre compte Edgegap gratuit, et accédez à la page du tableau de bord Matchmaker.

De là, cliquez d'abord sur Créer un Matchmaker puis entrez :

  • Un nom pour votre matchmaker - qui est uniquement pour votre référence, par exemple quickstart-dev,

  • Ensuite, téléchargez l'exemple simple suivant en tant que configuration JSON ci-dessous pour votre jeu sous Unity Engine :

{
  "version": "2.1.0",
  "inspect": true,
  "max_deployment_retry_count": 3,
  "ticket_expiration_period": "5m",
  "ticket_removal_period": "1m",
  "profiles": {
    "simple-example": {
      "application": {
        "name": "my-game-server",
        "version": "2024.01.30-16.23.00-UTC"
      },
      "rules": {
        "initial": {
          "match_size": {
            "type": "player_count",
            "attributes": {
              "team_count": 1,
              "team_size": 2
            }
          },
          "beacons": {
            "type": "latencies",
            "attributes": {
              "difference": 50,
              "max_latency": 200
            }
          }
        },
        "expansions": {}
      }
    }
  }
}

(rappel amical de veiller à changer le nom de l’application et version pour correspondre à vos Application et Versions!)

Si aucune erreur de validation n'apparaît, cliquez sur Créer et Démarrer et attendez que le processus soit terminé. Cela entraînera le démarrage d'un nouveau cluster gratuit, avec votre matchmaker Simple Exemple.

Vous pouvez maintenant passer à l'étape suivante.

2. Explorer la Configuration

Versionnement sémantique

Au fur et à mesure que nous publions des mises à jour pour Matchmaker, chaque nouvelle version utilise le versionnement sémantique pour communiquer clairement l'impact des changements en interprétant le format Majeur.mineur.correction :

  • les versions majeures incluent des changements cassants et nécessitent une révision d'intégration,

  • les versions mineures incluent des améliorations substantielles rétrocompatibles,

  • les versions corrections incluent des corrections de bugs et des améliorations mineures.

Certaines déploiements peuvent entraîner des erreurs. Nous essayons de résoudre cela en réessayant le déploiement jusqu'à max_deployment_retry_count fois automatiquement (sans confirmation client).

Pour garantir que les plantages clients inattendus ou les tickets abandonnés ne persistent pas et n'occupent pas vos ressources de matchmaker, les tickets seront annulés après ticket_expiration_period entraînant le changement de leur statut en ANNULÉ puis supprimés définitivement après ticket_removal_period.

Le cœur de notre logique de matchmaking est configuré dans les Profils Matchmaking. Chaque profil est une file d'attente de matchmaking complètement isolée, pointant vers les Versions d'Applications avec une quantité prédéfinie de ressources CPU et mémoire (RAM) requises.

Les Règles de Matchmaking dans l'ensemble de règles initial doivent être respectées pour que les joueurs soient regroupés, chacune définie par trois propriétés :

  • nom de votre choix, par exemple - taille du match,

  • type de règle, aussi appelé opérateur, par exemple - nombre_de_joueurs,

  • et enfin, des attributs d'opérateur, par exemple nombre_d'équipes ou taille_d'équipe.

Règle de Nombre de Joueurs

C'est une règle spéciale définissant combien de joueurs doivent correspondre pour commencer l'assignation :

  • nombre_d'équipes se réfère au nombre d'équipes, 1 équipe peut être utilisée pour les modes coopératifs ou chacun pour soi,

  • taille_d'équipe fait référence au nombre de joueurs par équipe.

Notre exemple simple démontre un jeu coopératif avec 2 joueurs.

Veuillez noter que la règle "Nombre de Joueurs" est requise et ne peut être définie qu'une fois dans vos règles de configuration initiales.

Règle de Latences

Utilisez cette règle pour offrir le ping le plus bas possible à tous les joueurs. Une fois que les clients mesurent et soumettent leur temps de trajet aller-retour (ping) contre toutes les balises disponibles, Gen2 ne considérera que les matchs dans un différence spécifique de valeurs de ping, mesurées contre les Balises de Ping. Cela présente une solution “douce” pour diviser votre base de joueurs, permettant de faire correspondre avec des régions voisines, surtout en améliorant la vitesse des matchs pour les régions moins peuplées. Utilisez latence_max pour empêcher la correspondance avec des joueurs situés loin.

Vous pouvez maintenant passer à l'étape suivante.

Notre exemple de règle balises ci-dessus avec "différence": 50, "latence_max": 200 initialement :

  • Alice et Bob correspondraient, puisque Pékin est écarté (>200) et que le reste est dans | A-B | < 50 :

    • Alice {Montréal : 12,3, Newark : 45,6, Dallas : 59,9, Pékin : 264,4} ; et

    • Bob {Montréal : 27,3, Newark : 32,4, Dallas : 23,1, Pékin : 252,2}.

  • Charlie et Dave ne correspondraient pas, car | C-D | > 50 pour la Balise Dallas :

    • Alice {Montréal : 5,7, Newark : 44,2, Dallas : 59,5, Pékin : 263,2} ; et

    • Bob {Montréal : 57,8, Newark : 32,0, Dallas : 24,2, Pékin : 272,3}.

Veuillez noter que "Règles de Latences" ne peuvent être définies qu'une fois dans vos règles de configuration initiales.

3. Examiner les Détails de l'Instance

Examinez les détails de votre nouveau matchmaker sur notre tableau de bord une fois initialisé :

Statut indique la santé du service, peut être EN LIGNE, HORS LIGNE, ou ERREUR.

  • Identifiant aide le personnel d'Edgegap à trouver votre matchmaker rapidement si vous avez besoin d'aide pour le dépannage.

  • Démarré à peut être utile pour localiser l'heure de la dernière mise à jour.

  • Taille correspond à l'un de nos paliers de prix.

  • URL de l'API sera utilisée par les Clients de Jeu et les Serveurs de Jeu pour communiquer avec Gen2.

  • URL Swagger est une interface graphique openAPI que nous fournissons pour explorer le schéma API.

  • Jeton d'authentification est un jeton secret unique utilisé par les Clients de Jeu et le Serveur de Jeu pour l'authentification.

Pour tester votre nouveau matchmaker en utilisant l'API, vous aurez besoin de l'URL Swagger, de l'URL API et du Jeton d'authentification.

Vous pouvez maintenant passer à l'étape suivante.

4. Tester l'API des Tickets

Tout d'abord, ouvrez votre URL Swagger pour inspecter votre schéma openAPI dans l'interface swagger

Cliquez sur l'URL /...swagger.json sous le titre “Matchmaker” pour ouvrir le schéma JSON brut :

Enregistrez cette page en tant que fichier sur votre disque (CTRL/CMD+S).

Ouvrez votre application Postman et connectez-vous à votre compte gratuit.

Importez votre fichier swagger.json de l'étape précédente :

  • gardez Collection Postman sélectionnée,

  • sélectionnez Afficher les paramètres d'importation et changez le paramètre Génération de paramètres en Exemple.

Confirmez l'importation, cela résultera en une nouvelle collection apparaissant dans la liste des collections sur la gauche, intitulée Matchmaker.

Voir plus d'actions, ouvrez l'onglet Autorisation et choisissez :

  • Type d'authentification - Clé API,

  • Clé - “Autorisation

  • Valeur - insérez votre valeur AuthToken ici,

  • Ajouter à - En-tête.

Appuyez sur (CTRL/CMD+S) ou l'icône d'enregistrement pour enregistrer les modifications. Le point orange dans votre onglet Postman devrait disparaître.

Dans votre collection Matchmaker, sélectionnez tickets et Créez un ticket de matchmaking, en ouvrant un nouvel onglet.

Sélectionnez l'onglet Corps pour prévisualiser votre requête de ticket joueur :

notez que player_ip est défini sur null- cela utilisera automatiquement l'adresse IP ajoutée à votre requête (voir Intégration Serveur à Serveur pour des alternatives),

  • profile fait référence à vos Profils de Matchmaking,

  • attributes incluent les valeurs pour vos règles de matchmaker, dans ce cas pour la règle latencies,

    • la règle nombre_de_joueurs est la seule règle ne nécessitant aucun attribut dans les tickets des joueurs.

REMARQUE: Assurez-vous de vous référer à la configuration de l'importation de Swagger de l'échantillon

Cliquez sur Envoyer et examinez la réponse à votre requête de ticket joueur :

  • id est l'ID de ticket unique de matchmaking, gardez-le enregistré pour vérifier votre ticket ultérieurement,

  • profil confirmant le choix des Profils de Matchmaking,

  • group_id est un ID de groupe unique attribué à chaque billet, un joueur solo est représenté en tant que groupe de 1,

  • player_ip est l'adresse IP publique résolue du joueur, quelle que soit la méthode d'identification utilisée,

  • assignment est défini sur null pour indiquer que le ticket n'a pas encore été assorti ou attribué à un serveur,

  • created_at fournit des informations sur le moment où le ticket joueur a été créé pour l'utilisation de l'interface de jeu,

  • status indique le statut actuel du ticket, tous les tickets commencent en RECHERCHE (voir Processus de Matchmaking pour plus de détails).

Créez un deuxième ticket en cliquant à nouveau sur Envoyer, afin que nos deux joueurs correspondent et qu'un serveur soit démarré.

Dans votre collection Matchmaker, sélectionnez {ticketId} et Lire un ticket de matchmaking.

Saisissez l'ID de ticket de la réponse de l'étape précédente et cliquez sur Envoyer.

Examinez l'assignation mise à jour pour votre ticket joueur :

  • le statut est passé à CONTRASTATION d'abord, en gardant assignment défini sur null pour indiquer que les joueurs ont correspondus et qu'un serveur est en cours d'assignation,

Cliquez sur Envoyer à nouveau pour vérifier votre ticket, et examinez l'assignation mise à jour pour votre ticket joueur :

  • le statut est passé à HÔTE_ATTRIBUÉ avec assignment contenant les détails du serveur attribué.

 Inspectez votre nouveau déploiement sur notre tableau de bord :

  • remarquez que chaque déploiement est étiqueté avec tous les IDs de tickets et le profil pour plus de traçabilité.

Essayez de vous connecter depuis votre client de jeu au serveur attribué.

Une fois que vous avez vérifié que vous pouvez vous connecter à votre déploiement sans problème et que vous avez terminé les tests, Arrêtez votre Déploiement pour libérer de la capacité dans votre compte pour la prochaine construction.

Vous pouvez maintenant passer à l'étape suivante.

5. Intégrer le Matchmaker dans votre Jeu

L'intégration du matchmaking d'Edgegap :

  • avec le Client de Jeu, pour gérer les tickets des joueurs,

  • avec le Serveur de Jeu, pour :

    • traiter les préférences des joueurs transmises via leurs tickets,

    • optionnellement pour prendre en charge le remplissage pour ajouter ou remplacer des joueurs après le démarrage.

Pour le Client de Jeu, nous recommandons de fournir des mises à jour de statut de ticket tout au long du Processus de Matchmaking aux joueurs en utilisant une interface utilisateur en jeu pour la meilleure expérience joueur. Voir :

Dans le Client de Jeu, assurez-vous de gérer les erreurs non-réessayables :

  • HTTP 404 Not Found - le ticket a été supprimé,

  • HTTP 500 Internal Server Error - panne temporaire du service.

Dans le Serveur de Jeu, traitez les préférences des joueurs et le contexte initial du serveur. Aucune intégration API n'est requise :

  1. Lisez les Variables d'Environnement Injectées (Gen2) pour récupérer les données de matchmaking initiales des joueurs.

  2. Lisez les Variables d'Environnement Injectées (Versions d'Applications) pour les paramètres spécifiques à la version, les paramètres (capacité des joueurs), et les secrets.

  3. Lisez les Variables d'Environnement Injectées (Déploiement) pour les informations de déploiement, telles que l'adresse IP, l'emplacement, ou plus.

Une fois les joueurs connectés, le Serveur de Jeu et les Clients de Jeu commencent une scène de chargement pour effectuer les étapes de synchronisation (par exemple, sélectionner et charger une carte/scène/niveau). Nous recommandons une scène 3D complète, une interface sociale de type lobby, ou un écran de chargement avec une barre de progression, pour indiquer que l'initialisation progresse.

Une fois les Clients de Jeu complètement chargés, les joueurs chargent/vont à la scène de jeu principale.

Optionnellement, le Serveur de Jeu peut créer et gérer le remplissage et la capacité des joueurs (ajouter ou remplacer des joueurs qui partent).

Assurez-vous que votre déploiement sera correctement arrêté en utilisant le DELETE_URL Injecté, si :

  • aucun joueur ne rejoint le match,

  • tous les joueurs ont quitté le match,

  • le match se conclut correctement.

Félicitations, vous avez intégré avec succès le Matchmaker d'Edgegap ! Si vous souhaitez en savoir plus, lisez tout sur cela dans notre centre d'apprentissage.

Écrit par

l'équipe Edgegap

Intégrer Edgegap facilement en quelques minutes

Intégrer Edgegap facilement en quelques minutes

Intégrer Edgegap facilement en quelques minutes