Migration d'hôte dans des jeux multijoueurs peer-to-peer ou basés sur un relais

« La migration de l'hôte a échoué » est une vue malheureusement courante dans les jeux multijoueurs peer-to-peer ou basés sur des relais, le problème étant suffisamment répandu pour que « Comment réparer la migration de l'hôte dans Warframe » soit en tendance sur Google Search, de même pour le FPS shooter le plus populaire au monde - « Migration de l'hôte de Call of Duty ».

En termes simples, la migration de l'hôte est une base sous-jacente du réseautage peer-to-peer (P2P) ou des relais, car l'un des joueurs dans une partie doit obligatoirement agir en tant qu'« hôte » dans un jeu multijoueur. Si ce joueur quitte, un autre joueur doit devenir le serveur (ou « hôte »), sinon le jeu se termine et tous les joueurs sont expulsés.

Cet article explorera ce qu'est la migration de l'hôte, pourquoi c'est un défi pour le développement des jeux multijoueurs, et les solutions disponibles pour les développeurs de jeux. 

Qu'est-ce que la migration de l'hôte dans les jeux multijoueurs ?

Comme mentionné, la migration de l'hôte se produit lorsque un joueur agissant comme hôte d'une session de jeu multijoueur quitte, obligeant le jeu à réassigner le rôle d'hôte à un autre joueur sans perturber la session.

Maintenant, intégrer la migration de l'hôte devrait être simple, mais en pratique, c'est un défi technique important, surtout dans les jeux peer-to-peer (P2P).

Dans le réseautage P2P, l'un des joueurs agit en tant qu'hôte, gérant la logique du jeu et les communications pour tous les joueurs connectés. Si cet hôte quitte le jeu, la session s'effondre à moins qu'un nouvel hôte ne soit nommé. La transition de cette responsabilité, tout en maintenant la stabilité du jeu, est appelée migration de l'hôte. Aussi simple que ce processus puisse sembler, il peut être un cauchemar pour les développeurs et une mauvaise expérience pour les joueurs.

Pourquoi la migration de l'hôte est-elle un obstacle pour le réseautage P2P ?

Comme l'a mentionné Michal Buras, Responsable Réseau chez Highwire Games lors de Six Days in Fallujah durant une conférence au LSGS à Londres, il s'agit d'un problème majeur du réseautage basé sur le peer-to-peer, car « si le joueur qui héberge le jeu sort, tout le monde est déconnecté. C'est un problème fondamental que vous devez résoudre car cela tue littéralement la session de jeu de bout en bout. » Ce problème n'est pas uniquement théorique ; les joueurs peuvent faire face à des déconnexions abruptes, ce qui est un obstacle pour tout jeu multijoueur commercial.

La migration de l'hôte pose plusieurs problèmes pour les développeurs de jeux, notamment :

  1. Déconnexions imprévisibles : Lorsque l'hôte quitte, les joueurs peuvent subir des déconnexions temporaires ou permanentes, entraînant de la frustration.

  2. Complexité accrue du développement : La mise en œuvre de la migration de l'hôte nécessite un effort considérable. Cela peut nécessiter une refonte complète du code réseau d'un jeu et son intégration avec des solutions tierces.

  3. Coûts de bande passante et problèmes de latence : Même lorsque la migration fonctionne, elle entraîne souvent une surcharge de bande passante réseau. Cela est particulièrement problématique pour les jeux rapides où toute latence peut ruiner l'expérience utilisateur.

Pourquoi les développeurs de jeux utilisent-ils alors le P2P ?

Maintenant, il est bon de savoir pourquoi les développeurs de jeux utilisent le réseautage peer-to-peer (P2P) en premier lieu. Le P2P a été un choix populaire pour les développeurs de jeux multijoueurs, en particulier dans les premières étapes de développement ou pour des projets plus petits. Les principales raisons sont :

  • Rentabilité : Le réseautage P2P élimine le besoin d'une infrastructure serveur coûteuse. Les joueurs eux-mêmes hébergent les sessions de jeu, réduisant ainsi les coûts opérationnels initiaux.

  • Simplicité pour les petits jeux : Pour les jeux plus simples avec moins de joueurs, le P2P peut être plus facile à mettre en œuvre et à gérer, car il ne nécessite pas de configurations serveurs complexes.

