Mise à jour de nos systèmes de rapport de plantage | EVE Online

Mise à jour de nos systèmes de rapport de plantage

2020-11-12 - Publié par EVE Development Team

Chers capsuliers soucieux du détail,

New Eden est un univers complexe avec d'énormes combats gérés par les joueurs, un large éventail de possibilités de jeu, un marché colossal contrôlé par les joueurs, des civilisations des trous de ver, et bien plus. Pour trouver des avantages en jeu, les joueurs essaient sans cesse des mécaniques de jeu et des interactions novatrices qui n'ont pas été prévues.

Le spectre varié des configurations informatiques des joueurs est tout aussi complexe. Les versions des systèmes d'exploitation (patchs inclus), les changements de configuration système individuels, la version des pilotes, et la fiabilité du matériel sous-jacent jouent tous un rôle essentiel dans le comportement du client d'EVE Online.

Les logiciels complexes peuvent rencontrer des erreurs complexes et non seulement les plantages du client vous extraient du jeu de façon inattendue, mais ils peuvent également perturber un moment critique que vous attendiez. Dans certains cas, la cause est facile à trouver, et un correctif peut être déployé rapidement. Dans d'autres cas, la panne se produit si rarement qu'il est très difficile à reproduire.

CCP prend la stabilité du client très au sérieux. Dernièrement, nous nous sommes investis pour augmenter au mieux notre capacité à capturer les plantages, ce qui devrait nous permettre de repérer plus de pannes, et à terme, d'en réduire leur nombre. Cette évolution ainsi que les rapports de bug que vous nous envoyez avec F12, nous aideront à faire en sorte que le client EVE soit le plus stable possible.


Technologie de rapport améliorée

Lorsque le client plante, il tente d'envoyer un rapport de panne vers un système de surveillance des pannes opérationnel 24 heures sur 24, 7 jours sur 7. Après avoir utilisé pendant plusieurs années le célèbre bloc-notes de pannes de Google, Breakpad, une solution plus performante a été sélectionnée : la bibliothèque baptisée Crashpad. Notez qu'aucune information n'est envoyée à Google avec aucune de ces bibliothèques.

Breakpad est localisée dans l'exécutable du client EVE normal, ce qui signifie qu'un plantage du client peut également faire planter Breakpad, avec pour conséquence la perte du rapport. La même situation se produit également si le client EVE se retrouve à court de mémoire ; le précieux rapport de plantage peut être perdu.

Crashpad résout ce problème en étant localisé en dehors du programme qu'il surveille. Cela veut dire que vous verrez bientôt un processus distinct fonctionner en parallèle du client EVE, le bien nommé « eve_crashmon ». Voici à quoi celui-ci ressemblera dans le gestionnaire de tâches de Windows :

Cette application séparée n'utilise pas davantage de mémoire ou de CPU que l'ancien système qu'elle remplace, votre expérience devrait donc demeurer inchangée.


Comment les rapports de plantage sont utilisés

Un rapport de plantage est généralement émis lors de l'une des cinq situations suivantes :

  • Le plantage a été causé par le client et confirmé par une reproduction.
  • Le plantage a vraisemblablement été causé par le client, mais sans reproduction pour le confirmer.
  • Le plantage a été causé par un pilote de périphérique.
  • Le plantage a été causé par un logiciel externe interagissant avec le client.
  • Le plantage a vraisemblablement été causé par un problème matériel.

Bien que cela puisse paraître contre-intuitif, le meilleur scénario reste un plantage confirmé comme ayant été causé par le client. La procédure qui consiste à implémenter un correctif, le tester, le déployer et surveiller les résultats est plus claire.

Si le client est vraisemblablement responsable du plantage, mais qu'il ne peut pas être reproduit, votre rapport de bug devient d'autant plus précieux. Nous y reviendrons bientôt.

Les problèmes de pilotes sont normalement faciles à repérer, car ils proviennent des mêmes fabricants de cartes graphiques, et souvent du même numéro de version du pilote. Les données issues des rapports de bug et transmises aux fabricants de cartes graphiques sont utiles pour leur permettre de créer un correctif dans des délais plus brefs.

Les logiciels qui interagissent avec le client EVE entraînent occasionnellement des plantages. Il s'agit souvent d'incrustations de jeu, de logiciels de capture d'écran, ou de logiciels de surveillance du matériel affichant des statistiques comme les informations du GPU, du CPU, le nombre de FPS ou la température. Assurez-vous toujours d'utiliser la dernière version du logiciel ainsi que les derniers pilotes de la carte graphique.

Enfin, les problèmes matériels peuvent se révéler extrêmement frustrants, car il peut s'agir d'un plantage après plusieurs heures de fonctionnement sans accroc comme d'un plantage dès le démarrage. Il n'y a souvent pas de schéma défini.


Rapports de bug

Les rapports de bug sont l'un des outils les plus utiles pour corriger les problèmes dans EVE Online. Il existe deux façons de transmettre un rapport de bug, l'une étant bien plus efficace que l'autre. Vous pouvez vous rendre sur support.eveonline.com et appuyer sur le bouton jaune (utile) ou bien vous pouvez appuyer sur F12 en jeu (incroyablement utile).

Si vous pensez avoir rencontré un problème, veuillez transmettre un rapport de bug même si vous pensez que quelqu’un d'autre l'a déjà fait.

Ceci est particulièrement important pour les problèmes techniques, où le fait de pouvoir recouper différents systèmes nous donne une bien meilleure visibilité. Par exemple, si un ensemble de rapports de bug mentionne que les graphismes ne s'affichent pas correctement et que tous les rapports font référence au même fabricant de cartes graphiques, et la même série de cartes vidéos, les tests se concentreront alors sur ces cartes dernières afin de reproduire le problème en interne. Ceci accélère naturellement le test, le déploiement et la surveillance du correctif.

La clé pour un rapport de bug parfait consiste à inclure un maximum d'informations. Une description du problème, accompagnée éventuellement des étapes permettant de le reproduire sont utiles pour le répliquer rapidement.

Pour ce qui est du plantage du client, il est très précieux de transmettre un rapport de bug si le client plante à la suite d'une action de l'utilisateur. Par exemple, si le fait de passer du mode fenêtre sans bordure au mode plein écran entraîne un plantage répétable. Les rapports de plantage ne sont pas infaillibles et peuvent ne pas inclure une pièce critique du puzzle que vous pouvez nous fournir. Transmettre le rapport en utilisant le menu F12 en jeu permettra d'inclure aussi les journaux importants du client concernant le plantage, même après le redémarrage.


Laboratoire de test

Dans le cadre du déménagement récent de CCP vers de nouveaux bureaux, un nouveau laboratoire de test a été construit selon nos besoins spécifiques, À savoir un gain d'espace, un système d'air conditionné plus puissant, et un stockage plus adapté à recevoir une grande quantité de matériels de test.

C'est ici que les correctifs sont testés avant leur déploiement, en particulier quand il s'agit de correctifs en rapport avec les plantages ou les graphismes. Le laboratoire effectue les tests sur plus d'une famille de CPU et GPU, ainsi que sur différentes versions des systèmes d'exploitation Windows et Mac.

Le laboratoire de test n'est pas seulement utilisé pour les tests de correctifs de bugs du client, mais aussi pour les tests de performance et de compatibilité. Étant donné qu'EVE Online est utilisé sur un grand nombre de machines différentes, ce laboratoire de test s'assure que les nouvelles versions fonctionnent sur les configurations les plus populaires et que les niveaux de performance sont conformes aux attentes.

Le laboratoire de test continuera d'évoluer parallèlement à nos améliorations du code sous-jacent du client d'EVE Online, y compris à la transition future vers DirectX 12.


Maintenir votre logiciel à jour

Tous les plantages ne peuvent pas être répliqués dans notre laboratoire de test. Il est important de garder votre système d'exploitation à jour, non seulement pour la sécurité, mais aussi pour garantir que les failles du système d'exploitation sont réparées. Windows et Mac se mettront tous deux automatiquement à jour régulièrement, et les joueurs sont encouragés à installer les derniers correctifs de leur système d'exploitation quand cela est possible.

Les pilotes matériels sont un peu plus complexes, comme il peut être parfois nécessaire d'effectuer manuellement la mise à jour vers la dernière version. Nous recevons fréquemment des rapports d'utilisateurs qui possèdent un pilote de carte graphique datant de plusieurs années et dont le problème est réglé en mettant simplement à jour le pilote à la version actuelle.


Problèmes matériels

L'un des cas les plus difficiles à résoudre est lorsque l'on soupçonne une panne matérielle. Sans avoir accès physiquement à la machine, ceux-ci sont difficiles à vérifier. Avec le temps, tous les composants de votre machine sont susceptibles de tomber en panne. Quand ces pannes se produisent, elles se manifestent normalement sous la forme d'un rapport de plantage unique causé par une situation dans laquelle il devrait être impossible pour le client de se retrouver.

Si la correction de problèmes matériels d'un PC peut être complexe, voici cinq des problèmes les plus fréquents dans les plantages impliquant le matériel :

  • Problèmes de GPU : parfois, ceux-ci apparaîtront sous la forme d'une image corrompue avec des couleurs inattendues, ou un effet de damier rendu sur l'image. À d'autres moments, le jeu peut retourner au bureau avec un message du type « Le pilote d'affichage ne répondait plus et a été récupéré », bien que le matériel ne soit pas toujours en cause.
  • Problèmes de RAM : lorsque la RAM rencontre une erreur, des plantages aléatoires se produisent souvent, ou bien vous pouvez expérimenter le BSoD*. Si vous disposez d'une grande quantité de mémoire avec une seule adresse défectueuse, alors le problème peut n'être que ponctuel.
  • Surcadençage : ceci est devenu plus populaire au cours des dernières années, les fabricants de cartes mères ayant rendu l'opération plus facile. Si le surcadençage peut offrir des gains de performances intéressants, ce n'est pas sans risques pour la stabilité. Si vous rencontrez des problèmes de plantage avec un surcadençage, il est recommandé de rétablir les valeurs initiales du système, et d'observer si le problème persiste.
  • Problèmes d'unité d'alimentation : malheureusement, une mauvaise alimentation peut donner l'impression qu'à peu près n'importe quel élément de votre système est défectueux. Il est recommandé d'utiliser une alimentation de qualité pour garantir la stabilité du système à long terme. Si un ordinateur plante fréquemment lorsque la charge est élevée, alors l'alimentation devrait être examinée de plus près.
  • Problèmes de surchauffe : ils sont généralement causés par la présence d'une quantité excessive de poussière, ou bien si les ventilateurs ne refroidissent pas suffisamment les composants, en raison d'une défectuosité des roulements. Selon le composant en surchauffe, cette dernière peut causer tout genre de problème, qu'il s'agisse de faibles performances ou d'un plantage complet de l'application.

Si vous pensez que vous pouvez avoir un dysfonctionnement matériel, il existe par chance de nombreux programmes gratuits pour tester la stabilité de votre système. Les recommandations les plus répandues sont memtest86 pour la RAM et OCCT pour la stabilité générale du système. Si vous rencontrez n'importe quelle erreur pendant le test du système, le client EVE est également susceptible de rencontrer des problèmes à un moment donné.


Qu'est-ce que le futur réserve ?

Nos rapports de plantage actuels incluent de nombreuses informations utiles pour le débogage, ce qui nous aide considérablement à résoudre les problèmes. Toutefois, ils ne nous fournissent pas le moindre contexte quant aux problèmes plus larges, et notamment le nombre de joueurs rencontrant le même problème.

CCP tient vraiment à savoir « quel pourcentage des joueurs ont rencontré un nouveau plantage (précédemment inconnu) à l'heure actuelle, aujourd'hui, depuis le patch d'hier, et en comparaison à la semaine dernière ? » Bien que nous puissions trouver cette information avec nos systèmes actuels, cela implique de relier ces événements manuellement.

À l'avenir, nous aimerions avoir des tableaux de bord affichant des situations complexes, à mesure qu'elles se produisent. Pour ce faire, nous devrions surveiller la santé de tous les clients EVE Online en temps réel. La transition vers Crashpad, et le fait de disposer d'un processus de surveillance des plantages externe au client EVE est l'une des premières étapes dans cette direction.

Crashpad + Sentry comme terminal pour nos rapports de plantage nous permet de surveiller, filtrer, et agir rapidement. Ensuite, pour améliorer la vitesse de réponse, la prochaine étape est d'intégrer certaines des améliorations récentes de leur SDK natif.

Merci à tous, et pensez bien à appuyer sur F12 pour envoyer un rapport de bug, si nécessaire.