Serveur minecraft

Pourquoi les lancements de jeux en ligne sont souvent un gâchis – Monter un serveur MineCraft

Le 21 novembre 2019 - 13 minutes de lecture

Juste après 16h HE le mardi, Destin 2 les joueurs ont commencé à voir un message d'avertissement. Une ligne rouge apparaît au bas de leurs écrans et le texte ci-dessous indique: «Attention: contactez les serveurs de Destiny 2.» Quelques minutes plus tard, un nombre considérable de joueurs ont été démarrés à partir du jeu de tir de science-fiction en ligne massivement multijoueur.

À Kotaku, nous avons perdu la connexion à 16h11. Mon personnage, fraîchement porté au niveau de puissance 750 dans le cadre de la refonte et de l’extension du jeu dans toute la journée, a disparu (elle est revenue plus tard).

Sur Twitch, presque tous les écrans des streamers supérieurs sont devenus gris, portant le message qu’ils étaient mis dans une file d’attente pour revenir.

Environ une heure plus tard, à 17h13, le compte d’aide officiel du jeu, @bungiehelp, a tweeté que le jeu était en train d’être mis hors-service: “Destin 1 et Destin 2 sont mis hors ligne pour une maintenance d'urgence. S'il vous plaît veillez pour les mises à jour. "

Tous les deux destin les jeux resteraient en panne pendant encore plusieurs heures. Certains joueurs ont fumé sur les médias sociaux et les forums. Certains ont dit qu'ils attendraient patiemment. Encore d'autres étaient furieux de caractère, donc il y avait au moins de quoi rire: «J’ai démissionné de mon travail, j’ai quitté ma femme et je n’ai pas repris mes enfants à la pratique du football simplement pour pouvoir remplir mes fonctions de gardien. C'est inacceptable et je suis grandement déçu. "

À 20 h 54, heure avancée de l'Est, Bungie Help a déclaré que la maintenance était terminée. À ce moment-là, les joueurs ont finalement pu rentrer. La plus grosse version de jeu de la journée était hors ligne depuis environ cinq heures.

Pour certaines personnes, c'était une énorme surprise. Bungie, un studio établi, fabrique et étend destin depuis des années, différé le lancement de son dernier développement, Shadowkeep, pendant deux semaines et était maintenant prêt à être lancé le 1er octobre.

Pour d'autres, il fallait s'y attendre, un événement normal dans les jeux où le lancement de tant de gros jeux en ligne a entraîné des problèmes de serveur au premier jour.

Mais pourquoi, malgré toutes les personnes intelligentes qui fabriquent des jeux vidéo, les lancements se déroulent-ils si souvent mal?


Bungie n'a pas encore dit exactement ce qui n'allait pas avec ce lancement, bien qu'un représentant de la compagnie ait dit Kotaku qu’un peu de perspicacité viendra peut-être dès cet après-midi dans le blog hebdomadaire de la société.

Néanmoins, plusieurs développeurs de jeux d'autres studios partagèrent avec Kotaku leur compréhension de pourquoi ce genre de chose se produit. Certains ont travaillé sur de grands lancements en ligne, d'autres ont entendu parler des difficultés rencontrées par leurs pairs.

Développeur de jeux et ardent destin Le joueur Rami Ismail a fourni un contexte par le biais d’une métaphore aussi étendue que celle d’un chemin de fer transcontinental. Selon lui, les problèmes pourraient être un manque de serveurs, ce qui signifierait un manque d'ordinateurs pour gérer toutes les connexions que les joueurs tentent d'établir avec le jeu. "Imaginez une gare où il n'y a pas assez de voies, mais trop de trains", a-t-il déclaré.

Ou, a-t-il théorisé, le problème pourrait être du côté du client, c'est-à-dire l'extrémité du lecteur, depuis sa console ou son PC, peut-être à cause d'un bogue, ce qui pourrait renvoyer trop de données à traiter par les serveurs: d être comme une gare où il y a suffisamment de voies ferrées, mais beaucoup de trains inattendus arrivent.

“Fondamentalement jouer Mini métro, "A déclaré le développeur Rami Ismail, citant le jeu indie à propos de la construction de systèmes ferroviaires est un bon moyen de comprendre le type de problèmes auxquels les développeurs travaillant sur un réseau sont confrontés.
Capture d'écran: Club de polo de dinosaures

Ismail a également émis l'hypothèse que le code des serveurs risquait de ralentir le traitement des données par les machines des joueurs: «Ce serait comme une gare où il y aurait suffisamment de trains et de voies, mais chaque passager hors du train, et remplissez un formulaire ou quelque chose. "

Ou bien ce pourrait être un code tiers ou un serveur qui ne peut pas gérer l'afflux de joueurs, mais sur lequel les développeurs n'ont pas autant de contrôle: «Il y a donc une gare transfrontalière qui n'envoie pas assez de trains, et les gens sont bloqués à la gare. "

N'importe lequel de ces problèmes pourrait entraîner une défaillance du réseau de serveurs dans son ensemble, a-t-il déclaré. «C’est un problème courant, il est donc recommandé de le décharger sur des cœurs ou des serveurs à proximité. Alors maintenant, cette gare envoie des trains ou des passagers vers d’autres gares qui fonctionnaient déjà à pleine capacité. Maintenant, ceux qui sont touchés aussi. L'effet se répercute sur toutes les stations disponibles. Certains d’entre eux pourraient fermer ou ne pas être en mesure d’accepter plus de trains. »

Toutes ces situations sont difficiles à planifier, a déclaré Ismail. Le test est possible, mais rien ne vaut la réalité. «Lorsque les trains commencent à se déplacer réellement, c’est généralement la première fois que vous voyez comment tout se passe. Peut-être que le train de la gare A à la gare D est en fait 2% plus lent que vous ne le pensiez. Maintenant, la gare D est en train de se remplir lentement, jusqu'à ce que cet échec se produise.


Tous les développeurs qui ont parlé à Kotaku étaient sceptiques sur le fait que les lancements difficiles sont dus au manque de serveurs disponibles pour faire face à l’augmentation du nombre de joueurs qui accompagne une nouvelle version. Il n’existe pas de pénurie de serveurs sur le marché, ont-ils déclaré, les principaux fournisseurs Amazon, Google et Microsoft rendant plus accessible à la demande plus facilement.

Les meilleurs éditeurs de jeux ont les moyens d’agrandir si nécessaire, même si Bungie est en soi un studio indépendant auto-édition pour la semaine. destin Libération. Le studio et la franchise se sont séparés du puissant éditeur Activision plus tôt cette année.

"Lorsqu'un grand jeu a un mauvais lancement, ce n'est généralement pas à cause du manque de machines", a déclaré le développeur Josh Ling. «Ils ont les machines, mais le logiciel qui y est exécuté pose des problèmes: crash, panne du système, etc.»

Un des messages d'erreur apparaissant sur Destin 2: Garde des ombresLe jour du lancement. Le nombre cocherait, puis remonterait, indiquant éventuellement que les serveurs étaient en panne.

Drew Thaler, développeur qui a travaillé pendant quatre ans pour le grand studio Naughty Dog, a contribué à la maintenance ou au lancement de serveurs multijoueurs pendant plusieurs années. Inexploré et Le dernier d'entre nous Jeux. Il dirige maintenant une société de services en ligne appelée Mesh. Quand la PS3 Le dernier d'entre nous remasterisé pour la PS4, le studio a rencontré des problèmes même si, selon ses propres termes, "le jeu était presque littéralement identique". Malheureusement, les problèmes sont dus à une technologie fournie par Sony qui n'a pas encore été utilisée à grande échelle.

"Ce que cela ressemblait à l'utilisateur final était de longues durées de match", a-t-il déclaré. "Le code du jeu formerait un match, et alors certaines personnes ne pourraient pas se connecter directement les unes aux autres, et le match serait forcé de se dissoudre." L'équipe proposa une solution de contournement, à découvrir quelques mois plus tard. qu'un élément mineur de code – "la pile SSL dans une implémentation Java" – était à l'origine du problème. Avoir un impact aussi important sur l’organisation des matches était un problème incroyablement obscur et de niveau inférieur, mais c’est le cas. "C’est comme Google Maps sur votre téléphone qui vous indique les mauvaises directions … et vous explique pourquoi le câblage électrique est défectueux chez vous."

ensuite Uncharted 4 lancé avec un mode multijoueur beaucoup plus ambitieux que Naughty Dog ne l’avait fait auparavant: plus de joueurs, side-kicks contrôlés par ordinateur, monnaie virtuelle, etc., tous impliquant du nouveau code. «C’est surtout là où vous rencontrez des problèmes», a-t-il déclaré. «Cela fonctionnera très bien dans les tests et même dans les simulations avec quelques milliers de personnes, mais cette première heure, lorsque 100 000 personnes se connectent toutes dans la même minute?

«Les services réseau ne sont pas vraiment un serveur. Ce sont des systèmes complexes », a-t-il déclaré. «Ce serveur gère les correspondances, celui-ci gère la mise en file d'attente, celui-ci reçoit les journaux, celui-ci effectue le tunneling NAT, celui-ci effectue des requêtes d'emplacement pour une meilleure correspondance, celui-ci gère les classements, celui-ci gère l'authentification, celui-ci est monnaie virtuelle et doit être particulièrement à l’abri des pertes de transactions et de crédits… »L’échec peut se produire à n’importe lequel de ces moments.


La plupart des jeux ne sont pas remasterisés. Ce n’est pas le cas relativement simple de cette Le dernier d'entre nous le port sur PS4 et sont plus comme le Uncharted 4 lancement. Les développeurs font quelque chose de nouveau, élaborant constamment de nouveaux codes, puis voient ce qui se passe.

Parfois, la tentative du développeur d’offrir une nouvelle fonctionnalité intéressante peut être catastrophique pour les performances en ligne du jeu. À la fin de l'année dernière, le concepteur de jeux vétéran Raph Koster a raconté l'histoire du jeu pionnier massivement multijoueur Ultima Online et la noble intention de donner à la communauté du jeu des arbres de Noël virtuels: "Nous n’avions pas d’art pour eux, alors j’ai attaché un script à un pin générique qui donnait naissance aux petites pierres de couleur que nous avions et les décalait verticalement", il a tweeté. «Ensuite, ils avaient chacun un script avec des rappels périodiques pour apparaître et disparaître, alors ils scintillaient. Nous avons ensuite attribué un arbre de Noël à chaque joueur connecté. Des milliers d'arbres avec chacun vingt rappels répartis à environ une seconde d'intervalle. La file d'attente de messages a été surchargée sur tous les serveurs et le service entier est tombé en panne. À Noël. J'ai eu la semaine de congé. "

Destin 2: Garde des ombres
Capture d'écran: Bungie

Beaucoup plus récemment, Ubisoft a lancé La division 2, juste sur les talons d’une bêta largement jouée pour le match. Quelques jours seulement après le début du jeu, les joueurs ont constaté que leurs tourelles, leurs drones et d’autres compétences équipables étaient auto-destructrices dès qu'ils ont été activés. Les développeurs ont rapidement résolu le problème, après avoir découvert que les serveurs du jeu étaient perturbés par une accumulation d’effets de statut appliqués à ces compétences et qui finissaient par s’empiler lorsque de nombreux joueurs utilisaient le jeu. «C’est un problème qui existe probablement depuis le début», expliqua ultérieurement l’un des développeurs du jeu, «mais qui venait de s’établir». Le code a été corrigé et le problème a rapidement disparu.

Si des problèmes apparaissent avec l’échelle, ils apparaissent plus douloureusement lorsqu’un jeu est soudainement gratuit. Mardi, Bungie ne vient pas de publier une nouvelle extension pour son jeu AAA à gros budget Destin 2. Le studio a également rendu l’essentiel du contenu publié le précédant gratuit, invitant assurément de nombreux nouveaux joueurs à insister davantage sur l’infrastructure en ligne du jeu. «AAA F2P est également un énorme multiplicateur sur votre base d’utilisateurs auquel vous ne vous attendez peut-être pas totalement si vous venez d’un monde non-F2P», a déclaré Thaler, le développeur de Naughty Dog. «Nous avons eu un week-end F2P pour Inexploré (dans notre version bêta) et il a écrasé nos serveurs avec 10-20 fois la charge normale. "


Destin 2 a bien fonctionné pour de nombreux joueurs depuis son premier jour de lancement. Ce n’est pas génial pour tout le monde, cependant. Quelques heures après la panne initiale, les joueurs se plaignaient encore d'une erreur nommée Weasel. Hier, Bungie informé les joueurs qui obtenaient Weasel ou une erreur appelée Squirrel pour supprimer les caractères cyrilliques de leur nom de clan ou de leur nom d’utilisateur Steam, si possible. (Il est également conseillé aux gens d’essayer de ne pas avoir plus de 300 amis sur Steam, au moins pour le moment.)

Les développeurs avec lesquels nous nous sommes entretenus n’avaient pas prévu de mettre fin à ce type de situation, mais de voir comment il pourrait être minimisé à l’avenir. L’augmentation du nombre d’éléments en ligne dans de plus en plus de jeux, bien que agaçante pour certains joueurs, confère aux développeurs davantage d’expérience dans la création d’infrastructures en ligne viables et la résolution rapide des problèmes. Des opérations tierces telles que Multiplay basée au Royaume-Uni, qui ont permis de gérer le jeu à la fois massif mais assez fluide de EA et de Respawn, le jeu de bataille royale gratuit. Apex Legends, peut également jouer un rôle de plus en plus utile en tant que jeux et les personnes qui les fabriquent continuent d’être plus ambitieux. Même les bêtas de pré-lancement apparemment omniprésentes, qui sont faciles à écarter comme marketing, peuvent réellement aider à voir si l’infrastructure en ligne du jeu est prête à être consommée. Rien de tout cela ne résoudra les problèmes, mais peut aider.

Les fabricants de jeux doivent toujours agir rapidement pour régler le problème, et relativement parlant, Bungie semble l'avoir fait, transformant un jeu qui s'effondrait en un jeu opérationnel en l'espace d'un après-midi. Ce n’est pas facile. "Vous devez le faire sous une énorme pression de temps et le faire hier", a déclaré Thaler, "car tout le monde veut jouer à son jeu préféré et ne peut le faire que si vous le résolvez."

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.