DEV Community

Un Space Invaders en ECS Express Mode con anti-cheat server-side

Dejé un juego de Space Invaders corriendo en AWS y lo que más me costó no fue el juego. Fue que un líder de ranking con el servidor confiando en el score que manda el cliente se llena de tramposos en cinco minutos. Así que terminé construyendo un backend que recibe eventos de kills, no puntajes, y un anti-cheat de 8 reglas que recalcula el score del lado del servidor. Y después descubrí que, para desplegarlo, ECS Express Mode me evitaba escribir treinta recursos de Terraform.

El problema

Un leaderboard global tiene un solo bug inevitable: el cliente manda { nickname, score: 999999 } y el servidor lo guarda. Funciona, hasta que alguien con devtools abiertas lo nota.

La solución ingenua es mandar el score cifrado del cliente. La mejor defensa es no confiar en el score del cliente en absoluto: que el cliente

Read on DEV Community ↗ ← Back to News

Comments

No comments yet. Start the discussion.