La plupart des jeux en ligne souffrent de ce problème et il existe des sociétés de logiciels pour couvrir ce problème, mais récemment, d'après ce que j'ai vu, la plupart des sociétés tentent d'éviter que ces programmes ne créent leur propre système (blizzard avec gardien, aion avec leur propre vérification, etc. ...) mais il est très difficile d'empêcher de tels ...
Je voulais juste dire que j'ai fait un autre sujet de question en tant que wiki communautaire spécifique pour publier des applications.Ce sont les fonctionnalités et les idées derrière cette question ici ne sont pas de les énumérer, mais plutôt d'en savoir plus sur vos tentatives, les problèmes en cours de route et les solutions possibles. , morceau de codes si application et ainsi de suite.
Quel type de protection utilisez-vous pour (essayer) d'empêcher de tels actes:
- Logiciel anti-triche? (veuillez indiquer les raisons, les problèmes et les problèmes que vous avez rencontrés, par exemple, aion a cessé d'utiliser GameGuard au stade bêta en raison d'un grand nombre de problèmes de compatibilité et se plaint de leurs utilisateurs)
- Votre propre code? (quel type de vérification exécutez-vous habituellement pour vous assurer des joueurs de mauvaise foi, par exemple speedhack, vérifier le nouvel emplacement par rapport à la vitesse + dernier emplacement, etc ...)
- Aucun, je m'en fiche? (une raison personnelle ou une contribution que vous aimeriez partager?)
Un morceau de code intéressant lié au problème que vous souhaitez publier?
N'hésitez pas à retravailler mon texte mon anglais inst that great? **
la source
Réponses:
Malheureusement, il est vraiment difficile d'empêcher les gens de tricher, c'est pourquoi un logiciel comme Punkbuster a été créé pour essayer d'attraper certains d'entre eux.
Pour un MMO, la plus grande chose que vous puissiez faire est de ne pas faire confiance à ce que le client vous envoie . Le client ne doit pas être en mesure de vous dire où le joueur s'est déplacé, combien de dégâts il a infligés à qui, etc. 1000 fois en 1 seconde, par exemple, n'est pas valide), puis mettez à jour la simulation sur le serveur. Vous renverriez alors les parties pertinentes du nouvel état du jeu au client.
Pendant que vous validez la saisie des utilisateurs, il est également possible de rechercher des tendances dans leur saisie. Si vous n'autorisez pas les macros, vous pouvez les attraper ici en remarquant que l'utilisateur a cliqué sur le même bouton aux mêmes coordonnées de pixels exactes à des intervalles de 1 seconde parfaits au cours des 30 dernières minutes.
Le client lui-même est le principal endroit où les gens peuvent tricher, donc des programmes comme Punkbuster peuvent réduire les wallhacks, les aimbots, etc. À part cela, ne pas faire confiance au client et valider tout ce qui vous est envoyé par le client aidera à réduire la tricherie.
la source
Enregistrement. Tout ce qui se passe sur le serveur doit être enregistré, et idéalement tout ce qui vient du client. Le client est intrinsèquement non fiable, mais même la journalisation de données non fiables peut être éclairante.
Une fois que tout est enregistré, la détection de triche devient une question d'analyse des données. Certains tricheurs seront évidents (des valeurs hors des limites acceptables, par exemple pouvoir se déplacer entre des points beaucoup plus rapidement que l'avatar ne le permet normalement), d'autres sont plus insidieuses (comme les aimbots permettant un ciblage parfait des pixels dans des délais artificiellement courts). Certains sont encore plus difficiles à détecter (comme les wallhacks), mais l'enregistrement autant que possible permet une détection automatique et manuelle. Il existe divers articles à ce sujet, mais généralement les tricheurs sont très facilement repérés dans la détection automatisée car ils sont tellement prévisibles / répétables, exactement comme les joueurs humains ne le sont pas.
Comme l'enregistrement absolument tout est irréalisable, une journalisation à plusieurs niveaux est utile. Par exemple, des rapports de tricherie par les utilisateurs, ou une simple journalisation de base qui détecte la possibilité de tricherie (score qui sont bien au-dessus de la courbe statistique), serait suffisant pour signaler un client / compte / clé CD particulier pour une journalisation plus détaillée, ce qui pourrait être ensuite utilisé pour prouver hors de tout doute raisonnable qu'une triche est en cours d'utilisation.
Ce que vous faites lorsque vous détectez une fraude est une tout autre affaire. L'interdiction de compte après coup est bonne, surtout lorsque vous disposez d'un mécanisme de détection automatisé suffisamment fiable. L'interdiction précoce avertit les tricheurs qu'ils sont détectés et court également le risque de faux positifs en raison de mécanismes de détection non concluants. Interdire trop tard risque de ruiner l'expérience de jeu pour les autres. Il s'agit d'une zone très grise, et les développeurs doivent faire leur jugement.
la source
En supposant que tout le travail important dans votre jeu se déroule côté serveur, il devrait y avoir peu ou pas de triche possible. Si vous souhaitez restreindre la macro ou la rendre désagréable pour les utilisateurs à modifier des paquets, demandez à votre programme de rechercher périodiquement des modules actifs dans son processus. Si vous trouvez par exemple WpeSpy.dll, vous saurez qu'ils ont WPE attaché. Faites-le pour les autres outils courants. Cela peut être contourné, et c'est une course aux armements et une cause perdue, mais si votre jeu est relativement petit, vous pouvez très facilement réduire le nombre de personnes qui se trompent d'environ un facteur dix ... et cela peut être bien assez pour toi.
la source
but also send timestamps, and if you get too much drift, you'll know they are using one. Mark their account, but don't kick them immediately -- immediate feedback is a great way for someone to know what your software detects.
je cherchais récemment à implémenter un système d'horodatage et d'avertissement des utilisateurs marqués, actuellement ce que j'ai mis le lecteur sur une liste sur laquelle je travaille maintenant, c'est que si certains ont une utilisation abusive élevée, il enverra une alerte à un GM en ligne pour vérification ...