Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

/

netfox

/

netfox

Déployer sur Edgegap

Publié

Publié

Publié

netfox : Comment intégrer et héberger des serveurs dédiés, et ajouter le Matchmaking à votre jeu multijoueur Godot

netfox : Comment intégrer et héberger des serveurs dédiés, et ajouter le Matchmaking à votre jeu multijoueur Godot

Ce guide vous montre comment héberger un jeu Godot conçu avec netfox sur les serveurs de jeu dédiés d'Edgegap, puis ajouter le matchmaking pour 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 à travers le monde sur plus de 615 emplacements Edge Cloud (à la demande) à partir d'un simple appel d'API et facturé exclusivement à l'utilisation : aucun serveur entier à louer, à provisionner ou à laisser tourner entre les parties. Pour les serveurs persistants à capacité réservée, Edgegap propose les Private Fleets. Le Matchmaking d'Edgegap s'appuie là-dessus et reste optionnel.

netfox est un ensemble d'extensions pour Godot 4 qui apporte ce dont les jeux au rythme effréné ont besoin en plus du multijoueur intégré de Godot : temps réseau partagé, prédiction côté client avec réconciliation serveur, rollback et interpolation fluide. Il suit la propre logique d'appartenance des nœuds de Godot, de sorte que le serveur détient l'état du jeu. Vous débutez avec le multijoueur de Godot ? Consultez Godot Engine pour découvrir ce que Godot inclut nativement.

Ce guide couvre :

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

  2. La connexion de votre agent de codage à Edgegap (optionnel)

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

  4. La compilation 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 (optionnel)

  7. Le test de la boucle complète avec deux joueurs

Vous pouvez procéder de deux manières différentes, 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 (skills). L'agent modifie votre projet, compile et conteneurise le serveur, puis le déploie. Vous gérez les clics dans Godot et le tableau de bord Edgegap, et effectuez les tests de jeu. Les compétences d'Edgegap couvrent Godot via leurs guides de serveur et de conteneur indépendants du moteur ; aucune compétence dédiée à Godot ou netfox n'est encore publiée.

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

Pour la compilation et la conteneurisation du serveur, le plugin d'hébergement de serveurs de jeu pour Godot d'Edgegap est optionnel. Il compile votre serveur, le conteneurise et le déploie dans le cloud directement depuis l'éditeur Godot, ce qui représente le moyen le plus rapide de voir votre serveur en ligne pour la première fois (étape 4, Option A).

Ici, nous utilisons Forest Brawl, l'exemple de jeu de netfox, un party brawler où les joueurs s'éjectent mutuellement hors de la carte. N'importe quel projet netfox fonctionne de la même manière.

netfox

x

Edgegap

Entièrement approuvé par

Entièrement approuvé par

Créateur de netfox

Créateur de netfox

« Ce qui me plaît vraiment chez Edgegap, c'est que la plateforme couvre pratiquement tout ce dont vous pourriez avoir besoin pour gérer une expérience en ligne, et ce, à des tarifs très raisonnables. »

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.

  • Godot 4.3 ou une version plus récente.

  • netfox dans votre projet. Obtenez-le depuis l'AssetLib de Godot (recherchez netfox), la page des versions ou la source, puis activez les extensions sous Projet → Paramètres du projet → Extensions. Installez également netfox.extras si vous utilisez ses assistants d'entrée ou d'armes. Chaque version inclut aussi Forest Brawl.

  • 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 la méthode avec agent : un jeton d'API Edgegap, accessible depuis le Tableau de bord → Paramètres utilisateur → Jetons. Il s'applique à toute l'organisation, traitez-le donc comme un mot de passe : ne l'insérez jamais dans votre projet, votre client de jeu ou une messagerie instantanée.

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 les journaux et de générer des configurations de matchmaker ainsi que des Dockerfiles sur votre compte. Les compétences de l'agent lui confèrent les règles de conception de serveur d'Edgegap, la configuration des conteneurs, la routine de test local et les pièges connus.

