Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

/

Epic Online Services

Epic Online Services

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

Epic Online Services : Comment démarrer des serveurs dédiés Edgegap depuis vos salons EOS

Epic Online Services : Comment démarrer des serveurs dédiés Edgegap depuis vos salons EOS

Ce guide vous montre comment conserver les salons Epic Online Services (EOS) dans votre jeu Unreal Engine et démarrer un serveur de jeu dédié Edgegap pour chaque match : lorsque le salon est prêt, votre backend déploie un serveur à proximité des joueurs, et le salon transmet son adresse à chaque membre.

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 complet à louer, approvisionner ou maintenir en fonctionnement entre les matchs. Pour les serveurs persistants avec capacité réservée, Edgegap propose des Private Fleets.

EOS regroupe les joueurs ; Edgegap héberge le match. Entre les deux se trouve un petit service sur votre backend, car le démarrage d'un serveur nécessite votre jeton d'API Edgegap, qui ne doit jamais se trouver dans un client de jeu.

Ce guide aborde les points suivants :

  1. Préparer une version fonctionnelle de l'application Edgegap pour votre jeu Unreal

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

  3. Configurer votre salon EOS

  4. Ajouter un service de déploiement à votre backend

  5. Demander un serveur lorsque le salon est prêt

  6. Partager le serveur avec le salon et terminer le match

  7. 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 compétences d'agent. L'agent rédige le service de déploiement ainsi que le code du salon, puis vérifie la version de votre application et vos déploiements. Vous gérez vos tableaux de bord EOS et Edgegap, les secrets et les tests de jeu.

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

Vous préférez un système de matchmaking hébergé sans backend à gérer ? Consultez Unreal Matchmaking.

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.

  • Une version fonctionnelle de l'application Edgegap de votre serveur de jeu Unreal : un serveur que vous avez déployé et rejoint au moins une fois. Votre backend déploie cette version pour chaque match, il a donc besoin d'un serveur de jeu conteneurisé et fonctionnel pour marcher de bout en bout. Si vous n'en avez pas encore, utilisez notre guide : Unreal Engine. Notez le nom de son application, le nom de sa version et le nom de son port (généralement gameport).

  • Des salons (lobbies) EOS dans votre jeu : un produit Epic Developer Portal avec l'interface Lobbies, ainsi que le SDK EOS ou le sous-système en ligne EOS d'Unreal dans votre projet.

  • Un backend que vous contrôlez, pour le service de déploiement : le backend existant de votre jeu ou une petite fonction serverless.

  • Un jeton d'API Edgegap, provenant de Tableau de bord → Paramètres utilisateur → Jetons, stocké dans le gestionnaire de secrets de votre backend. Il est valable à l'échelle de l'organisation, donc ne l'intégrez jamais dans votre client de jeu, votre serveur de jeu, les fichiers de votre projet 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 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 : emplacement du jeton, positionnement des serveurs à proximité des joueurs, webhooks, nouvelles tentatives et nettoyage.

Claude Code (exécutez-le 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 envoyant 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 pouvant pas envoyer l'en-tête, utilisez 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 et leurs versions, avec les ports de chaque version. »

3. Configurez votre salon EOS

Le lobby porte le match. Deux attributs de lobby suffisent : l'adresse du serveur et son port. Tout le reste demeure tel que votre jeu le gère déjà.

  • Les membres rejoignent comme aujourd'hui, via l'interface utilisateur de votre lobby ou l'Online Subsystem EOS d'Unreal.

  • Chaque joueur s'enregistre une fois auprès de votre backend lorsqu'il rejoint (par exemple lors de sa connexion), avec son ID d'utilisateur EOS. Votre backend enregistre l'IP publique qu'il détecte sur cette requête. Edgegap utilise ces adresses IP pour démarrer le serveur à proximité de tous les joueurs, et les joueurs n'ont jamais besoin de transmettre leur propre IP.

  • Ajoutez deux attributs de lobby, vides pour l'instant, par exemple ServerAddress et ServerPort. Seul le propriétaire du lobby peut les définir ; chaque membre est averti lorsqu'ils changent.

4. Ajoutez un service de déploiement à votre backend

Votre backend démarre le serveur avec un seul appel : POST https://api.edgegap.com/v2/deployments, avec l'en-tête Authorization: token <votre jeton API>, et un corps contenant :

  • application et version : votre application Edgegap et la version à exécuter, lues depuis votre configuration, jamais « la plus récente quelle qu'elle soit ».

  • users : l'adresse IP publique de chaque joueur, sous la forme {"user_type": "ip_address", "user_data": {"ip_address": "..."}}. Edgegap sélectionne l'emplacement offrant le meilleur ping pour l'ensemble du groupe.

  • tags : par exemple lobby-<id>, afin que vous puissiez retrouver le serveur ultérieurement.

  • webhook_on_ready (et webhook_on_error) : l'URL de votre backend, contenant un jeton impossible à deviner propre à chaque salon (lobby). Edgegap l'appelle avec les paramètres fqdn, public_ip et ports.gameport.external du serveur dès qu'il a démarré.

Edgegap répond 202 avec un request_id : enregistrez-le immédiatement avec le lobby. Il n'y a pas de clé d'idempotence, donc si l'appel a expiré, recherchez un déploiement avec le tag lobby-<id> avant de retenter un déploiement. Un code 422 signifie qu'aucun serveur n'a pu être alloué pour le moment : réessayez avec un délai d'attente exponentiel (backoff). Les webhooks ne sont pas renvoyés, donc si aucun n'arrive à temps, vérifiez GET https://api.edgegap.com/v1/status/<request_id> (au maximum 20 requêtes par seconde pour l'ensemble de votre organisation).

Avec votre agent :

« Charge la compétence edgegap-deployments-api et ajoute un service de déploiement Edgegap à mon backend : un endpoint que le propriétaire du lobby EOS appelle avec l'identifiant du lobby et les identifiants EOS des membres, qui vérifie que l'appelant est bien le propriétaire du lobby, recherche les adresses IP des membres, déploie la version de mon application avec POST /v2/deployments (tags, webhooks ready et error), stocke le request_id, et expose l'adresse et le port externe du serveur une fois prêt. Lis le jeton d'API depuis mon gestionnaire de secrets. Ajoute un nettoyage périodique qui arrête les déploiements orphelins par identifiant exact. »

Raccourci de prototype, pas pour la production : la documentation d'Edgegap montre également le propriétaire du salon appelant directement l'API depuis le jeu. Cela place votre jeton d'API à l'échelle de l'organisation à l'intérieur du build de votre jeu, où n'importe qui peut l'extraire. Ne l'utilisez que sur votre propre machine.

5. Demandez un serveur lorsque le salon est prêt

Lorsque le propriétaire du salon lance le match :

  1. Le jeu du propriétaire du salon appelle votre service de déploiement avec l'ID du salon et les ID EOS des membres, authentifié en tant que ce joueur (par exemple avec son jeton d'ID EOS).

  2. Votre service déploie le serveur et renvoie une réponse immédiatement. Le serveur met quelques secondes à démarrer.

  3. Le jeu du propriétaire du salon attend l'adresse : il interroge votre service toutes les quelques secondes, ou votre service l'avertit, jusqu'à ce que le webhook de disponibilité soit arrivé.

En attendant, affichez aux joueurs un état « démarrage du serveur », ainsi qu'une option de nouvelle tentative si votre service signale une erreur.

