Mais pourquoi GW2 n'est jamais en maintenance ?

  • Par
  • Le 05/06/2016 à 12:05
  • Dans Saviez-vous
  • 0 commentaire

Est-ce que vous vous êtes jamais demandés s’il y avait des maintenances de serveurs sur Guild Wars 2 ? Un joueur sur Reddit l’a fait et il a reçu des informations intéressantes en guise de réponse. Des informations que nous devions partager avec la commaunté.

Des jeux connus tels que Diablo III, World of Warcraft, Ragnarok Online, Black Desert Online, etc. sont régulièrement, voir très régulièrement en maintenances de serveurs.  C'est une bonne chose que les serveurs soient entretenus, mais ces opérations nécessitent en général une fermeture des serveurs empêchant ainsi les joueurs de jouer à leur jeu favori pendant plusieurs heures.

Étrangement, Guild Wars 2 et son prédécesseur Guild Wars n'ont jamais été arrêtés pour maintenance pour le plus grand plaisir de la communauté. Les maintenances existent toujours ne vous y trompez pas, mais elles sont faites de telle sorte que l'utilisateur final n'y voit que du feu.

Comment peut-on garder des serveurs fonctionnels sans tout arrêter pour maintenance ?

MicroServices ArchitectureLes serveurs de ArenaNet possèdent une architecture différente qui permet d’ajouter, de changer ou de modifier du contenu sans pour autant devoir couper l'accès aux utilisateurs. ArenaNet fait fonctionner ses machines en même temps avec les nouveaux patchs et en même temps avec les anciens. Cette architecture dite "Microservices" se répand rapidement depuis quelques temps dans l'industrie numérique. Il en existe plusieurs types mais ArenaNet a fait figure de précurseur en la matière.

Le système développé par ArenaNet (http://www.gdcvault.com/play/1016640/Guild-Wars-2-Programming-the) depuis 2001 permet au contenu d’être géré s’il est utilisé ou non. Le mot clé qui nous intéresse ici est "instances". Guild Wars 2 est un jeu en grande partie instancié. Guild Wars premier du nom quant à lui était instancié à plus de 90% et se basait sur la même technologie. En faisant fonctionner plusieurs instances du jeu avec plusieurs versions en parallèle, Arenanet assure des mises à jour en continu sans bloquer l'activité des joueurs.

Comment fonctionne l'architecture "Microservices" dans GW2 ?

Une carte non peuplée est mise en stand-by jusqu’à ce qu’un joueur nécessite son contenu. Par exemple, si aucun joueur ne se connecte dans les Marais de fer (ce qui est envisageable aux heures creuses), toutes les cartes existantes sur les serveurs seront fermées sauf une qui sera mise en "attente". Au fil de la journée et des évènements, la population de chaque carte fluctue, l'architecture des serveurs va générer de nouvelles cartes pour y placer les joueurs arrivants. La communauté est familière avec cet aspect de l'architecture microservices que nous connaissons sous le nom de "Mégaserveur". Mais ce n'est pas la seule fonction du "Microservice".

L'architecture permet d'appliquer des mises à jour au système entier sans devoir fermer les serveurs pour une maintenance. Les différents serveurs d’ArenaNet sont flexibles et déplaçables à volonté selon les besoins. Laissons des employés de Arenanet en dire davantage :

There is actually no such thing as a "server". All of the services and systems are intermixed on a big pile of blades in a datacenter. The entire concept of a "server" is virtualized by our software.

Cela explique également que lors d’un patch, les joueurs ne sont pas forcés de relancer leur jeu et peuvent ainsi continuer sur l’ancienne version mais n’auront pas accès aux sections du jeu concernées par une mise à jour.  Par exemple, un joueur ayant appliqué la mise à jour ne pourra pas être rejoint pas un joueur de l’ancienne version du jeu. Pour s'assurer que tout le monde accède à la mise à jour, un compte à rebours avant déconnexion est affiché en jeu à chaque mise à jour (le fameux "une mise à jour est disponible, le jeu va redémarrer dans 2 heures").

Et même si une maintenance est prévue, les serveurs et les joueurs ne sont pas fortement impactés à quelques exceptions près.

Nos équipes devront effectuer une maintenance sur le serveur qui commencera le 25 février à 6 h, heure de Paris (21 h, heure du Pacifique). Cette maintenance pourra durer jusqu’à quatre heures. Le jeu ne devrait pas être fortement impacté mais quelques joueurs pourraient expérimenter des discontinuités.

Merci pour votre compréhension.

Mais alors pourquoi les autres MMO ne font pas la même chose ?

Pour l'immense majorité des joueurs de MMO (que ce soient les MMORPG comme World of Warcraft, ou les MMOFPS comme The Division), appartenir à un "serveur" importe réellement : les joueurs se connectent toujours au même serveur qui supporte leur compte et contient leurs données. Beaucoup de MMO sont construits autour de cette idée et il est très difficile de changer un aspect aussi important du jeu. Ce n'est pas le cas avec GW2.

Certains jeux poussent le concept encore plus loin et proposent des mondes ouvert sans écran de chargement (Black Desert). Il est alors impossible d'avoir cette architecture dynamique car il n'est pas possible de faire tourner des mondes en parallèle.

Guild Wars 2 a hérité de l'architecture microservices en grande partie à cause de Guild Wars 1. Votre "serveur" d'appartenance dans Guild Wars 2 (Roche de l'Augure par exemple) n'est rien de plus qu'une variable dans le système et non une machine réelle à proprement parler. Les deux jeux partagent beaucoup d'éléments fondamentaux dans leur code source, il était donc logique de construire toute l'architecture de GW2 autour de ce concept. Comme l'initiative a été prise dès le départ, les efforts à fournir pour avoir quelque-chose d'opérationnel ont été réduits. A contrario, si Blizzard voulait vraiment supprimer les maintenances à l'ancienne sur WoW il faudrait quasiment ré-écrire le jeu de zéro ce qui n'est pas envisageable.

Sources :

  • Reddit/ Guild Wars 2
  • https://smartbear.com/learn/api-design/what-are-microservices/
  • http://www.patentsencyclopedia.com/app/20120058827
  • http://patents.justia.com/inventor/mike-f-o-brien
  • https://fr.wikipedia.org/wiki/Microservices (l'article anglais est un peu plus fourni)

 

GW2 Mise à jour serveur Informations Arena Net

  • 2 votes. Moyenne 5 sur 5.

Vous devez être connecté pour poster un commentaire