Claude Code : installez le plugin Edgegap. Il ajoute à la fois le serveur MCP et les compétences, et vous demande votre jeton d'API lors de l'installation (stocké dans le gestionnaire d'identifiants de votre système) :

/plugin marketplace add edgegap/llm-agent-skills, puis /plugin install edgegap@edgegap. Redémarrez la session.

Vous souhaitez uniquement le serveur MCP, sans le plugin ? Exécutez plutôt ceci dans votre propre terminal : claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp -H "Authorization: token YOUR_EDGEGAP_API_TOKEN" --scope user. Ne faites pas les deux, sinon vous aurez deux serveurs edgegap.

Cursor, VS Code et les 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/llm-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 demandera le jeton lors de la première utilisation.

Vérifiez que cela fonctionne :

« Liste mes applications Edgegap. »

Une liste vide convient parfaitement. Une erreur concernant le jeton signifie généralement que l'en-tête affiche token token ....

3. Préparez votre serveur netfox pour l'hébergement dédié

Sur Edgegap, aucun joueur n'héberge la partie. Un serveur dédié 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 la partie est terminée.

Avec votre agent :

« Chargez la compétence edgegap-server-design et préparez ce projet Godot netfox pour un serveur dédié : un serveur headless qui démarre de manière autonome avec ENet sur 0.0.0.0:7777, gère chaque nœud contenant l'état du jeu, fait apparaître les joueurs lors de la connexion des clients et arrête son propre déploiement Edgegap à la fin de la partie. Suivez docs.edgegap.com/godot ainsi que la documentation de netfox. Vérifiez ensuite que cela fonctionne en local avec un serveur et deux clients. »

Manuellement :

  • Amorçage (Bootstrap). Ajoutez un script qui lance le serveur dans les builds serveur (headless, ou avec un argument --server), avec l'API multijoueur de Godot et ENet écoutant sur toutes les interfaces sur le port 7777/UDP. La documentation Godot d'Edgegap contient un script d'amorçage pour Forest Brawl.

  • Propriété (Ownership). netfox considère le propriétaire d'un nœud comme son serveur. Laissez le serveur propriétaire de chaque nœud conservant l'état du jeu ; chaque joueur ne possède que ses propres entrées (inputs).

  • Fréquence de rafraîchissement (Tickrate). netfox exécute sa propre boucle réseau de ticks (Paramètres du projet → netfox → Time → Tickrate). Le tickrate du serveur fait référence : configurez la manière dont les clients gèrent une non-concordance (avertir, déconnecter, ajuster ou signaler) et maintenez-le dans les limites de ce que le vCPU du serveur peut exécuter.

  • Rollback. Synchronisez chaque propriété utilisée par votre _rollback_tick() et appliquez la même logique sur le serveur et sur les clients, sinon les mouvements risquent de subir des retours en arrière brusques (snapping).

  • noray n'est pas nécessaire. netfox.noray connecte les joueurs qui hébergent eux-mêmes leurs parties. Sur Edgegap, les clients se connectent directement au serveur dédié.

  • Lorsque la partie se termine, faites en sorte que le serveur arrête son déploiement : envoyez une requête DELETE à l'adresse ARBITRIUM_DELETE_URL injectée par Edgegap, en utilisant ARBITRIUM_DELETE_TOKEN comme en-tête Authorization.

Forest Brawl

Forest Brawl se trouve dans le dossier examples/forest-brawl de netfox et dans chaque version de netfox. Ajoutez à sa scène principale le script d'amorçage pour Forest Brawl disponible dans la documentation Godot d'Edgegap, et le jeu s'exécutera en tant que serveur dédié.

Testez d'abord en local : une instance faisant office de serveur, deux en tant que clients, sur 127.0.0.1. Ne conteneurisez pas un jeu qui ne fonctionne pas sur localhost.

4. Construisez et conteneurisez votre serveur

Edgegap exécute votre build de 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 d'hébergement de serveur de jeu d'Edgegap pour Godot. Le moyen le plus rapide pour un premier déploiement dans le cloud, directement depuis l'éditeur Godot. Il utilise Docker pour conteneuriser votre serveur. La vidéo ci-dessous illustre ce processus avec Forest Brawl.

  1. Dans Godot, ouvrez l'onglet AssetLib, recherchez Edgegap, puis cliquez sur Télécharger et Installer. Vous pouvez également copier le plugin depuis GitHub dans le dossier addons de votre projet.

  2. Activez-le sous Projet → Paramètres du projet → Plugins. Un onglet Edgegap apparaît à côté de l'Inspecteur.

  3. Sélectionnez Obtenir un jeton, connectez-vous, puis collez le jeton dans le plugin.

  4. Validez les modèles d'exportation, ajoutez le script d'amorçage de l'étape 3 et sélectionnez Créer le serveur.

  5. Une fois Docker lancé, sélectionnez Valider Docker, puis Conteneuriser avec Docker. Facultativement, cliquez sur Déployer le conteneur local et connectez-y un client.

  6. Sélectionnez Téléverser l'image et créer une version de l'application. Dans le tableau de bord, définissez le port sur 7777, UDP, nommé gameport. Validez.

Option B : demandez à votre agent.

« Charge la compétence edgegap-containerize. Exporte le serveur dédié Godot pour Linux, génère un Dockerfile avec edgegap_generate_dockerfile, compile-le pour linux/amd64, pousse-le vers mon registre de conteneurs Edgegap avec un nouveau tag, puis crée l'application et la version de l'application avec le port 7777 UDP nommé gameport et la politique de redémarrage Never. »

L'agent vous demande d'exécuter docker login registry.edgegap.com vous-même, avec le nom d'utilisateur et le jeton de la page Container Registry, afin que ces identifiants ne restent 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 l'erreur « Impossible de récupérer l'image du registre ».

Utilisez un nouveau tag d'image pour chaque build, jamais latest.

Voici notre tutoriel vidéo pour le plugin d'Edgegap pour Godot, utilisant Forest Brawl de netfox :

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 convient :

  • 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 vous et déployez.

  • Depuis votre agent : « Déploie ma dernière version Edgegap près de chez moi, attends qu'elle soit prête, montre-moi les logs et donne-moi l'adresse et le port externe. »

Lorsque le déploiement est Ready, copiez son Host et son External Port, renseignez-les dans les paramètres de connexion de votre client, et rejoignez avec deux clients. Le port externe change à chaque déploiement, vérifiez-le donc à chaque fois. Le serveur peut prendre jusqu'à une minute après être Ready pour accepter les joueurs. Si les mouvements saccadent ou se téléportent uniquement en ligne, vérifiez les notes sur le tickrate et le rollback à l'étape 3.

Arrêtez le déploiement lorsque vous avez terminé (depuis le plugin, le tableau de bord ou votre agent). L'offre gratuite n'exécute qu'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 à 8 joueurs, et permet à un joueur seul d'obtenir un serveur après 20 secondes afin que je puisse tester seul. Enregistre-le sous le nom 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 :

« Écris un client de matchmaking Godot avec HTTPRequest : crée un ticket avec l'URL de l'API du matchmaker et l'Auth Token, interroge-le jusqu'à ce qu'un serveur soit attribué, puis connecte-toi à l'hôte et au port assignés. Relie-le à mon bouton Play, puis recompile et pousse le serveur, crée une nouvelle version de l'application et dis-moi quoi mettre à jour dans le matchmaker. »

Les compétences d'Edgegap n'intègrent pas encore de client de matchmaking Godot, l'agent l'écrit donc à partir de l'API de tickets du matchmaker, en quelques requêtes HTTP.

Manuellement : suivez la documentation sur le matchmaking.

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. Assurez-vous qu'aucun déploiement de test n'est toujours en cours d'exécution.

  2. Lancez deux clients : deux builds exportés, ou l'éditeur plus un build.

  3. Sélectionnez Find Match dans les deux. Les deux clients obtiennent le même serveur et s'y connectent.

  4. Quittez la partie. Le serveur arrête son propre déploiement, et il disparaît du tableau de bord. Cet arrêt automatique est ce qui maintient 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.

Étapes suivantes

Étapes suivantes

Nouveau dans le multijoueur Godot ? Consultez Godot Engine pour savoir ce que Godot inclut nativement. Configuration de Godot sur Edgegap : Documentation Godot.

Vous passez en production ? Demandez à votre agent d'exécuter la liste de contrôle de la compétence edgegap-launch : déploiement des versions, politique de redémarrage, durée maximale, contrôle des coûts.

Bloqué ? Demandez à votre agent de charger edgegap-troubleshoot, ou demandez à notre équipe et à d'autres studios sur le Discord Edgegap.

Questions Fréquemment Posées

Questions fréquentes sur l'hébergement d'un jeu netfox pour Godot sur les serveurs dédiés d'Edgegap, avec ou sans matchmaking.

Est-ce que netfox prend en charge les serveurs dédiés ?

Oui. netfox prend en charge les jeux client-serveur et suit la propriété des nœuds de Godot, de sorte qu'un serveur Godot sans interface graphique (headless) possédant l'état du jeu fait autorité. Démarrez-le depuis un script d'amorçage avec ENet sur un port fixe.

Ai-je besoin de noray pour héberger un jeu netfox sur Edgegap ?

Non. netfox.noray aide les joueurs à se connecter aux parties hébergées par d'autres joueurs. Sur Edgegap, les clients se connectent directement à l'hôte et au port externe du serveur dédié.

Est-ce que netfox remplace le multijoueur intégré de Godot ?

Non, cela s'appuie dessus. Vous connectez toujours les pairs avec l'API multijoueur de Godot, généralement ENet. netfox ajoute par-dessus un temps réseau partagé, de la prédiction avec réconciliation, du rollback et de l'interpolation.

Quel port un serveur netfox utilise-t-il sur Edgegap ?

Quel que soit le port sur lequel votre serveur ENet écoute : le plugin Godot et la documentation d'Edgegap utilisent par défaut le port 7777 sur UDP. Définissez le même port sur la version de votre application Edgegap, nommé gameport. Les joueurs se connectent au port externe qu'Edgegap attribue à chaque déploiement.

Combien coûte l'hébergement d'un serveur de jeu netfox ?

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

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.

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,0261 $

/ 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,0261 $

/ 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,0261 $

/ 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 tarifs d'Edgegap : comparaison détaillée entre Edge Cloud et Private Fleets

Fonctionnalités et tarifs d'Edgegap : 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.