6. Partagez le serveur avec le salon et terminez la partie

  1. Le propriétaire du salon définit ServerAddress et ServerPort sur le salon. EOS en informe chaque membre.

  2. Chaque membre se connecte à cette adresse et à ce port (open <address>:<port>, ou ClientTravel). « Prêt » signifie que le conteneur a démarré ; le jeu peut nécessiter jusqu'à une minute de plus pour se charger, réessayez donc la connexion toutes les secondes pendant un moment.

  3. Lorsque le match se termine, le propriétaire du salon efface les deux attributs et les membres quittent le serveur. Le serveur arrête son propre déploiement : à la fin du match, il appelle l'ARBITRIUM_DELETE_URL qu'Edgegap attribue à chaque déploiement, avec ARBITRIUM_DELETE_TOKEN. Aucun jeton d'API n'est requis.

Revanche avec les mêmes joueurs ? Le propriétaire du salon demande un nouveau serveur et le processus recommence.

Votre service de déploiement arrête tout ce qui reste : un salon dissous avant le début du match ou un serveur qui ne s'est jamais arrêté. Arrêtez-les à l'aide de leur request_id exact (DELETE https://api.edgegap.com/v1/stop/<request_id> ; un code 410 signifie qu'il est déjà arrêté), jamais avec des filtres généraux.

7. Tester avec deux joueurs

  1. Assurez-vous qu'aucun déploiement de test n'est en cours d'exécution : le niveau gratuit n'exécute qu'un seul déploiement à la fois.

  2. Lancez deux clients, connectez-les tous les deux à EOS et rejoignez le même salon.

  3. Démarrez la partie en tant que propriétaire du salon. Votre service déploie le serveur ; dans le tableau de bord Edgegap, le déploiement apparaît étiqueté avec le salon, dans un emplacement près de chez vous.

  4. Les deux clients reçoivent la mise à jour du salon et se connectent au même serveur.

  5. Terminez la partie : les attributs s'effacent, le serveur s'arrête de lui-même et disparaît du tableau de bord.

Si le salon obtient une adresse mais que personne ne peut se connecter, le problème vient du serveur, pas du salon : déployez votre version manuellement et rejoignez-la avec open <address>:<port>.

É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 un matchmaker hébergé sans backend ? Consultez Unreal Matchmaking.

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 le lancement de serveurs dédiés Edgegap depuis les salons Epic Online Services.

Puis-je utiliser les salons Epic Online Services avec les serveurs dédiés Edgegap ?

Oui. Conservez vos salons EOS, et lorsque le propriétaire du salon lance le match, un petit service sur votre backend déploie un serveur Edgegap à proximité des joueurs. Le propriétaire du salon partage son adresse via les attributs du salon, et chaque membre s'y connecte.

Pourquoi ai-je besoin d'un backend pour démarrer des serveurs Edgegap à partir des salons EOS ?

Le démarrage d'un serveur nécessite votre jeton d'API Edgegap, qui donne accès à l'ensemble de votre organisation Edgegap. Dans un client de jeu, n'importe qui pourrait l'extraire. Un service backend le garde secret et peut vérifier qui en fait la demande.

Comment Edgegap choisit-il l'emplacement du serveur pour un salon EOS ?

À partir des adresses IP publiques des joueurs, que votre backend enregistre lorsque chaque joueur s'enregistre. Edgegap choisit l'emplacement avec le meilleur ping pour l'ensemble du groupe.

Comment arrêter le serveur Edgegap lorsque le match EOS se termine ?

Le serveur arrête son propre déploiement à l'aide de l'URL de suppression et du jeton qu'Edgegap injecte dans chaque déploiement, sans qu'aucun jeton d'API ne soit nécessaire. Votre backend arrête également les restes grâce à leur identifiant de requête exact.

Edgegap fonctionne-t-il avec EOS pour Unreal Engine ainsi que pour d'autres moteurs ?

Ce guide utilise Unreal Engine, mais le flux ne nécessite que les attributs de salon EOS et un backend qui appelle l'API d'Edgegap, de sorte qu'il fonctionne de la même manière avec le SDK EOS dans d'autres moteurs.

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.