Dev Letter: Planes de Anti-Cheat & Rendimiento para 2020

Hola, jugadores.

Soy Taeseok Jang, productor ejecutivo de PUBG para PC.

Ante todo, y en medio de esta lucha global contra la COVID-19, quisiera empezar deseándoos mucha salud a todos y a vuestros seres queridos. Al igual que el resto, los equipos de PUBG a nivel mundial hemos tenido que modificar nuestro día a día en el trabajo, pero estamos poniendo todo nuestro empeño para ofreceros, de una forma totalmente segura, nuevos contenidos y un servicio en vivo sin interrupciones.

El pasado 2019 fue un año bastante ajetreado para nosotros, pues presentamos muchos contenidos nuevos, actualizamos algunos mapas e implementamos diversas mejoras. A pesar de que gran parte de estas novedades gozaron de un reconocimiento bastante bueno, somos conscientes de que nunca llueve a gusto de todos, como así nos lo habéis hecho saber. Nos esforzamos al máximo para conocer las causas de algunos errores persistentes y nos vimos obligados a luchar contra una incesante cascada de programas para hacer trampas. Hoy quisiera tratar estos temas con vosotros.

Asimismo, el año pasado también supuso un año de crecimiento y cambio para nuestros equipos. Si simplemente digo que sufrimos de «males de altura» sería quedarse corto, pues lo peor de todo es que, mientras nuestros equipos ampliaban su tamaño considerablemente, no supimos comunicarnos con vosotros de manera eficiente, dando así la errónea impresión de que no os estábamos haciendo caso o que ni siquiera nos importabais. Sin duda, esto es lo que más me duele, pues si PUBG pudo crecer tanto no fue sino por todo el afecto y la pasión de nuestra comunidad. Gracias a esta dedicación hemos podido ofreceros tres años de servicio. Hoy quisiera dejar claro a todos que pondremos nuestro máximo empeño para solucionar los problemas que más os inquietan y que seguiremos mejorando el juego durante los años venideros.

Hay bastantes cosas que contar de cada una de las categorías, por lo que iré publicando nuevos comunicados para hablar sobre otros asuntos de interés. Sirva esta carta para ofreceros nueva información sobre algunos de estos temas tan relevantes como las medidas antitrampas, el rendimiento y la estabilidad. Puede que hayamos incluido muchos términos técnicos, pero hemos tratado de simplificarlo todo al máximo. Tened en cuenta que hemos intentado, sobre todo, en el caso de las medidas antitrampas, compartir la máxima cantidad de información posible sin caer en el error de proporcionar datos relevantes a las personas a las que queremos poner freno.

Comencemos.

  • Contramedidas para frenar el hacking y los programas para hacer trampas
      • Mejora de las medidas preventivas
      • Supervisión y bloqueos más fiables
  • Mejoras en el rendimiento y la estabilidad
      • Mejoras en el rendimiento
      • Mejoras en la estabilidad
      • Mejoras en la red

 

Contramedidas para frenar el hacking y los programas para hacer trampas

La batalla contra los programas para hacer trampas se antoja interminable y hemos redoblado esfuerzos para hallar una solución a este problema. El año pasado invertimos tiempo en elaborar varias medidas para bloquear este tipo de programas maliciosos. La mayor parte de estas acciones iban dirigidas a bloquear a los desarrolladores de programas para hacer trampas, con ánimo de dificultar este lucrativo negocio. Como los creadores de este tipo de programas saben adaptarse muy bien a nuestras medidas, decidimos no divulgar estos esfuerzos para recortar lo máximo posible su tiempo de reacción. Lamentablemente, ello originó cierto malestar, pues parecía que no estábamos moviendo ficha contra este asunto de máxima prioridad. Este año tomaremos mejores medidas para que los jugadores noten nuestro respaldo de una manera clara y concisa.

Mejores medidas preventivas

