Lettre des développeurs : Projets anti-triche et performances pour 2020

Bonjour à tous !

Ici, TaeSeok Jang, Producteur délégué de PUBG PC.

Dans ce contexte un peu particulier où le monde lutte contre le COVID-19, j’espère que vous et vos proches allez bien. Comme la plupart d’entre vous, les équipes de PUBG aux quatre coins du monde ont dû adapter leurs méthodes de travail à la situation actuelle, mais nous mettons tout en œuvre pour vous fournir, en toute sécurité, du nouveau contenu et un service live ininterrompu.

Entre la grande quantité de nouveau contenu, les mises à jour de certaines de nos cartes et plusieurs correctifs ayant trait au confort de jeu, force est d’admettre que 2019 a été une année très chargée. Alors qu’une grande partie de ce contenu a été particulièrement bien reçu par la communauté, nous savons pertinemment que certaines de nos décisions n’ont pas fait l’unanimité. Nous avons également eu du mal à déterminer les causes de certains bugs persistants et à faire face à un assaut incessant de programmes de triche. Ces sujets sont, entre autres, ceux que j’aborderai avec vous aujourd’hui.

L’année dernière a également marqué une forte croissance et de nombreux changements au sein de nos équipes. Dire que nous nous sommes heurtés à de nombreux écueils serait un doux euphémisme, et pire encore, pendant la réorganisation de nos équipes, nous n’avons pas su gérer la communication avec les joueurs, vous donnant ainsi l’impression regrettable que nous ne vous écoutions pas ou que nous ne tenions pas compte de vos avis. Et c’est ça qui me désole le plus, parce que c’est avant tout grâce à la passion et à la ferveur de la communauté que PUBG connaît une telle ampleur. Cet enthousiasme nous incite continuellement à nous surpasser, et ce, depuis la sortie de PUBG il y a trois ans. Je souhaiterais donc réitérer notre volonté inébranlable qui est, d’une part, de nous concentrer sur les problèmes que vous considérez comme importants, et d’autre part, de consacrer les prochaines années à améliorer le jeu.

Chaque catégorie comporte de nombreux éléments qui feront l’objet de discussions. Par conséquent, je publierai des lettres supplémentaires d’ici quelque temps pour évoquer d’autres sujets urgents. Aujourd’hui, je vous fournirai des mises à jour au sujet de quelques thèmes majeurs auxquels nous nous intéressons de très près, notamment l’antitriche, les performances et la stabilité. Il n’est pas impossible que ces informations soient truffées de termes techniques. Cela dit, nous ferons de notre mieux pour que nos explications soient faciles à comprendre. N’oubliez pas que pour certains éléments, dont l’antitriche tout particulièrement, nous essayons de vous faire part de notre approche et de l’évolution de notre stratégie, sans toutefois donner trop de renseignements pour éviter d’informer outre mesure les personnes dont nous essayons d’entraver les activités illicites.

Commençons.

  • Contre-mesures pour le piratage et les programmes de triche
      • Améliorer les mesures préventives
      • Renforcer la surveillance/fiabilité des expulsions
  • Améliorations des performances et de la stabilité
      • Amélioration des performances
      • Améliorations de la stabilité
      • Améliorations du réseau

 

Contre-mesures pour le piratage et les programmes de triche

Le combat contre les programmes de triche est une lutte sans fin. Il s’agit d’un problème constant que nous nous efforçons de solutionner. L’année dernière, nous nous sommes consacrés à l’élaboration de diverses mesures visant à bloquer les programmes de triche. La plupart des actions entreprises avaient pour objectif d’entraver la création des programmes de triche afin de compliquer au maximum le processus de développement de ces cheats extrêmement lucratifs. Comme les développeurs de ces programmes ont l’art et la manière de s’adapter à nos mesures, nous avons décidé de ne pas divulguer notre méthodologie pour les ralentir et leur rendre la tâche plus difficile. Malheureusement, cette approche donne l’impression que nous ne prenons aucune mesure pour régler ce problème prioritaire. Cette année, nous apporterons des améliorations pour garantir que nos efforts ne seront pas « invisibles ».

Mesures préventives améliorées

