IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Approche d'un problème


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 234
    Points : 156
    Points
    156
    Par défaut Approche d'un problème
    Salut,

    Je lance ce sujet parceque j'ai fini par être complètement bloqué en ce qui concerne un problème que j'ai décidé d'attaquer. Je suis resté tellement longtemps devant le code à réflêchir qu'il n'y a plus rien qui sort. Il me manque sans doute une certaine technique dans mon approche :p .

    Le programme en question est un petit script pour un jeu vidéo. Son objectif est de détecter des joueurs qui utilisent un système de visée artificielle (il s'agit évidemment de tricherie). Pour ce faire, j'ai imaginé un moyen de détection qui dépenderas uniquement du serveur et qui seras donc hors d'atteinte de tout client.

    La plupart petits programmes utilisées pour avoir une visée "assistée" sont assez simples. Le comportement classique est de systématiquement viser le joueur le plus proche avec des armes qui touchent instantanément leur cible.

    C'est là que mon programme dois intevenir. N'ayant pas la possibilité de mesurer directement la vitesse de la souris (ce serais l'idéal), je peut néanmoins déterminer lorsqu'un changement de cible a lieu, l'angle parcouru (Yaw) et mesurer un interval de temps.

    C'est à ce stade que je coince un peu car j'aimerais départager les joueurs selon qu'ils aient un comportement "normal" ou "anormal". Pour déterminer ce qui est normal, il me faudrais collecter des statistiques sur une certaine période de temps alors j'ai décidé de voir le problème à l'envers et de voir ce que peut produire un tel système de visée en local.

    Donc, pour l'instant je cherche à programmer un algorithme qui tienne compte d'un changement de cible, de la distance de cette cible par rapport à la dernière cible, du temps nécessaire pour passer d'une cible à l'autre et, finalement, l'angle parcouru. Il n'est pas clair pour l'instant comment je devrais combiner ces facteurs (hierarchie ou parallèle ?). Je pourrais ajouter à cela des moyennes ou essayer de mettre au point une approche pour mesurer les x dernières secondes pour déceler une anomalie (à ce niveau il me faudras sans doute programmer un genre de pile car un array ne conviendrais pas).

    A partir de là, j'aimerais établir des valeurs maximales et minimales que je pourrais ensuite comparer avec des stats collectées sur des joueurs normaux. Le problème qui va sans doute émerger à ce niveau c'est que je vais demander l'aide d'un admin de serveur publique et que, au niveau des maximas/minimas, je n'aurais aucun moyen de faire la différence entre les deux types de joueurs.

    P.S: Si vous voulez des schémas pour y voir plus clair, n'hésitez pas à le signaler.
    Développeur en devenir.

    A la recherche de toute source approfondissant Merise, UML, Java, l'objet, les design patterns hors GOF et le développement en général.

    Recherche également des informations sur les techniques de développement et les bonnes pratiques en terme de programmation en entreprise.

    "On en apprends beaucoup plus par la confrontation que par la conciliation"

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 357
    Points : 637
    Points
    637
    Par défaut
    Disclaimer : je ne réponds pas directement à ta question

    Ce que tu veux faire me semble bien compliqué et pas forcément fiable (mesurer un temps sur quelque chose qui passe par le réseau... Je comprends le principe mais je trouve ça trop aléatoire).

    En général pour contourner les aimbots on regarde plutôt du coté du pourcentage de toucher (même si les "bons" aimbots contournent déjà cette sécurité en ajoutant des miss).

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 234
    Points : 156
    Points
    156
    Par défaut
    Une réponse reste une réponse et je t'en remerci.

    Pour la question de fiabilité, il y a la réalité serveur et la réalité client. Il y auras un décalage entre ces deux réalités et les évènements qui se produisent selon le temps de réponse d'une ligne. Ici je m'intéresse à la réalité serveur.

    Il est possible de mesurer le nombre de tirs réussis mais je ne suis pas encore certain si ca nécessite un package qui seras téléchargé par le client. Il est également possible de mesurer la quantité de "dégats" infligés à chaque tour.

    Je suis conscient qu'il y a une série de techniques pour éviter la détection mais je souhaite uniquement m'occuper des joueurs qui ne font aucun éffort pour cacher le fait qu'ils trichent et qui s'amusent à vider les serveurs.
    Développeur en devenir.

    A la recherche de toute source approfondissant Merise, UML, Java, l'objet, les design patterns hors GOF et le développement en général.

    Recherche également des informations sur les techniques de développement et les bonnes pratiques en terme de programmation en entreprise.

    "On en apprends beaucoup plus par la confrontation que par la conciliation"

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/01/2009, 20h37
  2. Réponses: 6
    Dernier message: 16/09/2008, 20h35
  3. Quelle approche pour ce problème de conception bien spécifique ?
    Par wokmichel dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 23/10/2006, 08h50
  4. Réponses: 16
    Dernier message: 24/06/2005, 12h49
  5. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo