• Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
RilynEmu
#1
Bonjour,
j'ai commencé l'émulation Dofus 1.29 vers 2011/2012, j'ai connu mAncestra, Ancestra et tous les dérivés qui en découlent, j'ai bidouillé AR-42 pendant un petit moment (ManghaoEmu) mais le code étant tellement en fouillis j'ai arrêté et comme beaucoup de monde les études on fait que j'ai arrêté peu à peu. Je me suis mis de plus en plus au développement Web et en 2015 j'ai décidé de développer un émulateur Dofus 1.29 en java.

Alors pourquoi Java ? Et bien, c'est un langage qui me convient très bien et c'est le langage des premiers émulateurs Dofus 1.29, et étant étudiant en DUT Informatique, c'est le langage principal que l'on apprend.

Donc en 2015 je me lance dans le développement de cet émulateur (RilynEmu) qui possédait un serveur de Connexion et de Jeu, mais les deux "séparés" mais étaient sur le même projet. Voulant le rendre multiserveur, j'ai décidé de le supprimer complètement et maintenant le projet est séparé en deux serveurs principaux (Connexion et Jeu).

Il faut savoir qu'entre le moment où j'ai supprimé le projet et recommencé il y a bien eu un an et le développement de la version actuelle a commencé je pense en septembre 2016


Je vous laisse un petit changelog de ce qui a été fait dessus.

Serveur de connexion
Code PHP :
[18/12/2016]
Mise en place de serveur de connexion (LoginServer)
Gestion de la configuration via login.properties
Création de la base de données :
 
   accounts
    
bannedlist
    
characters
    
gmlist
    
servers
Connexion à la base de donnée (pattern Singleton)
Création de classe utiles pour la base de données (pattern Singleton) :
 
   AccountDatabase
    
BannedListDatabase
    
CharactersDatabase
    
ServerDatabase
Mise en place d'un système de Logs (pattern Singleton)
- Gestion de la connexion et déconnexion client sur le serveur de connexion (LoginServer)
- Gestion de la version client
- Vérification du compte
- Création de différentes classes de chiffrement :
    - PasswordEncryption
    - GatewayEncryption
    - PacketsEncryption
- Vérification du pseudonyme :
    - Affichage de la popup si aucun pseudonyme
