Découvrez le MMORPG RaiderZ
Manghao

création
RilynEmu

10 messages dans ce sujet

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

[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 (ExchangeServer) pour 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 (LoginServer) au serveur de jeu (GameServer), validité du ticket de 10s
- Deconnexion du compte connecté au serveur de jeu (GameServer) quand 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:

[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

Contenu Masqué

est disponible pour avoir un changelog et voir les avancements.

Un

Contenu Masqué

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.

 

migration

 

527342ss20170513at022833.jpg

 

 

 

Modifié par Nicosti
1

Partager ce message


Lien à poster
Partager sur d’autres sites

Manghao et son ému qu'il recommence tous les 6 mois :3

 

Et sinon pas de DAO pour la DB ?

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Très intéressant ton ému :)

Bonne continuation.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

Très intéressant ton ému :)

Bonne continuation.

Merci :)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

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?

0

Partager ce message


Lien à poster
Partager sur d’autres sites

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é

0

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :).

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.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Voilà deux screens sur l'alignement :

 

Balance + bonus (bon la balance est à 0 car très peu de zones alignées)

Balance

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):

Sous-zones

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 :)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

manghao ...

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant