Pregunta

No estoy realmente escribir este software a mí mismo, pero me ocurre que no tengo ni idea de cómo resolver el problema. A medida que la mejor manera de explicar el problema, voy a describir un escenario específico de una primera persona juego de acción hipotética multi-jugador ...

  • Un jugador se esconde en los arbustos mirando hacia el oeste
  • El jugador B está infiltrando en el jugador A partir de este, o acercarse sigilosamente detrás jugador A

Un popular "piratear" escrito para este juego sería para el jugador A tener un radar le muestra la ubicación del jugador B, a pesar de que él no puede ver el jugador B en su pantalla, y el juego no es compatible con un radar . Este hack es posible porque el servidor está enviando información al cliente del jugador del A en todos los jugadores dentro de un cierto rango (quizás dentro plano de delimitación del jugador del A). No sería realista (por lo que yo sé), para que el servidor intenta enviar información al cliente solamente jugador del A de los jugadores dentro de marco de vista del jugador del A. Debido a que el servidor debe enviar información sobre todos los jugadores cercanos a clientes jugador del A, el jugador A podría escribir un truco que se superpone a un radar en su pantalla, que está poblada por ver para los datos enviados al cliente y sacando actualizaciones de estado del jugador enemigo. Creo que estos son comúnmente conocidos como "muro" hacks "radar" o.

¿Hay alguna manera de confundir u ocultar las actualizaciones de estado de los jugadores enemigos en la información enviada al cliente? Por lo que entiendo, el cifrado no sería viable para soluciones en tiempo real? Incluso si el servidor fue capaz de enviar sólo las actualizaciones de estado de los jugadores dentro de marco de vista del jugador del A, esto todavía permitiría truco jugador del A a mostrar a los jugadores que ocultan detrás de camuflaje o cubierta objetos (que eran presumiblemente transparente en menor).

La única cosa que realmente podría pensar sería la implementación de algún tipo de solución "PunkBuster". Es decir, tiene el cliente jugador del A scan con regularidad para los procesos ilegales. La idea es que los cortes populares sería supervisado. hacks impopulares afectarían a una pequeña base de jugadores lo suficientemente que son demasiado pequeños para ir después.

¿Fue útil?

Solución

Esa es la única manera. Además de PunkBuster, usted debe hacer una investigación sobre Warden (más allá de la Wikipedia, hay un montón de cosas interesantes que no voy a enlazar aquí). Es una batalla muy interesante dado el mundo en línea diseño ...

  

El cliente está en manos de la   enemigo.

Otro elemento que es lo que la gente va a reemplazar sus controladores de vídeo con los controladores modded que les dan ventajas (cosas son opacas o con mechas, los jugadores no pueden ser "ciegos", etc). No estoy seguro de si alguno de los juegos de verificación para los conductores modded o no.

Otros consejos

La codificación sencilla podría ser viable en tiempo real con el hardware actual, pero el problema es que para que el cliente acceda a los datos encriptados debe tener la clave. Si el cliente tiene la clave probablemente no será demasiado difícil para un programa de tramposo para encontrar y recuperar la misma. La mejor manera es para el servidor sólo para enviar la posición de B a A si es del todo posible ver B. Sin embargo, será posible engañar pero en un grado algo menor.

Una posible solución para los casos en que B está ocultando, pero una pequeña parte puede ser visible para el servidor es decir simplemente que hay algo en la posición de B. Puede ser una roca o lo que sea. El problema es que para que el cliente sea capaz de hacer que el algo , el servidor tiene que dar una descripción bastante exacta. Dada la baja latencia que los juegos multijugador actuales falsa simulando lo que hace el servidor, esto no es lo más probable sea posible hasta que tengamos las redes de ultra baja latencia.

Hubo un programa llamado "eqmon" que hizo algo como esto para el juego Everquest. En un primer momento, los paquetes de juegos eran completamente sin cifrar y contenían todos los caracteres (tanto en PC como APN) para todo el nivel. Con el tiempo, terminaron mediante el cifrado para hacer más difícil a espiar los paquetes, pero eqmon consiguieron en torno a que por fuerza bruta sobre la clave de cifrado (una nueva clave fue creado por el servidor cada vez que se ha introducido un nivel, por lo que a veces se tomó unos minutos para descifrar la clave). Luego lo cambiaron para que su cliente sólo recibe actualizaciones para PC o NPC dentro de un cierto rango de su ubicación. Esto hizo eqmon menos útiles para acampar y monitoreo "raros" engendros muy lejos, en el mismo nivel.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top