Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

/

Mirror Networking

/

Mirror Networking

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

Mirror Networking : Comment intégrer et héberger des serveurs dédiés, et ajouter le Matchmaking à votre jeu multijoueur

Mirror Networking : Comment intégrer et héberger des serveurs dédiés, et ajouter le Matchmaking à votre jeu multijoueur

Ce guide vous montre comment héberger un jeu conçu avec Mirror Networking sur les serveurs de jeu dédiés d'Edgegap, puis y ajouter du matchmaking afin que les joueurs soient automatiquement regroupés et connectés à un serveur proche d'eux.

Une fois votre serveur de jeu conteneurisé, Edgegap le déploie à travers le monde 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 marche entre les parties. Pour les serveurs persistants à capacité réservée, Edgegap propose des Private Fleets. Le Matchmaking d'Edgegap s'appuie là-dessus et reste optionnel.

Ce guide aborde les points suivants :

  1. Préparer Unity, votre compte Edgegap et un outil de conteneurisation

  2. Connecter votre agent de programmation à Edgegap (optionnel)

  3. Préparer votre jeu Mirror pour les serveurs dédiés

  4. Créer le build et conteneuriser votre serveur de jeu

  5. Déployer un serveur de test et s'y connecter

  6. Ajouter le matchmaking (optionnel)

  7. Tester la boucle complète 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 Edgegap et à ses compétences d'agent (agent skills). L'agent modifie votre projet, génère le build, conteneurise le serveur, le déploie et écrit le code de matchmaking. Vous vous chargez des actions dans Unity et sur le tableau de bord Edgegap, puis des sessions de test de jeu.

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

Pour la génération du build et la conteneurisation du serveur, le plugin d'outil de build automatisé de serveur de jeu Edgegap pour Unity est facultatif. Il compile votre serveur, le conteneurise et le déploie dans le cloud à partir de boutons dans l'Éditeur Unity, la méthode la plus rapide pour voir votre serveur en ligne pour la première fois (étape 4, Option A).

Ici, nous utilisons l'exemple Tanks de Mirror, qui fonctionne déjà comme un serveur dédié. Tout projet Mirror fonctionne de la même manière.

Mirror Networking

x

Edgegap

Entièrement approuvé par

Entièrement approuvé par

Le créateur de Mirror Networking

Le créateur de Mirror Networking

« Mirror résout le netcode, Edgegap résout l'infrastructure à faible latence. Nous attaquons sur les deux fronts. »

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.

  • Le moteur Unity avec les modules de compilation Linux installés. Edgegap recommande une version LTS.

    • Ajoutez ces modules depuis Unity Hub : Linux Build Support (Mono), Linux Build Support (IL2CPP) et Linux Dedicated Server Build Support. Redémarrez Unity après les avoir ajoutés.

    • Nous utilisons Unity 6.3 LTS. Les versions non-LTS les plus récentes peuvent perturber les packages de code réseau, y compris Mirror, restez donc sur une version LTS pour tout ce que vous publiez.

  • Un outil de conteneurisation en cours d'exécution. Nous recommandons Docker Desktop, installé et actif pendant la compilation.

    • D'autres outils de conteneurisation fonctionnent également avec Edgegap, mais ce guide ne couvre que Docker.

  • Pour la méthode 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 instantanée.

Git : Unity nécessite un client Git (version 2.14.0 ou plus récente) dans votre PATH pour installer des packages à partir d'une URL Git, comme le plugin Edgegap. macOS en possède généralement déjà un (Outils en ligne de commande Xcode) ; sous Windows, installez Git.

2. Connectez votre agent de codage à Edgegap

Ignorez cette étape si vous faites tout manuellement.

Le serveur MCP 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 matchmaker sur votre compte. Les compétences de l'agent lui fournissent le flux de travail Unity éprouvé, les modèles C#, le Dockerfile et les pièges connus à éviter.