Las medidas preventivas antitrampas están orientadas a imposibilitar el funcionamiento de un programa para hacer trampas incluso antes de que el usuario lo ejecute. Principalmente, el procedimiento consiste en hacer que no merezca la pena desarrollar estos programas por su escaso beneficio posterior. Abordamos este asunto de varios modos distintos.

  • Sistema de autenticación de dos factores 
    • Recibimos cientos de solicitudes de ayuda de jugadores cuyas cuentas han sido bloqueadas de forma permanente tras haber sufrido un hackeo de sus cuentas de Steam para utilizarlas con programas para hacer trampas. Los vendedores de programas para hacer trampas suelen comerciar con estas cuentas debido al alto volumen de cuentas perdidas. La inmensa mayoría de las cuentas hackeadas no tienen activado Steam Guard, por lo que muchos ponen en peligro sus datos de inicio de sesión en sitios web falsos que captan a los jugadores con la falsa promesa de ofrecerles objetos gratuitos en el juego. Con ánimo de evitar el hackeo de cuentas y mejorar la seguridad general, implementaremos la autenticación por SMS y un sistema de autenticación secundario de contraseña de un solo uso. Así, para garantizar el entorno más justo posible, tendréis que activar la autenticación de dos factores en vuestra cuenta si queréis participar en partidas clasificatorias.
  • Mejora del código contra vulnerabilidades susceptibles de hackeo
    • Los programas para hacer trampas pretenden que ciertos factores manipulen nuestro código. Estas son las medidas que estamos adoptando para evitar la manipulación de armas, vehículos y movimientos de personajes.
      • Armas
        • Reforzar la autenticación del servidor relacionada con el ángulo de disparo del arma, el retroceso, la trayectoria balística, etc.
        • Analizar y eliminar las vulnerabilidades de lógica del cliente relacionadas con la puntería.
      • Vehículos
        • Reforzar la autenticación del servidor relacionada con la velocidad del vehículo, el ángulo de movimiento, el tiempo que puede permanecer en el aire, etc.
        • Con ello no solo bloquearemos las cuentas detectadas, sino que impediremos el uso de herramientas trampa en tiempo real, expulsando así de la partida a quienes hagan trampas y aplicando bloqueos inmediatos.
      • Movimientos de personajes
        • Reforzar la autenticación del servidor relacionada con la velocidad de movimiento de un personaje, el tiempo que puede permanecer en el aire, etc.

 

Detección mejorada de trampas y bloqueos

