Prologue
Salut tout le monde.
Que de lettres barbares dans ce titre, je sais :D
Je vais donc résumer un peu le projet (toute les informations sont sur le forum, je vois pas l'intérêt de tout ré-expliquer ici).
(Quoi que, après relecture, j'ai quand même pas mal ré-expliqué, même si c'est pas super clair partout !)
Chapitre I - Un MITM
C'est un Man In The Middle pour dofus 2.
Pour ceux qui ne savent pas ce que c'est, pensez à un proxy :
CLIENT DOFUS <-> SHADY <-> SERVEUR DOFUS
En clair, Shady étant entre le client et le serveur, il peut modifier, intercepter ou envoyer tous les packets qu'il souhaite.
Avec ça, on peut donc faire toute sorte de bot, tool, utilitaire, cheat, etc, allant de la petite animation sympa au cheat totalement interdit.
En encore plus clair, on peut simplifier ça en disant que c'est un bot socket qui utilise le client du jeu.
En effet, le client du jeu s'occupe de toute les actions ingrates (affichage des informations, envoi des packets inintéressants ...), et Shady se concentre sur la récupération d'informations et l'envoi de packets utiles.
C'est donc plus simple à utiliser une fois le MITM en place, et beaucoup plus sécurisé.
Chapitre II - Une API
Mais Shady n'est pas qu'un simple MITM. Le but de ce projet est qu'il n'y ai pas qu'un seul créateur, mais que tout le monde puisse apporter sa pierre à l'édifice.
C'est pourquoi TOUT est conçu sur un système de plugins.
Tous les plugins utilisent l'API de Shady.
Qu'est-ce qu'une API ? Ce sont des fonctions pré- mâchées codées qui permettent de créer des plugins plus facilement.
Par exemple, si tout le monde devait savoir coder le déplacement pour savoir coder un plugin, on ne s'en sortirait pas. C'est pourquoi la fonction de déplacement est prête à être utilisée.
L'API de Shady peut être à la fois haut niveau : cela comprends les fonctions déjà codées telle que le lancement de sort, le déplacement, le changement de carte, ou beaucoup d'autres..
L'avantage est que c'est beaucoup plus simple à utiliser. Le défaut étant que toutes les fonctions n'y sont pas.
(Évidemment, s'il y avait la fonction MonterToutSeulAuNiveau200(), il n'y aurait plus rien à faire)
Mais elle peut aussi être bas niveau. C'est à dire que vous pouvez intercepter ou envoyer n'importe quel packet. Donc, vous pouvez absolument tout faire si vous savez utiliser les packets.
Le défaut est qu'il faut maîtriser un minimum le protocole du jeu. L'avantage, je l'ai dit, c'est que vous pouvez tout faire étant donné que vous interceptez n'importe quel packet du jeu.
Il y a aussi une contrepartie, une sorte de moyen-niveau, c'est l'API du jeu (D***sAPI).
Elle contient toute les fonctions principales directement sorties des sources du jeu. (Liste de tous les packets du jeu, décompression des maps, pathfinding, d2o/d2i, etc.)
C'est un bon compromis qui vous permet de ne pas dépendre de l'API de Shady, mais sans avoir à tout recoder.
Pour être efficace, il vaut mieux savoir utiliser les trois, bien sûr :ugeek: .
Chapitre III - Des Plugins !
Donc je l'ai dit, ou pas : Shady en lui même ne sert à rien. Il ne fait que fournir le MITM et l'interface graphique de base (ShadyBot), quelques fonctions du jeu (D***sAPI) et des fonctions pré-conçues (ou pas) pour vous simplifier la vie (ShadyAPI).
Tout doit donc être dans un plugin. Par exemple, un plugin combat, un plugin récolte, un plugin flood.
Mais on peut aller plus loin et faire des plugins pour des plugins. Par exemple un plugin sadida fourbe pour le plugin combat, un plugin de trajets ...
Il y a donc facilement une infinité de plugins à créer qui n'attendent que vous pour ça.
Un système de signature un maximum simplifié pourra même permettre plus tard de vendre des plugins, mais on en est pas encore là.
Epilogue
Direction http://www.shady-bot.com/ pour toute autre information !
Vous devez créer un compte sur le forum pour utiliser le logiciel, ce qui de toute façon me parait logique si vous voulez avoir accès aux plugins en développement, au support, etc.
Voilà, vous avez droit à tous les avis, constructifs ou non, positifs ou non, je suis assez ouvert :)
(Mais je ne suis absolument pas responsable si vous vous faites tuer par un sniper dans la rue après m'avoir critiqué.)