Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

Migration d'hôte

La migration d'hôte est le transfert des fonctions d'hôte à un autre joueur lorsque l'hôte actuel d'un match en peer-to-peer se déconnecte. Lorsqu'elle est bien menée, le match s'interrompt brièvement puis reprend. Si elle est mal faite, ou pas du tout, tout le monde perd la session. C'est l'un des modes de défaillance que les serveurs dédiés visent à éviter.

Par

Par

Par

Philip Coté

Philip Coté

Philip Coté

,

Directeur de la technologie (CTO)

Directeur de la technologie (CTO)

Directeur de la technologie (CTO)

Publié

Publié

Publié

Pourquoi la migration d'hôte se produit-elle sans arrêt ?

Dans de nombreux jeux multijoueurs, le jeu de l'un des joueurs fait office de serveur, un serveur d'écoute (listen server), et tous les autres s'y connectent, souvent par le biais d'un relais. Ce joueur est l'hôte. Sa machine détient l'état du jeu, décide de ce qui s'y passe et gère la connexion de tous les autres joueurs.

« Si le joueur qui héberge la partie quitte, tout le monde est déconnecté. C'est un problème fondamental qu'il faut résoudre, car cela tue littéralement la session de jeu de bout en bout. »

Michal Buras, Highwire Games, Live Service Game Summit, septembre 2024

La migration d'hôte existe pour sauver la partie lorsque cela se produit, et cela arrive souvent, car l'hôte est un joueur ordinaire. Les hôtes quittent, plantent, perdent leur connexion Wi-Fi ou mettent leur console en veille, et beaucoup ignorent qu'ils hébergeaient la partie. Sur Six Days in Fallujah, Buras a constaté que des joueurs « quittaient le jeu de manière aléatoire parce que notre jeu est difficile », et que « peut-être ils ne savaient pas qu'ils étaient hôtes ». Plus le jeu est difficile et plus il y a d'inconnus dans la partie, plus un hôte est susceptible de partir.

Les relais ne changent rien à cela. Ils masquent les adresses IP et facilitent les connexions via le NAT, mais l'hôte reste un joueur, ce que Buras a qualifié de « défi fondamental » de toutes les options de relais qu'il a évaluées.

Qu'est-ce qui doit être déplacé lorsque l'hôte s'en va ?

Une migration a trois tâches à accomplir, alors que l'ancien hôte est déjà parti :

  1. Choisir un nouvel hôte, généralement le joueur restant ayant la meilleure connexion.

  2. Reconstruire la partie sur cette machine. Le nouvel hôte a besoin d'une copie complète et à jour de l'état du jeu. L'IA ennemie, la physique et les récompenses n'existent souvent que sur l'hôte, de sorte qu'un jeu doit conserver à l'avance des copies sur les machines des autres joueurs.

  3. Reconnecter tout le monde au nouvel hôte, en passant à nouveau par la configuration de la connexion.

Lorsqu'une étape échoue, les joueurs signalent le symptôme plutôt que l'étape :

Ce que les joueurs signalent

L'étape qui a échoué

Bloqué sur "migration d'hôte en cours"

Reconnexion au nouvel hôte

Perte de butin ou de progression

Reconstruction de l'état qui n'existait que sur l'ancien hôte

Renvoyé au menu ou au hub

La migration dans son ensemble

Warframe montre clairement la deuxième ligne. Son wiki officiel note que les ressources, les mods et l'affinité récupérés au cours d'une mission "seront perdus en cas d'échec de la migration d'hôte car ces récompenses sont déterminées côté client" (Wiki Warframe).

Combien coûte la création d'une migration d'hôte ?

Garder une copie de la partie prête sur chaque machine susceptible de devenir l'hôte touche presque tous les systèmes d'un jeu. Buras a ajouté une migration d'hôte de base à Six Days in Fallujah avec le pilote réseau d'Unreal Engine :

« L'ensemble du projet a nécessité une refactorisation complète pour que toutes les fonctionnalités puissent le prendre en charge. Désormais, chaque petite fonctionnalité, chaque blueprint conçu par les concepteurs devait être retravaillé. »

Les moteurs et les bibliothèques peuvent aider, avec un coût qu'il a également mentionné : il n'y a « pas de solution miracle pour implémenter la migration d'hôte, à moins que votre moteur ne la prenne en charge nativement, mais cela s'accompagnera d'un coût en bande passante réseau ». L'état dont chaque hôte potentiel a besoin doit continuer à lui parvenir.

