Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

/

Matchmaker UGS

Matchmaker UGS

Déployer sur Edgegap

Publié

Publié

Publié

dernière vérification de l'exactitude

dernière vérification de l'exactitude

dernière vérification de l'exactitude

Matchmaker UGS : Comment déployer des serveurs dédiés sur Edgegap depuis le Matchmaker d'Unity Gaming Services

Matchmaker UGS : Comment déployer des serveurs dédiés sur Edgegap depuis le Matchmaker d'Unity Gaming Services

Ce guide vous montre comment conserver le Matchmaker d'Unity Gaming Services (UGS) et héberger chaque partie sur les serveurs de jeu dédiés d'Edgegap : lorsqu'UGS forme un match, Edgegap déploie un serveur à proximité des joueurs et UGS transmet son adresse à chaque joueur.

Une fois votre serveur de jeu conteneurisé, Edgegap le déploie dans le monde entier sur plus de 615 emplacements Edge Cloud (à la demande) à partir d'un simple appel d'API et facturé exclusivement à l'utilisation : aucun serveur entier à louer, provisionner ou maintenir en activité entre les parties. Pour des serveurs persistants ou d'une capacité réservée, Edgegap propose des Private Fleets.

Le lien entre les deux est l'allocateur d'Edgegap, un petit module Cloud Code distribué officiellement par Unity. Lorsqu'un match est formé, UGS l'appelle, il demande à Edgegap de déployer votre serveur, puis renvoie l'adresse et le port du serveur à UGS, qui les transmet à vos joueurs.

UGS Matchmaker with Edgegap: players create tickets, the queue and pool group them into a match, the matchmaker calls the Edgegap allocator in Cloud Code, which requests a deployment on Edgegap and returns the IP and port when ready; the matchmaker writes them into each ticket and game clients connect to the dedicated server

Ce guide aborde :

  1. La préparation d'une version fonctionnelle de l'application Edgegap et de votre projet UGS

  2. La connexion de votre agent de programmation à Edgegap (facultatif)

  3. L'activation des services UGS

  4. La configuration et le déploiement de l'allocateur d'Edgegap

  5. L'ajout du client de matchmaking à votre jeu

  6. La création de votre file d'attente et des règles de match

  7. Le test avec deux joueurs

Vous pouvez procéder de deux manières, et les combiner :

  • Avec un agent de programmation. Connectez Claude Code, Cursor ou un autre agent au serveur MCP d'Edgegap et à ses compétences d'agent (agent skills). L'agent configure l'allocateur, écrit le client de matchmaking et vérifie la version de votre application ainsi que vos déploiements. Vous gérez les clics dans Unity et le tableau de bord Unity Cloud, les secrets et les tests de jeu.

  • Manuellement. Chaque étape ci-dessous fonctionne également sans agent.

Vous préférez un matchmaker hébergé sans Cloud Code ? Consultez le SDK Unity Matchmaking.

Aucune carte de crédit requise. L'offre gratuite inclut les ressources nécessaires pour déployer un véritable serveur de jeu.

Aucune carte de crédit requise. L'offre gratuite inclut les ressources nécessaires pour déployer un véritable serveur de jeu.

Guide étape par étape

Étapes d'intégration détaillées

1. Avant de commencer

  • Un compte Edgegap gratuit. Vérifiez votre adresse e-mail. Aucune carte de crédit n'est requise pour tester.

  • Une version d'application Edgegap fonctionnelle de votre serveur de jeu : un serveur que vous avez déployé et rejoint au moins une fois. UGS déploiera cette version pour chaque match, elle nécessite donc un serveur de jeu conteneurisé et fonctionnel pour fonctionner de bout en bout. Si vous n'en avez pas encore, utilisez nos guides :

  • Un projet Unity lié à Unity Cloud (Modifier → Paramètres du projet → Services affiche le projet lié et son identifiant).

  • Le SDK .NET, version 8 ou plus récente, pour déployer le module Cloud Code. Vérifiez avec dotnet --version.

  • Un jeton d'API Edgegap, accessible depuis Tableau de bord → Paramètres utilisateur → Jetons. Il s'insère dans un secret Cloud Code à l'étape 4, nulle part ailleurs : il s'applique à l'ensemble de l'organisation, alors ne l'intégrez jamais dans votre projet, votre client de jeu, votre serveur de jeu ou une discussion.

