Petit tuto pour les débutants

Inscrit
10 Mai 2017
Messages
8
J'aime
4
#1
( ce tuto marche pour les versions assez récentes > 2.40 )

Je voulais faire un petit tuto pour les débutants voulant se lancer dans l'émulateur ^^

Ce tuto n'expliquera pas comment on fait pour créer un émulateur ( loin de la :( )

Je vais vous expliquer comment on peut se connecter à son serveur depuis un client Dofus sans connaître grand chose sur le DofusInvoker.

Vous aurez besoin de 3 choses ,

NoAnkama ( je n'ai plus le lien désolé , mais vous pouvez demander sur Discord )
JPEXS ou un autre éditeur SWF
Client Dofus ( pour ma part j'utiliserais la version 2.48 beta pour vous montrer )

Premièrement on va créer une application qui permettra de rediriger les connections de Dofus vers l'ip de votre serveur d'authentification.
Pour ceux qui ont la flemme de faire un truc , j'ai fait un petit truc vite fait Ici

Je pense que je n'ai pas besoin d'expliquer grand chose sur l'application étant donné que c'est un petit projet que même un débutant pourrait comprendre.

Maintenant normalement vous devrez avoir les packets du client qui iront vers votre serveur au lieu des serveurs officiels.

A partir de la , vous avez juste 2 modifications à faire dans le DofusInvoker avec JPEXS
1) com.ankamagames.dofus.logic.common.frames.ServerControlFrame (~ligne 82) : dans ce fichier il faudra juste retirer la condition qui fait que le RawDataMessage ne peut pas être reçu dans l'Authentification et la vérification des signatures

Cette modification est nécessaire pour avoir les identifiants en clair

2) com.ankamagames.dofus.logic.connection.frames.ServerSelectionFrame (~ligne 240) : dans ce fichier il faudra changer la ligne par
AuthentificationManager.getInstance().gameServerTicket = ssdmsg.ticket.toString()

Cette modification est nécessaire si votre Ticket n'est pas hashé en AES

Avec ce tuto vous pourrez vous connecter avec un client Dofus sur votre serveur Dofus , mais il ne faut pas oublié de rediriger la connection du client avec lequel vous vous connecter.

Ce tuto est assez utile pour tout vos test en local , pour vous éviter de passer trop de temps sur le DofusInvoker ( approximativement si vous ne faites pas le tuto pour la première fois , ça devrait prendre 1 minutes pour modifier le DofusInvoker )

Si vous ne voulez pas du tout modifié le DofusInvoker ce tuto marche aussi , cependant vous aurez des choses à faire en plus côté serveur car les identifiants seront hashé. Mais pour un débutant il sera plus facile de suivre ce tuto.

J'espère que ce tuto servira à plus d'un qui veut se lancer dans l'émulation mais ne sait pas cracké le DofusInvoker ^^
 
Dernière édition:
Inscrit
2 Juin 2018
Messages
21
J'aime
2
#2
Pourquoi Redirigé avec NoAnkama ? Si nous renseignons dans la config Dofus le port et localhost par exemple les packets iront directement vers notre emulateur non ? Et lorsque on enverra un packet depuis notre emulateur le client l'intepretera du coup ? De plus, est ce que on peut considérer qu'une frame équivaut a un packet dans le sens ou lorsque j'envoie un packet le rawDataMessage s'envoie egalement ?
 
Inscrit
10 Mai 2017
Messages
8
J'aime
4
#3
A partir d'une certaine version de Dofus , il ne suffit plus de changer l'ip et le port dans le fichier config. Et c'est à ça que sert le NoAnkama , à rediriger les packets sortant du client vers ton émulateur.
Lorsque tu envoye un packet depuis l'émulateur , le client lui l'interpretera normalement.
Le RDM il ne sert que lors de l'authentification si tu veux que le client t'envoye les identifiants en clair et si ton DofusInvoker à était patché au préalable.
 
Inscrit
2 Juin 2018
Messages
21
J'aime
2
#4
A partir d'une certaine version de Dofus , il ne suffit plus de changer l'ip et le port dans le fichier config. Et c'est à ça que sert le NoAnkama , à rediriger les packets sortant du client vers ton émulateur.
Lorsque tu envoye un packet depuis l'émulateur , le client lui l'interpretera normalement.
Le RDM il ne sert que lors de l'authentification si tu veux que le client t'envoye les identifiants en clair et si ton DofusInvoker à était patché au préalable.
Dacc, merci de ta réponse rapide
 
Haut Bas