Jump to content
×
×
  • Create New...

[Starloco] Créer un serveur en local


Nairelos
 Share

Recommended Posts

Bonjour à tous, 

 

Je vais vous expliquer aujourd'hui comment lancer un serveur privé Dofus sous l'émulateur Starloco, sous la version de Dofus 1.31.2

1 • Prérequis :

Une fois que tout est téléchargé, veuillez installer les logiciels sur votre ordinateur, le dossier lang nous y reviendrons plus tard. Lancer le logiciel Wampserver et attendez que l'icône soit verte, si l'icône est orange cela signifie qu'il y a une erreur.

 

2 • Base de donnée :

Commencer par lancer Navicat, créer une nouvelle connexion (Fichier > Nouvelle connexion > MySQL) que l'on va nommé "Aresia-Game" et créer deux nouvelles bases de donnée en fessant un clique droit sur le nom de votre connexion, pour le tutoriel je vais utilisé les noms "00--login" et "01--jiva".

Vous pouvez nommer comme bon vous semble le nom de la connexion et base de donnée.

spacer.png

spacer.pngspacer.png

Veuillez répéter l'opération de la base de donnée pour créer une seconde base de donnée car l'émulateur Starloco s'utilise avec deux bases de donnée pour pouvoir faire plusieurs serveurs, vous devrez vous retrouver comme ça

spacer.png

 

Ensuite je vais vous montrer comment importer les bases de données de l'émulateur Starloco dans le logiciel Navicat, faites clique droit sur "00-login", "Ouvrir la connexion" et de nouveau clique droit "Exécuter le fichier SQL" puis aller chercher login.sql dans le dossier starloco. Une fois sélectionner faites "Démarrer" et attendez la fin de l'opération.

spacer.png

Veuillez répéter la même opération pour la base de donnée "01--jiva", voilà la partie Navicat est terminé.

 

3 • Eclipse IDE for Java Developpers : 

Dans cette partie je vais vous expliquer comment configurer l'émulateur et compiler les sources. Alors faites, "File > New > Java Project", nous allons appelé le projet : (Project Name) 00--login, sélectionner dans la partie JRE "Use an Execution enviroment JRE JavaSE-1.8" cliquer sur "Next > Libraries > Add External JARs", allez chercher les libs dans le dossier "Sources / login / libs" et faites "Ouvrir > Finish".

spacer.png

Pour ajouter les sources allez chercher le dossier "org" dans le dossier "Starloco > sources > login > src > org" copier / coller le dossier org dans le dossier src d'Eclipse.

Repéter l'opération en nommant le 2ème projet "01--jiva" pour obtenir ceci :

spacer.png

Nous allons passer à la configuration de l'émulateur, veuillez ouvrir "Config.java" dans "org.starloco.locos.kermel", éditer la partie suivante et sauvegarder :

                .append("# StarLoco - Login. By Locos.")
                .append("#Auto-Generated Config File\n")
                .append("\n")
                .append("#System\n")
                .append(Params.EXCHANGE_IP + " 127.0.0.1\n") // IP de connexion entre le login et game
                .append(Params.EXCHANGE_PORT + " 666\n") //port de connexion entre le login et game
                .append("\n")
                .append("#Login server\n")
                .append(Params.PORT + " 450\n") //port de connexion du login
                .append(Params.VERSION + " 1.31.2\n") //Version de client Dofus
                .append("\n")//PARTIE BASE DE DONNEE
                .append(Params.LOGIN_DB_HOST + " 127.0.0.1\n")
                .append(Params.LOGIN_DB_PORT + " 3306\n")
                .append(Params.LOGIN_DB_USER + " root\n")
                .append(Params.LOGIN_DB_PASS + " \n")
                .append(Params.LOGIN_DB_NAME + " 00--login\n")
                .append(Params.LOGIN_WEB_URL + " http://127.0.0.1/ip.txt\n");

La partie login est terminé, nous allons configurer la partie game en fessant la même chose sauf qu'il y a 2 fichiers a éditer "Config.java" et "main.java"

    public void set(int i) {
        config = i;
        switch (i) {
            case 1://ID de la configuration du serveur, correspdant a CONFIG_ID (voir ci dessous)
                //Exchange
                Main.exchangePort = 666;
                Main.exchangeIp = "127.0.0.1";
                //BD
                Main.loginHostDB = "127.0.0.1";
                Main.loginNameDB = "00--login";
                Main.loginUserDB = "root";
                Main.loginPassDB = "";
                Main.loginPortDB = "3306";
                //Game
                Main.gamePort = 1995; //Port du serveur de jeu
                Main.hostDB = "127.0.0.1";
                Main.nameDB = "01--jiva";
                Main.userDB = "root";
                Main.passDB = "";
                Main.portDB = "3306";
                Main.Ip = "127.0.0.1";

                this.NAME = "Jiva";
                this.url = "aresia";
                this.autoReboot = true;
                break;
        }
    }

tout en bas de "Config.java" vous avez également la partie du fichier config.txt qui se génère au lancement du game si elle n'est pas existent. 

                BufferedWriter config = new BufferedWriter(new FileWriter("config.txt", true));
                String str = "## Configuration file of StarLoco ##\n\n"
                        + "## Server information : \n"
                		+ "SERVER_ID = 1\n" //ID du sereveur à trouver dans la tabble "servers" da la base de donnée "00--login"
                        + "SERVER_KEY = jiva\n" //key du serveur à trouver dans la table "servers" de la base de donnée "00--login"
                        + "CONFIG_ID = 1\n" //ID de la configuration du serveur correspondant a case 1(voir au dessus)
                        + "DEBUG = false\n"
                        + "USE_LOG = true\n"
                        + "SUBSCRIBER = false\n"
                        + "PUB1 = \n"
                        + "PUB2 = \n"
                        + "PUB3 = \n"
                        + "START_PLAYER = 0,0\n"
                        + "ALL_ZAAP = false\n"
                        + "ALL_EMOTE = false\n"
                        + "MESSAGE = Bienvenue sur <b>StarLoco</b> !\n\n"
                        + "## Server rate : \n"
                        + "RATE_XP = 1\n"
                        + "RATE_DROP = 1\n"
                        + "RATE_JOB = 1\n"
                        + "RATE_KAMAS = 1\n"
                        + "RATE_FM = 1";
                config.write(str);
                config.newLine();
                config.flush();
                config.close();

                Main.logger.info("The configuration file was created.");

