Hay muchas maneras de hacerlo, y la elección depende en gran medida del tipo de juego que está creando y cómo se utilizan los protocolos detrás del juego, cuál es el diseño general del juego, etc.
Los dos enfoques más notables para resolver el problema son los siguientes:
No confíes en el cliente
- ¿Cuáles son algunas de las cosas que la mayoría de los hackers solían hacer ellos mismos pero que ahora usan el software de otras personas?
- ¿Por qué los piratas informáticos obtienen sentencias de prisión tan ridículamente largas mientras que los estafadores y delincuentes no electrónicos obtienen sentencias mucho más cortas por delitos similares?
- ¿Cuáles son algunas cosas básicas necesarias para ser un hacker profesional?
- ¿Se pueden piratear las cajas de señales de tráfico?
- ¿Cómo es conocer a Saket Modi?
- Suponga que su cliente y sus protocolos serán de ingeniería inversa y descompilados.
- Suponga que cualquier secreto compartido que incruste en su cliente tendrá ingeniería inversa.
- No confíes en la ofuscación por seguridad, ya que encontrar trampas es un mini juego divertido en sí mismo para algunas personas.
Como se ha mencionado en algunas presentaciones públicas en GDC, los juegos de Zynga utilizan este enfoque.
Tener un software de detección de trampas basado en el cliente
Este enfoque se basa en herramientas de terceros como Gameguard, Punkbuster y, lo que es más interesante, Warden [1] para escanear continuamente un cliente semi confiable para detectar trampas.
Warden, utilizado por los juegos de Blizzard, es básicamente un software que se ejecuta en el cliente y escanea su sistema operativo en busca de todo tipo de actividades sospechosas.
Por supuesto, dado que básicamente hay una carrera armamentista entre los tramposos y los anti tramposos, los tramposos también intentan aplicar ingeniería inversa a los programas anti trampas basados en el cliente.
Warden básicamente adopta el enfoque de descargar el código polimórfico anti trampa en su PC después de iniciar sesión para que los tramposos siempre tengan un objetivo móvil con el que lidiar. En términos generales, esta ruta es mucho más costosa, aunque podría estar justificada en juegos donde las limitaciones tecnológicas significan que debe confiar en el cliente para proporcionar el nivel más alto de capacidad de respuesta.
Además, es posible que desee complementar la detección de trucos sobre la marcha con una detección de trucos real.
Si posee y confía en los servidores, puede recopilar y extraer datos de todo tipo de información para detectar y revertir cualquier actividad de trampa en un juego. Invierta bien en sus herramientas para analizar estos datos, ya que también servirá como una buena herramienta de depuración. Al invertir, no estoy sugiriendo necesariamente gastar mucho dinero, sino que sugiero que las herramientas sean robustas, optimizadas y no piratas a medias.
[1] http://en.wikipedia.org/wiki/War…