Suffit de ce coder un lecteur de log... qui va détecter les fraudes...
Par exemple pour detecter le multi:
On représente, via un objet, ou quelque chose d'autre, une liaison entre deux joueur.
Au début on initialise toutes les liaisons entre tous les joueurs du jeu avec un degré de multi égal a zéro.
Puis on parse toutes les actions du jeu depuis les logs:
Quand deux joueurs s'envoient des ressources: on augmente le degré de 1
Quand deux joueurs se connectent a plus ou moins 2 min d'intervalle, on ajoute 1
Quand deux joueurs s'envoie un message, on retire 1 (un multi ne s'enverra probablement jamais de message a lui meme sur son second compte)
Quand deux joueurs attaquent la meme cible souvent, on ajoute 1
Quand un joueur scanne, et que l'autre attaque, sans envois de message, on ajoute 5
A la fin, le script génère un classement, tu contrôle manuellement les joeurs qui on des liaisons avec un indice élevé.
Manuellement, tu peut comparer les IP (la meme, aux memes heures), les pseudos (atra, atrakeur, etc), les mails...
Bref tout ce qui peut l'être! Et enfin quand tu est bien sur de toi... tu bloque...
Pour le cheat, on peut appliquer le meme principe:
On inscrit le joueur avec un indice de 0
A chaque action frauduleuse (prix négatif, id incorrect), tu ajoute 1 a cet indice.
Enfin, quand il te prend l'envie d'ouvrir la chasse au cheat, tu regarde les 10 premiers au classement du plus haut indice (ORDER BY... LIMIT 10), tu verrifie manuellement les logs personnels des joueurs en question, et enfin si il y a cheat avéré, tu bloque!
On peut pousser le vice plus loin en intégrant deux systemes de logs:
- un log classique (actions sensibles uniquement)
- un log étendu (toutes actions)
Par défaut, les user sont en log classique, mais si leur indice dépasse un seuil (ou que l'admin coche la case correspondante dans son panel), on passe en log étendu...
Ainsi, tu limite considérablement la quantité de logs a verrifier manuellement, tout en étant assez large pour englober la majoritée des cheaters!
Personnellement, je ne bloquerais le cheater que si son comportement pose un probléme dans le jeu (déséquilibre?)
Il ne faut pas oublier qu'un tricheur, prend souvent le jeu très a coeur, et est donc plus enclin a acheter les éléments payants du jeu!)
Ainsi, la page la plus importante que tu dois garder a l'oeil, est celle du classement général de ton jeu! (un tricheur montera plus vite que les autres)
Je pense aussi qu'il peut est intéréssant, une fois le tricheur détécté, de s'amuser avec avant de le bloquer...
J'entend par la, chercher comment il fait, et corriger pour voir si il trouve une parade a la correction...
ça rend le méchant tricheur utile car il t'aide a trouver les problemes de ton jeu, et comme les bloquages par IP ne sont pas fiables (et il peut se recreer un compte), corriger le problème a la source est la seule vraie solution!
Un dernier conseil: rien ne remplace le jugement humain! un anti cheat automatique est a la fois moins efficace contre les vrai cheaters, mais aussi moins juste envers l'user lambda qui s'est simplement gouré en ajoutant un - ou des <> dans un message...
Par exemple pour detecter le multi:
On représente, via un objet, ou quelque chose d'autre, une liaison entre deux joueur.
Au début on initialise toutes les liaisons entre tous les joueurs du jeu avec un degré de multi égal a zéro.
Puis on parse toutes les actions du jeu depuis les logs:
Quand deux joueurs s'envoient des ressources: on augmente le degré de 1
Quand deux joueurs se connectent a plus ou moins 2 min d'intervalle, on ajoute 1
Quand deux joueurs s'envoie un message, on retire 1 (un multi ne s'enverra probablement jamais de message a lui meme sur son second compte)
Quand deux joueurs attaquent la meme cible souvent, on ajoute 1
Quand un joueur scanne, et que l'autre attaque, sans envois de message, on ajoute 5
A la fin, le script génère un classement, tu contrôle manuellement les joeurs qui on des liaisons avec un indice élevé.
Manuellement, tu peut comparer les IP (la meme, aux memes heures), les pseudos (atra, atrakeur, etc), les mails...
Bref tout ce qui peut l'être! Et enfin quand tu est bien sur de toi... tu bloque...
Pour le cheat, on peut appliquer le meme principe:
On inscrit le joueur avec un indice de 0
A chaque action frauduleuse (prix négatif, id incorrect), tu ajoute 1 a cet indice.
Enfin, quand il te prend l'envie d'ouvrir la chasse au cheat, tu regarde les 10 premiers au classement du plus haut indice (ORDER BY... LIMIT 10), tu verrifie manuellement les logs personnels des joueurs en question, et enfin si il y a cheat avéré, tu bloque!
On peut pousser le vice plus loin en intégrant deux systemes de logs:
- un log classique (actions sensibles uniquement)
- un log étendu (toutes actions)
Par défaut, les user sont en log classique, mais si leur indice dépasse un seuil (ou que l'admin coche la case correspondante dans son panel), on passe en log étendu...
Ainsi, tu limite considérablement la quantité de logs a verrifier manuellement, tout en étant assez large pour englober la majoritée des cheaters!
Personnellement, je ne bloquerais le cheater que si son comportement pose un probléme dans le jeu (déséquilibre?)
Il ne faut pas oublier qu'un tricheur, prend souvent le jeu très a coeur, et est donc plus enclin a acheter les éléments payants du jeu!)
Ainsi, la page la plus importante que tu dois garder a l'oeil, est celle du classement général de ton jeu! (un tricheur montera plus vite que les autres)
Je pense aussi qu'il peut est intéréssant, une fois le tricheur détécté, de s'amuser avec avant de le bloquer...
J'entend par la, chercher comment il fait, et corriger pour voir si il trouve une parade a la correction...
ça rend le méchant tricheur utile car il t'aide a trouver les problemes de ton jeu, et comme les bloquages par IP ne sont pas fiables (et il peut se recreer un compte), corriger le problème a la source est la seule vraie solution!
Un dernier conseil: rien ne remplace le jugement humain! un anti cheat automatique est a la fois moins efficace contre les vrai cheaters, mais aussi moins juste envers l'user lambda qui s'est simplement gouré en ajoutant un - ou des <> dans un message...