Ici, nous utilisons le fork d'Edgegap de l'exemple Boss Room d'Unity, qui fonctionne déjà en tant que serveur dédié et comprend un client de matchmaking.

2. Connectez votre agent de codage à Edgegap

Ignorez cette étape si vous faites tout manuellement.

Le serveur MCP Edgegap permet à votre agent de vérifier vos applications et versions, de déployer des serveurs de test et de consulter leurs journaux sur votre compte. La compétence d'agent edgegap-deployments-api lui fournit les règles pour les backends qui déploient des serveurs Edgegap, y compris UGS Cloud Code : l'emplacement du jeton, le placement des serveurs à proximité des joueurs et la gestion des erreurs.

Claude Code (à exécuter dans votre propre terminal, afin que le jeton ne transite jamais par le chat) :

claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp -H "Authorization: token YOUR_EDGEGAP_API_TOKEN" --scope user

Installez ensuite les compétences : /plugin marketplace add edgegap/edgegap-agent-skills, puis /plugin install edgegap@edgegap. Redémarrez la session.

Cursor, VS Code et autres clients qui envoient des en-têtes : ajoutez https://mcp.edgegap.dev/mcp avec l'en-tête Authorization: token YOUR_EDGEGAP_API_TOKEN, puis installez les compétences avec npx skills add edgegap/edgegap-agent-skills --skill "*".

Claude Desktop : les connecteurs personnalisés ne peuvent pas envoyer l'en-tête, utilisez donc le serveur local à la place (Node 18+) : { "mcpServers": { "edgegap": { "command": "npx", "args": ["-y", "@edgegap/mcp"] } } }. Il demandera le jeton lors de la première utilisation.

Vérifiez que cela fonctionne :

« Liste mes applications Edgegap et leurs versions, avec les ports de chaque version. »

Notez le nom exact de l'application, le nom de la version et le nom du port : l'étape 4 en a besoin.

3. Activez les services UGS

Cette intégration utilise trois services UGS : Authentication, Matchmaker et Cloud Code. Ignorez ce que votre projet possède déjà.

  1. Dans Unity, ouvrez Window → Package Manager, définissez la source sur Unity Registry, puis installez Cloud Code et Multiplayer Services (qui inclut Matchmaker et intègre Authentication).

  2. Sur cloud.unity.com, ouvrez votre projet et activez Authentication, Matchmaker et Cloud Code.

  3. Notez votre environnement (production par défaut). Le secret, le module et la file d'attente doivent tous se trouver dans ce même environnement.

4. Configurer et déployer l'allocateur d'Edgegap

L'allocateur se trouve dans le dépôt des fournisseurs d'hébergement du matchmaker de Unity, séparé de votre projet de jeu.

  1. Clonez-le à côté de votre projet : git clone https://github.com/Unity-Technologies/matchmaker-hosting-providers.git

  2. Ouvrez le fichier EdgegapAllocator.cs de l'allocateur Edgegap et définissez les trois constantes marquées TODO, copiées depuis votre tableau de bord Edgegap et non ressaisies : ApplicationName (votre application), VersionName (la version de votre application) et PortName (gameport). Laissez EdgegapApiTokenSecretName sur EDGEGAP_API_TOKEN.

  3. Dans le tableau de bord Unity Cloud, sous Administration → Secrets, ajoutez un secret dans le même environnement : clé EDGEGAP_API_TOKEN, valeur correspondant uniquement à votre jeton d'API Edgegap, sans mots ni espaces supplémentaires.

  4. Dans Unity, créez une Cloud Code C# Module Reference dans votre projet et faites-la pointer vers le fichier de solution (.sln) de l'allocateur dans le dépôt cloné. La faire pointer vers n'importe quoi d'autre déploie un modèle vide tout en donnant l'impression que l'opération a réussi.

  5. Ouvrez Services → Deployment, cochez le module, sélectionnez votre environnement et cliquez sur Deploy Selected.

  6. Vérifiez que le déploiement a fonctionné : dans le tableau de bord Unity Cloud, le module affiche deux points de terminaison, Matchmaker_AllocateServer et Matchmaker_PollAllocation, chacun renvoyant le type propre à l'allocateur. Un type de retour indiquant simplement « string » signifie que la référence pointait vers le mauvais fichier.

