2010-04-26 12 views
6

¿HTML 5 Gaming utiliza Canvas y Javascript? ¿Cómo evitar las trampas en este caso?¿HTML 5 Gaming utiliza Canvas y Javascript? ¿Cómo evitar las trampas en este caso?

Por ejemplo, ¿qué pasa si un usuario usa GreaseMonkey o alguna herramienta para alterar el script para que solo reporte un puntaje perfecto del juego al servidor cada vez?

+2

Solo recuerda que en la mayoría de los casos no puedes evitar por completo las trampas de todo tipo. Sin embargo, en esos casos, simplemente puede hacer trampa es muy difícil de disuadir a la mayoría de los kiddies script piratear su juego. No lo evitarás, pero puedes reducirlo significativamente. –

+2

@J Lynch: ¿Qué tipo de trampas quieres evitar? ¿Qué pasa si escribo una IA más inteligente que un humano que juega tu juego? La respuesta de S.Mark es acertada: si solo envía las acciones al lado del servidor, entonces se detiene un ** lote ** de métodos de trampa muy habituales. Ahora el atacante tiene que programar una IA para vencer a tu juego. Tenga en cuenta que su pregunta se refiere específicamente a un tramposo que informa puntaje perfecto, y luego en el comentario a la respuesta de S. Mark usted parece cambiar de opinión y quiere protección contra cualquier tipo de trampa, que no es lo mismo. – SyntaxT3rr0r

Respuesta

13

Responderé a su pregunta con una pregunta mía: ¿Por qué no vemos trampa desenfrenada en World of Warcraft? O cualquier otro MMORPG para ese asunto?

La respuesta es porque el fabricante del juego mantiene todo el lado del servidor del juego.

  • Si yo soy el cliente y yo estoy a cargo de la presentación de informes daño hecho al enemigo, o de mi ubicación, sí, por supuesto que puedo engañar y decirle al servidor que hice de 1 millón de daños.

  • Por otro lado, si el servidor realiza un seguimiento del estado y solo informo al servidor de los cambios de estado, todo lo que puedo hacer es decirle al servidor "Me moví hacia la izquierda" o "Disparé mi arma" < - anti-engaño está integrado en la arquitectura del juego

por supuesto, te traje hasta el punto de "acciones perfectas" - el caso sería un juego de acción, un juego de disparos, etc., donde podrían ser objetos identificado y la "acción perfecta" enviar. Y a eso yo diría: este tipo de trampa ya existe, de verdad. Y ha existido por muchos años. Así que no veo cómo algo cambia solo porque estos son juegos de JavaScript.

8

En lugar de enviar las puntuaciones de usuario, enviar acciones a cada lado del servidor y calcular las puntuaciones del lado del servidor

+0

que pasa si se trata de un juego de invasores o de Restaurant City ... no podemos enviar cada pequeña acción a los servidores, y aunque lo hagamos, podemos enviar todas las acciones "perfectas". –

+0

@J Lynch: ¿Por qué no? ¿Qué tipo de juego es? Si es algo así como Invaders, seguro, alguien podría recrear un "escenario perfecto", pero eso requeriría mucho trabajo de su parte, y la mayoría de los tramposos no querrán perder el tiempo. :) –

+1

@J Lynch, con respecto a acciones pequeñas, puede combinar y poner en cola algunas acciones y enviarlas a determinado intervalo para verificarlas. – YOU