League of Legends y su lucha contra los tramposos

El blog ‘Riot Games Engineering’, en el que la desarrolladora de League of Legends busca explicar aspectos del funcionamiento técnico del juego, se ha publicado un post en que el que se explica de forma general las acciones que lleva a cabo la compañía para luchar contra los tramposos y, en general, todo lo que tiene que ver con el ‘anti-cheating’.

El post está escrito por Michael ‘Perma’ Van Kuipers, quien comienza explicando que, aunque en origen él era uno de esos “chicos malos” y que tuvo sus más y sus menos con, al menos, una gran desarrolladora, ahora trabaja para Riot Games intentando proteger el juego de “scripts, bots y exploits”.

En él, comienza reconociendo que, aunque dejar que jueguen un par de partidas, analizar su comportamiento y ‘banearlos’ es una estrategia eficaz que siguen muchas compañías, no es del todo ideal al arruinar la experiencia de varios jugadores durante ese tiempo. También comienza distinguiendo entre dos grandes tipos de trampas: los scripts y los bots.

Los ‘scripters’ son aquellos que aprovechan para automatizar algunos aspectos del juego con la finalidad de obtener un mayor rendimiento en partida y aumentar su ratio de victoria. El ‘botting’, en cambio, busca simular que se están jugando partidas reales —aunque no sea así— para subir cuentas de nivel y venderlas.

En cualquier caso, estos dos conceptos sirven solo como introducción, ya que son dos conceptos ampliamente conocidos por la comunidad y su desarrollo se centra en las tres formas principales en la que los jugadores analizan el código para explotarlo. El primer paso para ello es reducir la importancia del cliente en las partidas y la información que ofrece.

OBSTRUYENDO EL ANÁLISIS DEL JUEGO

Uno de los primeros focos de lucha es el análisis estático del código. A través de él, los jugadores pueden enganchar el código en su beneficio. El ‘hooking’, cuentan, habitualmente consiste en redireccionar la lógica del juego hacia un código personalizado. Un ejemplo práctico con el que ilustran sería utilizar hacia dónde se van a dibujar las partículas de un ‘skill-shot’ para decidir si el personaje se tiene que mover para esquivarla.

Para evitar esta práctica, además de encriptar el código, lo incluyen en una ‘biblioteca’ aparte que solo se abre cuando el juego está en ejecución. Así, quien trate de buscar en el código, se encontraría con un montón de código basura mientras garantizan que el juego utiliza únicamente lo necesario.

Sin embargo, esto no sirve para obstaculizar a los que utilizan ‘debuggers’, que analizan el juego mientras este se está ejecutando. Aunque sobre este aspecto se explayan algo menos, básicamente la lucha contra este tipo de ‘cheaters’ consiste en meter controles aleatorios, tanto en su momento de aparición como en el tipo.

Por último, están aquellos que analizan la memoria del juego para encontrar un punto de referencia desde el que tirar como punto de referencia. Para evitar esta situación, dificultan poder encontrar qué valor hace referencia a un aspecto en concreto haciendo que su posición en la memoria del juego varíe.

Todas estas acciones son solo una pequeña parte de lo que hacen, ya que —como advierten en el principio del post— no quieren dar pistas a los tramposos. Si deseáis conocer en más profundidad los aspectos técnicos, podéis consultar el post original en inglés.

Cerrar

Movistar eSports

Iniciar sesión Crear cuenta