Cómo detectar cambios en el cliente

1

Estoy desarrollando un juego de Java y hay dinero involucrado. Como tal, quiero evitar que las personas modifiquen al cliente si es posible (soy un diseñador de juegos, no un experto en seguridad). Sé que es imposible evitar que las personas modifiquen al cliente, entonces, ¿de qué manera podría detectar si las personas han cambiado al cliente? ¿Hay alguna forma de verificar que el cliente sea legítimo al inicio o algo así? Sé que no puedo detenerlo por completo o detectar todos los cambios, pero solo quiero hacer lo más difícil posible para que las personas que modifican a sus clientes no sean detectadas y obtengan una ventaja.

    
pregunta Zach Sugano 18.12.2013 - 03:21
fuente

2 respuestas

4

Te estás acercando al problema desde una perspectiva totalmente errónea.

Lo que esté en el lado del cliente está fuera de su control. Cualquier persona suficientemente determinada podrá omitir las medidas que emplee. En su lugar, haga que su servidor controle y valide los datos importantes. No hay ninguna razón para que el dinero del juego sea controlado por el cliente a menos que sea un juego para un solo jugador y, de ser así, ¿para qué molestarse?

    
respondido por el Ayrx 18.12.2013 - 04:01
fuente
4

Nunca puedes proteger completamente al cliente de manipulación. Si estás tratando con dinero en el juego, una cosa es lidiar con los tramposos. Pueden desequilibrar el juego y arruinarlo para todos. Pero cuando se trata de dinero real, pagado con una moneda fuerte, en el mundo real, en dólares estadounidenses, es un problema completamente distinto.

Tu primera preocupación será la gestión de riesgos. Lo que los juegos exitosos han hecho es hacer que el gasto del dinero sea asimétrico. Digamos que el juego se comercia en lingonberries (~ lB). Configuraron un servidor donde los jugadores pueden comprar ~ 1,000 lB por $ 10.00 USD en una tarjeta de crédito o cuenta de PayPal. En este modelo, los lingonberries del juego representan el valor del mundo real (un centavo cada uno). Pero si el juego permite a los jugadores "ganar" lingonberries a través de la minería, la agricultura o la molienda, no quieren arriesgarse a que un hacker configure un bot de ganancias. que aspira un ~ millón de libras por día. Una forma de administrar este riesgo es configurar el servidor del juego para que limite la tasa a la que se puede ganar 1 libra por cuenta. Tal vez los jugadores estén limitados a ganar no más de ~ 10 lB por día, y solo en circunstancias realmente especiales. De lo contrario, solo pueden ganar "estrellas de oro", "puntos de salud", "maná" o cualquier otro recurso que se ofrezca en el juego. Así que incluso cuando pueden tener clientes poco confiables, limitan su exposición a solo $ 0.10 por día por día. cuenta.

Hay otro problema interesante cuando una moneda del juego tiene valor real. Tienen que restringir y limitar todo lo relacionado con ellos, como las transferencias de lingonberries o artículos comprados con lingonberries entre jugadores. Si los lingonberries pueden tener valor, y si los objetos de valor pueden transferirse entre jugadores, se pueden comprar y vender en eBay. ¡Y si pueden convertirse en efectivo, pueden convertirse en un canal para actividades de lavado de dinero en el mundo real! Además, lingonberries en las cuentas de jugador se convierte en un pasivo real en los libros de la compañía. Eso significa que una compañía de juegos tendrá otras reglas financieras que seguir, como la eliminación (qué hacer con el dinero que queda en las cuentas abandonadas que aún tienen un saldo).

Los MMORPG han crecido tanto como para contratar a economistas reales para ayudar a dirigir sus economías dentro del juego. Se ocupan de temas como la inflación, los errores de juego que causan la deflación, los suministros de dinero y otros, todo para ayudar a mantener un equilibrio de juego divertido y administrar el riesgo. Los problemas en los juegos más grandes son increíblemente complejos. ¡Así que esperemos que tu juego sea tan popular que te encuentres con todos estos problemas! :-)

    
respondido por el John Deters 18.12.2013 - 05:22
fuente

Lea otras preguntas en las etiquetas