The three constants to set in EdgegapAllocator.cs: ApplicationName, VersionName and PortName, each marked TODOCloud Code module endpoints in the Unity Cloud dashboard: Matchmaker_AllocateServer and Matchmaker_PollAllocation

Avec votre agent : « Dans le dépôt matchmaker-hosting-providers cloné, définissez ApplicationName, VersionName et PortName dans EdgegapAllocator.cs avec mon application, ma version et mon port Edgegap. Ne touchez pas au nom du secret et n'écrivez mon jeton nulle part. » Vous ajoutez le secret et déployez le module vous-même.

Voici notre tutoriel vidéo sur UGS Matchmaker avec Edgegap, utilisant le fork de Boss Room par Edgegap :

5. Ajoutez le client de matchmaking à votre jeu

Votre jeu a besoin d'un client qui connecte le joueur, crée un ticket dans votre file d'attente, attend l'assignation et se connecte au serveur. Seul l'appel de connexion dépend de votre netcode (dans Boss Room, StartClientIp).

Envoyez l'adresse IP publique de chaque joueur dans son ticket. Edgegap positionne le serveur en fonction de l'emplacement des joueurs ; sans adresse IP, les déploiements basculent vers un emplacement par défaut. Ajoutez-la aux attributs du ticket sous le nom player_ip ; la documentation Edgegap fournit un extrait de code pour la récupérer.

Pas encore de client ? Donnez cette consigne à n'importe quel assistant de codage par IA :

« Ajoutez un client Unity Gaming Services Matchmaker autonome à mon jeu, sans modifier mon netcode. Tout d'abord, auditez (en lecture seule) et indiquez-moi : la méthode que mon projet appelle pour connecter un client à un serveur par adresse et port (fichier, ligne, signature et le type du paramètre de port), ainsi que le transport utilisé. Créez ensuite un MonoBehaviour qui initialise UGS et se connecte de manière anonyme ; pour les tests sur une même machine, définit un profil unique par instance en cours d'exécution avant la connexion ; récupère l'adresse IP publique du joueur ; crée un ticket sur un champ de nom de file d'attente sérialisé avec l'ID du joueur connecté et l'IP comme attribut player_ip ; interroge le ticket au maximum toutes les 3 secondes, en réessayant les requêtes ayant échoué jusqu'à ce qu'une assignation arrive ou qu'un délai d'expiration soit atteint ; puis transmet l'IP et le port assignés à ma méthode de connexion, en convertissant le port dans le type attendu. Ajoutez un bouton Matchmake temporaire à l'écran. Restez minimaliste et commentez le code. »

Ensuite, ajoutez-le à votre scène de démarrage : créez un objet de jeu vide nommé Matchmaker, ajoutez le composant et définissez son nom de file d'attente sur la file d'attente créée à l'étape 6.

6. Créez votre file d'attente et vos règles de correspondance

Dans le tableau de bord Unity Cloud, ouvrez Matchmaker :

  1. Créez une file d'attente, par exemple mygame-queue, avec jusqu'à 2 joueurs par ticket pour ce test.

  2. Dans la file d'attente, créez un pool et définissez son type d'hébergement sur Hosting via Cloud Code. Pointez-le vers votre module, son point de terminaison d'allocation (allocate endpoint) et son point de terminaison d'interrogation (poll endpoint). Le délai d'expiration de l'allocation par défaut laisse suffisamment de temps à Edgegap pour démarrer un serveur.

  3. Définissez les règles de match pour le test le plus simple : une équipe, 1 équipe au total, un nombre de joueurs minimum et maximum de 2. Laissez le remplissage automatique (backfill) désactivé.

  4. Enregistrez. La file d'attente devient active, et votre matchmaker se déploie désormais sur Edgegap.

