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 à partir d'un simple appel d'API : aucun serveur à louer, à provisionner ou à maintenir en fonctionnement entre les parties. Le Matchmaking d'Edgegap s'appuie là-dessus et est facultatif.

Ce guide aborde :

  1. La préparation d'Unity, de votre compte Edgegap et d'un outil de conteneurisation

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

  3. La préparation de votre jeu Mirror pour les serveurs dédiés

  4. La création et la conteneurisation de votre serveur de jeu

  5. Le déploiement d'un serveur de test et la connexion à celui-ci

  6. L'ajout du matchmaking (facultatif)

  7. Le test de 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 d'Edgegap et à ses compétences d'agent. L'agent modifie votre projet, compile et conteneurise le serveur, le déploie et écrit le code de matchmaking. Vous gérez les clics dans Unity et le tableau de bord Edgegap, et effectuez les tests de jeu.

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

Pour compiler et conteneuriser le serveur, le plug-in d'outil de compilation de serveur de jeu automatisé d'Edgegap pour Unity est facultatif. Il compile votre serveur, le conteneurise et le déploie sur le cloud via des boutons dans l'éditeur Unity, ce qui constitue le moyen le plus rapide de 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à en tant que serveur dédié. Tout projet Mirror 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.

  • 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 casser les paquets de netcode, y compris Mirror, alors restez sur une version LTS pour tout ce que vous publiez.

    • Installez un client Git (2.14.0 ou plus récent) et ajoutez-le à votre PATH. Unity en a besoin pour installer des paquets à partir d'une URL Git, comme le plugin Edgegap.

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

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

  • 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 le placez jamais dans votre projet, votre client de jeu ou une discussion.

2. Connectez votre agent de codage à Edgegap

Ignorez cette étape si vous effectuez 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 matchmaker sur votre compte. Les compétences de l'agent lui apportent le flux de travail Unity éprouvé, les modèles C#, le Dockerfile ainsi que les pièges connus.

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

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, 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"] } } }. Le jeton sera demandé lors de la première utilisation.

Vérifiez que cela fonctionne :

« Liste mes applications Edgegap. »

Une liste vide est tout à fait normale. Une erreur relative au jeton signifie généralement que l'en-tête contient 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 manière autonome, écouter sur un port fixe et s'arrêter lorsque le match est terminé.

Avec votre agent :

« Charge la compétence edgegap-unity et prépare 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. Ajoute les scripts du cycle de vie du serveur Edgegap et du client de matchmaking avec l'adaptateur Mirror. Vérifie ensuite 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 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 le build de votre serveur Linux dans un conteneur. Utilisez l'une ou l'autre option, ou les deux : par exemple, le plugin pour votre premier déploiement et votre agent pour chaque build suivant.

Option A (facultative) : 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, uniquement à l'aide de boutons. Il utilise Docker pour conteneuriser votre serveur. La vidéo ci-dessous présente cette méthode.

  1. Dans Unity, sélectionnez Window → Package Manager, cliquez sur +, puis sur Add package from git URL, et collez https://github.com/edgegap/edgegap-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 est enregistré dans Builds/EdgegapServer/ServerBuild.

  4. Une fois Docker en cours d'exécution, sélectionnez Validate, puis Containerize with Docker. Si vous le souhaitez, sélectionnez 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 provenant de la page Container Registry, afin que ces identifiants ne figurent pas dans la discussion. Assurez-vous que les identifiants du registre sont configurés sur la version de l'application : sans eux, les déploiements échoueront avec le message « 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

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 30 secondes pour que je puisse tester seul. Enregistre-la sous matchmaker-config.json. »

Ensuite, dans le tableau de bord (cette étape n'a 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 :

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

Manuellement : suivez le guide de matchmaking Unity dans notre documentation.

Lorsque vous déployez une nouvelle version du serveur, mettez à jour application.version dans la configuration du matchmaker (Stop, Edit, Start), sinon les matchs continueront de déployer l'ancienne version.

7. Testez la boucle complète avec deux joueurs

  1. Make sure no test deployment is still running.

  2. Run two clients: the Editor plus a build, or two Multiplayer Play Mode players.

  3. Select Find Match in both. The status goes from searching to match found to host assigned, then both clients connect to the same server.

  4. Leave the match. The server logs that it's stopping, and the deployment disappears from the dashboard. That self-stop is what keeps your bill at zero when nobody plays.

On the free tier, the matchmaker stops 3 hours after each start (restart it from the dashboard), deployments stop after 60 minutes, and one deployment runs at a time.

Étapes suivantes

Étapes suivantes

Vous passez en production ? 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. Vous préférez les salons que les joueurs peuvent parcourir ? Consultez le Navigateur de serveurs pour 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 requise

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 fonctionner 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 via 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 le 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.

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

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.