![[Image Introuvable]](https://dozenofelites.com/applications/core/interface/imageproxy/imageproxy.php?img=https://camo.githubusercontent.com/a70d4395b9b5c433fbab7e07433b6f66ec3968e3/68747470733a2f2f692e6779617a6f2e636f6d2f37363061633235353639633332343330613364313831376137376530666436652e706e67&key=0747bf571019d78aef52fe8419b0dfc228bf05237c24b603be21a6de558575fa)
(Dans ce post, je vais viser un publique débutant et je ne vais donc pas rentrer dans les details)
I) Présentation du développeur :
Cliquez pour révéler
Cliquez pour masquer
Je m'appelle Botan et je vais sur mes 19 ans, je suis à l'EPSI et jé développe depuis mes 14 ans.
Je suis développeur Java, C , C++, C#, PHP et Python.
II ) Présentation de l'émulateur :
Graviton est un émulateur Dofus 1.29 , commencé fin 2015, développé en Java et JavaScript, il est supporté par le framwork Gradle
L'émulateur, à son origine, à été conçu pour être le plus puissant, stable et sécurisé possible mais également orienté Ankalike, ainsi reproduire Dofus 1.29 à l'original.
Changelog non complet :
Cliquez pour révéler
Cliquez pour masquer
Multi serveur
Cadeaux
Mode Marchant
Hotels de ventes
Maisons / coffres
Guildes
Banques
Alignements
Combats (PVM,ALIGNEMENT,DEFI)
Quêtes
Metiers
Commande admin (JavaScript)
Groupe de joueurs
Monstres & intelligence artificelle & Agressions de monstres
Sorts
Personnage non joueur (Npc)
Equipements
Zone et sous zone
Echanges avec les personnages non joueur
Porte interactives (Exemple donjon Incarnam)
Percepteurs
La base de donnée statique est sous forme de fichiers XML & la base de donnée interactive est sous format SQL (MySQL).
L'émulateur à comme objectif d'être le plus modulable possible, c'est pour cela que j'ai décidé d'integré le JavaScript pour les tâches simples, tel que les commandes administrateur (ou joueur plus tard).
III) Installation : (Si vous êtes développeurs cliquez ici, sinon suivez le tutoriel)
- Commencez par télécharger le pack des executables Java (jar) et la base de donnée en cliquant ici.
- Une fois téléchargé, decompressez le fichier zip 'database' et créez les bases de données necessaires (login & game)
- Entrez ensuite dans le dossier login, et ouvrez le fichier login.jar, comme si c'étais une archive compressé (7zip ou Winrar par exemple), une fois ouvert, cherchez le fichier 'config.properties', ouvrez le et modifiez le.
- Rendez vous maintenant dans votre géstionnaire de base de donnée (Exemple Navicat), ouvrez le base de donnée du 'login' e la table 'servers'.
Vous aurez deux colonnes, id & key; 'id' représente l'identifiant du serveur (indiqué dans les langs dofus) et 'key', joue le rôle de mot de passe (vous verrez ça à la prochaine étape).
Dans cet exemple, je vais ajouter le serveur avec 1 comme valeur pour 'id' & jiva pour valeur 'key', dans le doute faites pareil que moi.
- Une fois le serveur enregistré en base de donnée, rendez vous dans le dossier server et ouvrez le fichier de configuration (même procédure que la partie login).
Vous aurez normalement (partie #Server Data)
#Server data
server.id=1
server.key=jiva
Remplacez l'id par celui que vous avez indiquez en base de donnée, ainsi que la valeur de key.
- Le serveur est maintenant prêt à être lancé :
Commencer par lancer l'executable login.jar (Sous Unix : java -jar login.jar, sous Windows, créez un fichier.bat) et attendez que la partie 'login' se lance. Une fois lancé, executez le server.jar
Il vous suffira de créer vos comptes, dans la base de donnée, pour pouvoir vous connecter de jouer.
IV) Procédure complémentaire : Cette partie est réservé pour les développeurs JavaScript.
L'émulateur, au fur et à mesure de son évolution, va remplacer toutes les actions non statique( tel que les actions de map, les intelligences artificelles, les actions de metiers ou bien les commandes de joueurs) par des fichiers source éxecutable en JavaScript.
Comme vous avez pu le constater, un dossier script est présent dans la partie 'server', il contient le fichier éxecutable une fois le serveur compilé.
En guise d'exemple, je vais vous montrer comment créer une nouvelle commande administrateur.
- Commencez par créer un fichier au nom de votre choix dans scripts/commannds
- Une fois que vous avez créer le fichier, ajoutez-y le code suivant, c'est le code de base pour ajouter une commande
importClass(org.graviton.database.repository.CommandRepository);
importClass(org.graviton.game.command.api.AbstractCommand);
commandRepository.register(JavaAdapter(AbstractCommand, {
name : function(){
return "";
},
description : function(){
return "";
},
apply: function(player, data){
}
}));
- Faites retourner le nom de la commande à la fonction name & la déscription de la commande à la fonction description.
La fonction apply est executé quand la commande est appellé par le joueur, elle prend en paramètre le joueur 'player' et une variable 'data' qui est un String Array, étant initialisé par un split(" ") et contenant les paramètres de la commande.
V) Post Scriptum :
- Cet émulateur n'a aucune base, et n'a aucun rapport avec tout autre émulateur.
- Aucune version 'privé' de cet émulateur existe, il est gratuit et open source, et le restera toujours.
- Toute aide sera la bienvenue
Remerciement à Blackrush pour son protocol et Return.
Github