
netfox et Edgegap : hébergement de serveurs dédiés pour les jeux multijoueurs Godot

Edgegap est désormais une option d'hébergement officielle pour netfox, l'addon de netcode open source pour le moteur Godot créé par Fox’s Sake Studio. Les développeurs Godot utilisant netfox peuvent déployer le serveur faisant autorité de leur jeu sur l'orchestration de serveurs dédiés d'Edgegap, avec matchmaking facultatif, grâce à un guide d'intégration pas à pas.
La documentation de netfox inclut désormais Edgegap parmi ses options d'hébergement, aux côtés des propres services noray et nohub de Fox's Sake Studio.
« Ce qui me plaît vraiment chez Edgegap, c'est que la plateforme couvre à peu près tout ce dont vous pourriez avoir besoin pour faire fonctionner une expérience en ligne, et elle le fait à des prix très raisonnables. » Tamás Gálffy, cofondateur de Fox’s Sake Studio et créateur de netfox
Ce que Godot fournit nativement
Godot 4 intègre déjà les bases d'un serveur dédié. Depuis Godot 4.0, tout binaire Godot peut fonctionner avec l'argument --headless, de sorte qu'un build de serveur distinct n'est plus nécessaire comme c'était le cas dans Godot 3.x. Le mode Exporter en tant que serveur dédié permet également de retirer les textures et les matériaux du fichier PCK du serveur, préservant ainsi la petite taille des builds de serveur.
Côté réseau, l'API multijoueur de haut niveau de Godot offre aux développeurs des connexions ENet, des RPC, l'autorité de nœud, MultiplayerSpawner pour répliquer les nœuds générés, et MultiplayerSynchronizer pour maintenir les propriétés synchronisées.
Cela couvre l'envoi de l'état. Cela ne couvre pas la façon dont cet état est perçu sur une véritable connexion.
Ce que netfox apporte en plus
netfox comble le manque avec les techniques sur lesquelles reposent les jeux en ligne au rythme soutenu pour masquer la latence. Celles qui comptent le plus pour les serveurs dédiés :
Temps réseau cohérent : une boucle de tick partagée et synchronisée entre le serveur et les clients (
NetworkTime), afin que chaque machine simule les mêmes instants.Prédiction côté client et réconciliation côté serveur : le nœud
RollbackSynchronizerpermet à l'action d'un joueur d'avoir un impact immédiat tout en laissant le serveur faire autorité, en effectuant un rollback et une correction lorsque les prédictions sont erronées.Mouvement fluide :
TickInterpolatorinterpole entre les ticks réseau, évitant ainsi les saccades de mouvement lors de faibles tickrates.Tests dans de mauvaises conditions :
NetworkSimulator(dansnetfox.extras) ajoute une latence artificielle et de la perte de paquets pour les tests en local, le tout au sein de l'éditeur Godot. Il s'agit d'un simple paramètre de projet qui n'affecte que votre jeu, contrairement à Clumsy outc netem, qui s'appliquent à tout le trafic local. L'addon propose également des briques prêtes à l'emploi comme des classes d'entrées et des armes réseau.Connectivité hébergée par le joueur : l'addon
netfox.noraygère le franchissement de NAT avec relais de secours, pour les jeux permettant aux joueurs d'héberger les parties.
Fonctionnalité | Godot 4.3+ (intégré) | Avec netfox |
|---|---|---|
Serveur headless, export de serveur dédié | Oui | Oui (utilise celui de Godot) |
RPC, instanciation, synchronisation de propriétés | Oui | Oui (s'appuie sur celui de Godot) |
Tick réseau partagé / synchronisation temporelle | À la charge du développeur |
|
Prédiction côté client + réconciliation côté serveur (rollback) | À la charge du développeur |
|
Interpolation entre les ticks | À la charge du développeur |
|
Simulation de latence et de perte de paquets | À la charge du développeur |
|
Franchissement de NAT pour l'hébergement par le joueur | Non inclus |
|
En bref, Godot fournit le transport et la réplication. netfox fournit par-dessus la couche servant à masquer la latence. Pour comprendre pourquoi le rollback est essentiel, lisez le guide d'Edgegap sur le netcode rollback pour l'atténuation de la latence.
Où Edgegap intervient
La prédiction et la réconciliation de netfox supposent un serveur faisant autorité. Edgegap fait tourner ce serveur.
Edgegap déploie des serveurs de jeu conteneurisés à la demande dans plus de 615 emplacements, plaçant chaque partie au plus près de ses joueurs. Un temps d'aller-retour inférieur signifie moins de corrections à réconcilier pour netfox, ce qui se traduit pour les joueurs par moins d'effet élastique (« rubber-banding »). Cela signifie également moins de ticks à resimuler par le serveur à chaque rollback, donc moins de CPU par partie et potentiellement une facture d'hébergement plus réduite. Les studios utilisant Edgegap ont mesuré une réduction moyenne de la latence de 58 %. Un serveur se déploie à partir d'un démarrage à froid en un temps médian de 2 secondes.
Sur Edge Cloud, la facturation est basée sur l'utilisation, il n'y a donc pas de serveurs inactifs à payer entre les parties. Les studios souhaitant de la puissance de calcul réservée peuvent utiliser les Private Fleets, l'offre bare-metal réservée d'Edgegap sans frais de sortie de données, qui bascule automatiquement vers Edge Cloud lors des pics de trafic.
Le matchmaker d'Edgegap peut être ajouté pour regrouper les joueurs et lancer un serveur pour chaque match.
Comment commencer
Le guide d'intégration de netfox détaille l'ensemble du processus en utilisant l'exemple Forest Brawl de netfox :
Lancez le jeu en mode headless sur Godot 4.3+, le serveur détenant tous les nœuds d'état du jeu (noray n'est pas nécessaire, car les clients se connectent directement au serveur).
Conteneurisez le serveur à l'aide du plugin Godot d'Edgegap, ou laissez un agent de code s'en charger via le serveur MCP d'Edgegap.
Déployez un serveur de test et connectez deux clients.
Facultativement, ajoutez le matchmaking pour que deux joueurs cliquant sur « Trouver une partie » rejoignent le même serveur.
L'offre gratuite d'Edgegap ne nécessite aucune carte de crédit. Créez un compte gratuit, puis suivez le guide netfox ou rejoignez le serveur Discord d'Edgegap pour poser vos questions.
—
netfox est développé par Fox's Sake Studio et publié sous licence MIT. Documentation : foxssake.github.io/netfox.
Écrit par
Jakub Motyl (Produit) & Gabriel Parent (Directeur)