maintenant finissons avec la partie "main.java"

    //Exchange
    public static String key = "jiva"; //key du serveur
    public static int serverId = 1, exchangePort = 666;
    public static String exchangeIp = "127.0.0.1";
    
    /**Login*/
    public static String loginHostDB = "127.0.0.1",
    					 loginNameDB = "00--login",
    					 loginUserDB = "root",
    					 loginPassDB = "",
    					 loginPortDB = "3306";
    //Game
    public static int gamePort = 1995;
    public static String hostDB = "127.0.0.1",
    					 nameDB = "01--jiva",
    					 userDB = "root",
    					 passDB = "",
    					 portDB = "3306";
    
    public static String Ip = "127.0.0.1";

Nous allons passer à l'étape pour compiler les sources. Faites clique droit sur les sources du projet "Rub As -> Java Application"

spacer.png

Une fois l'opération terminer faites clique droit sur le nom du projet "Export... -> Java -> Runnable Jar File -> Next -> Launch configuration (main - 00--login), Export destination et Finish" Voilà votre Jar Login est créé.

Faites de même pour le Game.

Si vous avez des erreurs lors de la compilation des sources soit votre base de donnée est erroné, soit votre version Java n'est pas la bonne. L'émulateur utilise Java Jre 1.8

J'éditerai la suite dans les jours a venir.

Edited by Nairelos
  • J'adore 3
  • J'aime 3

Cdlt, Nairelos !

Link to comment
Share on other sites

Il y a 3 heures, xbox35 a dit :

Salut les mecs, j'ai besoin d'aide pour compilier les sources de game au niveau de main 

Es-tu bien en Java Jre 1.8 ?

Cdlt, Nairelos !

Link to comment
Share on other sites

Salut, ta base de données partagée avec ton ému, il manque la table "titre" (d'où le bug qui a été remonté) et par défaut, le game et le login ne s'acceptent pas, ça fait crasher.

Il manque aussi la colonne "timeAstrub" en bigint dans "players"

Pour corriger donc le bug d'échange entre le client et le game, il faut mettre "Jivaa" dans la config du game

Edited by sotha sil
correction du partage
  • J'aime 1
Link to comment
Share on other sites

Il y a 22 heures, sotha sil a dit :

Salut, ta base de données partagée avec ton ému, il manque la table "titre" (d'où le bug qui a été remonté) et par défaut, le game et le login ne s'acceptent pas, ça fait crasher.

Il manque aussi la colonne "timeAstrub" en bigint dans "players"

Pour corriger donc le bug d'échange entre le client et le game, il faut mettre "Jivaa" dans la config du game

C'est peut-être possible mais pour la KEY du serveur tu peux mettre ce que tu souhaites :)

Et pour des tables manques, je n'ai pas vérifié les données partager étant donné que j'utilise toujours la même version.

Cdlt, Nairelos !

Link to comment
Share on other sites

il y a 6 minutes, Nairelos a dit :

C'est peut-être possible mais pour la KEY du serveur tu peux mettre ce que tu souhaites :)

Et pour des tables manques, je n'ai pas vérifié les données partager étant donné que j'utilise toujours la même version.

Oui pour la key, mais comme c'est "jivaa" par défaut, je le dis, histoire que se soit plus simple.

Après, il reste un bug où le game s’arrête quand tu rentres en game justement (sélection comme création), tu choisis ou crée ton personnage et HOP ça coupe, à voir ce qu'il en ai.

Link to comment
Share on other sites

il y a 7 minutes, sotha sil a dit :

Oui pour la key, mais comme c'est "jivaa" par défaut, je le dis, histoire que se soit plus simple.

Après, il reste un bug où le game s’arrête quand tu rentres en game justement (sélection comme création), tu choisis ou crée ton personnage et HOP ça coupe, à voir ce qu'il en ai.

Personnellement je n'ai pas ce soucis la donc sans logs je ne peux pas savoir. 

Se n'est une question de défaut, simplement que le développeur n'a pas mit une key compliquer ^^'

Cdlt, Nairelos !

Link to comment
Share on other sites

il y a une heure, Nairelos a dit :

Personnellement je n'ai pas ce soucis la donc sans logs je ne peux pas savoir. 

Se n'est une question de défaut, simplement que le développeur n'a pas mit une key compliquer ^^'

Sinon tu partages ta version, c'est plus simple^^

et pour les logs, je te donne tout les logs que j'ai du moment du problème.

https://pastebin.com/gLtRL0ba

https://pastebin.com/67FBC2nV

  • J'aime 1
Link to comment
Share on other sites

Il y a 18 heures, sotha sil a dit :

Sinon tu partages ta version, c'est plus simple^^

et pour les logs, je te donne tout les logs que j'ai du moment du problème.

https://pastebin.com/gLtRL0ba

https://pastebin.com/67FBC2nV

Disons que ma base est un peu retravaillée mais peut-être un jour.

Apres tu as informé des soucis rencontrer donc cela peu aider certains.

Cdlt, Nairelos !

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.