Estoy desarrollando un juego que se ejecuta como una aplicación web. El hecho es que el juego pierde sentido si un jugador crea varias cuentas. Imagina que es un juego de estrategia por turnos, y si juegas contra ti mismo (con otra cuenta) puedes ganar toneladas de puntos fácilmente.
Al principio, pensé en registrar cada acción del usuario y luego comparar la IP del usuario para detectar si hay alguna pista de trampa. Pero luego noté que diferentes usuarios podrían estar corriendo bajo la misma IP, por ejemplo, si están en la escuela y todos comparten la misma IP usando un proxy. Usar de esta manera personas inocentes podría resultar prohibido.
¿Hay algún enfoque mejor que me estoy perdiendo?
web
anti-cheat
Matias
fuente
fuente
Respuestas:
Hay algunas formas diferentes de manejar esto, y muchas soluciones tienen sus propios méritos. Daré mi opinión sobre la forma ideal de manejar esto.
Primero, es importante entender que no importa cuán complicado sea su sistema, alguien que esté lo suficientemente involucrado en jugar el sistema (con el conocimiento apropiado) descubrirá una forma de jugarlo.
Para manejar seriamente este problema, si realmente es un problema para usted, debe manejarlo tanto en el diseño como en la implementación técnica de su juego.
En el aspecto técnico, básicamente necesitas jugar un juego de comparaciones.
Usando sus registros, puede configurar un sistema para comparar datos entre cuentas de cualquier cantidad de similitudes.
Con estos datos, puede emitir un juicio apropiado caso por caso o de forma automática. Dependiendo de qué tan extendido se haya vuelto el problema, recomendaría una opción automática y manejaría cualquier problema a través de un moderador en vivo. Es importante que no elimine la cuenta, simplemente suspendala con un mensaje que dice "Se sospecha que esta cuenta viola el acuerdo de TOS de este juego. Si no está de acuerdo, vaya aquí" con un enlace a un panel de arbitraje o algo así .
Es importante que tal cosa esté en su lugar, porque las personas podrían compartir direcciones IP en el hogar o en la escuela. Además, para los niños más pequeños, podrían estar usando las direcciones de correo electrónico, tarjetas de crédito o incluso nombres de sus padres en su información de registro, dependiendo de cuán protectores sean.
La segunda fase es el lado del diseño. Si bien es de esperar algún beneficio, debes desincentivar suficientemente esta forma de hacer trampa con tu juego. Hay bastantes maneras de hacer esto, hay algunas totalmente molestas de tiempos de espera muy cortos (que pueden ser necesarios). Pero creo que la mejor manera es ajustando adecuadamente los beneficios entre dos cuentas.
Usted podría incluso específicamente las cuentas deseadas que comparten datos y disminuir directamente el beneficio que obtienen al interactuar entre sí. Esto fomentaría la interacción con otros jugadores, pero se puede eludir con servidores proxy y sería desaconsejable dependiendo de su público objetivo.
La otra forma en que pensaría funcionar es tener un juego tan atractivo que las personas realmente no puedan jugar dos cuentas separadas y seguir el ritmo de todos los demás.
Por supuesto, con este sistema, deberías dedicar un buen esfuerzo a ajustar para evitar falsos positivos y demás.
tl; dr?
Desea recopilar datos apropiados que le permitan detectar y manejar automáticamente las amenazas potenciales y lidiar con los falsos positivos, usuario por usuario. Sería necesario un buen cuidado de los niños para asegurarse de que no tenga falsos positivos.
También desea reducir el beneficio de hacer trampa con varias cuentas en el final del juego.
fuente
La forma más simple y efectiva de contrarrestar la 'acumulación' de puntajes es ajustar el puntaje recibido en función de la disparidad entre los jugadores. Tenga en cuenta que no es solo un jugador que crea múltiples cuentas de lo que debe preocuparse: imagine dos amigos, uno pierde deliberadamente para que el ranking de los demás se incremente artificialmente.
El ajedrez y otros juegos evitan esto a través de formas del sistema de calificación Elo . Básicamente, la recompensa por vencer a alguien de una calificación más alta que tú es alta, pero la recompensa por vencer a alguien de una calificación mucho más baja es muy baja. Esto rápidamente hace que perder deliberadamente en beneficio de otro jugador sea ineficaz. Puede ajustar la velocidad a la que ganar contra un jugador pobre rápidamente resulta en una ganancia neta pequeña. Un jugador que juegue "adecuadamente", es decir, que gane contra una amplia gama de oponentes con puntajes similares, avanzará muy rápidamente.
NB: no es suficiente penalizar a los jugadores que pierden para que ganar contra ellos no te dé nada, porque los jugadores pueden crear una cuenta, perder con ella deliberadamente y luego crear otra cuenta. Esto no es un gran problema si hay una barrera de entrada (por ejemplo, ingresar los datos de la tarjeta de crédito para crear una nueva cuenta), sino para juegos gratuitos que funcionarían.
También vale la pena señalar que existe un peligro si las clasificaciones se usan como una medida de la capacidad real, en lugar de solo como una forma de modificar las recompensas que recibe el jugador. Si la calificación en sí es la medida, los jugadores astutos usarán el sistema para sabotear a otros. Es decir, el jugador 1 gana mucha habilidad / habilidad a través de la práctica, y luego crea una nueva cuenta. El jugador 2, que es tan bueno como el jugador 1, acepta un desafío del recién llegado. Perder ante el recién llegado dañará enormemente su clasificación, a pesar de que realmente el nuevo jugador es de rango equivalente. Sin embargo, si la calificación no se usa realmente para medir al jugador, esto es realmente en interés del jugador 2 (tener su calificación bajada les permitirá avanzar más rápido dado su nivel de habilidad real).
fuente
Podrías otorgar puntos según la diferencia entre los totales de puntos de los oponentes. Los jugadores muy buenos ganarían pocos puntos por derrotar a los novatos, y los novatos ganarían muchos puntos por derrotar a los jugadores experimentados. Del mismo modo, los perdedores perderían puntos proporcionales a la misma escala.
Esto no resolvería por completo su problema, pero eliminaría el simple caso de que alguien creara y derrotara a un montón de novatos, además de dificultar el nivel de dos cuentas diferentes de igual poder.
Realmente, sin embargo, no hay una manera infalible de detener esto; un tramposo suficientemente dedicado tendrá éxito. Pero si marca cuentas con actividad sospechosa para su revisión, donde "actividad sospechosa" incluye varias cuentas con el mismo correo electrónico o dirección IP, entonces podrá detectar a los delincuentes más atroces.
fuente
Descubrí que esto es mucho más fácil de solucionar a través del diseño del juego que a través de la aplicación / prohibición. Incluso si prohíbe permanentemente todas las cuentas de un jugador, los jugadores suficientemente determinados pueden encontrar una forma de evitar su prohibición (por ejemplo, si realiza un seguimiento de IP, pueden usar IP dinámica o enmascaramiento de IP).
Por ejemplo, si otorgas puntos a los jugadores por ganar concursos PvP, les das incentivos a los jugadores para que creen varias cuentas para que puedan perder para sí mismos. Si, en cambio, otorgas recompensas más grandes por jugar en grupos con los mismos jugadores a lo largo del tiempo (es decir, participación en el gremio), incentivas la amistad y la comunidad sobre la competencia, lo que cambia los comportamientos preferidos. Tener características de metajuego adicionales vinculadas a la cuenta del jugador (como un puntaje de reputación y una lista de amigos) hace que el mantenimiento de varias cuentas sea menos atractivo; al menos, las personas querrían una cuenta "primaria" con un buen representante.
Si su juego es PvP por naturaleza, una gran forma de evitar el problema "Haré varias cuentas y perderé a propósito" es ofrecer emparejamientos automáticos. Entonces, el jugador solicita jugar un juego, y el servidor los compara automáticamente con otra persona que está en línea en ese momento. Si los jugadores no pueden elegir a sus oponentes, no hay forma de que garanticen que lucharán por sí mismos (a menos que sean el único en línea en ese momento, pero entonces tienes mayores problemas). Vea Microsoft Hearts / Spades, o la mayoría de los juegos de Facebook que permiten PvP, para ver ejemplos de esto. Tenga en cuenta que en este caso definitivamente querrá algún tipo de emparejamiento inteligente (ya sea utilizando algún tipo de sistema de clasificación / calificación como parte de la cuenta del jugador, o permitiendo que los jugadores seleccionen automáticamente su nivel preferido de competitividad).
Si le preocupa que los jugadores quieran jugar con sus amigos, siempre puede ofrecer esa opción también, pero solo permite juegos sin clasificar / sin clasificar / practicar cuando elige a sus oponentes.
fuente
La gente de https://panopticlick.eff.org/ realizó algunas pruebas sobre cómo alguien podría ser identificado de manera única por varios valores que se pueden obtener de casi cualquier navegador. Los resultados son asombrosos y podría usar un enfoque similar (tal vez combinado con otras medidas) para identificar y rastrear a sus usuarios.
fuente
Blizzard tomó una solución de diseño muy simple en Warcraft 3 y Starcraft 2: solo permite que los jugadores ganen puntos / puntaje / experiencia cuando juegan en juegos usando el servicio automático de emparejamiento. Los jugadores aún pueden jugar contra sus amigos, pero no obtendrán puntos.
Si el jugador no tiene forma de decidir contra quién está jugando, no hay una manera confiable de jugar jugando contra cuentas ficticias.
fuente
Juego en un sistema de juego llamado travian, y realmente creo que la tecnología no es lo suficientemente buena como para atrapar trampas. La mayoría de los trucos tienen 2-4 sistemas vinculados a través del conmutador KVM, cada sistema ejecuta diferentes versiones del sistema operativo (Windows XP, Vista, Win7, Linux mint, Slitaz, etc.), y se ejecuta a través de servidores proxy (aunque la cuenta principal no está utilizando proxy pero estándar)
Esto, por supuesto, crea una ventaja tan injusta que la mayoría de las personas que pagan para jugar se van, con el pago de miembros por más de 1000 en solo unos meses, y con la menor cantidad de jugadores, cada vez es más obvio que las cuentas son sospechosas, pero sin evidencia de trampas, los jugadores que hacen trampas escapan al castigo, y aquellos que pagan de manera justa (gritos, es decir, juegan de manera justa) pueden ver la actividad sospechosa, se desaniman y abandonan el juego, o aprenden a hacer trampa y por lo tanto Inlies los problemas.
Actualmente, para travian, no hay ningún jugador en la parte superior del juego que pueda decir honestamente que no hacen trampa, o admitir que han contratado a personas de países como Filipinas y China para ayudarlos a jugar el juego mientras duermen o están de vacaciones. .
seguramente debe haber mejores maneras de atrapar trampas en múltiples cuentas, o este es el futuro de los juegos, donde solo unas pocas personas reales componen toda la base del juego y el ganador se basa en quién puede contratar a la mayoría de las personas en los países del tercer mundo para jugar Los juegos para ellos.
¿La membresía de $ 0.01 con tarjeta de crédito (y ver quién tiene números de tarjeta de crédito idénticos) sería una forma factible de detectar múltiples trampas de cuenta al momento del registro?
fuente
Una opción si tiene varios servidores es exigir que las cuentas de la misma IP se creen en servidores alternativos. Entonces, si desea crear 10 cuentas, genial, pero tendrá que crearlas en servidores que no interactúan entre sí. Esto evita que las personas en el mismo lugar puedan jugar juntas, por lo que existe ese inconveniente. En el lado positivo, también interfiere con la efectividad de los proxies en el engaño.
Terminará con los pros y los contras de cualquier solución que se le ocurra, y no eliminará por completo las trampas. Así que decida hasta dónde está dispuesto a llegar y vigile de cerca cómo esos cambios afectan la base de usuarios.
fuente
La mayoría de las personas intentan perseguir múltiples cuentas con herramientas externas. Lo cual es estúpido. Si tiene registros y métricas adecuadas para las actividades de los usuarios, podría lograr la mayoría de los contadores múltiples con un puñado de escaneos de criterios dentro de un juego.
Y no, no voy a entregarle el desglose, la verdad es que, y muy pocas personas en la industria lo explicarán, mientras más estúpidos diseñadores y programadores de juegos estén allí, mayor seguridad laboral para las personas que saben qué demonios están haciendo.
La contabilidad múltiple solo es viable para las personas si la cadena de beneficios está mal diseñada y puede ser manipulada fácilmente por cuentas múltiples.
Si la contabilidad múltiple es difícil y requiere mucho tiempo en términos de recompensa (no de evasión de detección, solo esfuerzo y tiempo de juego)
Entonces las únicas personas que realmente lo hacen son los jugadores hardcore. Y ni siquiera necesita molestarse en levantarles la vista, ya que son impulsores de la comunidad. Dedican todos los esfuerzos para conocer todas sus lagunas y estudiar la eficiencia dentro de un entorno. Por todos los derechos, el esfuerzo que invierten debe ser el mejor recompensado. Aún puedes monetizar a la mayoría de los perezosos.
Los buenos diseñadores nunca se ponen a tapar todas las lagunas, solo conecte las más importantes y asegúrese de tener una manera de eliminar el exceso de la economía. O, obviamente, inyectar valor si es necesario.
Tengo una lista a mano de 83 contadores múltiples. Piensan que nos están engañando y disfrutan de la felicidad de la idea de que son más inteligentes que nosotros. La mayoría también invierte dinero real en el juego, no queremos prohibirlos. Nuestros programadores realmente no tenían tiempo para un sistema, así que configuré CM con una cuenta ficticia secreta para ocasionalmente golpearles la cabeza en el juego y "legítimamente" robarles sus "riquezas".
Piensan que nos están jugando como compañía, y están cada vez más motivados al pensar que alguien más en el juego tiene un hacha que moler. El resultado final es que un CM descarta cualquier exceso crítico, teniendo en cuenta que él sabe lo que está haciendo el usuario, y realiza una "emboscada" en cualquier momento. Todo lo cual puede ser automatizado por código, pero ¿quién tiene tiempo o presupuesto para eso?
Para empezar, cualquiera que esté construyendo sistemas complejos de detección de múltiples cuentas para crear perfiles de IDS de usuario, para evitar que las cuentas múltiples en los juegos estén molestos.
fuente
Realmente necesita identificar los comportamientos específicos que desea prevenir.
Por ejemplo, si el verdadero problema que desea evitar no es "personas que crean varias cuentas", sino "individuos que son objetivo de múltiples cuentas controladas por la misma persona", esa es un área donde puede usar rasgos similares entre cuentas potencialmente clonadas para Permitir que los jugadores mismos controlen el juego múltiple . En otras palabras, si detectan rasgos de juego múltiple, pueden actuar (a través de alguna interfaz) para verificar las similitudes entre las cuentas, y si las cuentas tienen demasiadas similitudes, pueden producirse un castigo. Vigilancia de jugadores. El beneficio de esto es que la contabilidad múltiple es lo más importante para otras personas que no juegan varias veces, por lo que si se sienten perjudicados, tienen un recursopueden intentar atrapar al multijugador en el acto. También permite que las cosas que en un sistema de cuentas visualmente plano serían falsos positivos (como ip) sean una evidencia mucho más real de conteo múltiple.
Del mismo modo, como otros han mencionado, si se trata de ganar rango al derrotar a sus propias cuentas ficticias, un sistema como el sistema de representantes aquí en stackexchange ayuda a convertir los puntos de clasificación de usted en una ganancia de suma cero.
fuente
Asegúrese de que hacer varias cuentas no valga la pena .
Ejemplos de cómo haría esto:
Permita que los jugadores creen varias cuentas porque no puede evitar que lo hagan de todos modos:
De todas estas respuestas, este método es el único que realmente funciona. Si las personas no quieren hacer varias cuentas, no lo harán. Puedes decidir qué quieren a través de un diseño de juego bueno y considerado.
fuente
Creo que hay otro enfoque. Porque hay otro daño potencial: crear imágenes de dos amigos que crean dos cuentas: una cuenta más floja y una cuenta ganadora cada una. Un día, el amigo A usa su cuenta más flexible para perder todos los juegos contra la cuenta ganadora del amigo B. Al día siguiente cambian. Verificar las IP no ayudará aquí.
Debe verificar el comportamiento de los jugadores (una estrategia conocida por los sistemas de detección de intrusos). Si dos jugadores juegan a menudo y uno pierde todo el tiempo, esto es una pista. Si los juegos terminan muy temprano, es otra pista.
Puede puntuar esas pistas, agregar el puntaje a una reputación (no mostrar la reputación a los usuarios) y prohibir las cuentas si alcanzan un valor que usted defina. Tal vez también debería haber anti-pistas que reparen la reputación.
Otras pistas dependen mucho de tu juego. Pero creo que entiendes la idea.
fuente
Puede usar el almacenamiento local de datos Flash, no todos saben cómo eliminar datos flash.
fuente
Not everyone
No es suficiente, desafortunadamente.No es realmente una solución, pero al menos es un elemento disuasorio: supongamos que si se descubre que las personas tienen varias cuentas, todas las cuentas serán prohibidas. Esto debería evitar que muchas personas incluso lo intenten. Incluso si no prohíbe todas las cuentas, o no tiene una forma de detectarlo, la mayoría tendrá demasiado miedo.
fuente