Arrêtez de tuer des jeux – Liste de vérification pour la préservation des jeux multijoueurs

Le mouvement "Stop Killing Games" a avancé, par le biais d'actions législatives dans certains lieux, le désir des joueurs de préserver les jeux. Les jeux multijoueurs (et les jeux en ligne) représentent un énorme défi à préserver car, au-delà des actifs et du moteur de jeu hébergés localement, ils dépendent de composants maintenus en ligne par des services cloud, ainsi que de licences pour des produits et services avec support contractuel à durée limitée. Ces fournisseurs de cloud et ces licences (indépendamment du type de matériel, qu'il s'agisse de calcul en cloud, métal nu, etc.) doivent être payés. 

Cet article fournit une ventilation et une liste de contrôle des composants potentiels à examiner lors de la préparation à la préservation et examine comment les services de calcul cloud juste-à-temps peuvent permettre aux joueurs de payer économiquement pour l'infrastructure une fois qu'un jeu entre dans le mode de préservation "coucher de soleil". 

Ventilation des composants de jeu multijoueur 

Bien que l'infrastructure de chaque jeu multijoueur soit unique, elle se divise en les catégories principales suivantes: 

  • Moteur de jeu: Les moteurs de jeu comme Unreal Engine 5 et Unity alimentent les jeux eux-mêmes. Les développeurs ne peuvent généralement pas redistribuer les modifications du moteur ou les composants open-source du moteur en raison de restrictions de licence (bien que les conditions varient selon le moteur). 

  • Services de jeu - Données des joueurs: Chaque personnage, objet et élément de progression est stocké dans une base de données hébergée sur le cloud avec mise à l'échelle automatique, sauvegardes et disponibilité mondiale. 

  • Services de jeu – Fonctionnalités sociales et authentification: Authentification multiplateforme, chat en jeu et modération, recherche et gestion de sessions, groupes, réalisations, rapports de jeu, et plus encore. Ceux-ci sont généralement gérés par des entreprises de services de jeu, des services gratuits (avec limites d'utilisation) comme Epic Online Services à des plateformes payantes. 

  • Services de jeu - Validation des achats en jeu: Pour les jeux avec économie, qu'il s'agisse d'argent réel ou de monnaie de jeu, la validation des achats est essentielle pour garantir la validité d'un achat tant pour le joueur que pour le jeu. Cette création fonctionne en tandem avec un prestataire de services prenant en charge le paiement.

  • Logique liée aux serveurs: Les systèmes critiques comme l'authentification ou la recherche et la création de serveurs doivent fonctionner dans un environnement sécurisé et de confiance avant que les joueurs ne se connectent au monde du jeu. Ces fonctions légères sont désormais gérées par des fonctions cloud sans serveur liées aux fournisseurs de cloud. 

  • Matchmaking & Salles d'attente: Soit par "salles de navigateur" qui interroge tous les serveurs disponibles et les liste pour les utilisateurs, soit par matchmaking actif qui regroupe sans effort les joueurs et déploie des serveurs de jeu. 

  • Hébergement de serveur de jeu: Une fois que les joueurs sont regroupés, ils rejoignent un serveur de jeu déployé en ligne par un fournisseur (indépendamment du matériel, qu'il s'agisse de calcul en cloud, métal nu, ou de serveurs sur site). Au-delà du serveur de jeu lui-même, il se connecte à des plateformes permettant l'évolutivité des serveurs de jeu, la prise de décision sur l'emplacement de déploiement, la sécurité (protections DDoS), et bien plus encore. 

Tous ces composants sont construits sur des plateformes et services spécifiques sélectionnés par les développeurs pour leur utilisation prévue. Ce n'est pas comme l'architecture client-serveur plus simple des jeux plus anciens; c'est une toile complexe de services interconnectés. 

Préservation des jeux multijoueurs – Liste de contrôle et solutions 

Il existe deux types de composants : ceux dont les produits/fonctionnalités peuvent être hébergés par les joueurs, et ceux qui ne devraient pas être hébergés par les joueurs car cela introduirait des problèmes de sécurité où l'hôte pourrait accéder aux informations des joueurs comme les adresses IP ou envoyer des données malveillantes. 

Dans tous les cas, toute l'infrastructure de backend devrait être modifiée pour garantir qu'elle est résiliente et offre la possibilité de changer de services. Plus facile à dire qu'à faire, mais faisable. Sinon, s'assurer que certains aspects non critiques du backend tels que les services de jeu (voix, chat, réalisations, etc.) peuvent être mis hors service est le strict minimum. 

Composants hébergeables par les joueurs 

  • Jeu: Les développeurs de jeux doivent fournir un client final pour les joueurs, permettant aux joueurs d'exécuter le jeu et de se connecter à de nouvelles plateformes/services. Cela sera la "version finale" du jeu. Sinon, les développeurs peuvent offrir l'accès à leur code de jeu et laisser les joueurs eux-mêmes mettre à jour et maintenir le jeu. 

  • Jeu – Actifs et données: Si le jeu est maintenu par la communauté, la distribution des mises à jour (patchs) et des actifs sera cruciale. De nombreux services permettent, avec un certain effort d'ingénierie, un accès quasiment gratuit aux services CDN via des plateformes comme GitHub, GitLab et d'autres. 

  • Services de jeu – Fonctionnalités sociales (voix & chat): Toutes les fonctionnalités qui n'ont pas d'impact direct sur la sécurité, comme la voix et le chat, peuvent être décalées vers l'hébergement par les joueurs. Bien qu'un peu moins polies, celles-ci étaient traditionnellement hébergées par les joueurs, à condition que de solides protocoles de sécurité soient mis en œuvre. Sinon, les deux peuvent être gérés "extérieurement" par des services comme Discord en implémentant leur SDK, qui sont souvent déjà utilisés par les joueurs qui évitent les services en jeu. 

Composants de préférence hébergés par le cloud 

  • Services de jeu - Données des joueurs: Comme cette base de données gère l'inventaire et la progression de chaque joueur, fournir l'option de la manipuler est loin d'être idéal même si possible. Étant donné l'improbabilité que cette base de données ait besoin d'être mise à l'échelle en mode crépusculaire, les coûts des bases de données gérées sont négligeables – un service payé par la communauté qui est payé mensuellement sans engagement est une option solide. Edgegap propose des bases de données entièrement gérées à faible coût, ce qui signifie qu'il ne nécessite pas d'entrée DevOps ou développement, sans engagement annuel et dont la facturation peut être payée par des paiements soutenus par la communauté via le compte du développeur. 

  • Logique serveur: De nos jours alimentée par des fonctions cloud sans serveur, celles-ci nécessitent des serveurs pour fonctionner, bien que le calcul requis soit limité. Bien qu'ils puissent être hébergés par les joueurs, si le serveur de ce joueur tombe en panne, tout le reste qui y est attaché tombe en panne. Il est simple d'utiliser une plateforme cloud serverless entièrement gérée comme Infrastructure gérée par Edgegap

  • Services de jeu – Authentification: Bien qu'une authentification simple par nom d'utilisateur/mot de passe qui contourne le système tiers et fonctionne avec une base de données hébergée en cloud soit une option, elle introduit des vulnérabilités où le propriétaire de la base de données peut manipuler ces informations. Déplacer l'authentification vers un service gratuit, comme Epic Online Service ou Steamworks, est une bonne alternative. 

  • Services de jeu - Validation des achats en jeu: Le cloud est requis pour valider l'achat, en collaboration avec le prestataire de paiement pour s'assurer qu'il est maintenu à jour.

  • Matchmaking & Salles d'attente: Passer à des salles d'attente hébergées par les joueurs qui peuvent accéder à des fonctions serverless de logique serveur est une option. Epic Online Services offre une alternative gratuite. En termes d'expérience de joueur, le matchmaking avec logique reste une bien meilleure expérience utilisateur finale. Edgegap offre une solution de matchmaking très rentable (environ 22 €/mois à partir de 2025) qui fournit du matchmaking et de l'hébergement, ainsi que des fonctionnalités de navigateur de salle d'attente. 

  • Serveur de jeu: Fournir au joueur un client de jeu complet pour l'auto-hébergement est difficile - cela signifie que toute l'infrastructure de mise en réseau (code réseau, authentification, matchmaking/salles d'attente, serveur de jeu) doit être modifiée en pair-à-pair ; tâche de développement massive pour des jeux probablement dépourvus de ressources. De plus, les serveurs de jeu hébergés par les joueurs sont notoirement peu sécurisés et permettent à l'hôte d'accéder aux données des joueurs et d'envoyer des données malveillantes car les serveurs de jeu peuvent être décompilés et modifiés. Ainsi, la meilleure alternative est de continuer l'hébergement cloud mais en utilisant l'orchestration juste-à-temps comme celle d'Edgegap. Cela signifie qu'Edgegap peut déployer des serveurs de jeu dans toutes ses centaines de lieux dans le monde, en gardant le jeu distribué mondialement, et grâce à ses serveurs de jeu basés sur des conteneurs qui peuvent être fractionnés, cela reste extrêmement économique - environ 0,00115 €/min. par vCPU dédié au prorata. Comme il est juste-à-temps, les joueurs peuvent payer uniquement pour leur temps de jeu en ligne, comme ils le feraient avec des services de "location de serveur", mais faisant partie intégrante de l'expérience du jeu via une facturation en jeu liée au compte du développeur. 

Principaux enseignements pour les développeurs 

La préservation des jeux est un défi complexe, mais avec une planification adéquate et le bon mélange d'implication communautaire et de services cloud rentables, les développeurs peuvent s'assurer que leurs jeux restent jouables longtemps après la fin du support officiel.  

En bref, assurez-vous de: 

  • Planifier la préservation lors du développement: Construire une infrastructure modulaire et indépendante des services facilite les transitions futures. 

  • Identifier les composants critiques par rapport aux composants optionnels: Déterminer quelles fonctionnalités sont essentielles à l'expérience de jeu principale par rapport aux fonctionnalités sociales agréables à avoir. 

  • Considérer des approches hybrides: Certains composants peuvent être hébergés par les joueurs tandis que d'autres nécessitent une infrastructure cloud pour la sécurité et la fiabilité. 

  • Prévoir les coûts continus: Même en mode préservation, certains coûts d'infrastructure sont inévitables, mais les services juste-à-temps peuvent minimiser ces dépenses. 

  • Impliquer votre communauté: Les communautés de joueurs sont souvent prêtes à contribuer financièrement à la préservation des jeux qui leur tiennent à cœur. 

Écrit par

l'équipe Edgegap