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 :

  • Java JRE 1.8 (

    Hidden Content

      Give reaction to this post to see the hidden content.
    )
  • JPEXS (

    Hidden Content

      Give reaction to this post to see the hidden content.
    )
  • Dofus 1.31.2 (

    Hidden Content

      Give reaction to this post to see the hidden content.
    )
  • Navicat (https://www.navicat.com/fr/)
  • Wampserver (https://www.wampserver.com/)
  • Eclipse IDE (https://www.eclipse.org/downloads/)
  • Lang Dofus (

    Hidden Content

      Give reaction to this post to see the hidden content.
    )

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.

.png

.png.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

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

.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".

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

.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"

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

  • Funky Emulation 27
  • J'adore 43
  • J'aime 27
  • Nooon 2

Cdlt, Nairelos !

Link to comment
Share on other sites

  • 3 weeks later...
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

Le 05/01/2022 à 21:30, xbox35 a dit :

Oue je vous envoye un screen tu a discord ? 

.png

Ton image est flou, 

Je dois modifier et finir le tutoriel car 2/3 ne sont pas correcte car pour choisir Jre 1.8 il faut choisir « Use défaut JRE… »

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 2
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.

  • J'adore 1

Cdlt, Nairelos !

Link to comment
Share on other sites

  • 1 month later...

Bonjour, comment puis-je faire en sorte que le client et le serveur se connectent à une adresse IP Hamachi ou Radmin VPN? J'aimerais jouer avec mon frère mais je ne sais pas comment ni quels fichiers modifier (c'est mon premier serveur privé dofus)😅

Link to comment
Share on other sites

Il y a 15 heures, sizet a dit :

Bonjour, comment puis-je faire en sorte que le client et le serveur se connectent à une adresse IP Hamachi ou Radmin VPN? J'aimerais jouer avec mon frère mais je ne sais pas comment ni quels fichiers modifier (c'est mon premier serveur privé dofus)😅

Écoute j’ai un trou de mémoire 😂 sa fait plus de 6 ans que je n’ai pas ouvert un serveur en ligne. Regarde sur internet cela peu te donner quelques piste.

  • J'aime 1

Cdlt, Nairelos !

Link to comment
Share on other sites

4 hours ago, Nairelos said:

Écoute j’ai un trou de mémoire 😂 sa fait plus de 6 ans que je n’ai pas ouvert un serveur en ligne. Regarde sur internet cela peu te donner quelques piste.

Ne vous inquiétez pas, je vous comprends, merci.

Link to comment
Share on other sites

  • 4 weeks later...
Le 05/03/2022 à 21:48, sizet a dit :

Bonjour, comment puis-je faire en sorte que le client et le serveur se connectent à une adresse IP Hamachi ou Radmin VPN? J'aimerais jouer avec mon frère mais je ne sais pas comment ni quels fichiers modifier (c'est mon premier serveur privé dofus)😅

Il faut allez dans les sources de l'emu

Bonjour / bonsoir, moi j'ai petit question : Mon Game quand il est en reboot il ne ce relance pas lui même 

.png
.png

Link to comment
Share on other sites

  • 3 weeks later...
On 02/04/2022 at 01:03, xbox35 said:

Il faut allez dans les sources de l'emu

Bonjour / bonsoir, moi j'ai petit question : Mon Game quand il est en reboot il ne ce relance pas lui même 

Hidden Content

    Give reaction to this post to see the hidden content.

Hidden Content

    Give reaction to this post to see the hidden content.

Merci, pourriez-vous m'expliquer comment faire étape par étape? S'il vous plaît, comme je l'ai dit plus haut, je suis nouveau et je ne comprends pas grand-chose.

  • Funky Emulation 1
  • J'adore 2
  • J'aime 2
  • Réfléchi 1
Link to comment
Share on other sites

 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.