Les actions anti-triche préventives consistent à neutraliser le fonctionnement d’un programme de triche avant même que le tricheur n’exécute le programme en question. Pour y parvenir, nous ciblons la création des programmes de triche pour que les efforts inhérents à leur développement éclipsent les gains potentiels. Nous abordons cela de deux manières.

 

  • Système d’authentification à double facteur 
  • Nous recevons d’innombrables tickets d’assistance de la part de joueurs dont les comptes ont été définitivement bannis après que leur compte Steam a été piraté et utilisé en conjonction avec des programmes de triche. Les vendeurs de ces programmes échangent souvent ces comptes en raison du nombre élevé de comptes auxquels leurs clients ont accès. Dans la grande majorité des cas, les titulaires de comptes piratés n’avaient pas activé la fonctionnalité Steam Guard et, pour la plupart, s’étaient fait voler leurs identifiants de connexion par l’intermédiaire de sites d’hameçonnage qui attirent les joueurs en leur promettant des objets virtuels gratuits.
  • Pour éviter le piratage de comptes et améliorer la sécurité générale, nous ajouterons l’authentification par SMS, ainsi qu’un système d’authentification avec mot de passe unique. Pour participer aux matchs classés, vous devez activer l’authentification à double facteur. Cette condition permet de garantir l’environnement le plus équitable possible.
  • Réduire les vulnérabilités au piratage au sein du code
  • Les programmes de triche ciblent des facteurs bien précis afin de manipuler notre code. Voici les mesures que nous prenons pour éviter la manipulation des armes, véhicules et déplacements des personnages.
    • Armes
        • Renforcer l’authentification des serveurs liés à l’angle de tir, au recul, à la trajectoire balistique, etc.
        • Analyser et éliminer les vulnérabilités de la logique du client liée à la visée.
  • Véhicules
        • Renforcer l’authentification des serveurs liée à la vitesse du véhicule, à l’angle de déplacement, à la durée pendant laquelle le véhicule peut rester dans les airs, etc.
        • En plus de bannir les comptes qui sont détectés comme exécutant des programmes de triche, cette technique neutralisera également en temps réel les outils de triche, expulsera les tricheurs du match auquel ils participent, et générera des bannissements instantanés.
  • Déplacements du personnage
        • Renforcer l’authentification des serveurs liée à la vitesse de déplacement du personnage, à la durée pendant laquelle celui-ci peut rester dans les airs, etc.

Bannissements et détections améliorés des tricheries

Jusqu’à présent, nous avons banni des millions de comptes qui utilisaient des programmes de triche. Toutefois, même avec des bannissements à (très) grande échelle, certains tricheurs parviennent à passer entre les mailles du filet, et parfois, ont accès au jeu bien plus longtemps qu’ils ne le devraient. Cette année, nous nous concentrons sur la détection améliorée pour notre système de bannissement automatisé, et sur l’amélioration de nos systèmes de bannissement de matériels.

  • Élargir la portée de détection

