Question

J'écris pas vraiment ce logiciel moi-même, mais il me est apparu que je ne sais pas comment résoudre le problème. Comme la meilleure façon d'expliquer le problème, je vais vous décrire un scénario spécifique d'un hypothétique jeu de tir multi-joueurs à la première personne ...

  • Le joueur A se cache dans des buissons ouest
  • Le joueur B est faufilent sur le joueur A de l'est, ou se faufiler derrière le joueur A

Un populaire « hack » écrit pour ce jeu serait pour le joueur A avoir un radar en lui montrant l'emplacement du joueur B, même si il ne peut pas voir le joueur B sur son écran, et le jeu ne supporte pas un radar . Ce hack est possible parce que le serveur envoie les informations au client du joueur A sur tous les joueurs dans une certaine plage (peut-être dans le plan de délimitation du joueur A). Il ne serait pas réaliste (pour autant que je sache), pour le serveur pour tenter d'envoyer uniquement les informations au client du joueur A sur les joueurs dans le lecteur cadre de la vue d'un. Parce que le serveur doit envoyer l'information sur tous les joueurs à proximité au client de joueur A, le joueur A peut écrire un hack qui superpose un radar sur son écran, qui est peuplé en observant des données envoyées au client et en tirant des mises à jour de l'état du joueur ennemi. Je pense que ceux-ci sont communément appelés « radar » ou hacks « mur ».

Est-il possible de masquer ou masquer des mises à jour de l'état des joueurs ennemis dans les informations envoyées au client? D'après ce que je comprends, le cryptage ne serait pas viable pour des solutions en temps réel? Même si le serveur a été en mesure d'envoyer uniquement des mises à jour de l'Etat sur les joueurs dans le joueur A l'image de vue, cela permet toujours hack du joueur A à montrer aux joueurs qui se cachent derrière des objets de camouflage ou de couverture (qui étaient sans doute d'une transparence mineure).

La seule chose que je pouvais vraiment penser serait de mettre en œuvre un certain type de solution « Punkbuster ». À savoir, que le joueur le client d'un scanner régulièrement pour des processus illégaux. L'idée étant que les hacks populaire serait surveillé. hacks Unpopular aurait une incidence sur une base de joueurs assez petit qu'ils sont trop petits pour aller après.

Était-ce utile?

La solution

C'est la seule façon. En plus de Punkbuster, vous devriez faire quelques recherches sur Warden (au-delà de wikipedia, il beaucoup de choses intéressantes que je ne vais pas le lien ici). C'est une bataille très intéressante compte tenu de la du monde en ligne conception ...

  

Le client est dans les mains du   ennemi.

Un autre élément est que les gens vont remplacer leurs pilotes vidéo avec des pilotes modded qui leur donnent des avantages (les choses sont opaques ou mis en évidence, les joueurs ne peuvent pas être « aveuglés », etc.). Je ne sais pas si des jeux pour les conducteurs vérifier modded ou non.

Autres conseils

Le cryptage simple est peut-être viable pour en temps réel avec le matériel d'aujourd'hui, mais le problème est que pour le client d'accéder aux données cryptées, il doit avoir la clé. Si le client a la clé, il ne sera probablement pas trop difficile pour un programme de tricheur pour trouver et récupérer. La meilleure façon est pour le serveur que pour envoyer la position de B à A si elle est du tout possible de voir B. Il sera toujours possible de tricher, mais dans une moindre mesure.

Une solution possible pour les cas où B se cache, mais une petite partie peut être visible est pour le serveur de dire simplement qu'il ya quelque chose à la position B. Il peut être un rocher ou tout le reste. Le problème est que pour le client pour être en mesure de rendre le quelque chose , le serveur doit donner une description assez précise. Étant donné que les jeux multijoueurs d'aujourd'hui faux faible latence en simulant ce que le serveur fait, ce qui est le plus probablement pas possible jusqu'à ce que nous avons des réseaux de latence ultra-faible.

Il y avait un programme appelé « eqmon » qui a fait quelque chose comme ça pour le jeu Everquest. Dans un premier temps, les paquets de jeu étaient complètement non crypté et contient tous les caractères (PC et APN) pour le niveau entier. Finalement, ils ont fini par utiliser le cryptage pour le rendre plus difficile à fouiner les paquets, mais eqmon contournaient que par brute force la clé de chiffrement (une nouvelle clé a été créée par le serveur à chaque fois que vous avez entré un niveau, il prend parfois quelques minutes pour déchiffrer la clé). Ils ont ensuite changé de sorte que votre client n'a reçu des mises à jour pour les PC ou les PNJ dans une certaine plage de votre emplacement. Cela a eqmon moins utile pour le camping et la surveillance « fraie rares » loin dans le même niveau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top