Hasta hoy, hemos bloqueado millones de cuentas por usar programas para hacer trampas. Sin embargo, incluso aplicando estos bloqueos a gran escala, algunos tramposos consiguen evitarlos y, en ciertos casos, siguen pudiendo acceder al juego durante mucho más tiempo del que deberían. Este año vamos a trabajar en una mejora de la detección en nuestro sistema automático de bloqueos y de nuestros sistemas de bloqueo por hardware.

  • Ampliación del rango de detección
    • Nuestros equipos ampliarán el rango de detección para optimizar el bloqueo de programas para hacer trampas. En vista de que nuestros primeros esfuerzos arrojaron resultados significativos, los desarrolladores de estos programas no tardaron en hallar vías para evitar nuestros métodos de detección. Hemos trabajado para mitigar esta incidencia a través de actualizaciones periódicas. Los programas para hacer trampas también han atacado los dominios de núcleo para evitar la detección en gran medida. Para poner freno definitivo a este asunto, pronto ampliaremos nuestro radio de acción para que nuestras soluciones antitrampas dispongan de una mayor autoridad para detectar y detener este problema recurrente.
  • Análisis automático
      • El análisis manual presenta una clara desventaja: requiere actualizaciones repetidas de las contramedidas frente a las constantes actualizaciones que presentan los programas para hacer trampas. Valga como ejemplo el apagado automático de un PC cuando nuestros programas inician el proceso de autenticación de una cuenta sospechosa.
      • Nuestro objetivo no es sino encontrar automáticamente a clientes que utilicen programas para hacer trampas. Para ello, buscamos diferencias exactas en los valores entre entornos legítimos y fraudulentos. De este modo, podremos bloquear la cuenta de forma automática cuando el entorno no sea genuino. Queremos poder aplicar esta función para julio de 2020.
  • Endurecimiento de los bloqueos de identificadores de hardware
      • Cuando se realiza un bloqueo de identificador de hardware, se registra la información sobre los componentes específicos de un PC, de modo que al adquirir o robar una cuenta nueva, nuestros servidores ya saben que ese PC está en la lista negra. El bloqueo es más preciso cuanta más información se recopila, pero nuestros métodos flaquean en esta búsqueda de información adicional, pues a veces basta con sustituir un único componente para superar este bloqueo. Además, los desarrolladores de programas para hacer trampas han descubierto formas de falsificar los datos de identificación del hardware, lo que merma aún más la efectividad de estos esfuerzos.
      • Hemos reconocido las limitaciones del actual sistema de bloqueos de identificadores de hardware y, por tanto, estamos desarrollando mejoras. Así, mediante el uso de ciertos algoritmos podremos buscar información del hardware a niveles de usuario y núcleo, de modo que incluso si un programa para hacer trampas trata de sortear el bloqueo, estaremos capacitados para bloquearlo rápidamente de nuevo. De este modo, podremos bloquear con mayor facilidad PC y cuentas que utilicen programas para hacer trampas.
  • Fortalecer el nivel de los bloqueos 
      • Una de las vías que utilizamos para detectar tramposos está en los informes que nos enviáis cuando jugáis. Entre la lista de usuarios denunciados, bloqueamos de inmediato a aquellos que claramente demuestran haber hecho trampas y aplicamos un bloqueo de 24 horas a quienes necesitamos investigar con mayor exhaustividad.
      • La mayor parte de los usuarios con bloqueos temporales terminan con un bloqueo permanente, pero un pequeño porcentaje queda exonerado ante la falta de pruebas o al conocer que la denuncia estaba injustificada.
      • Nuestro objetivo es, en la medida de lo posible, evitar que se produzcan bloqueos falsos y por ello debemos ser meticulosos a la hora de tomar acciones contra alguna cuenta. No obstante, nos hemos dado cuenta de que, en estos casos, pecar de cautos puede perjudicar a muchos más jugadores que la cuenta sospechosa. Por tanto, ahora seremos más estrictos contra las cuentas temporalmente bloqueadas ante la sospecha del uso de trampas.
      • Además, aumentaremos la supervisión sobre los usuarios sospechosos. Siempre que una cuenta haya sufrido, al menos, un bloqueo temporal, la añadiremos a una lista de gestión donde será examinada con detalle y, en ocasiones, se supervisará en directo para observar el modo de juego.
      • Si una cuenta es bloqueada temporalmente varias veces bajo sospecha de juego con trampas, ampliaremos automáticamente el tiempo de bloqueo para poderla analizar adecuadamente. Asimismo, mediante la recopilación de pruebas adecuadas en múltiples cuentas inocentes, pretendemos automatizar el proceso de investigación para que los usuarios exonerados puedan regresar al juego con la mayor brevedad posible.
      • Renovaremos nuestras políticas para aplicar estas medidas. Nuestra intención es poder aplicarlas a partir de junio de 2020.

 

Mejoras en el rendimiento y la estabilidad

Ahora que hemos hablado de nuestros planes contra las trampas, pasemos a otra de vuestras mayores inquietudes: el rendimiento y la estabilidad.

Ante todo, sabemos que este no ha sido el mejor año para esta categoría, ya que hemos sufrido persistentes incidencias de red, del servidor y del cliente del juego. Aunque una de nuestras máximas es ofrecer un gran nivel de servicio, ciertos conflictos se han perpetuado demasiado, eclipsando así otras mejoras importantes realizadas. Los problemas de demora o de bloqueo del juego han aumentado y se han estado repitiendo en los últimos meses. Hemos analizado todos vuestros comentarios, totalmente justificados.

