
Ce guide vous montre comment ajouter des salons en ligne à la demande à un jeu multijoueur Unity qui fonctionne déjà sur les serveurs de jeu dédiés d'Edgegap, grâce au Server Browser d'Edgegap : chaque joueur réserve une place et se connecte automatiquement à un serveur prêt, sans que personne n'ait à saisir d'adresse.
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 matchs. Pour les serveurs persistants à capacité réservée, Edgegap propose les Private Fleets. Le Matchmaking d'Edgegap s'appuie sur cette base et est facultatif.
Le Server Browser est un service hébergé situé entre vos joueurs et vos serveurs. Les clients du jeu y réservent des places (1). Chaque serveur s'enregistre, signale ses places disponibles et reste visible grâce à un heartbeat (2). Les joueurs se connectent ensuite directement au serveur via votre netcode (3). Une politique de mise à l'échelle (scaling policy) démarre des serveurs afin de garantir qu'il y ait toujours de la capacité (4).

Ce guide couvre :
La préparation d'une version d'application Edgegap fonctionnelle pour votre jeu
La connexion de votre agent de programmation à Edgegap (facultatif)
L'installation du SDK Unity d'Edgegap
L'ajout du code d'intégration
L'ajout des scripts à votre scène
La création de votre Server Browser
Le déploiement de votre serveur avec une politique de mise à l'échelle
Le test avec deux joueurs
Vous pouvez procéder de deux manières, ou les combiner :
Avec un agent de programmation. N'importe quel assistant de programmation IA peut écrire le code d'intégration à partir des deux invites de l'étape 4. Connecté au serveur MCP Edgegap, il peut également compiler, pousser (push) et déployer votre serveur. 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.
Ici, nous utilisons l'exemple Billiards de Mirror. Tout netcode Unity fonctionne de la même manière.
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. Le Server Browser déploie et remplit ce serveur, il 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 :
Le plugin de l'outil de build de serveur de jeu d'Edgegap pour Unity, issu de ces guides, pour rebuilder votre serveur à l'étape 7.
Pour le chemin de l'agent : un jeton d'API Edgegap, 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 messagerie.
Git : Unity nécessite un client Git (2.14.0 ou supérieur) dans votre PATH pour installer des packages à partir d'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 et de lire les journaux sur votre compte. Les compétences d'agent d'Edgegap ne couvrent pas encore le Server Browser, le code d'intégration provient donc des deux invites de l'étape 4 ; les compétences aident tout de même pour la compilation et le déploiement.
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
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 plutôt le serveur local (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. »
Votre application et sa version devraient apparaître dans la liste.
3. Installez le SDK Unity d'Edgegap
Le Server Browser fait partie du SDK Unity d'Edgegap, un package distinct du plugin qui compile et déploie votre serveur.
Dans Unity, sélectionnez Window → Package Management → Package Manager, cliquez sur +, puis sur Add package from git URL, collez
https://github.com/edgegap/edgegap-unity-sdk.gitet sélectionnez Add.Dans l'onglet Samples du SDK, importez Server Browser - Auto-Assign. Cela ajoute deux scripts : un gestionnaire client qui réserve une place et transmet l'adresse du serveur à votre jeu, et un gestionnaire serveur qui enregistre votre serveur auprès du Server Browser et signale ses places libres.
Le SDK s'occupe de presque tout. Trois parties spécifiques au netcode vous incombent : les lignes qui connectent le joueur au serveur assigné, une courte initialisation (handshake) qui indique au serveur quel joueur l'a rejoint, et la libération de la place du joueur lorsqu'il quitte la partie. L'étape 4 les ajoute.
4. Ajoutez le code d'intégration
Deux invites (prompts) pour n'importe quel assistant de codage IA afin d'écrire ce code pour votre netcode. La vidéo ci-dessous les présente sur l'exemple Billiards de Mirror.
Invite 1, auditer votre projet (lecture seule) :
« Lecture seule, aucune modification de code. J'intègre l'Edgegap Server Browser (Auto-Assign) dans mon projet Unity : au moment de l'exécution, il fournit à mon client l'adresse d'un serveur réservé (un FQDN) et un port externe, et mon serveur doit confirmer chaque joueur à l'aide d'un ID de joueur. Trouvez et indiquez-moi, avec les chemins d'accès aux fichiers et les numéros de ligne : 1) la méthode qui démarre une connexion client, et les champs exacts où l'adresse du serveur et le port sont définis, ainsi que le transport utilisé ; 2) la manière dont mon netcode envoie un petit message personnalisé du client vers le serveur et enregistre un gestionnaire (handler) pour celui-ci sur le serveur ; 3) l'événement qui se déclenche sur le client lorsqu'il termine sa connexion, et s'il est réinitialisé au démarrage du client (pour savoir si je dois m'y abonner après le démarrage du client) ; 4) l'événement qui se déclenche sur le serveur lorsqu'un joueur se déconnecte, et comment il identifie la connexion. Examinez en premier lieu la classe de type NetworkManager et son transport. Confirmez chaque point par rapport au projet. »
Invite 2, écrire l'intégration :
« En vous basant sur l'audit, effectuez trois modifications pour l'intégration de l'Edgegap Server Browser Auto-Assign, sans créer de sous-classe ni remplacer le gestionnaire de mon netcode. 1) Créez un MonoBehaviour autonome EdgegapPlayerConnector dans Assets/Scripts/ (Instance statique, DontDestroyOnLoad) avec un petit message réseau transportant une chaîne playerId. Sur le serveur, enregistrez son gestionnaire dans Start() : stockez le mappage connexion-playerId et appelez ServerBrowserServerHandler.Instance.OnPlayerJoined(playerId). Exposez SubscribeClientConnected(), qui envoie ServerBrowserClientHandler.Instance.LocalPlayerId une fois le client connecté, pouvant être appelée en toute sécurité après le démarrage du client. 2) Dans le fichier d'exemple ServerBrowserClientHandler.cs, générez LocalPlayerId à l'exécution (un nouveau GUID) et utilisez-le dans la réservation de place ; lorsque les places sont réservées, définissez le FQDN assigné comme adresse réseau, convertissez le port externe dans le type attendu par mon transport et définissez-le, démarrez le client, puis appelez SubscribeClientConnected(). 3) Sur le serveur, abonnez-vous à l'événement de déconnexion identifié lors de l'audit ; recherchez le playerId de la connexion qui se déconnecte, appelez ServerBrowserServerHandler.Instance.OnPlayerAbandoned avec la signature lue dans le code source du SDK, et supprimez l'entrée. Prévoyez une protection contre les entrées manquantes et l'absence de gestionnaire. Renvoyez les fichiers complets. »


L'audit repère les particularités du netcode pour vous. Avec Mirror, par exemple, l'événement client-connected est réinitialisé au démarrage du client, de sorte que le connecteur s'abonne après le démarrage du client. Sans la libération des places, celles-ci restent bloquées et le serveur finit par signaler qu'il n'y a plus de places libres.
Voici notre tutoriel vidéo sur le Server Browser d'Edgegap pour Unity, utilisant l'exemple de billard de Mirror :
5. Ajoutez les scripts à votre scène
Dans Unity, un script ne fait rien tant qu'il n'est pas associé à un objet de jeu. Dans la scène de votre jeu, sélectionnez GameObject → Create Empty trois fois :
Edgegap Player Connector : ajoutez le script de connecteur créé par votre assistant.
Server Browser Server Handler : ajoutez le composant Server Browser Server Handler.
Server Browser Client Handler : ajoutez le composant Server Browser Client Handler.
Laissez les champs des gestionnaires vides pour le moment : ils proviennent de l'étape 6.
6. Créez votre navigateur de serveurs
Dans le tableau de bord Edgegap, ouvrez Server Browser et créez-en un, nommé par exemple
quickstart, avec la configuration Simple Example.Démarrez-le et attendez qu'il soit en ligne. Avec le niveau gratuit, il fonctionne pendant 3 heures sur un cluster de test partagé après chaque démarrage, ce qui est suffisant pour les tests.
Ouvrez ses détails et copiez l'API URL, le server token et le client token.
Dans Unity, collez l'URL de l'API et le server token dans le gestionnaire de serveur, ainsi que la même URL de l'API et le client token dans le gestionnaire de client. Échanger les jetons entraîne des erreurs de connexion. Enregistrez la scène.
Le jeton de serveur (server token) a tous les droits sur votre Server Browser, il ne doit donc se trouver que sur le serveur exécuté sur Edgegap, et jamais sur la machine d'un joueur. Le coller dans le composant simplifie ce test ; en production, définissez-le plutôt comme une variable sur la version de votre application, ce qui remplace la valeur de l'inspecteur et l'exclut de votre projet. Le jeton client (client token) permet uniquement de réserver des places et de lire les statuts.

En production, de nombreux studios demandent d'abord aux joueurs de se connecter à leurs propres services de joueurs, qui réservent ensuite la place pour eux.
7. Déployez votre serveur avec une stratégie de mise à l'échelle
Votre serveur lit désormais l'URL et le jeton du Server Browser, il nécessite donc une nouvelle version d'application : les builds antérieures ne les ont pas.
Compilez, conteneurisez et téléversez votre serveur avec le plugin d'Edgegap, exactement comme dans votre guide de serveur (ou utilisez Build from source pour exécuter les trois étapes à la fois). Avec votre agent : « Build the Linux server, push it with a new tag and create a new app version with the same port. »
Sur votre Server Browser, créez une politique de mise à l'échelle nommée
on-demand: Minimum Active Instances défini sur1, votre application et la nouvelle version, et Private Hosts vide afin qu'il se déploie sur le cloud d'Edgegap. Enregistrez-la comme active.En moins d'une minute, la politique déploie votre serveur. Ses journaux indiquent qu'il s'enregistre auprès du Server Browser, qu'il signale être en bon état et qu'il est détectable avec des places libres. Votre salon à la demande est en ligne.
Un minimum d'une instance active maintient un serveur en fonctionnement à tout moment, prêt pour les joueurs. N'oubliez pas qu'il est en cours d'exécution lorsque vous avez terminé vos tests : désactivez la politique pour l'arrêter.
8. Tester avec deux joueurs
Lancez deux joueurs avec le Multiplayer Play Mode de Unity, ou l'Éditeur plus un build.
Appuyez sur Play. Chaque joueur réserve une place, obtient l'adresse du serveur et se connecte, puis le serveur confirme chaque joueur et prend une place.
Les deux joueurs se retrouvent sur le même serveur cloud, les actions de chacun étant répliquées dans la fenêtre de l'autre.

Un serveur fraîchement attribué peut être encore en cours de démarrage pendant un court instant, donc pour la production, ajoutez une nouvelle tentative de connexion : deux ou trois essais, espacés de quelques secondes.
Laissez les joueurs choisir. Au-delà de l'attribution automatique, les joueurs peuvent rechercher et parcourir les serveurs par région, places libres, mode de jeu ou toute autre métadonnée signalée par votre serveur, et en choisir un. Les politiques de mise à l'échelle peuvent également maintenir des serveurs de réserve prêts pour les lancements, ou associer des serveurs à une Private Fleet en ajoutant ses identifiants d'hôte.
Vous préférez des règles strictes au choix des joueurs ? Consultez le Unity Matchmaking SDK. Sur Unreal Engine, le Server Browser fonctionne via le kit d'intégration Edgegap de Betide Studios.
Bloqué ? 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 navigateur de serveurs d'Edgegap à un jeu multijoueur Unity.
Qu'est-ce qu'un navigateur de serveurs dans un jeu multijoueur ?
Une liste de serveurs de jeu en direct que les joueurs peuvent rejoindre, avec leurs places libres et leurs paramètres tels que la région ou le mode de jeu. Le Server Browser d'Edgegap est un service hébergé : les serveurs s'enregistrent et indiquent leurs places, les joueurs réservent une place et se connectent, et les politiques de mise à l'échelle démarrent des serveurs selon les besoins.
Dois-je utiliser un navigateur de serveurs ou le matchmaking ?
Utilisez un navigateur de serveurs lorsque les joueurs doivent choisir un serveur ou rejoindre un salon en cours d'exécution, et le matchmaking lorsque vos règles doivent décider qui joue ensemble, comme le niveau de compétence ou l'équilibre des équipes. Edgegap propose les deux, et ils peuvent fonctionner ensemble : le matchmaking démarre les serveurs et le navigateur de serveurs les remplit.
Le navigateur de serveurs d'Edgegap fonctionne-t-il avec Mirror, Netcode for GameObjects et Fish-Networking ?
Oui. Le navigateur de serveurs ne dépend pas de votre netcode. Seules trois parties changent : la connexion à l'adresse et au port attribués, l'envoi de l'identifiant du joueur au serveur, et la libération de la place lorsque le joueur quitte.
Quelle est la différence entre le jeton serveur et le jeton client ?
Le jeton de serveur peut utiliser toutes les méthodes de Server Browser et n'a sa place que dans votre serveur de jeu, idéalement sous la forme d'une variable de version d'application. Le jeton client ne fait que réserver des places et lire le statut, pour les clients de jeu ou vos services de joueurs. Aucun des deux n'est votre jeton d'API Edgegap.
Combien coûte le Server Browser d'Edgegap ?
Les tests sont gratuits, sur un cluster partagé qui fonctionne pendant 3 heures après chaque démarrage. Les serveurs déployés par votre politique de mise à l'échelle sont facturés par vCPU et par minute lorsqu'ils sont en cours d'exécution ; ainsi, un minimum d'une instance active signifie qu'un serveur fonctionne en permanence.

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.

Un lancement mondial impeccable pour Rivals of Aether 2
Aether Studios
Découvrez comment Aether Studios a rapidement ajouté Edgegap et a offert un lancement et un post-lancement sans faille à sa communauté.
Case Study

Surmontez la latence introduite par l'utilisation de WiFi par la réalité virtuelle dans les jeux multijoueurs compétitifs.
Halfbrick Studios
Découvrez comment Halfbrick a réussi à lancer et à maintenir un accès anticipé axé sur le multijoueur sur la plateforme VR META Quest.
Case Study

L'application sociale de MENA ajoute des jeux en ligne
WOLF
Découvrez comment l'application sociale très populaire de la région MENA a facilement ajouté des jeux de matchmaking et d'orchestration multijoueur à WOLF Qanawat.
Case Study

L'orchestration hybride maintient Kickoff Tactics prêt pour tout type de trafic
Birch Games
Comment l'orchestration hybride d'Edgegap pour gérer tant le le trafic prévisible et imprévisible, grâce aux flottes "egress-free" et le cloud.
Case Study

Lunes de sang de 7 jours
The Fun Pimps & iLLOGIKA
Découvrez comment Illogika a considérablement réduit ses coûts de serveur et garanti l'expérience en ligne attendue par la franchise 7 Days to Die.
Case Study

La guerre en ligne authentique nécessite l'orchestration ultime
Highwire Games
Découvrez comment le besoin de performance de Highwire nécessite une orchestration que seul Edgegap peut fournir.
Case Study

22 000 avis, 4,8 étoiles et une infrastructure qui s'est adaptée automatiquement
Sinn Studios
Comment une intégration simple, prise en charge par Slack, a permis au titre VR à succès de Sinn Studio d'être mis en ligne rapidement et de s'y maintenir.
Case Study

Orchestration de Serveurs Dynamiques
Under NDA - AAA Studio
Découvrez comment l'un des plus grands studios AAA du monde a amélioré son expérience multijoueur pair à pair grâce à l'informatique en périphérie.
Case Study

Latence presque nulle pour un jeu de combat AAA
AAA Studio - Under NDA
Comment un projet non annoncé a permis d'obtenir le délai d'attente le plus bas possible et d'améliorer l'équité dans son jeu 1v1.
Case Study

Jouez aux dieux avec la physique multiplayer
Squido Studio
Découvrez comment Squido utilise les serveurs de jeu optimisés par Edgegap pour offrir un gameplay VR époustouflant et chaotique.
Case Study

Des solutions entièrement gérées qui font gagner du temps à un jeu VR
Dirty Pearl Studios
Découvrez comment Dirty Pearl Studios a gagné du temps de développement grâce à l'intégration facile d'Edgegap et à l'orchestration automatisée de son intégration avec Nakama.
Case Study

Déploiement instantané de serveurs globaux pour l'éducation médicale en XR
AlensiaXR
Comment AlensiaXR utilise Edgegap pour offrir des sessions d'anatomie partagées à faible latence et toujours disponibles aux étudiants en médecine du monde entier.
Case Study

The Lightkeepers : un jeu coopératif social en VR avec des serveurs dédiés
Spectral Games
Comment Spectral Games a utilisé Edgegap Matchmaking et Server Browser pour lancer des serveurs dédiés pour son salon social VR, sans aucune expérience préalable des serveurs.
Case Study

Déploiements rapides & fiables dans le monde pour le PvPvE Gravebound
Crater Studios
Comment l'orchestration et le matchmaking d'Edgegap ont aidé Crater Studios à se concentrer sur le gameplay plutôt que sur l'infrastructure.
Case Study

Échelle rapide du métavers web
Hiber
Découvrez comment Hiber a éliminé les incertitudes de sa planification de capacité serveur avec Edgegap.
Case Study

Exigences matérielles élevées et pools de serveurs de jeux personnalisés
Alderon Games
Découvrez comment Alderon Games utilise instantanément une pool personnalisée de serveurs de jeux à travers plusieurs fournisseurs dans le monde pour son MMO populaire.
Case Study

Intégration facile pour les développeurs indépendants
WhaleFood Games
Découvrez comment WhaleFood Games a "chassé" ses problèmes de netcode avec Edgegap.
Case Study

Une technologie qui propulse le premier jeu eSports de l'Asie du Sud-Est.
Anantarupa Studios
Découvrez comment Edgegap a transformé le paysage du jeu en Asie du Sud-Est en démocratisant des infrastructures complexes avec sa solution.
Case Study

Une frappe. Portée mondiale.
Triple Hill Interactive
Comment Triple Hill Interactive tire parti de l'orchestration d'Edgegap pour offrir une faible latence et améliorer l'équité dans un genre où chaque milliseconde compte.
Case Study

Un Battle Royale en équipe au rythme effréné... avec des peluches d'animaux armées jusqu'aux dents !
SANDYFLOOR
Découvrez comment un studio indépendant basé en Corée a lancé son jeu multijoueur dans le monde entier.
Case Study

Les courses de chevaux sur mobile disponible mondialement grâce à Edgegap.
Mirai Labs
Comment Mirai Labs propulse les courses multijoueurs mondiales de Pegaxy Blaze grâce au déploiement de serveurs juste-à-temps et au vCPU fractionné pour maintenir un coût bas.
Case Study

Gestion et distribution des serveurs
Matrioshka Games
Lisez comment Matrioshka Games a réussi à expédier un Battle Royale en accès anticipé avec des ressources limitées.
Case Study

À mon signal, déchaînez l'enfer !
TyGames
Découvrez comment le studio indépendant TyGames immerge les joueurs dans un combat multijoueur de gladiateurs à la troisième personne.
Case Study

Orchestration Instantanée Mondiale
Soliton Interactive
Découvrez comment Soliton Interactive a réalisé l'impossible… Livrer son premier jeu jouable en mode multijoueur !
Case Study

Le jeu de hockey avec une physique côté serveur & une latence sous les 50ms
NS7
Découvrez pourquoi seul Edgegap pourrait permettre à un studio indépendant de réaliser sa vision d'un gameplay sportif F2P de qualité AAA grâce à la physique côté serveur et à l'autorité.
Case Study

Déploiements régionaux pour les jeux en ligne
X1 Contra 1
X1 Contra 1 propose des jeux PvP décontractés en temps réel à sa base de joueurs brésilienne grâce à un hébergement économique et à des déploiements régionaux
Case Study

Payez uniquement lorsque les joueurs jouent : une infrastructure abordable
Meltdown Interactive
Comment Edgegap a aidé le développeur indépendant Meltdown Interactive Media à résoudre la mise à l’échelle rentable et le matchmaking sans complexité
Case Study

Une plateforme Edgegap, trois profils réseau très différents
Warped Games
Comment Warped Games gère un hub social, du coopératif en temps réel et du coopératif au tour par tour, le tout sur la même API de déploiement Edgegap et le même pipeline de conteneurs.
Case Study

Pool Live Tour Max
RETA Games
Case Study

Le tireur d'extraction POP Web3 de Corée devient mondial, instantanément
NDUS Entertainment
Comment XOCIETY a facilement ajouté l'orchestration Edgegap et intégré un matchmaking personnalisé en travaillant aux côtés des Edgegap Ping Beacons pour optimiser la latence.
Case Study

Multijoueur dans chaque dimension
Arcadia.tv
Découvrez comment Arcadia.tv utilise le réseau edge d'Edgegap pour offrir un sport VR innovant basé sur l'équipe et la localisation.
Case Study

Un jeu mobile F2P réduit ses coûts d'infrastructure grâce aux serveurs JIT
Game Changers Worldwide
Comment Game Changer Worldwide a hébergé le PvP 3v3 en temps réel de Rumble Rush à l'échelle mondiale sur mobile.
Case Study
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.









