Ce guide vous montre comment héberger un jeu multijoueur conçu sur votre propre moteur, ou un serveur de jeu écrit dans n'importe quel langage (C++, C#, Go, Rust, Java et plus encore), sur les serveurs de jeu dédiés d'Edgegap, puis ajouter le matchmaking afin que les joueurs soient regroupés et connectés automatiquement à 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 les Private Fleets. Le Matchmaking d'Edgegap repose sur cette base et est facultatif.
Edgegap ne nécessite aucun SDK ni aucun plugin de moteur. Si votre serveur s'exécute en mode headless dans un conteneur Linux, il s'exécute sur Edgegap : vous publiez une image, Edgegap en démarre une copie pour chaque match et fournit son adresse aux joueurs. Cette page couvre les quelques règles que votre serveur doit suivre pour s'adapter à ce modèle.
Ce guide couvre :
La préparation de votre serveur, de votre compte Edgegap et d'un outil de conteneurisation
La connexion de votre agent de codage à Edgegap (facultatif)
L'adaptation de votre serveur au cycle de vie d'Edgegap
La conteneurisation de celui-ci et la création d'une version de l'application
Le test en local, puis le déploiement d'un serveur de test
L'ajout du matchmaking (facultatif)
Le test de la boucle complète avec deux joueurs
Vous pouvez procéder de deux manières, ou les combiner :
Avec un agent de codage. Connectez Claude Code, Cursor ou un autre agent au serveur MCP Edgegap et à ses compétences d'agent. L'agent adapte votre serveur, écrit le Dockerfile, teste le conteneur, le déploie et génère la configuration du matchmaker. Vous gérez le tableau de bord Edgegap, les secrets et les sessions de test.
Manuellement. Chaque étape ci-dessous fonctionne également sans agent.
Vous développez avec Unity, Unreal Engine ou Godot ? Commencez plutôt par Unity Engine, Unreal Engine ou Godot Engine.
1. Avant de commencer
Un compte Edgegap gratuit. Vérifiez votre adresse e-mail. Aucune carte de crédit n'est requise pour tester.
Un serveur de jeu fonctionnant en mode sans tête (headless) sur Linux x86-64 : pas de fenêtre, pas de GPU, pas d'invites de commande interactives, configuré par des options de ligne de commande ou des variables d'environnement. Deux joueurs doivent pouvoir le rejoindre sur localhost.
Un serveur qui gère le jeu (serveur faisant autorité). Les clients envoient des commandes ; le serveur décide des positions, des touches et des scores. Un serveur qui ne fait que relayer ce que les clients prétendent n'est qu'un relais coûteux et facile à pirater.
Un outil de conteneurisation en cours d'exécution. Nous recommandons Docker Desktop.
Pour le parcours avec 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 serveur, votre client 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 créer des applications et des versions, de déployer des serveurs, de lire des logs et de générer des configurations de matchmaking sur votre compte. Les compétences de l'agent lui fournissent les règles indépendantes du moteur : edgegap-server-design pour le cycle de vie, edgegap-containerize pour l'image, edgegap-local-testing avant d'engager des dépenses.
Claude Code (à exécuter dans votre propre terminal, pour 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, 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"] } } }. 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. Adaptez votre serveur au cycle de vie d'Edgegap
Sur Edgegap, un déploiement correspond généralement à un match : il démarre pour un groupe de joueurs et s'arrête lorsque leur match se termine. Votre serveur suit six règles :
Liez un port fixe sur
0.0.0.0, par exemple 7777/UDP. Edgegap attribue aux joueurs un port externe aléatoire pour chaque déploiement et le mappe au vôtre. Lier127.0.0.1, ou un port aléatoire, fonctionne sur votre machine mais reste inaccessible sur Edgegap.Lisez la configuration à partir des variables d'environnement. Edgegap les injecte dans chaque déploiement :
ARBITRIUM_REQUEST_ID(l'ID du déploiement ; consignez-le dans les logs),ARBITRIUM_PORT_GAMEPORT_INTERNALet_EXTERNAL,ARBITRIUM_PUBLIC_IP, et sur les déploiements de matchmakerMM_MATCH_IDetMM_TICKET_IDS(les personnes associées). Vos propres paramètres sont définis sur la version de l'application ou sur le déploiement.Consignez une ligne claire dans les logs dès que vous acceptez des joueurs, par exemple
READY port=7777, sur stdout. Les logs vont sur stdout et stderr, jamais uniquement dans des fichiers.Arrêtez-vous vous-même à la fin du match, ou après environ 30 secondes sans personne de connecté : faites un
DELETEsurARBITRIUM_DELETE_URLavec l'en-têteAuthorization: <ARBITRIUM_DELETE_TOKEN>. Un serveur inactif continue d'être facturé jusqu'à sa durée maximale.Gérez le SIGTERM : sauvegardez les résultats sur votre backend, informez les joueurs, quittez en quelques secondes.
Plafonnez votre tick rate ou votre fréquence d'images. Une boucle sans interface graphique (headless) qui s'exécute sans limite consomme un cœur de processeur entier. 20 à 30 Hz conviennent à la plupart des jeux d'action, 60 Hz pour les jeux de tir rapides.
Votre serveur ne détient jamais le jeton d'API Edgegap : l'auto-arrêt dispose de son propre jeton par déploiement.
Avec votre agent :
« Charge la compétence edgegap-server-design et adapte mon serveur de jeu pour Edgegap : lie 0.0.0.0 sur un port fixe, lis les variables d'environnement ARBITRIUM_ et MM_, consigne READY lorsqu'il accepte des joueurs, effectue un auto-arrêt avec ARBITRIUM_DELETE_URL à la fin du match ou après 30 secondes d'inactivité, vide les connexions lors d'un SIGTERM et plafonne le tick rate. Vérifie ensuite que cela fonctionne toujours avec deux clients locaux. »
4. Conteneurisez votre serveur et créez une version de l'application
Edgegap exécute des conteneurs linux/amd64. Créez votre serveur en dehors de Docker, ou dans une étape de build pour les langages compilés, puis copiez uniquement le serveur dans une image allégée (slim) :
Lancez-le en tant que processus principal du conteneur, sous forme exec :
ENTRYPOINT ["./my-server"]. Un script shell placé en amont intercepterait le signal SIGTERM ; si vous devez en utiliser un, terminez-le parexec ./my-server "$@".Compilez pour la plateforme d'Edgegap, même sur Apple Silicon :
docker build --platform linux/amd64 -t registry.edgegap.com/<project>/<image>:<tag> .Aucun secret dans l'image, et n'affichez jamais les variables d'environnement au démarrage : cela inclurait le jeton d'arrêt automatique (self-stop token) dans vos journaux.
Poussez vers l'Edgegap Container Registry : exécutez vous-même
docker login registry.edgegap.comavec le nom d'utilisateur et le jeton issus de la page Container Registry, puisdocker push. Utilisez un nouveau tag pour chaque build, jamaislatest. Docker Hub, GHCR, ECR, GCP et les registres GitLab fonctionnent également.
Créez ensuite l'application et sa version dans le tableau de bord : votre image et son tag, les identifiants du registre (sans eux, les déploiements échouent avec l'erreur « Unable to pull image from registry »), 1 vCPU et 2 Go pour commencer, votre port avec son protocole nommé gameport, et la politique de redémarrage Never.
Avec votre agent :
« Charge la compétence edgegap-containerize. Rédige un Dockerfile multi-stage pour mon serveur pour linux/amd64, compile et pousse l'image avec un nouveau tag, puis crée l'application Edgegap et la version d'application avec mon port et mon protocole, nommé gameport, et la politique de redémarrage never. »
5. Testez localement, puis déployez un serveur de test
D'abord localement, avec les variables qu'Edgegap définirait : docker run --rm -p 7777:7777/udp -e ARBITRIUM_PORT_GAMEPORT_INTERNAL=7777 <image>:<tag>. Connectez un client à 127.0.0.1:7777, puis arrêtez le conteneur avec docker stop et vérifiez que votre serveur se ferme proprement.
Ensuite sur Edgegap. Déployez votre version depuis le tableau de bord (Deploy, choisissez un emplacement proche de vous), ou demandez à votre agent : « Déploie ma dernière version 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, connectez un client à son Host URL (ou IP) et son External Port. Le port externe change à chaque déploiement. « Ready » signifie que le conteneur a démarré ; votre serveur peut avoir besoin de quelques secondes supplémentaires pour se charger, laissez donc les clients réessayer pendant une minute au maximum.
Arrêtez le déploiement lorsque vous avez terminé. L'offre gratuite exécute un seul déploiement à la fois.
6. Ajouter le matchmaking
Le matchmaker d'Edgegap est un service hébergé : votre client envoie un ticket, le matchmaker regroupe les joueurs selon vos règles (taille du match, équipes, latence, niveau, mode), déploie votre serveur à proximité d'eux et renvoie son adresse à chaque client. Rien à lier : il s'agit d'une API HTTP.
Rédigez la configuration : votre application et sa version, le nombre de joueurs par match, et une règle permettant à un joueur seul d'obtenir un serveur après 30 secondes pendant vos tests. Votre agent peut la générer : « Générer une configuration de matchmaker Edgegap pour la version de mon application : une équipe de 2 à 4 joueurs, un joueur seul obtient un serveur après 30 secondes. »
Dans le tableau de bord, ouvrez Matchmaker, sélectionnez Create Matchmaker, téléversez le fichier et sélectionnez Create and Start. Copiez l'API URL et l'Auth Token. L'Auth Token peut être intégré en toute sécurité dans votre client de jeu.
Depuis votre client, créez un ticket avec l'URL de l'API et le jeton d'authentification, puis vérifiez son statut jusqu'à ce qu'il passe de SEARCHING à MATCH_FOUND puis à HOST_ASSIGNED, avec l'adresse et le port du serveur. Connectez-vous.
Votre serveur identifie les personnes associées dans MM_TICKET_IDS. Consultez la documentation du matchmaking pour l'API complète.
Vous disposez déjà de votre propre service de matchmaker ou de lobby ? Votre backend peut démarrer des serveurs lui-même avec l'API de déploiement d'Edgegap : consultez Nakama, PlayFab ou les lobbies Steam pour le modèle.
7. Testez la boucle complète avec deux joueurs
Assurez-vous qu'aucun déploiement de test n'est toujours en cours d'exécution.
Lancez deux clients et démarrez le matchmaking sur les deux.
Les deux atteignent HOST_ASSIGNED avec le même serveur, et se connectent.
Quittez la partie. Le serveur consigne dans ses journaux qu'il s'arrête, et le déploiement disparaît du tableau de bord. Cet arrêt automatique est ce qui permet de maintenir votre facture à zéro lorsque personne ne joue.
Avec l'offre gratuite, 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 après 60 minutes, et un seul déploiement s'exécute à la fois.
Des serveurs qui doivent survivre à un match, tels que des mondes persistants ? Consultez les Private Fleets.
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.
Bloqué ? Demandez à votre agent de charger edgegap-troubleshoot, ou posez vos questions à notre équipe et à d'autres studios sur le Discord d'Edgegap.
Questions Fréquemment Posées
Questions fréquentes sur l'hébergement d'un serveur de jeu avec moteur personnalisé sur les serveurs dédiés d'Edgegap.
Puis-je héberger un serveur de jeu issu de mon propre moteur sur Edgegap ?
Oui. Tout serveur qui s'exécute en mode headless dans un conteneur Linux x86-64 fonctionne : C++, C#, Go, Rust, Java, Node.js ou n'importe quoi d'autre. Edgegap n'a besoin d'aucun SDK ou plugin ; vous poussez une image et Edgegap exécute une copie pour chaque match.
De quoi mon serveur de jeu a-t-il besoin pour fonctionner sur Edgegap ?
Écouter sur 0.0.0.0 sur un port fixe, lire ses paramètres à partir des variables d'environnement, enregistrer dans stdout, gérer SIGTERM et arrêter son propre déploiement lorsque le match se termine. Edgegap mappe un port externe aléatoire sur le vôtre pour les joueurs.
Ai-je besoin de Docker pour utiliser Edgegap ?
Edgegap exécute des images de conteneur, votre serveur en a donc besoin d'une. Docker est le moyen habituel de la créer, et les compétences de notre agent rédigent le Dockerfile pour vous. Tout outil qui crée une image linux/amd64 fonctionne.
Comment un serveur de jeu s'arrête-t-il sur Edgegap ?
Il envoie une requête DELETE à la variable d'environnement ARBITRIUM_DELETE_URL, avec ARBITRIUM_DELETE_TOKEN comme en-tête d'autorisation. Les deux sont injectés dans chaque déploiement, de sorte que le serveur n'a jamais besoin de votre jeton d'API.
Puis-je utiliser mon propre système de matchmaking avec Edgegap ?
Oui. Votre backend peut démarrer des serveurs avec l'API de déploiement d'Edgegap, en plaçant chacun d'eux à proximité des joueurs. Vous pouvez également utiliser le matchmaker hébergé d'Edgegap, une API HTTP que votre client appelle directement.

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.