En las últimas fechas hemos implementado correcciones que reducen en gran medida los problemas de demora que experimentan muchos usuarios. También hemos anulado los cambios en el sistema de hemorragias de la actualización 5.3, pues provocaban el bloqueo del juego para algunos jugadores. Aunque es gratificante haber solucionado estos problemas, nos consta que debemos ser más rápidos a la hora de detectarlos en el juego y, más importante aún, dar con ellos antes de que os afecten. Para abordar este asunto, estamos trabajando para aumentar la eficiencia de nuestras pruebas de prelanzamiento.

Respecto a las incidencias en nuestros servidores de juego, el mayor problema ha sido una oleada de ataques DDoS que se ha prolongado durante muchos meses. A comienzos de este año, hemos implementado un nuevo sistema de defensa para reducir estos ataques que ha resultado fructífero. Ahora que está en funcionamiento, seguiremos reforzándolo donde sea posible para garantizar que estos ataques no afecten a vuestra experiencia.

 

Mejoras en el rendimiento

  • Optimización de las retransmisiones y los tiempos de demora
    • Mejora del tiempo de búsqueda para encontrar contenidos en el paquete mediante la optimización del archivo pak.
      • Archivo pak: archivo tipo “paquete” que incluye todos los activos del juego (armas, vehículos, edificios, trajes, etc.).
    • Mejora del rendimiento mediante la reducción de la cantidad de retransmisiones de niveles y su optimización.
      • Combinar paisaje → Reducir la cantidad de retransmisiones de niveles y de recolección de basura (RB) → Mejora de los problemas de demora
    • Mejora de los problemas de demora provocados por la carga/descarga de datos gráficos.
      • Cambio del método de retransmisión de niveles: se pasa de la carga de datos gráficos en un fotograma a la carga por fotogramas independientes para reducir los problemas de demora.
    • Lista de mejoras para abordar los problemas de retrasos irregulares
      • Cuando los jugadores abren el inventario.
      • Cuando los jugadores activan la vista previa del personaje.
      • Cuando los jugadores se equipan con armas.
      • En situaciones donde los jugadores matan a otros.
      • Cuando los jugadores lanzan objetos.
      • Cuando los jugadores abren la interfaz, incluyendo Opción/Misión, etc.
      • Reducción de la cantidad de tipos de fuente utilizados en el juego para su optimización.
      • Optimización de varias skins del juego – Objetos (arma, personaje).
        • En concreto, la mejora de problemas de demora ante la carga asíncrona de skins de armas que se extiende demasiado en el tiempo.
  • Optimización de la GPU
    • Optimización y mejora del rendimiento de la GPU mediante un mayor uso de HLOD.
      • HLOD es un sistema que combina varios elementos de malla estática en un único elemento de malla estática cuando se observan desde larga distancia. Esto puede ayudar a mejorar el rendimiento, pues se reduce el número de actores que hay que renderizar en una escena, reduciéndose por tanto las peticiones gráficas por fotograma.
    • Mejora de las estructuras de los paisajes.
  • Optimización de las animaciones
    • Optimización de las animaciones para el ajuste del total de cálculos según una prioridad de juego para abordar el problema de sobrecarga derivado de la presencia de un alto número de personajes o acciones en curso.
  • Mejoras para PC de gama baja
    • Hemos observado algunos casos donde no se podía jugar debido a problemas de rendimiento en varios PC. Para minimizarlos, implementaremos mejoras para ajustar automáticamente el grado de optimización según el uso de la CPU, de modo que el rendimiento no se vea mermado en PC de gama baja. Asimismo, estamos trabajando para reducir el coste del procesado de animaciones en ordenadores con núcleos de CPU menores.

 

Mejoras en la estabilidad