- Affichage de l'
abonnement
Serveur de connexion (ExchangeServerpour les serveurs de jeu (GameServer)
Affichage de tous les serveurs de jeux (56 serveurs)
Rafraichissement des serveurs :
 
   Hors Ligne
    
En Ligne
    
Sauvegarde
Recherche d'amis et affichage des serveurs
- Affichage du message d'
indisponibilité du serveur
Affichage du message de non autorisation de connexion au serveur (betatesteur et gm autorisés)
Passage du serveur de connexion (LoginServerau serveur de jeu (GameServer), validité du ticket de 10s
Deconnexion du compte connecté au serveur de jeu (GameServerquand le même compte ce connecte au serveur de jeu (GameServer)
Déconnexion du client au bout de 15 minutes d'inactivité 

Serveur de jeu:
Code PHP :
[26/12/2016]
Gestion de la configuration via login.properties
Mise en place du serveur de jeu (GameServer)
Mise en place du client d'échange (ExchangeClient)
- Connexion à la base de donnée (pattern Singleton)
- Mise en place d'
un système de Logs (pattern Singleton)
Gestion de la connexion et déconnexion client sur le serveur de jeu (GameServer)
Création du personnage :
 
   Couleurs
    
Nom
    
Génération aléatoire du nom
    
Classe
    
Lancement de la cinématique de début (packet TB)
Supprésion du personnage
Remise à zéro du personnage
Affichage du mode marchand sur l'affichage de sélection de personnage
- Affichage du personnage sur la carte et changement de position :
  - Visible pour tous les joueurs présent sur la carte 

Pour ce qui est du partage des sources ou même de l'émulateur, il faut oublier ça pour le moment car un serveur ne peu pas être fait avec ce qui est développé pour le moment.

Un [Only registered and activated users can see links Click here to register]est disponible pour avoir un changelog et voir les avancements.
Un [Only registered and activated users can see links Click here to register]est ouvert pour en discuter et voir les avancements, rien de prétentieux, juste que si vous voulez des infos et si je peu y répondre c'est avec joie

Cordialement Manghao.

EDIT : Je travail sur la migration entre serveur, mais je n'ai pas trop le temps, comme je suis actuellement en stage.
Caché: migration

[Image: 527342ss20170513at022833.jpg]

  Répondre
Staff
#2
Manghao et son ému qu'il recommence tous les 6 mois :3

Et sinon pas de DAO pour la DB ?
java style =)
  Répondre
#3
Très intéressant ton ému Content
Bonne continuation.
  Répondre
#4
(31-05-2017, 12:26)Nicosti a écrit : Manghao et son ému qu'il recommence tous les 6 mois :3

Et sinon pas de DAO pour la DB ?
Ça fait combien de temps que je l'ai pas recommencé ?
la DAO non, au départ je voulais faire de l'ActiveRecord mais avoir les requêtes dans les classes, pour un projet ou il y en aura plusieurs, c'est imbuvable.
La DAO c'était sur ma première version de l'ému, a voir si je passe sur la DAO ou si je laisse comme c'est

(31-05-2017, 13:48)Simzer a écrit : Très intéressant ton ému Content
Bonne continuation.
Merci Content
  Répondre
#5
Je ne suis pas un débutant, mais étant donné que je faisais partie, quels livres java-vous me recommander que j'apprendre à développer un bon émulateur dofus?
  Répondre
#6
(10-07-2017, 19:09)djmarcuskk a écrit : Je ne suis pas un débutant, mais étant donné que je faisais partie, quels livres java-vous me recommander que j'apprendre à développer un bon émulateur dofus?

Je n'ai pas appris avec un livre, j'ai appris sur le tas et avec les cours de mon université
  Répondre
#7
Les statistiques du joueurs sont en place, comme les items ne sont pas encore développés, les caractéristiques sont encore très basique, pas de bonus d'items ..., il est possible d'ajouter des points de compétences.
J'ai commencé les alignements, donc les zones/sous-zones alignées, avec il y a activation/désactivation JcJ, l'honneur est le déshonneur est aussi présent, je travail sur les bonus de zones/sous-zones-alignés et la balance alors si vous avez des infos sur comment sont calculés les bonus et la balance, je suis ravis d'avoir votre aide Content.
Pour les alignements, je vais aussi développer l'affichage des zones/sous-zones alignées dans le panel.

Je passerai ensuite aux amis, sorts (levelup), aux guildes, mais les combats ne seront encore pas développés.
Les différents canaux de t'chats seront aussi traités. Bien sûr comme officiel, donc abonnement et level pour les utiliser.
Les interactions entre joueurs sont aussi en prévisions (Ajouter en ami/ennemi, donc message à la connexion quand un ami se connecte), message privé, pour le moment.
Les IO sont aussi de la parties (Zaaps, Zaapis, Statues de classe, fontaine de jouvence, Phoenix), je pense implémenter que ces IO pour le moment.

Les prismes sont visibles sur la carte, je travail sur la téléportation de prisme en prisme.
  Répondre
#8
Salut, aujourd'hui petit point :

La partie de l'alignement que j'ai souhaité développé est terminée, c'est l’affichage des alignements (ailes, zones colorées sur la carte), l'affichage des prismes et la téléportation, la possibilité d'activer le JcJ ou de le désactiver.
L'affichage de l'honneur et déshonneur est aussi présent (classique quoi [​IMG]) Le calcul de la balance mondiale et de zone est développé ainsi que les bonus d'xp, récoltes et drop qui dépendent du grade et de la balance mondiale.
Les 7 villages de conquêtes sont affichés (portes village / salles des prismes ouvertes ou fermées) avec leur alignement.

Une grosse correction des déplacements a été effectuée.

J'ai aussi commencé le développement des canaux de chat.


Je remercie Dysta et ydainna pour les conseils et aussi les éléments qui me sont donné pour pouvoir développé l'émulateur au plus proche de ce qu'est l'officiel 1.29.

Bises à vous les gars [​IMG]


Cordialement Manghao.

PS : je met des screens du panel conquête bientôt.
  Répondre
#9
Voilà deux screens sur l'alignement :

Balance + bonus (bon la balance est à 0 car très peu de zones alignées)
Caché: Balance
[Image: 367824balancebonus.png]


Affichage de toutes les sous-zones avec leur alignement (ici j'ai juste affiché les zones Bontariennes), avec l'affichage des 7 villages de conquête (alignement et status des portes):
Caché: Sous-zones

[Image: 687053subvillage.png]



Les messages privés et les canaux de chats sont terminés (sauf celui de guilde et de groupe)

Cordialement Manghao.

PS : j'ai mis de du temps a poster les screens, j'avais zappé, et puis les cours et tout le blabla quoi Content
  Répondre
#10
manghao ...
[Image: 5004137-joker.jpg]
  Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Donation's plugin by Naoar.com