(Tendance actuelle dans la détection de programmes illicites)

  • Nos équipes augmentent davantage la portée de détection afin d’améliorer la prévention des programmes de triche. Alors que nos efforts initiaux ont produit des résultats significatifs, les développeurs de ces programmes de triche ont rapidement trouvé des moyens de contourner nos méthodes de détection. Nous œuvrons pour pallier ce problème en implémentant régulièrement des mises à jour. Les programmes de triche ciblent également les domaines noyaux afin d’éviter toute détection. Pour combler cette lacune, nous implémenterons des solutions antitriche disposant d’une autorité supérieure pour détecter et neutraliser les triches répétées.

 

  • Analyse automatique
      • L’inconvénient d’une analyse manuelle est le besoin continuel de mises à jour des contre-mesures. En effet, les programmes de triche sont constamment actualisés pour avoir une longueur d’avance. Un exemple est la fermeture automatique d’un PC lorsque nos programmes lancent le processus d’authentification d’un compte suspect.
      • L’objectif est de trouver automatiquement des clients utilisant des programmes de triche, en recherchant des différences exactes de valeurs entre les environnements légitimes et ceux qui exécutent des cheats. Nous pouvons alors automatiquement bloquer le compte si l’environnement est « corrompu ». La mise en œuvre de cette fonctionnalité est actuellement prévue pour juillet 2020.
  • Durcir les bannissements ID Hardware (HWID)
      • Lorsqu’un bannissement lié à l’ID Hadware est généré, celui-ci enregistre des informations relatives à des composants bien précis du PC cible. De cette manière, même si un nouveau compte est acheté ou volé, nos serveurs savent que ce PC figure sur notre liste noire. Plus la quantité d’informations collectée est importante, plus le bannissement est précis, mais en recherchant ces informations supplémentaires, nos méthodes deviennent plus faciles à contourner. Parfois, remplacer un seul composant suffit pour invalider le bannissement. Qui plus est, les développeurs des programmes de triche ont trouvé des moyens de falsifier les données d’ID Hardware, ce qui limite grandement l’efficacité de cette approche.
      • Nous avons cerné les limites du système actuel de bannissement HWID, et développons des améliorations qui rechercheront des informations au niveau de l’utilisateur et du noyau à l’aide d’algorithmes bien précis. Grâce à cette méthodologie, même si un programme de triche essaye de contourner le système, nous pourrons rapidement bloquer à nouveau ce programme. Cette technique devrait permettre de bannir des PC, ainsi que des comptes utilisant des programmes de triche.
  • Renforcer le niveau des bannissements 
      • Les rapports que vous nous envoyez pendant vos parties constituent l’une des manières auxquelles nous avons recours pour détecter les tricheurs. Parmi les utilisateurs signalés, nous en bannissons certains instantanément (lorsque les preuves de tricherie sont irréfutables) et imposons à d’autres un bannissement temporaire de 24 heures (lorsqu’une enquête plus approfondie s’impose).
      • La majorité des bannissements temporaires sont convertis en bannissements définitifs, mais un faible nombre d’utilisateurs signalés est disculpé en raison d’un manque de preuve ou d’un signalement erroné.
      • Notre objectif est d’éviter au maximum les bannissements à tort. Par conséquent, nous agissons toujours avec prudence lorsque nous prenons des mesures contre un compte. Toutefois, nous avons réalisé qu’une prudence excessive de notre part peut affecter beaucoup plus de personnes que l’utilisateur du compte soupçonné. Nous avons donc décidé de changer nos méthodes d’enquêtes pour être plus stricts envers les comptes qui ont été temporairement bannis parce que leurs propriétaires sont soupçonnés d’avoir utilisé des cheats.
      • En plus, nous ciblerons les tricheurs soupçonnés afin de les surveiller davantage. Si un compte a été banni temporairement au moins une fois, celui-ci sera ajouté à une liste de gestion, en vue d’une enquête plus approfondie, voire même d’un suivi live visant à analyser la manière dont joue le titulaire de ce compte.
      • Si un compte est banni temporairement à plusieurs reprises parce que son propriétaire est soupçonné d’avoir triché, nous prolongerons automatiquement le bannissement afin de disposer du temps nécessaire pour enquêter sur le compte de manière approfondie. Nous cherchons également des moyens d’automatiser davantage le processus d’investigation pour que les utilisateurs disculpés puissent rapidement accéder de nouveau au jeu. Dans ce cas précis, notre approche est d’accumuler les preuves adéquates via plusieurs comptes innocents afin de procéder à une comparaison.
      • Pour appliquer ces mesures, nous devrons apporter des modifications à nos politiques normatives actuelles. Notre objectif est d’intégrer ces changements en juin 2020.

Performances et amélioration de la stabilité

Maintenant que nous avons discuté de notre stratégie pour l’anti-triche, passons aux autres problèmes urgents que vous nous avez signalés : les performances et la stabilité.

Avant tout, nous savons que jusqu’à présent, cette année n’a pas été la meilleure dans ce domaine, et ce, à cause de problèmes tenaces au niveau du réseau, des serveurs et du client. Bien qu’offrir un service de la meilleure qualité soit toujours l’une de nos priorités n° 1, certains soucis bien précis sévissent depuis bien trop longtemps et font de l’ombre aux nombreuses améliorations que nous apportons régulièrement. Ces derniers mois, les saccades et les plantages du jeu, tout particulièrement, ont augmenté et sont omniprésents. Nous avons reçu vos commentaires 5/5 et ceux-ci sont totalement justifiés.