Adaptez ensuite les règles à votre jeu (taille des équipes, plages de compétences, régions) grâce à la documentation de Matchmaker d'Unity. Edgegap n'a besoin que de l'allocateur.

7. Tester avec deux joueurs

  1. Exécutez deux clients sur une seule machine. Avec le fork Boss Room d'Edgegap, utilisez ParrelSync (inclus), et non Multiplayer Play Mode.

  2. Sélectionnez Matchmake dans les deux. UGS regroupe les deux tickets, appelle votre allocateur, et Edgegap déploie un serveur à proximité des joueurs. Vous pouvez le voir apparaître dans le tableau de bord Edgegap, étiqueté par le matchmaker.

  3. Les deux joueurs se connectent automatiquement au même serveur. Le journal du conteneur du serveur affiche deux tickets entrants, un match sortant.

  4. Quittez le match : votre serveur arrête son propre déploiement lorsque le match se termine (consultez le guide de votre serveur), afin que vous ne payiez que pendant que les joueurs jouent.

L'allocateur obtient l'adresse de chaque serveur en interrogeant l'API de statut d'Edgegap, ce qui est largement suffisant pour la plupart des jeux. Pour les lancements de très grande envergure (des dizaines de milliers de joueurs simultanés), passez au webhook ready d'Edgegap, décrit dans la documentation d'Edgegap.

Étapes suivantes

Étapes suivantes

Vous migrez depuis Multiplay ? La documentation d'Edgegap fait correspondre les concepts de Multiplay à ceux d'Edgegap. Vous préférez un matchmaker hébergé sans aucun Cloud Code à maintenir ? Consultez le SDK Unity Matchmaking.

Prêt pour le lancement ? Demandez à votre agent d'exécuter la checklist de la compétence edgegap-launch : déploiements de versions, politique de redémarrage, durée maximale, contrôle des coûts.

Bloqué ? Demandez à votre agent de charger edgegap-troubleshoot, ou posez vos questions à notre équipe et à d'autres studios sur le Discord d'Edgegap.

Questions Fréquemment Posées

Questions fréquentes concernant l'hébergement des parties Unity Gaming Services Matchmaker sur les serveurs dédiés d'Edgegap.

Puis-je conserver le Matchmaker UGS d'Unity et héberger mes serveurs sur Edgegap ?

Oui. Conservez vos files d'attente et vos règles dans UGS, et ajoutez l'allocateur d'Edgegap en tant que module Cloud Code. Lorsqu'un match est formé, il déploie votre serveur sur Edgegap et renvoie l'adresse et le port à UGS, qui les transmet à vos joueurs.

L'allocateur Edgegap pour UGS est-il officiel ?

Oui. Il s'agit d'une intégration officielle, approuvée par Unity, distribuée dans le dépôt des fournisseurs d'hébergement de matchmaker d'Unity. Vous configurez votre application, votre version et votre port, ajoutez votre jeton en tant que secret et la déployez.

Où dois-je renseigner mon jeton d'API Edgegap avec UGS ?

Uniquement dans un secret Cloud Code nommé EDGEGAP_API_TOKEN, dans le même environnement que votre module et votre file d'attente. Jamais dans votre client de jeu, votre serveur de jeu ou les fichiers de votre projet.

Comment Edgegap choisit-il l'emplacement du serveur pour un match UGS ?

À partir des adresses IP publiques des joueurs, envoyées dans leurs tickets de matchmaking. Edgegap choisit l'emplacement offrant le meilleur ping pour l'ensemble du groupe. Sans adresses IP, les déploiements se rabattent sur un emplacement par défaut.

Dois-je utiliser UGS Matchmaker ou le matchmaker d'Edgegap ?

Conservez UGS si votre jeu utilise déjà son système de matchmaking ou d'autres Unity Gaming Services. Le matchmaker d'Edgegap est hébergé, gratuit à tester et ne nécessite aucun Cloud Code, et déploie automatiquement des serveurs à proximité des joueurs.

