Ce guide vous montre comment conserver Nakama de Heroic Labs pour vos comptes, vos fonctionnalités sociales et le matchmaking, et démarrer un serveur de jeu dédié Edgegap pour chaque partie : lorsque le matchmaker de Nakama regroupe des joueurs, Nakama déploie un serveur à proximité d'eux et envoie 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, 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.
Nakama et Edgegap se connectent via le plugin Nakama Fleet Manager d'Edgegap, une intégration vérifiée et co-maintenue avec Heroic Labs. Il s'exécute au sein de votre serveur Nakama, de sorte que votre jeton d'API Edgegap reste sur votre backend et n'atteint jamais un client de jeu.
Ce guide aborde les points suivants :
Préparer une version fonctionnelle de l'application Edgegap et un serveur Nakama
Connecter votre agent de programmation à Edgegap (facultatif)
Ajouter l'Edgegap Fleet Manager à Nakama
Le configurer
Signaler l'état du serveur de jeu à Nakama
Démarrer un serveur lorsque le matchmaker de Nakama trouve une partie
Tester 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 agent skills. L'agent rédige le module Nakama ainsi que les appels du serveur de jeu, et vérifie la version de votre application et vos déploiements. Vous gérez vos tableaux de bord Nakama et Edgegap, les secrets et les tests de jeu.
Manuellement. Chaque étape ci-dessous fonctionne également sans agent.
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. Nakama déploie cette version pour chaque match, il a donc besoin d'un serveur de jeu conteneurisé et fonctionnel pour fonctionner de bout en bout. Si vous n'en avez pas encore, utilisez nos guides : Unity Engine, Unreal Engine, Godot Engine ou Custom Engine. Notez le nom de son application, le nom de sa version et le nom de son port (généralement
gameport).Un serveur Nakama auquel vous pouvez ajouter un module d'exécution Go : auto-hébergé avec Docker, ou sur Heroic Cloud.
Un jeton d'API Edgegap, depuis Tableau de bord → Paramètres utilisateur → Jetons. Il s'intègre uniquement dans la configuration de votre serveur Nakama. Il s'applique à l'ensemble de l'organisation, donc ne le mettez jamais dans votre client de jeu, votre serveur de jeu, vos fichiers de projet ou un chat.
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 testées pour les backends qui démarrent des serveurs Edgegap, Nakama inclus.
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 plutôt le serveur local (Node 18+) : { "mcpServers": { "edgegap": { "command": "npx", "args": ["-y", "@edgegap/mcp"] } } }. Il demande 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. »
3. Ajouter Edgegap Fleet Manager à Nakama
Le plugin implémente le Fleet Manager de Nakama : Nakama lui demande un serveur, et il en déploie un sur Edgegap tout en assurant son suivi dans le stockage de Nakama.
Nakama auto-hébergé : ajoutez le paquet Go à votre module runtime avec go get github.com/edgegap/nakama-edgegap, puis enregistrez-le dans le InitModule de votre module :
fleetmanager.NewEdgegapFleetManager(ctx, logger, db, nk, initializer), puisinitializer.RegisterFleetManager(efm).initializer.RegisterAfterAuthenticateCustom(fleetmanager.OnAuthenticateUpdateCustom): stocke l'adresse IP publique de chaque joueur lors de sa connexion, afin qu'Edgegap puisse positionner le serveur à proximité de l'ensemble du groupe.initializer.RegisterMatchmakerMatched(...): votre rappel (callback) pour l'étape 6.
Pour un test local, le dépôt inclut un docker-compose.yml et un Dockerfile : docker compose up --build -d.
Heroic Cloud : créez un Builder à partir du dépôt nakama-edgegap (ou de votre fork contenant le code de votre propre module).
Avec votre agent :
« Charge la compétence edgegap-deployments-api. Ajoute github.com/edgegap/nakama-edgegap à mon module Go Nakama : enregistre le Fleet Manager d'Edgegap, le hook after-authenticate qui stocke les adresses IP des joueurs, ainsi qu'un rappel matchmaker-matched qui crée une instance Edgegap pour les utilisateurs appariés et les notifie. Lis chaque paramètre à partir des variables d'environnement. »
4. Configurer le gestionnaire de flotte
Définissez ces variables d'environnement sur votre serveur Nakama (sur Heroic Cloud, dans la configuration de votre instance) :
EDGEGAP_API_URL:https://api.edgegap.comEDGEGAP_API_TOKEN: votre jeton d'API, y compris son préfixetoken. Conservez-le dans votre gestionnaire de secrets.EDGEGAP_APPLICATION: le nom de votre application Edgegap.INITIAL_EDGEGAP_VERSION: la version de l'application à déployer, utilisée jusqu'à ce que vous en définissiez une autre.EDGEGAP_PORT_NAME: le port auquel les joueurs se connectent, généralementgameport.NAKAMA_ACCESS_URL: l'adresse publiquehttps://de votre serveur Nakama, que les serveurs de jeu rappellent.
Facultatif : EDGEGAP_POLLING_INTERVAL (15 minutes par défaut), NAKAMA_CLEANUP_INTERVAL (1 minute) et NAKAMA_RESERVATION_MAX_DURATION (30 secondes). Laissez les deux workers d'arrière-plan actifs en production.
Déployez un nouveau build de serveur sans redémarrer Nakama : appelez le RPC de serveur à serveur update_edgegap_version avec {"version": "..."}, à l'aide de votre clé HTTP Nakama. Il vérifie d'abord que la version existe sur Edgegap. Les clients de jeu ne peuvent pas l'appeler.
5. Signalez l'état du serveur de jeu à Nakama
Nakama suit chaque serveur qu'il démarre : s'il est prêt, qui est connecté et combien de places sont libres. Votre serveur de jeu le lui indique à l'aide de trois variables d'environnement que le plugin injecte dans chaque déploiement :
NAKAMA_INSTANCE_EVENT_URL: envoyezREADYdès que le serveur accepte des joueurs,ERRORs'il ne peut pas démarrer la partie, etSTOPlorsque la partie se termine. SurSTOP, Nakama arrête le déploiement Edgegap.NAKAMA_CONNECTION_EVENT_URL: envoyez la liste complète des identifiants des utilisateurs connectés, regroupés par lots environ toutes les 5 secondes.NAKAMA_INSTANCE_METADATA: les détails du match avec lesquels Nakama a créé le serveur, au format JSON.
Unity : le Plugin Nakama Edgegap Server pour Unity effectue ces appels pour vous. Autres moteurs : trois petits appels HTTP depuis le code de votre serveur.
Avec votre agent :
« Dans mon serveur de jeu, lire NAKAMA_INSTANCE_EVENT_URL, NAKAMA_CONNECTION_EVENT_URL et NAKAMA_INSTANCE_METADATA. Envoyer READY avec l'ID d'instance dès que le serveur est à l'écoute, envoyer les ID d'utilisateurs connectés toutes les 5 secondes, et envoyer STOP lorsque le match se termine. »
6. Démarrer un serveur lorsque Nakama trouve une partie
Les joueurs rejoignent le matchmaker de Nakama depuis votre client de jeu, comme ils le font aujourd'hui (
AddMatchmakerdans les SDK clients de Nakama).Lorsque Nakama les regroupe, votre rappel matchmaker-matched collecte les identifiants des utilisateurs associés et appelle la fonction
Createdu Fleet Manager avec la taille du match et ces utilisateurs.Le Fleet Manager déploie la version de votre application à proximité des joueurs et attend le statut
READYdu serveur.Chaque joueur reçoit une notification Nakama avec pour objet
connection-info:IpAddress,DnsName,PortetInstanceId. Le client se connecte à cette adresse et à ce port. Si le serveur ne peut pas démarrer, les joueurs reçoivent à la placecreate-timeoutoucreate-failed: renvoyez-les dans la file d'attente.
Vous souhaitez que les joueurs rejoignent des serveurs déjà en cours d'exécution ? Le plugin propose également des exemples de RPC : instance_list (par exemple, les serveurs ayant au moins une place libre) et instance_join. Utilisez le matchmaker de Nakama pour la production, et ceux-ci pour les tests ou un navigateur de serveurs.
7. Tester avec deux joueurs
Assurez-vous qu'aucun déploiement de test n'est toujours en cours d'exécution : l'offre gratuite n'exécute qu'un seul déploiement à la fois.
Connectez deux clients à Nakama et rejoignez le matchmaker avec les deux.
Dans le tableau de bord Edgegap, un déploiement de votre version apparaît dans un emplacement proche de chez vous.
Les deux clients reçoivent
connection-infoet se connectent au même serveur.Terminez la partie : le serveur envoie
STOP, Nakama arrête le déploiement et celui-ci disparaît du tableau de bord.
Si les joueurs obtiennent une adresse mais ne peuvent pas se connecter, le problème vient du serveur et non de Nakama : déployez votre version manuellement depuis le tableau de bord et rejoignez-la directement.
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. Pas encore de backend ? Le matchmaker hébergé d'Edgegap n'a besoin d'aucun code pour fonctionner.
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'hébergement des parties Nakama sur les serveurs dédiés d'Edgegap.
Nakama peut-il démarrer des serveurs de jeu dédiés ?
Oui. Le Fleet Manager de Nakama lui permet de demander un serveur pour chaque match. Le plugin Nakama d'Edgegap l'implémente : lorsque le matchmaker de Nakama regroupe des joueurs, il déploie un serveur Edgegap à proximité d'eux et envoie l'adresse à chaque joueur.
Le plugin Edgegap Nakama fonctionne-t-il sur Heroic Cloud ?
Oui. Créez un Builder à partir du dépôt nakama-edgegap, ou à partir de votre fork avec votre propre code de module, et définissez les variables d'environnement du plugin sur votre instance. Il fonctionne également sur Nakama auto-hébergé avec Docker.
Où dois-je renseigner mon jeton d'API Edgegap avec Nakama ?
Uniquement dans la configuration de votre serveur Nakama, sous EDGEGAP_API_TOKEN. Les clients de jeu et les serveurs de jeu ne le détiennent jamais : les serveurs de jeu signalent leur état à Nakama via les URL de rappel que le plugin injecte.
Comment les joueurs obtiennent-ils l'adresse du serveur depuis Nakama ?
Lorsque le serveur est prêt, Nakama envoie à chaque joueur mis en correspondance une notification d'informations de connexion contenant l'adresse IP, le nom d'hôte, le port et l'identifiant d'instance du serveur. Le client s'y connecte directement.
Quels moteurs de jeu fonctionnent avec Nakama et Edgegap ?
Tout moteur dont le serveur s'exécute dans un conteneur Linux : Unity, Unreal Engine, Godot ou le vôtre. Le plugin Unity d'Edgegap effectue les appels Nakama côté serveur à votre place ; les autres moteurs effectuent trois petits appels HTTP.

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.









