Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

/

SDK de Matchmaking Unity

SDK de Matchmaking Unity

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

SDK Unity Matchmaking : comment ajouter le Matchmaking à votre jeu multijoueur Unity avec Edgegap

SDK Unity Matchmaking : comment ajouter le Matchmaking à votre jeu multijoueur Unity avec Edgegap

Ce guide vous montre comment ajouter le matchmaking à un jeu multijoueur Unity qui fonctionne déjà sur les serveurs de jeu dédiés d'Edgegap : les joueurs sélectionnent Find Match, sont regroupés selon vos règles et se connectent à un serveur qu'Edgegap démarre à proximité d'eux.

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 API, avec une facturation basée exclusivement sur l'utilisation : aucun serveur entier à louer, approvisionner ou maintenir en fonctionnement entre les parties. Pour les serveurs persistants à capacité réservée, Edgegap propose les Private Fleets. Le Matchmaking d'Edgegap s'appuie sur cette base et est optionnel.

Le système de matchmaking d'Edgegap est un service hébergé : aucun backend à écrire ou à gérer. Il fonctionne avec n'importe quel netcode. Seule la ligne qui connecte un joueur au serveur assigné dépend du vôtre.

Ce guide couvre :

  1. La préparation d'une version d'application Edgegap fonctionnelle pour votre jeu

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

  3. L'installation du SDK Unity d'Edgegap

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

  5. La création de votre système de matchmaking

  6. Le choix de vos règles de matchmaking

  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. L'agent ajoute le client de matchmaking et le code pour votre netcode, génère la configuration du matchmaking et vérifie les résultats. Vous gérez les clics dans Unity et sur le tableau de bord Edgegap, et effectuez les tests de jeu.

  • Manuellement. Chaque étape ci-dessous fonctionne également sans agent, en partant de l'exemple prêt à l'emploi du SDK.

Ici, nous utilisons l'exemple Tanks de Mirror. N'importe quel netcode Unity fonctionne de la même manière.

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 fonctionnelle de l'application Edgegap de votre serveur de jeu : un serveur que vous avez déployé et rejoint au moins une fois. Le Matchmaking déploie la version demandée pour chaque partie, il nécessite donc un serveur de jeu conteneurisé et fonctionnel pour fonctionner de bout en bout. Si vous n'en avez pas encore, consultez nos guides :

  • Votre serveur s'arrête de lui-même lorsque la partie se termine, ainsi vous ne payez que pendant que les joueurs jouent. Les guides ci-dessus abordent ce sujet.

  • Pour le chemin de l'agent : un jeton d'API Edgegap, accessible depuis Tableau de bord → Paramètres utilisateur → Jetons. Il s'applique à l'ensemble de l'organisation, traitez-le donc comme un mot de passe : ne l'intégrez jamais dans votre projet, votre client de jeu ou une messagerie.

Git : Unity a besoin d'un client Git (2.14.0 ou plus récent) dans votre PATH pour installer des paquets depuis une URL Git, comme le SDK Edgegap. macOS en possède généralement déjà un (Outils en ligne de commande Xcode) ; sur Windows, installez Git.

2. Connectez votre agent de codage à Edgegap

Ignorez cette étape si vous faites tout manuellement.

Le serveur MCP d'Edgegap permet à votre agent de créer des applications et des versions, de déployer des serveurs, de lire les journaux et de générer des configurations de matchmaking sur votre compte. Les compétences de l'agent lui fournissent le client de matchmaking Unity testé, le code pour votre netcode et les pièges connus.

