backbite
Salut tout le monde !
Ca fait un moment que je traine sur ce forum, mais à chaque fois que je voulais entreprendre quelque chose en suivant les tutoriels, je me retrouvais vite bloqué. Et pour cause, le C#/.NET, c'était vraiment pas mon truc ...
Ayant un peu de temps libre et voulant monter mes professions dans le jeu, je me suis dit que ça devrait être accessible de sniffer les paquets envoyés/reçus dans le jeu, les parser, et avec ça, trouver les recettes pour perdre le moins d'argent en montant le métier.
Et c'est pas trop mal ! J'y suis arrivé en plusieurs étapes:
D'abord première mission: sniffer de packets !
Pas si dur que ça, car c'est déjà fait sur le forum (coucou Labo) https://cadernis.com/d/1486-python-mac-pyshark-pour-sniffer-en-live-les-paquets
Avec ça, j'ai de quoi récupérer mes données.
Ensuite, déserialiser les packets !
Idem, on m'a déjà mâché le travail, merci Pepito ! https://cadernis.com/d/2430-projets-divers-webd2decoder-i18napi-et-treasure-hunt-helper
Le webd2decoder fonctionne très bien, j'ai juste eu à l'adapter pour traiter seulement les packets qui m'intéresse :)
Bon ok j'ai tout ce qu'il faut pour voir en clair ce qu'il se passe maintenant.
J'ai pu récupérer une petite banque de données de tout les items du jeu avec leurs crafts associés, quelqu'un s'est chauffé et a tout mis dans une API REST (gg à lui d'ailleurs)
Il ne me restait plus qu'a parser les messages de type 'ExchangeTypesItemsExchangerDescriptionForUserMessage' et le tour était joué: j'avais pu récupérer les prix (x1, x10, x100) avec les ids associés et les recettes.
Un petit front web en react avec un tableau paginé et trié, et paf !

Et ouais mais c'était pas dingue quand même.
Y'a plusieurs choses qui sont pas dingues :
- La façon dont je parse les prix. Le packet est envoyé quand on clique sur un item en HDV. J'ai beau avoir un petit script AHK qui tourne en auto, c'est long et des fois l'hdv bug en jeu et du coup y'a des données qui pop pas. J'aurai aimé prendre le prix moyen référence, mais impossible de mettre la main sur le packet qui renvoie le prix moyen de tout les items de l'hdv quand on l'ouvre :/
- Le tri sur le tableau fonctionne pas (ça c'est parce que je suis nul et que j'ai pas pris le temps de comprendre pourquoi)
- Je voulais mettre des images pour que ça fasse joli mais les URL des images fonctionne pas si on les appelle depuis un serveur web distant j'ai l'impression
- Je dois parser les prix des armes/équipements différemment, j'ai l'impression que ça prends le prix le plus élevé, faut que je regarde le détail du packet des armes.
- C'est trop éparpillé, j'ai un script qui parse l'hdv d'un coté, un webserver qui décode de l'autre, un sniffer à part, mon projet web autonome, des fichiers json qui traine etc... Ca passe après le reste vu que ça marche pour le moment, mais c'est caca.
Je sais pas si je continuerai ça longtemps, mais je me suis dit que ça voulait le coup de partager, vu que je dois pas être le seul à avoir penser à ça ! Après je veux pas non plus abuser de ça pour laisser a ceux qui poncent l'hdv tout les jours leur source de revenus :)
Si jamais vous savez comment résoudre certaines problématiques, je suis preneur ! (notamment au niveau des packets, pour éviter de faire les clics manuels dans les hdv)
Cheers!