Récemment, nous avons déployé un correctif qui, chez de nombreux utilisateurs du jeu, a grandement réduit les circonstances où se produisaient des saccades. Nous avons également annulé les changements liés aux effets gore que nous avions implémentés lors de la mise à jour 5.3 quand nous avons déterminé qu’ils causaient des plantages sur les ordinateurs de certains joueurs. Bien que trouver des solutions soit un point positif, nous sommes conscients qu’il est indispensable de repérer ces problèmes beaucoup plus rapidement, d’autant plus s’ils se sont frayé un chemin jusqu’au jeu et, plus important encore, de les localiser avant qu’ils n’affectent le gameplay. Dans cette optique, nous travaillons sur l’élaboration de tests pré-déploiement plus efficaces.

En ce qui concerne les problèmes que rencontrent nos serveurs de jeu, les innombrables attaques DDoS sont en cause, et durent maintenant depuis plusieurs mois. Plut tôt cette année, nous avons déployé une nouvelle défense développée pour limiter ces attaques, et cette défense s’est avérée efficace. Maintenant qu’elle est en place, nous allons continuer à la renforcer dans la mesure du possible afin de garantir que ces attaques n’impactent pas votre expérience.

 

Amélioration des performances

  • Optimisation du streaming/saccades
    • Améliorer la durée de recherche visant à localiser du contenu dans le pack en optimisant les fichiers pak.
        • Fichier pak : fichier « pack » où sont compressés tous les éléments (armes, véhicules, bâtiments, vêtements, etc.) utilisés dans le jeu.
  • Améliorer les performances via une meilleure optimisation et une baisse du nombre de streaming de niveaux.
        • Fusionner le paysage → Réduire le nombre de streaming de niveaux et RP (ramassage des poubelles) → Amélioration des problèmes de saccades.
  • Améliorer les problèmes de saccades causés par le chargement des données en mémoire, et leur suppression de la mémoire.
        • Changer la méthode du streaming de niveaux à partir des données graphiques qui chargent au sein d’une image, afin que le chargement de ces données soit effectué séparément pour chaque image, et ce, pour réduire les problèmes de saccades.
  • Liste des améliorations liées aux problèmes d’à-coups
        • Lorsque les joueurs ouvrent l’inventaire
        • Lorsque les joueurs activent la prévisualisation du personnage
        • Lorsque les joueurs s’équipent d’armes
        • Dans les situations où les joueurs réalisent des frags
        • Lorsque les joueurs lancent des objets
        • Lorsque les joueurs ouvrent l’I.U., y compris les interfaces Options/Mission, etc.
        • Minimiser le nombre de types de polices utilisées dans le jeu (pour optimiser le gameplay)
        • Optimiser divers skins affichés dans le jeu – Objets (armes, personnages)
          • Tout particulièrement, alléger les problèmes de saccades causés par le chargement asynchrone des skins d’armes dont la durée de chargement est excessive.
  • Optimisation du processeur graphique
    • Optimiser et améliorer les performances du processeur graphique en utilisant davantage la méthodologie HLOD.
      • HLOD fait référence à un système qui combine plusieurs éléments de maillages statiques en un seul lorsque ces éléments sont affichés à l’écran, mais dans le lointain. Cette approche permet d’améliorer les performances en réduisant le nombre d’éléments à générer à l’écran et donc de réduire le nombre de demandes de rendu par image.
    • Optimiser cette technique en améliorant les structures des paysages.
  • Optimisation des animations
    • Optimiser les animations pour que le nombre de calculs puisse être ajusté en fonction des priorités liées au gameplay, et ce, afin de solutionner le problème de surcharge dû au nombre élevé de personnages ou au nombre excessif d’actions effectuées.
  • Améliorations pour les PC d’entrée de gamme
    • Nous avons vu des cas où le jeu n’était pas jouable sur divers PC en raison de problèmes de performances. Pour minimiser de tels soucis, nous apporterons des améliorations visant à ajuster manuellement le degré d’optimisation selon l’utilisation du CPU de manière à ce que les performances du jeu soient stables, même sur les PC d’entrée de gamme. Nous prenons également les dispositions nécessaires pour réduire la charge que représente le traitement des animations sur les ordinateurs dont les processeurs disposent d’un nombre limité de cœurs.

Amélioration de la stabilité