Clients

Découvrez les témoignages de clients qui ont intégré Edgegap

31 études de cas sont disponibles auprès de studios ayant migré d'une autre plateforme vers Edgegap.

Principales raisons pour lesquelles ils ont choisi Edgegap

Découvrez l’impact de l’orchestration automatisée des serveurs de jeu d’Edgegap pour une expérience multijoueur impeccable.

Coût

Prix

Optimisez les coûts et les performances grâce à l'orchestration hybride

Optimisez les coûts et les performances grâce à l'orchestration hybride

Optimisez les coûts et les performances grâce à l'orchestration hybride

Cloud de périphérie

À la demande

0,00115 $

/ vCPU

/ MINUTE

Facturé à la minute, uniquement à l'utilisation

Payez quand les joueurs jouent. 0 serveur actif = 0 $

Déployez des serveurs de jeu dans le monde entier, par instance, dans plus de 615 emplacements edge cloud. Sans engagement.

Ajoutez simplement une carte de crédit.

Cloud de périphérie

À la demande

0,00115 $

/ vCPU

/ MINUTE

Facturé à la minute, uniquement à l'utilisation

Payez quand les joueurs jouent. 0 serveur actif = 0 $

Déployez des serveurs de jeu dans le monde entier, par instance, dans plus de 615 emplacements edge cloud. Sans engagement.

Ajoutez simplement une carte de crédit.

Private Fleet (Bare Metal)

Capacité réservée

0,0282 $

/ vCPU

/ HEURE

Facturé mensuellement, toujours actif

280 $ par hôte/mois (tarif sur 12 mois), ou 350 $ par mois

Optimisez la rentabilité de votre serveur de jeu grâce à l'hébergement sans frais de transfert de données sortantes (egress-free) des flottes privées (Private Fleets).

Permanent, disponible 24h/24 et 7j/7, exclusif à votre studio.

Private Fleet (Bare Metal)

Capacité réservée

0,0282 $

/ vCPU

/ HEURE

Facturé mensuellement, toujours actif

280 $ par hôte/mois (tarif sur 12 mois), ou 350 $ par mois

Optimisez la rentabilité de votre serveur de jeu grâce à l'hébergement sans frais de transfert de données sortantes (egress-free) des flottes privées (Private Fleets).

Permanent, disponible 24h/24 et 7j/7, exclusif à votre studio.

Votre facture varie selon le tarif et l'utilisation, qui peuvent varier en fonction
du type de jeu, du nombre de joueurs et plus encore.

Votre facture varie selon le tarif et l'utilisation, qui peuvent varier en fonction
du type de jeu, du nombre de joueurs et plus encore.

Modélisez votre utilisation avec notre calculateur d'estimation ->

Modélisez votre utilisation avec notre calculateur d'estimation ->

Fonctionnalités et prix d'Eggegap : comparaison détaillée entre Edge Cloud et Private Fleets

Fonctionnalités et prix d'Eggegap : comparaison détaillée entre Edge Cloud et Private Fleets

COMPARER

Essai gratuit

Cloud de périphérie

Flottes privées

FONCTIONNALITÉS

Analyses et surveillance

Alertes de facturation

Cliquer pour agrandir

28 lignes de plus

Déverrouille

Les fonctionnalités sont débloquées lorsqu'une carte de crédit est ajoutée au compte.

COMPARER

Essai gratuit

Cloud de périphérie

Flottes privées

FONCTIONNALITÉS

Analyses et surveillance

Alertes de facturation

Cliquer pour agrandir

28 lignes de plus

Déverrouille

Les fonctionnalités sont débloquées lorsqu'une carte de crédit est ajoutée au compte.

COMPARER

Essai gratuit

Cloud de périphérie

Flottes privées

FONCTIONNALITÉS

Analyses et surveillance

Alertes de facturation

Cliquer pour agrandir

28 lignes de plus

Déverrouille

Les fonctionnalités sont débloquées lorsqu'une carte de crédit est ajoutée au compte.