Pour plus de détails, consultez notre article sur le P2P – intitulé « Qu'est-ce que le réseautage peer-to-peer pour les jeux multijoueurs ? ».

Quel est le coût d'ajout de la migration de l'hôte ?

Passons maintenant au sujet principal : quel est le coût d'ajout de la migration de l'hôte ?

Comme l'a mentionné Michal durant la conférence au LSGS à Londres, le coût en temps et en ressources de développement est énorme – « [dans Unreal Engine], l'ensemble du projet nécessitait une refonte complète pour que toutes les fonctionnalités le supportent. [En d'autres termes], chaque petite fonctionnalité, chaque blueprint réalisé par un designer devait être retravaillé, et il n'y a pas de solution miracle pour mettre en œuvre la migration de l'hôte, à moins que votre moteur ne la supporte nativement, mais cela viendra avec un coût en bande passante réseau. »

Pour Tripwire, c'était « trop de risque en gestion de projet pour trop peu de gain par rapport à d'autres alternatives. En somme, même si le coût initial des relais [peer-to-peer] était bon marché, la solution de migration de l'hôte que vous devez construire devient extrêmement coûteuse. Pas si bon marché après tout. »

En d'autres termes, les économies initiales réalisées grâce à une solution P2P ou par relais s'évaporent rapidement lorsque l'on prend en compte les heures d'ingénierie nécessaires pour construire et maintenir un système de migration de l'hôte fiable.

Pourquoi les serveurs autoritaires sont-ils la solution idéale pour les jeux multijoueurs commerciaux ?

Étant donné les défis associés à la migration de l'hôte dans les systèmes P2P, de plus en plus de développeurs se tournent vers des serveurs autoritaires. Ce sont des serveurs centraux qui gèrent toute la logique du jeu, assurant stabilité, équité et un gameplay ininterrompu.

Les serveurs autoritaires éliminent complètement le besoin de migration de l'hôte puisque le serveur — plutôt qu'un joueur — héberge la session de jeu. Aucun joueur ne quittant ou ne se déconnectant ne perturbera le jeu. Cette approche garantit une expérience fluide pour les joueurs et simplifie le processus de développement.

De plus, des services comme Edgegap vont encore plus loin en orchestrant ces serveurs autoritaires de manière dynamique à des coûts minimes. En distribuant les sessions de jeu sur des serveurs géographiquement optimisés, ils réduisent la latence et garantissent une expérience utilisateur encore meilleure. Ils gèrent également la gestion complexe de l'infrastructure, laissant aux développeurs la liberté de se concentrer sur la création de leurs jeux et non sur l'infrastructure de leurs jeux.

Conclusion

La migration de l'hôte est un défi critique dans le développement des jeux multijoueurs, en particulier pour les jeux reposant sur le réseautage P2P ou des relais.

Bien que ces modèles puissent sembler moins coûteux au départ, la complexité et les coûts associés à la construction d'un système de migration de l'hôte fiable peuvent rapidement surpasser les économies initiales.

Les serveurs autoritaires, combinés avec des services d'orchestration comme Edgegap, offrent une alternative meilleure et plus fiable, fournissant aux développeurs les outils pour créer des expériences multijoueurs stables, à faible latence et fluides. En fin de compte, éviter les problèmes de migration de l'hôte peut faire la différence entre le succès ou l'échec d'un jeu.

---

Pour plus d'informations sur la comparaison entre le réseautage peer-to-peer, les relais et les serveurs autoritaires (souvent appelés serveurs dédiés), consultez notre analyse dédiée sur notre blog. 

---

Les informations ci-dessus proviennent d'une présentation faite par Michal Buras, développeur senior chez Highwire Games, lors de la conférence Live Service Game Summit.

Une version complète de cette conférence peut être trouvée ici : Peer-to-Peer, Relays & Container Instances : Une analyse approfondie des ressources de développement, des performances, des problèmes de sécurité pour les jeux multijoueurs

Écrit par

l'équipe Edgegap

Sources et/ou collaboration de contenu avec

Michal Buras, Ingénieur Réseaux Principal chez Highwire Games