Algunos jugadores siguen experimentando ciertos bloqueos intermitentes en el lobby, en el juego, en la pantalla de carga, etc. Nuestro equipo de desarrollo trabaja para solventar estos conflictos mediante la optimización de los procesos internos de verificación y un mayor uso de los informes de bloqueo.

  • Corrección oportuna de bloqueos en el cliente
      • Principalmente, los bloqueos en el cliente ocurren debido a una pérdida de memoria, por lo que estamos reforzando nuestros procesos de verificación con cada nueva versión.
      • Eliminación de la memoria innecesariamente en uso mediante su archivado recurrente.
      • Optimización de los recursos gráficos con mayor uso del necesario.
      • Optimización de los modos de carga de contenidos mediante la refactorización del código.
      • Prevención de filtrados de memoria con el uso de perfiles en vivo.
        • Estas medidas deberían evitar los problemas derivados del juego prolongado.
  • Mejora del proceso de verificación de versiones
    • Introducción de una herramienta automática de verificación y mejora de los métodos manuales de verificación.
    • Introducción de varios sistemas de comprobación para supervisar el rendimiento del programa.
      • Herramienta para comprobar el filtrado de memoria.
      • Herramienta para comprobar el uso de memoria.
      • Herramienta para detectar daños en la memoria que detecta bloqueos provocados por accesos a la memoria no intencionados.
      • Comprobación de demoras.
      • Comprobación del estado de la CPU/GPU.
    • Creación de un entorno de pruebas con 100 usuarios que utilizan IA.
    • Ya estamos realizando pruebas de rendimiento cuando hay 100 jugadores en una partida, pero el total de jugadores y los resultados pueden variar.
    • Mediante el uso de bots, podemos llevar a cabo pruebas a gran escala similares al entorno real de juego en cualquier momento.

 

Mejoras en la red

  • DDoS 
    • Los ataques DDoS (Ataque de denegación de servicio) terminan afectando a la mayoría de los juegos online más conocidos. Cuando el servidor del juego sufre ataques DDoS, todos los usuarios experimentan errores de conexión tales como retardos, ping alto y pérdida de paquetes. El número de ataques DDoS ha aumentado considerablemente desde noviembre de 2019 y han pasado a ser un problema bastante serio en febrero de 2020. Nuestros equipos, para abordar este asunto, han implementado varias soluciones externas y han desarrollado sistemas propios de defensa DDoS. Gracias a ello estamos consiguiendo bloquear la mayor parte de estos ataques. Ampliaremos la información sobre nuestras medidas contra los ataques DDoS en una próxima publicación.
  • Pérdida de paquetes 
    • Tras aplicar algunas soluciones externas contra los ataques DDoS, comenzamos a recibir una gran cantidad de informes de pérdidas de paquetes de jugadores europeos y norteamericanos. Hemos podido mitigar gran parte de estas incidencias, pero otras siguen latentes. Ya que el origen de estos errores es diverso, trabajamos en el análisis de las causas y en la optimización del enrutamiento para reducir aún más la pérdida de paquetes y mejorar el entorno de red.

 

En resumen

Entendemos que podáis llegar a pensar que vuestras incidencias no nos importan cuando no recibís noticias nuestras. Estamos redoblando esfuerzos para mejorar tanto en nuestras comunicaciones como en los problemas descritos en este comunicado.

Este año pensamos publicar gran cantidad de contenidos de lo más jugoso y queremos que los disfrutéis sin tener que preocuparos por posibles bloqueos o incidencias en el juego. Creo haber ofrecido bastante información en esta carta, pero os seguiremos manteniendo al tanto de otros temas en nuevas comunicaciones. Gracias por vuestra paciencia mientras elaborábamos este comunicado. Pensamos que merecía la pena invertir un buen rato en compartir con vosotros los entresijos de nuestro trabajo y nuestras próximas prioridades.

El equipo de desarrollo de PUBG es consciente de la importancia de ofrecer un entorno estable y agradece tanto vuestra paciencia como vuestros comentarios.

Muchas gracias y cuidaos mucho,

Taeseok Jang, productor ejecutivo de PUBG

Discutir artículo
Compartir artículo