Il existe encore des cas où les joueurs sont en proie à des problèmes de plantages intermittents dans le menu principal, dans le jeu, sur l’écran de chargement, etc. Notre équipe de développement s’efforce d’alléger ces problèmes en améliorant les processus de vérification interne et en utilisant davantage les rapports de plantage.

  • Corriger rapidement les problèmes de plantage client
      • Les problèmes de plantage du client se produisent principalement à cause d’une perte mémoire. Par conséquent, nous renforçons notre processus de vérification lors de la création de nouvelles versions.
      • Supprimer la mémoire utilisée inutilement par l’intermédiaire d’une classification mémoire continue.
      • Optimiser les ressources graphiques utilisées de manière excessive.
      • Optimiser, en général, les méthodes de chargement de contenu par l’intermédiaire d’un remaniement du code.
      • Éviter la fuite de mémoire via un profilage live.
        • Cette méthode devrait éviter les problèmes engendrés par des sessions de jeu de longue durée.
  • Optimiser le processus de vérification de la version du jeu
    • Implémenter un outil de vérification automatique tout en améliorant les méthodes de vérification manuelle.
    • Implémenter divers systèmes de vérification pour surveiller l’état du programme.
  • Outil permettant de vérifier les fuites de mémoire.
  • Outil permettant de vérifier l’utilisation de la mémoire.
  • Outil permettant de repérer les dégâts mémoire qui détectent les plantages causés par un accès non intentionnel à la mémoire.
  • Recherche de saccades.
  • Vérification de l’état du CPU et du processeur graphique.
  • Créer, à l’aide d’une I.A., un environnement de tests avec 100 utilisateurs.
  • Des tests de performance ont déjà été exécutés lorsque 100 joueurs disputaient un match, mais le nombre de participants et les résultats sont assujettis à des variations.
  • En utilisant des bots, nous pouvons effectuer des tests de grande envergure dans des environnements similaires à ceux du jeu, et ce, aussi souvent que nous le souhaitons.

 

Améliorations du réseau

  • DDoS 
    • À un moment ou à un autre, les attaques par déni de service distribué (Distributed Denial-of-Service – DDoS) affectent la plupart des joueurs. Lorsque le serveur du jeu est la cible d’une attaque DDoS, tous les utilisateurs de ce serveur subissent des erreurs de connexion, telles que des retards, un ping élevé et des pertes de paquets. Les attaques DDoS ont grandement augmenté depuis novembre 2019, et ont représenté un problème gravissime en février 2020. Pour faire face à cette situation, nos équipes ont implémenté des solutions externes, tout en développant nos propres défenses contre les attaques DDoS. Grâce à cette approche, la plupart des attaques DDoS sont bloquées avec succès. Nous publierons dans un autre post les mesures que nous avons prises pour lutter contre les attaques DDoS.
  • Perte de paquets 
    • Après avoir mis en œuvre certaines solutions externes relatives aux attaques DDoS, nous avons commencé à recevoir, de la part des joueurs AN et EU, un nombre supérieur de rapports signalant des pertes de paquets. Nous avons atténué le problème, sans toutefois trouver une solution définitive. Comme plusieurs erreurs peuvent être responsables de ces soucis, nous travaillons sur l’analyse des causes et l’optimisation du routage pour réduire davantage cette perte de paquets et améliorer l’environnement réseau général.

 

Mots de la fin

Lorsque nous ne communiquons pas avec vous, nous comprenons que votre réaction première est de penser que nous ne nous soucions pas de ces problèmes. Sachez toutefois que nous mettons tout en œuvre, non seulement pour améliorer nos voies de communication, mais également pour régler les problèmes décrits dans cette lettre.

Pour cette année, nous préparons du contenu tout aussi divers que varié, et nous souhaiterions que vous puissiez en profiter au maximum sans vous demander quand le prochain plantage ou problème se produira. J’en ai déjà beaucoup dit pour aujourd’hui, alors nous vous communiquerons ultérieurement plus d’informations sur d’autres problèmes. Un grand merci pour votre patience pendant que nous préparions ces explications. Nous avons estimé qu’il nous fallait plus de temps pour préciser en détail les éléments sur lesquels nous travaillons actuellement et nos futures priorités.

L’équipe de développement de PUBG est consciente de l’importance d’un environnement stable et vous remercie de votre patience, ainsi que de vos commentaires.

 

Merci, et restez chez vous

– Taeseok Jang, Producteur délégué, PUBG

 

Discuss this article
Share this article