Claude Code (exécutez-le 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

Ensuite, installez 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, et 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. »

Votre application et sa version devraient apparaître dans la liste.

3. Installez le SDK Unity d'Edgegap

Voici notre didacticiel vidéo sur le SDK de Matchmaking d'Edgegap pour Unity, de l'installation jusqu'à la mise en relation de deux joueurs, à l'aide de l'exemple Tanks de Mirror :

Le SDK Unity d'Edgegap est le package de matchmaking. Il est distinct du plugin qui compile et déploie votre serveur.

Avec votre agent :

« Chargez la compétence edgegap-unity et installez le SDK Edgegap Unity dans ce projet, version 3.5.5 ou plus récente. »

Vous utilisez FishNet ou PurrNet ? Demandez plutôt à votre agent de charger edgegap-fishnet ou edgegap-purrnet, lors de cette étape et de la suivante.

Manuellement :

  1. Dans Unity, sélectionnez Window → Package Management → Package Manager, sélectionnez +, puis Add package from git URL, collez https://github.com/edgegap/edgegap-unity-sdk.git et sélectionnez Add.

  2. Dans l'onglet Samples du SDK, importez Matchmaking - Simple Example. Vous n'avez besoin que de celui-ci.

Le SDK mesure le ping de chaque joueur vers les balises d'Edgegap, crée le ticket de matchmaking et attend qu'un serveur soit attribué. Il laisse délibérément une lacune : la ligne qui connecte le joueur à ce serveur, car cela dépend de votre netcode. L'étape 4 la comble.

4. Ajoutez le client de matchmaking à votre jeu

Avec votre agent :

« Ajoutez les scripts de client de matchmaking et de cycle de vie du serveur edgegap-unity à ma scène réseau, renseignez l'adaptateur netcode pour mon netcode, et reliez mon bouton Play à FindMatch. Laissez l'URL du matchmaker et le jeton vides pour l'instant. »

L'agent ajoute un panneau Find Match utilisable immédiatement, des nouvelles tentatives de connexion pour les serveurs en cours de démarrage, ainsi que le code serveur qui arrête le serveur de chaque match lorsqu'il se termine. Si votre image de serveur change, il la reconstruit et crée une nouvelle version de l'application.

Manuellement, avec deux prompts pour n'importe quel assistant de codage IA, ou votre propre code :

Prompt 1, auditez votre projet (lecture seule) :

« En lecture seule, aucune modification de code. Mon projet Unity utilise un framework de netcode et j'ajoute le matchmaking Edgegap, qui fournira à mon client une adresse de serveur (un FQDN) et un port externe au moment de l'exécution. Trouvez et indiquez-moi : 1) la méthode qui démarre la connexion du client à un serveur, le fichier et la ligne, et ce qui la déclenche ; 2) où l'adresse du serveur et le port sont définis avant la connexion : les noms exacts des propriétés ou des champs, le transport utilisé, ainsi que le fichier et la ligne. Ne modifiez rien. »

Prompt 2, ajoutez la connexion :

« Dans l'exemple MatchmakingClientHandler.cs d'Edgegap, trouvez le bloc qui s'exécute lorsque le statut du ticket est HOST_ASSIGNED. Il se contente d'enregistrer l'assignation dans les logs. Remplacez-le par le code qui se connecte au serveur assigné avec mon netcode : définissez le FQDN de l'assignation comme adresse réseau, convertissez le port externe de gameport dans le type attendu par mon transport et définissez-le sur le transport, puis démarrez le client. Utilisez ce que vous avez trouvé à l'étape précédente. »

Ensuite, dans votre scène de jeu, sélectionnez GameObject → Create Empty, nommez-le Matchmaking, et ajoutez le composant Matchmaking Client Handler. Laissez Base URL et Auth Token vides pour l'instant : ils proviennent de l'étape 5.

Avec Mirror, la connexion définit NetworkManager.singleton.networkAddress sur le FQDN, configure le port sur le transport actif et appelle StartClient(). D'autres netcodes utilisent leurs propres noms pour ces trois mêmes éléments.

5. Créez votre entremetteur

  1. Dans le tableau de bord, ouvrez Matchmaker, sélectionnez Create Matchmaker et nommez-le, par exemple mygame-dev.

  2. Choisissez une configuration :

    • Le plus rapide : sélectionnez Simple Example dans la liste des configurations (ce qu'elle contient) : une équipe de deux joueurs, regroupés par latence. Elle renseigne votre application et votre version les plus récentes : vérifiez qu'il s'agit bien de celles souhaitées.

    • Avec votre agent : « Génère une configuration de matchmaker Edgegap pour ma version d'application : une équipe de 2 à 4 joueurs, et permets à un joueur seul d'obtenir un serveur après 30 secondes pour que je puisse tester en solo. Enregistre-la sous le nom matchmaker-config.json. » Ensuite, téléversez le fichier.

  3. Sélectionnez Create and Start. Un avertissement indiquant que l'image de votre serveur n'est pas mise en cache ne pose aucun problème pour les tests : sélectionnez Continue. Laissez quelques minutes au matchmaker pour démarrer, et jusqu'à 5 minutes supplémentaires avant que son adresse ne réponde.

  4. Lorsqu'il est ONLINE, copiez l'API URL et l'Auth Token dans votre composant de matchmaking (Base URL et Auth Token), ou transmettez-les à votre agent.

L'Auth Token donne uniquement accès à votre matchmaker et à rien d'autre sur votre compte, il peut donc être utilisé en toute sécurité dans votre client de jeu. En production, de nombreux studios demandent aux joueurs de se connecter d'abord à leur propre backend, qui crée les tickets, afin de pouvoir vérifier l'identité et les bannissements avant le matchmaking.

6. Choisissez vos règles de mise en relation

Exécutez le test de l'étape 7 avec votre première configuration, puis adaptez les règles à votre jeu. Chaque règle regroupe les joueurs selon un critère :

  • Taille du match : combien d'équipes et de joueurs par équipe.

  • Latence : les joueurs envoient un ping aux balises d'Edgegap et sont regroupés avec des joueurs proches d'eux. Edgegap démarre ensuite le serveur à proximité du groupe.

  • Niveau, mode, carte ou région : une plage de nombres ou une valeur que les joueurs doivent partager.

  • Élargissements : assouplir une règle après une attente, par exemple accepter moins de joueurs après 30 secondes, pour que personne n'attende indéfiniment.

Deux règles à retenir :

  • Chaque règle, à l'exception de la taille du match, nécessite une valeur correspondante dans le ticket de chaque joueur, avec le même nom. Une valeur manquante ou superflue est refusée (HTTP 400). Indiquez à votre agent lorsque vous ajoutez une règle, et il mettra à jour les deux côtés.

  • Jeux WebGL : les navigateurs ne peuvent pas envoyer de ping aux balises, omettez donc la règle de latence et répertoriez les sites qui hébergent votre jeu sous allowed_cors_origins. Utilisez le SDK 3.5.5 ou une version plus récente.

Des configurations prêtes à l'emploi pour les jeux coopératifs, compétitifs, sociaux et les salons personnalisés, ainsi que pour le backfill (joueurs rejoignant un match en cours), sont disponibles dans la documentation du matchmaking. Modifier la configuration d'un matchmaker en cours d'exécution le recharge et efface les tickets en attente. Lorsque vous déployez une nouvelle version de serveur, mettez à jour application.version (Arrêter, Modifier, Démarrer), sinon les matchs continueront à déployer l'ancienne version.

7. Tester avec deux joueurs

  1. Assurez-vous qu'aucun déploiement de test n'est toujours en cours d'exécution : l'offre gratuite exécute un seul déploiement à la fois, et un déploiement restant bloque le matchmaking.

  2. Lancez deux clients : deux joueurs en Multiplayer Play Mode, ou l'Éditeur plus un build.

  3. Sélectionnez Find Match dans les deux. Le statut passe de recherche à partie trouvée, puis les deux joueurs se connectent au même nouveau serveur, sans que personne n'ait à saisir d'adresse.

  4. Quittez la partie. Le serveur arrête son propre déploiement et disparaît du tableau de bord.

Un test en solo ne fonctionne que si votre configuration permet à un joueur seul d'obtenir un serveur (l'extension de 30 secondes à l'étape 5). Avec l'offre gratuite, le matchmaker s'arrête 3 heures après chaque démarrage : redémarrez-le depuis le tableau de bord, son URL et son jeton restent les mêmes.

Étapes suivantes

Étapes suivantes

Vous passez en production ? Demandez à votre agent d'exécuter la liste de contrôle de la compétence edgegap-launch et choisissez un matchmaker de production avant le lancement. Vous préférez les salons que les joueurs parcourent ? Consultez le Server Browser pour Unity. Vous utilisez déjà le matchmaking d'Unity Gaming Services ? Consultez UGS Matchmaker.

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

Questions Fréquemment Posées

Questions fréquentes sur l'ajout du matchmaking Edgegap à un jeu multijoueur Unity.

Ai-je besoin de mon propre backend pour le matchmaking dans Unity ?

Non. Le matchmaker d'Edgegap est un service hébergé : votre client de jeu crée des tickets avec le jeton d'authentification du matchmaker, et Edgegap démarre un serveur pour chaque match. Les studios qui souhaitent une connexion, des bannissements ou leurs propres données de compétence avant le matchmaking peuvent plutôt créer des tickets depuis leur backend.

Le matchmaking d'Edgegap fonctionne-t-il avec Mirror, Netcode for GameObjects et Fish-Networking ?

Oui. Le matchmaker et le SDK Unity ne dépendent pas de votre netcode. Seul le code qui connecte un joueur à l'adresse et au port du serveur assigné change, quelques lignes par netcode.

Le jeton d'authentification du système de matchmaking est-il sécurisé dans un client de jeu ?

Oui. Il permet uniquement aux clients de créer et de lire des tickets de matchmaking sur ce matchmaker. Il ne donne aucun accès à votre compte Edgegap, contrairement à votre jeton d'API Edgegap, qui ne va jamais dans un client.

Puis-je ajouter du matchmaking à un jeu Unity WebGL ?

Oui, avec le SDK Unity 3.5.5 ou plus récent d'Edgegap. Les navigateurs ne peuvent pas envoyer de ping aux balises de latence, le profil WebGL n'a donc pas de règle de latence, et le système de matchmaking répertorie les adresses web de votre jeu parmi les origines CORS autorisées.

Combien coûte le matchmaking d'Edgegap ?

Les tests sont gratuits, sur un entremetteur (matchmaker) partagé qui s'arrête 3 heures après chaque démarrage. Pour un jeu en production, vous choisissez un matchmaker de production, et les serveurs de jeu sont facturés par vCPU et par minute uniquement lorsqu'ils sont en cours d'exécution.

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.