Claude Code : installez le plugin Edgegap. Il ajoute à la fois le serveur MCP et les compétences, et demande votre jeton d'API lors de l'installation (stocké dans le gestionnaire d'identifiants de votre système) :

/plugin marketplace add edgegap/llm-agent-skills, puis /plugin install edgegap@edgegap. Redémarrez la session.

Vous souhaitez uniquement le serveur MCP, sans le plugin ? Exécutez plutôt ceci dans votre propre terminal : claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp -H "Authorization: token VOTRE_JETON_API_EDGEGAP" --scope user. Ne faites pas les deux, sinon vous aurez deux serveurs edgegap.

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

Claude Desktop : les connecteurs personnalisés ne peuvent pas envoyer l'en-tête, utilisez donc plutôt le serveur local (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. »

Une liste vide est tout à fait normale. Une erreur concernant le jeton signifie généralement que l'en-tête indique token token ....

3. Préparez votre serveur Mirror pour l'hébergement dédié

Sur Edgegap, aucun joueur n'héberge la partie. Un serveur dédié sans interface graphique (headless) gère le jeu, le serveur dédié doit donc démarrer de lui-même, écouter sur un port fixe et s'arrêter lorsque le match est terminé.

Avec votre agent :

« Chargez le skill edgegap-unity et préparez ce projet Mirror pour un serveur dédié : les builds serveur démarrent le serveur en mode headless, les joueurs apparaissent lorsque les clients se connectent, et le serveur s'arrête de lui-même lorsque le match se termine. Ajoutez les scripts de cycle de vie de serveur Edgegap et de client de matchmaking avec l'adaptateur Mirror. Ensuite, vérifiez que cela fonctionne toujours localement avec un serveur et un client. »

Manuellement, dans votre Network Manager :

  • Définissez Headless Start Mode sur Auto Start Server, et laissez Don't Destroy on Load coché.

  • Conservez le port du transport. Le transport KCP par défaut de Mirror écoute sur 7777/UDP. Les projets WebGL utilisent SimpleWebTransport, généralement sur le port 7778, avec un WebSocket sécurisé (voir la FAQ).

  • Assurez-vous que la scène contenant le Network Manager est activée dans les Build Settings. Seules les scènes activées sont compilées.

  • Dans les builds serveur, appelez StartServer, jamais StartHost, et faites apparaître les joueurs lorsque les clients se connectent (OnServerAddPlayer), pas pour un joueur local.

  • Définissez Application.targetFrameRate (30 à 60) sur le serveur, sinon le build headless fera tourner un cœur de processeur à 100 %.

Testez d'abord localement : un Éditeur (ou build) en tant que serveur, un autre en tant que client, avec le Multiplayer Play Mode d'Unity. Ne conteneurisez pas un jeu qui ne fonctionne pas sur localhost.

4. Construisez et conteneurisez votre serveur

Edgegap exécute votre build de serveur Linux dans un conteneur. Utilisez l'une ou l'autre des options, ou les deux : par exemple, le plugin pour votre premier déploiement et votre agent pour chaque build suivant.

Option A (facultatif) : le plugin de l'outil automatisé de build de serveur de jeu d'Edgegap pour Unity. Le moyen le plus rapide d'effectuer un premier déploiement dans le cloud, entièrement via des boutons. Il utilise Docker pour conteneuriser votre serveur. La vidéo ci-dessous présente ce cheminement.

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

  2. Ouvrez Tools → Edgegap Server Hosting, connectez-vous, puis collez le jeton fourni sous Connect your Edgegap Account. Sélectionnez Validate Token.

  3. Sélectionnez Build Server. Le build se retrouve dans Builds/EdgegapServer/ServerBuild.

  4. Avec Docker en cours d'exécution, sélectionnez Validate, puis Containerize with Docker. Facultativement, faites Deploy Local Container et connectez-y un client.

  5. Sélectionnez Upload Image and Create App Version. Dans le navigateur, configurez le port pour qu'il corresponde à votre transport : 7777, UDP, nommé gameport. Soumettez.

Option B : demandez à votre agent.

« Compilez le serveur dédié Linux, conteneurisez-le avec le Dockerfile edgegap-unity pour linux/amd64, poussez-le vers mon registre de conteneurs Edgegap avec un nouveau tag, puis créez l'application et la version de l'application avec le port 7777 UDP nommé gameport. »

L'agent vous demande d'exécuter vous-même docker login registry.edgegap.com, avec le nom d'utilisateur et le jeton issus de la page Container Registry, afin que ces identifiants restent hors de la discussion. Assurez-vous que la version de l'application dispose des identifiants du registre configurés : sans eux, les déploiements échouent avec « Unable to pull image from registry ».

Utilisez un nouveau tag d'image pour chaque build, jamais latest.

Voici notre tutoriel vidéo pour le plugin Edgegap pour Unity pour une intégration pratique :

5. Déployez un serveur de test et connectez-vous

Démarrez un serveur manuellement pour vérifier que l'image, le port et votre netcode fonctionnent avant d'ajouter le matchmaking. L'une de ces méthodes fonctionne :

  • Depuis le plugin : choisissez votre application et votre version, puis sélectionnez Deploy to Cloud.

  • Depuis le tableau de bord : ouvrez la version de votre application dans le tableau de bord Edgegap, sélectionnez Deploy, choisissez un emplacement proche de chez vous et déployez.

  • Depuis votre agent : « Déploie ma dernière version d'Edgegap près de chez moi, attends qu'elle soit prête, montre-moi les journaux et donne-moi l'adresse et le port externe. »

Lorsque le déploiement est Ready, copiez son Host URL et son External Port. Dans le Network Manager de votre client, collez l'hôte dans Network Address et le port externe dans le Port du transport, puis appuyez sur Play. Le port externe change à chaque déploiement, vérifiez-le donc à chaque fois. Le serveur peut prendre jusqu'à une minute après l'état Ready pour accepter les joueurs.

Arrêtez le déploiement lorsque vous avez terminé (Stop Last Deployment dans le plugin, ou demandez à votre agent). Le niveau gratuit exécute un seul déploiement à la fois, et un serveur de test oublié bloque le matchmaking.

Ici, vous avez choisi l'emplacement et transmis l'adresse. Pour regrouper les joueurs et démarrer automatiquement un serveur près d'eux, ajoutez un matchmaker.

6. Ajouter le matchmaking (facultatif)

Le matchmaker d'Edgegap est un service hébergé : les joueurs envoient un ticket, il les regroupe selon vos règles (taille du match, équipes, latence, niveau, mode), déploie votre serveur à proximité d'eux et renvoie l'adresse à chaque client.

Avec votre agent :

« Génère une configuration de matchmaker Edgegap pour la version de mon application : une équipe de 2 à 4 joueurs, et permets à un joueur solo d'obtenir un serveur après 20 secondes pour que je puisse tester seul. Enregistre-la sous le nom matchmaker-config.json. »

Ensuite, dans le tableau de bord (cette étape ne dispose pas d'API) :

  1. Ouvrez Matchmaker et sélectionnez Create Matchmaker.

  2. Nommez-le, téléversez matchmaker-config.json et sélectionnez Create and Start.

  3. Lorsqu'il est ONLINE, copiez l'API URL et l'Auth Token. L'Auth Token peut être intégré en toute sécurité dans votre client de jeu : il ne donne aucun accès à votre compte Edgegap.

De retour avec votre agent :

« Renseigne l'API URL et l'Auth Token du matchmaker sur EdgegapMatchmakingClient, relie mon bouton Play à FindMatch, puis recompile et pousse le serveur, crée une nouvelle version de l'application et dis-moi quoi mettre à jour dans le matchmaker. »

Manuellement : installez le SDK Unity d'Edgegap en ajoutant "com.edgegap.unity-sdk": "https://github.com/edgegap/sdk-unity-sessions-matchmaker-server-browser.git#3.5.6" à Packages/manifest.json, puis suivez le guide de matchmaking Unity dans notre documentation. Pour un exemple fonctionnel de la boucle complète, consultez l'échantillon de référence mirror-webgl.

Lorsque vous publiez un nouveau build de serveur, mettez à jour application.version dans la configuration du matchmaker (Stop, Edit, Start), sinon les matchs continueront de déployer l'ancien build.

7. Testez la boucle complète avec deux joueurs

  1. Assurez-vous qu'aucun déploiement de test n'est encore en cours d'exécution.

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

  3. Sélectionnez Find Match sur les deux. Le statut passe de recherche à match trouvé, puis à hôte assigné, et les deux clients se connectent alors au même serveur.

  4. Quittez le match. Le serveur enregistre dans ses journaux qu'il s'arrête, et le déploiement disparaît du tableau de bord. Cet arrêt automatique permet de maintenir votre facture à zéro lorsque personne ne joue.

Avec le forfait gratuit, le matchmaker s'arrête 3 heures après chaque démarrage (redémarrez-le depuis le tableau de bord), les déploiements s'arrêtent au bout de 60 minutes, et un seul déploiement s'exécute à la fois.

É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 : déploiements de versions, politique de redémarrage, durée maximale, contrôle des coûts. Vous préférez des salons que les joueurs parcourent ? Consultez le Server Browser for Unity.

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

—
Essayez d'abord : utilisez notre exemple Mirror Pong prêt à l'emploi, aucune compilation nécessaire

Edgegap héberge une image de serveur prête à l'emploi de l'exemple Pong de Mirror, afin que vous puissiez voir un jeu Mirror tourner sur un serveur dédié avant de compiler le vôtre. Regardez le tutoriel vidéo ici.

  1. Dans Unity 6, créez un projet et importez Mirror depuis l'Asset Store. Il inclut l'exemple Pong.

  2. Créez une version d'application à partir de l'échantillon Mirror Pong dans le tableau de bord Edgegap. Elle est préremplie, avec le port 7777 sur UDP.

  3. Déployez un serveur avec cette version, puis copiez l'URL de l'hôte et le Port externe du déploiement.

  4. Ouvrez Mirror/Examples/Pong/Scenes/MirrorPong.unity, appuyez sur Play, saisissez l'URL de l'hôte et le Port externe, puis sélectionnez Client.

  5. Connectez un deuxième joueur avec Multiplayer Play Mode, puis arrêtez le déploiement lorsque vous avez terminé.

Questions Fréquemment Posées

Questions fréquentes sur l'hébergement d'un jeu Mirror Networking sur les serveurs dédiés d'Edgegap, avec ou sans matchmaking.

Est-ce que Mirror prend en charge les serveurs dédiés ?

Oui. Mirror fonctionne en tant que build de serveur sans tête (headless) : définissez Headless Start Mode sur Auto Start Server dans le Network Manager, compilez pour Linux Dedicated Server, et le serveur démarrera sans joueur.

Quel port Mirror utilise-t-il sur Edgegap ?

Tout ce sur quoi votre transport écoute. Le transport KCP de Mirror utilise par défaut le port 7777 sur UDP. Définissez le même port et le même protocole sur votre version d'application Edgegap, nommé gameport. Les joueurs se connectent au port externe qu'Edgegap attribue à chaque déploiement.

Ai-je besoin du plugin Edgegap pour héberger une partie Mirror ?

Non. Le plugin est le moyen le plus rapide de compiler, conteneuriser et déployer depuis l'éditeur Unity. Un agent de codage connecté au serveur MCP d'Edgegap, ou votre propre build Docker, fonctionne également.

Puis-je héberger un jeu Mirror WebGL sur Edgegap ?

Oui. Utilisez SimpleWebTransport, définissez le port de la version de l'application sur WS avec TLS Upgrade activé, et faites en sorte que les clients se connectent avec wss:// au nom d'hôte du déploiement. Edgegap gère le certificat. Utilisez Edgegap Unity SDK 3.5.5 ou une version plus récente (les versions antérieures ne compilent pas pour WebGL), ajoutez chaque origine qui dessert votre build à allowed_cors_origins dans la configuration du matchmaker, et désactivez les balises de latence (latency beacons) dans les clients WebGL.

Combien coûte l'hébergement d'un serveur de jeu Mirror ?

L'essai est gratuit, sans carte de crédit. Ensuite, Edge Cloud facture par vCPU et par minute uniquement lorsque les serveurs fonctionnent, de sorte qu'un serveur qui s'arrête à la fin de chaque match ne coûte rien entre les matchs.

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

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.

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,0261 $

/ 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,0261 $

/ 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,0261 $

/ 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 tarifs d'Edgegap : comparaison détaillée entre Edge Cloud et Private Fleets

Fonctionnalités et tarifs d'Edgegap : 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.