La facture est continue, car chaque nouvelle fonctionnalité doit survivre à une migration et être testée pour cela. L'estimation de Highwire était d'un développeur et d'un testeur supplémentaires, « environ 15 000 dollars » par mois, « et cela ne fera que croître par la suite » (conférence Live Service Game Summit, septembre 2024).

« Soit vous embauchez du personnel supplémentaire, soit vous repoussez la date de sortie de votre projet. Dans les deux cas, vous brûlez de l'argent. »

Comment éviter totalement la migration d'hôte ?

Retirez l'hôte des machines des joueurs. Un serveur ne subit pas de déconnexion de rage, ne se met pas en veille et ne perd pas sa connexion Wi-Fi, il n'y a donc rien à migrer. Buras est parvenu à la même conclusion du côté du relais : dès qu'un relais exécute la logique de jeu, « ce n'est plus un serveur relais. Cela devient une forme de serveur dédié. »

Cela laisse deux possibilités :

  • Un véritable serveur dédié exécute la simulation faisant autorité pour chaque match. C'est l'option la plus solide en matière d'équité et de résistance à la triche, mais elle représente le plus grand travail pour un jeu conçu en mode hôte-client.

  • Un serveur dédié de type relais est un petit serveur, ou un serveur multi-salles exécutant plusieurs matchs dans un seul processus, qui reprend le rôle de l'hôte avec un minimum de ressources : un coût proche de celui d'un relais, avec les performances, la couverture et la sécurité d'un serveur dédié. Pour un jeu hôte-client, c'est souvent la voie la plus courte, car la logique de l'hôte peut généralement être exécutée sous forme de build sans tête (headless).

Bloody Bastards, un jeu mobile, est passé d'un système peer-to-peer basé sur la confiance de l'hôte à des serveurs faisant autorité sans tête, avec un « dimensionnement fractionné des vCPU » lui permettant de faire fonctionner « des serveurs dédiés plus petits et correctement dimensionnés » (étude de cas, Tibith Ltd, 2026).

Un mot de notre sponsor (nous-mêmes !)

La majeure partie du lag provient de la distance, non du code. L'Edge Cloud d'Edgegap est un réseau distribué disposant de plus de 615 emplacements disponibles sur demande, garantissant que chaque partie se déroule au meilleur endroit possible pour ses joueurs. Des tests indépendants sur le trafic d'un studio en direct ont mesuré une baisse de 58 % du temps de trajet aller-retour moyen par rapport au cloud public.

L'avis d'Edgegap (ce n'est que notre opinion, à prendre avec des pincettes !)

Payez pour la stabilité, pas pour la migration

La migration d'hôte sauve un match d'un problème créé par l'architecture elle-même : la machine d'un joueur hébergeant la session. L'argent dépensé pour cela maintient ce problème dans le jeu.

Buras l'a estimé à environ 15 000 $ par mois en personnel, et ce chiffre est en hausse. Au tarif public d'Edge Cloud de 0,00115 $ par vCPU et par minute (données de la plateforme, 18 septembre 2026), cela correspond environ à la puissance de calcul de 217 000 matchs de trente minutes sur un serveur à 2 vCPUs, avant les frais de sortie (egress). Un serveur de type relais sur une fraction de vCPU, ou exécutant plusieurs matchs par processus, permet d'aller encore plus loin.

Nous partons donc du joueur : chaque match sur un serveur dédié, complet ou de type relais, dimensionné selon ce que l'hôte faisait réellement. Pour l'estimer pour votre jeu, utilisez le calculateur de prix avec la durée réelle de vos matchs, le nombre de joueurs et les ressources.

-

-

-

Philip Coté

Philip Coté

Philip Coté

,

Directeur de la technologie (CTO)

Directeur de la technologie (CTO)

Directeur de la technologie (CTO)

Questions Fréquemment Posées

Pourquoi certains jeux utilisent-ils encore la migration d'hôte ?

Est-ce que Unity, Unreal et Godot prennent en charge la migration d'hôte ?

Est-ce qu'un lobby Steam gère la migration d'hôte ?

Les serveurs dédiés ont-ils besoin d'une migration d'hôte ?

Intégrer Edgegap facilement en quelques minutes

Commencez l'intégration maintenant!

Commencez l'intégration maintenant!