-
Notifications
You must be signed in to change notification settings - Fork 10
Client ultra-cheaté #513
Comments
Merci pour les informations @mgl512 ! Pour le joueur qui utilise un client modifié, c'est une des grandes faiblesses de Minetest, et nous ne pouvons rien y faire tant qu'il ne c'est pas connecté au moins une fois sur le serveur (pour bannir comptes + IP), néanmoins, nos moyens sont limités car s'il change d'IP, il pourra recréer un compte et c'est le cercle vicieux du chat et de la souris qui commence... PING, pour que l'info passe et si des idées complémentaires surgissent : @LeMagnesium @Crabman77 @Cyberpangolin @Coethium |
Idée: si un joueur dig plus 10 blocs de mithril/diamands en l'espace de XX secondes, bannissement automatique (ratio à définir en fonction de la vitesse maximum de digging par un joueur |
Il a du hacker pour lire la map et envoyer le signal "dig" à chaque node qui l’intéresse. On pourrait vérifier si il dig 10 nodes mithril/diam's d'affilé mais si on tombe sur un chunk ça fera un faux positif. |
Vous avez de bonnes idées, je pense que ça vaudrait la peine de créer un mod "anti-cheat" pour les concrétiser |
@Darcidride : nous sommes aussi très interessés par un mod anti-cheat, pour remplacer l'anticheat natif du jeu (que nous désactivons car il empêche, par exemple, le mod sprint de fonctionner). Se baser sur le temps et/ou sur le type de blocs cassés pourrait, comme l'a dit @Crabman77, entraîner des erreurs (pour le temps, les paquets peuvent s'être accumulés pendant un freeze, et pour le type de blocs, les grands chunks). La distance (utilisée même seule) est une solution très efficace et peu coûteuse, qui (il me semble) n'est pas susceptible de donner des faux positifs. C'est tellement dommage que des joueurs profitent de la liberté d'un jeu pour le cheater... |
@paly2 L'anti-cheat natif a été écrit à mon avis à une certaine époque ou l'on imaginait pas que des trampolines, sprint, boost de vitesse, boost pour sauter plus haut, pour voler plus vite (sans creative/fast), etc... serait possible/codable/codé. Il n'est clairement plus à l'ordre du jour des besoins que nous avons sur nos serveurs. Nous le désactivons aussi sur tous nos serveurs. Une solution modulaire par mod semble en adéquation avec les besoins d'aujourd'hui, il ne manque plus qu'a coder ça :) |
C'est le cas sur des serveurs hardcore comme MinetestForFun, qui par leur difficulté retiendront majoritairement des joueurs âgés, mais pas sur les serveurs moyens (comme Mynetest) où la proportion est d'environ 1 joueur sur 15 (la plupart des joueurs y utilisent Multicraft, bien qu'il y soit activement déconseillé). Les joueurs sont honnêtes (sauf certains) parce qu'ils ont compris qu'on ne prend plus aucun plaisir à un jeu (ce qu'il est censé procurer par définition) si son gameplay n'a plus d'intérêt. Attention, en aucun cas je ne fais ici l'apologie des licenses fermées ! |
Il y a un gros problème. En cas de lag, ce genre de situations s'applique à tout le monde, et même des joueurs qui ne hackeraient pas pourraient donner l'illusion d'une tonne de dig soundains. Et on ne peut pas controller les clients hackés. Je me souviens de Dave qui nous disait qu'un de ses serveurs avait reçu une masse de paquets de dig qui avaient détruit sa map. Le client est roi. |
@LeMagnesium +1 pour l'ajustement |
Le premier test efficace serait probablement de contrôler la distance entre le player et le node sur lequel le dig s'applique, comme le suggère @Crabman77. Un contrôle sur le temps de dig entre deux nodes risque en effet de poser une difficultée en cas de lag (comme signalé par @LeMagnesium ). Après un lag, tous les digs en attente vont arriver en même temps alors qu'ils sont légitimes. |
Un nouveau pseudo est revenu et a fait la même chose. JackInBox, alias Rupert. Ce sont les joueurs qui l'ont signalé 2 jours plus tard cette fois. On sait qu'il se téléporte aux coordonnées qu'il veut. Là il est allé pile en (20_000, -20_000, 20_000) et a recommencé à miner toutes les ressources des environs sans les toucher et en une poignée de secondes. Possible qu'il vole dans les coffres verrouillés des joueurs, je ne l'ai pas encore vérifié et je ne suis pas sûr de le faire. Il n'arrive pas à casser dans les areas cependant. (Pourquoi aller voler une pioche en diams alors qu'il en a "miné" des centaines ?) |
Ce que j'annonçais arriva ... Un packet filter les gars ! Ou un anti-hack dans le code c++ ... Vous avez pas 36 choix , sois vous fork vers un code perso (je parle du core de minetest qui est l'élément un peu foireux) , sois vous faite un serveur dit "proxy" qui va lire chaque commende , ajoutée du delay etc ... Et encore il y a du travail a faire après sur chaque mod qui certain sont écrit avec le slip pour être poli et qui ne sont absolument pas opti secu |
Il y a eu un cheater suprême sur Mynetest. Il a une routine pour creuser une ressource spécifique automatiquement. Il est descendu profondément sous le spawn (-11.000) et a miné exclusivement 25 mithrils par seconde dès son arrivée sur le serveur. C'est assez caractéristique dans les logs, on voit ses lignes "digs mineral_mithril" s'empiler, même s'il y a plein de joueurs, grâce à sa vitesse de minage. Il a enchainé avec mese et ensuite diamant. Il a généré de la map par à-coups quand il s'est déplacé loin pour recommencer : les plus petits chunks possibles entourés de vide. Un joueur qui l'a croisé sur Test dit qu'il tue les autres à distance aussi.
Il a été banni de Test sous les pseudos Gold_Digger / jackspades et d'autres, et de Mynetetest sous les pseudos peapod / jackspades. Sur Mynetest, il y a un panneau au dome du spawn qui dit d'essayer MFF si le jeu est trop facile. Les joueurs y passent 5 minutes avant d'avoir interact.
PS: Si Cyberpangolin peut le filmer en action, c'est le prix Youtubitzer garanti ! Mais pas de pression ;)
-- Le_Docteur.
The text was updated successfully, but these errors were encountered: