Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Messages recommandés

Bonjour à tous ! Un petit message d'introduction et on commence !

 

Tout d'abord merci à @Nicky31 pour son tutoriel qui représente une très grande partie de ce poste !
Je me permets de le reprendre pour corriger/apporter des éléments qui bloquaient pas mal de monde.

 

 Durée approximative : 10 à 30 en fonction de votre qualification.

L'avantage d'Ancestra Remake 54 est le multi-serveurs (Il peut gérer plusieurs serveurs).

Commençons !

 

1 - Pré-Requis

 

  1. Disposer d'

    Contenu Masqué !

      Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.
  2. Disposer d'une IP de connexion (Hamachi, No-Ip, dédié ...), à vous de voir ce que vous préférez.
    1. Hamachi : Simule un réseau local.
    2. No-Ip : Redirige sur votre IP accessible

      Contenu Masqué !

        Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.
      quand votre opérateur ne vous permet pas de la garder fixe.
    3. Dédié : Sur un autre PC constamment allumé fait maison ou loué en ligne. Hébergeur conseillé :

      Contenu Masqué !

        Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.
      /

      Contenu Masqué !

        Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.
      .
  3. Disposer de

    Contenu Masqué !

      Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.
     (gratuit) et de

    Contenu Masqué !

      Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.
     (crack ou payé) sauf si vous savez vous débrouiller avec PhpMyAdmin
  4. Disposer de

    Contenu Masqué !

      Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.
     
    (Certaines personnes ont des problèmes lors du lancement du client Dofus lorsqu'ils n'installent pas Dofus 1.29 dans Program Files (x86) ).

 

2 - Installer les base de données

 

 

En premier lieu, l'émulateur a besoin, pour fonctionner, de deux bases de données. Je vais expliquer la procédure via Navicat, si vous utilisez PhpMyAdmin je pense que vous saurez vous débrouiller tout seul.

Si ce n'est pas déjà fait, commencez par installer Wamp & Navicat.

 

  1. Lancez Wamp puis Navicat en attendant que Wamp passe au vert dans votre barre des tâches.

 

Si Wamp ne passe pas vert (vous pouvez passer cette étape si c'est le cas), le problème vient probablement d'une interférence avec skype. Dans skype: Outils -> Options -> Avancées -> Connexion -> Décocher "Utiliser les ports 80 et 443 comme alternative". Redémarrez Skype & Wamp ;)

[*]Ouvrez Navicat, cliquez sur Connection -> MySQL

[*]Mettez seulement localhost à Connection Name et un mot de passe de votre choix à Password (non obligatoire mais bon). Ne touchez pas à ce qui est déjà rempli, faites Ok

[*]Double cliquez sur localhost normalement apparu dans la colonne de gauche de Navicat. (Afin d'ouvrir la connexion)

[*]Click droit sur localhost (votre connexion), puis clickez sur New Database

[*]Ecrivez ancestra_realm dans Enter database name puis clickez sur OK.

[*]Répétez la même opération pour une bdd du nom de ancestra_game

[*]Comme pour la connexion, double clickez sur vos deux bases de données afin de les "ouvrir" (cela s'affichera en vert)

[*]On va maintenant importer des données dans nos deux bdd à partir de fichiers .sql:

Click droit sur ancestra_realm, puis Execute Batch File et ciblez AncestraR_Realm.sql contenu dans le dossier AR54/BDD, puis faites Start

[*]Répétez la même opération pour remplir ancestra_game à partir du fichier AncestraR_Game.sql, toujours situé dans le même dossier.

 

Vous voilà maintenant avec vos deux bases de données crées, remplies, prêtes mais ... non à jours :D J'vous jure, j'vous ai pas fait faire de la *****, juste que les développeurs d'AR ont dû rectifier des choses sur les bases de données, et au lieu de mettre à jour les deux gros patchs qu'on vient d'exécuter, ont mis chaque rectification dans un fichier .sql à part.

Tous ces fichiers .sql, vous pouvez les trouver dans le sous dossier BDD/Patchs.

Attention ! Vous ne devez pas les exécuter n'importe comment. Vous pouvez observer que le nom de chaque fichier suit cette logique:

 

AncestraR_Realm/Game - Patch revN°Patch - Infos sur contenu.sql

 

  • Realm/Game correspond à la bdd sur laquelle doit être appliqué le patch.
  • N°Patch correspond au numéro du patch (ils sont tous numérotés)
  • Infos sur contenu correspond à quelques infos sur le contenu du patch.

 

Vous devez exécuter tous ces patchs en faisant attention à le faire sur la bonne base de données, et dans l'ordre croissant des numéros.

 

Exemple pour la db game:

  1. AncestraR_Game - Patch rev2 - Pets.sql en  premier
  2. AncestraR_Game - Patch rev3 - Defenders of resources.sql en deuxième
  3. ...

 

PS : Ne vous inquiétez pas "Patch rev5" affiche un message d'erreur dans les logs mais ce n'est pas grave.

Au boulot ! :) Une fois ceci fait, vous aurez vos deux bases de données  enfin prêtes  et complètes. Nous pourrons alors passer à la configuration de l'émulateur en lui même

 

2(bis) - Survol du fonctionnement d'un Emulateur

 

La particularité d'AR54 qui m'a poussé à faire un tuto sur son installation (alors qu'il y a déjà des tutos pour d'autres versions d'AR), c'est que la différence de fonctionnement entre cette version et celles antérieures complique sa configuration.

 

Voilà comment fonctionne normalement un émulateur, dissocié en deux parties realm et game :

  1. Le client se connecte sur la partie realm.
  2. Il choisit son serveur, et le realm lui renvoi l'ip et le port du game gérant le serveur demandé.
  3. Le client coupe alors la connexion avec le realm pour se connecter au game
  4. Le game gère tout le reste du jeux. Il doit néanmoins communiquer avec le realm pour avoir certaine données.

 

Dans les versions précédentes, le multi-serveur n'était pas géré: on ne pouvait alors avoir qu'un serveur, et il n'était plus utile d'avoir cette organisation avec une application realm et une autre pour chaque serveur.

Les développeurs ont donc fusionné ces  deux applications en une seule. De cette façon, le client restait tout le temps connecté sur la même application (pas tout à fait en réalité, mais on entrerait dans les détails techniques). Au niveau de la configuration; on n'avait qu'une config pour une application, avec une ip & un port  à renseigner pour l'unique application.

 

Avec le multi-serveur, les développeurs ont du dissocier le realm et le game : Un seul realm (serveur de connexion), et un game par serveur. Il faut donc à présent une config par appli' (deux pour un seul serveur), et des ips & ports en plus.

En résumé, il nous faut:

  • L'ip du realm et son port de connexion (celui sur lequel le client se connecte)
  • L'ip de chaque serveur & leur port de connexion (donnés par le realm au client). Pour ne pas compliquer les choses, nous allons gérer qu'un serveur
  • Le port de communication utilisé entre le realm et les games.
  • L'identifiant de chaque game ; c'est avec celui-ci que le realm s'assure qu'il à affaire aux games attendus. (Sinon n'importe quel personne tierce pourrait connecter son propre game modifié)

 

3 - Configurer Ancestra Remake 54

 

La partie précédente n'était pas vraiment prévue, mais j'ai trouvé intéressant de parler du fonctionnement de l'émulateur, ça peut aider certains à comprendre certains éléments.

Bon, la première étape est de faire connaître au realm notre game. Et une table de notre db realm est prévue pour cela.

 

Une table ??? Kézako !?

 

Voilà une nouvelle notion pour nous, jeunes padawans que nous sommes. Une table n'est rien d'autre qu'une partie d'une base de données, regroupant donc un certains nombre d'informations à propos d'une chose précise, informations organisées comme un tableau. D'où le nom table, qui en anglais signifie tableau.

 

1 - Base de Données

 

  1. Rendez vous dans ancestra_realm
  2. Double clickez sur la table gameservers
  3. Une fenêtre s'ouvre alors. Voilà que s'affiche le contenu de notre table.
  4. L'unique ligne affichée devrait être celle-ci : Colonnes en italiques
     
    • id | ServerIP | ServerPort | State | ServerBDD | ServerDBName | ServerUser | ServerPassword | key
    • 1 | 127.0.0.1 | 5555 | 0 | 127.0.0.1 | ancestra_game | root | | server1

 

  • L'id correspond à l'id du serveur. Vous pouvez trouver tous les fichiers d’emblème des serveurs dans Dofus/clips/artworks/servers. Leur nom correspond à leur id. Pour ma part je m'en fou un peu donc je laisse 1.
  • IP de la machine qui aura le game. Donc votre ip hamachi/no-ip/dédié ou 127.0.0.1 si vous voulez tester en localhost.
  • On laisse aussi 5555 au ServerPort, c'est ce port ainsi que la serverIP que le realm enverra au client pour qu'il se connecte au game.
  • State, c'est l'état du serveur: 0 pour hors ligne, 1 en ligne, 2 sauvegarde.
    On laisse 0, le realm s'occupe de le mettre à 1 quand il reçoit la connexion du game.
  • ServerBDD ; l'ip de notre db game. S'il est sur la même machine que le game vous pouvez laisser 127.0.0.1, sinon mettez son ip.
  • ServerDbName ; le nom de la db game correspondante, on laisse ancestra_game (sauf si vous l'avez appelé autrement)
  • ServerUser ; le nom d'utilisateur de la connexion à la db. Si vous ne l'avez pas changé depuis l'installation, c'est toujours root
  • ServerPassword ; le mot de passe de la connexion à la db. Si vous n'en avez pas mit, il y en a pas.
  • key ; c'est la clé qui identifie le game & qu'il devra donner au realm. Je décide de la laisser telle quelle, gardez la en mémoire si vous la changez.

 

2 - Configuration du realm

 

A présent, direction AR54/Realm/Realm_Config.txt :

  • REALM_PORT : Port de connexion à mettre dans la config.xml, on va prendre 444
  • REALM_COM_PORT : Port de communication entre le realm & les game. On prend 489
  • Je vous laisse configurer les identifiants de votre db realm. Dans le cas ou vous avez fait le tutoriel à la lettre ; vous êtes censé mettre :
    • REALM_DB_HOST = 127.0.0.1
      REALM_DB_USER = root
      REALM_DB_PASSWORD = 
      REALM_DB_NAME = ancestra_realm

Warning

Si vous n'avez pas mis de mot de passe (password) ; n'oubliez pas de laisser un espace après le "=" sinon le serveur ne se lancera pas.

 

3 - Configuration du game

 

Direction AR54/Game/Game_Config.txt:

  • REALM_IP : l'ip hamachi/no-ip/dédié de la machine hébergeant le realm.
  • Configurez l'accès à la db realm. Comme pour la partie db, mettez 127.0.0.1 si la db est sur la même machine que le game.
  • HOST_IP : Ip hamachi/no-ip/dédié de la machine hébergeant le game.
  • AUTH_KEY : La clé que vous avez indiqué dans la colonne key de la db
  • GAME_PORT: Le port de connexion du game, que vous avez indiqué dans la colonne ServerPort (5555 dans ce tutoriel)
  • COM_PORT : Port de communication entre le game & le realm. Il doit être identique à celui que nous avons mis dans la config realm, soit 489
  • PLAYER_LMIT : Ne pas laisser -1, il provoque un bug à la connexion au serveur (Merci à @Défense pour l'infos). Mettez donc une autre limite de joueurs, comme 100.
  • Configurez l'accès à la db game de la même façon que pour la realm. Dans le cas ou vous avez fait le tutoriel à la lettre ; vous êtes censé mettre :
    • #Configuration de la base de donnée du serveur de connexion
      REALM_DB_HOST = 127.0.0.1
      REALM_DB_USER = root
      REALM_DB_PASS = 
      REALM_DB_NAME = ancestra_realm

       

    • # Configuration de la base de donnée
      DB_HOST = 127.0.0.1
      DB_USER = root
      DB_PASS = 
      DB_NAME = ancestra_game

       

4 - Configuration des .bat pour démarrer le realm et le game

 

Ouvrez avec un éditeur de .txt les fichiers "startRealm.bat" du dossier "realm" et "game".

Vous devez à présent renseigner la localisation de votre "java.exe".

Dans mon cas

 

@echo off
title Ancestra Remake rev 54
:loop
"C:\Program Files\Java\jre1.8.0_191\bin\java.exe" -jar -Xmx1024m -Xms1024m Ancestra.jar
goto loop
PAUSE

Petite astuce pour avoir votre chemin rapidement :

- Cherchez votre java.exe qui devrait se trouver dans "Programmes".

- Créez un raccourci sur le bureau

- Clique droit sur le raccourci puis "propriété"

- Copier le contenu de "Cible :"

 

La partie "-Xmx1024m -Xms1024m" correspond à la ram que vous allouez à votre serveur. Ici 1024m donc 1G de ram.

 

Normalement, vous avez à présent Ancestra Remake bien installé et configuré. Il ne reste plus qu'à indiquer au client Dofus l'ip et le port de connexion du realm.

 

5 - Configuration du client DOFUS

 

Ne vous inquiétez pas, c'est beaucoup plus simple que pour l'émulateur.

Direction Dofus/config.xml, remplacez tout le contenu par ceci :

 

<config>
	<delay value="500"/>
	<rdelay value="3000"/>
	<rcount value="10"/>

	<conf name="En ligne">
		<connserver ip="Adresse ip du serveur" name="Nom de votre serveur" port="Port du realm"/>
		<dataserver url="data/" type="local" priority="3" />
		<dataserver url="http://staticns.ankama.com/dofus/gamedata/dofus/" priority="1" />
		<dataserver url="http://gamedata.ankama-games.com/dofus/" priority="0" />
	</conf>

	<conf name="En ligne (TEST)" type="test">
		<dataserver url="data/" type="local" priority="3" />
		<dataserver url="http://staticns.ankama.com/dofus/gamedata/dofustest/" priority="1" />
		<dataserver url="http://gamedata.ankama-games.com/dofustest/" priority="0" />
	</conf> 

	<cacheasbitmap>
		 <cache element="ExternalContainer/InteractionCell" value="false" />
		 <cache element="ExternalContainer/Ground" value="false" />
		 <cache element="ExternalContainer/Object1" value="false" />
		 <cache element="ExternalContainer/Object2" value="false" />
		 <cache element="ExternalContainer/Zone" value="false" />
		 <cache element="ExternalContainer/Select" value="false" />
		 <cache element="ExternalContainer/Grid" value="false" />
		 <cache element="ExternalContainer/Pointer" value="false" />
		 <cache element="GAPI/UI" value="false" />
		 <cache element="GAPI/UITop" value="false" />
		 <cache element="GAPI/Popup" value="false" />
		 <cache element="GAPI/UIUltimate" value="false" />
		 <cache element="GAPI/Cursor" value="false" />
		 <cache element="mapHandler/BACKGROUND" value="false" />
		 <cache element="mapHandler/Cell/Ground" value="false" />
		 <cache element="mapHandler/Cell/Object1" value="false" />
		 <cache element="mapHandler/Cell/Object2" value="false" />
		 <cache element="mapHandler/Cell/ObjectExternal" value="false" />

		<cache element="Zone/Zone" value="true" />
		<cache element="Zone/Pointers" value="true" />
	</cacheasbitmap>
</config>

 

Remplacez de la ligne suivante par ce qui est demandé.

 

<connserver ip="Adresse ip du serveur" name="Nom de votre serveur" port="Port du realm">

 

Exemple : <connserver ip="127.0.0.1" name="Serveur tuto" port="444"/>

 

Si vous avez bien suivi ce tutoriel, vous devriez normalement mettre 444 pour le port du realm.

Le nom du serveur ne dépend de rien de ce qu'on à fait avant.

A présent que tout est en place, il ne reste qu'à lancer l'émulateur :

En premier le Realm en lançant AR54/Realm/startRealm.bat puis le Game en lançant AR54/Game/startRealm.bat. (Vous pouvez renommer celui la en startGame.bat)

Et voilà, distribuez la config.xml à vos joueurs, et votre serveur est en place !

 

Si vous avez des difficultés malgré le tutoriel je vous laisse les 3 configs que nous avons vu réglé pour faire tourner votre serveur en réseau local.  Je conseille tout de même d'essayer un minimum pour ne pas être décourager pour la suite !

 

Contenu Masqué !

    Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.

Contenu Masqué !

    Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.

Contenu Masqué !

    Donnez un like à l'auteur afin de pouvoir visualiser tout le contenu.

 

Je me ferai une joie de répondre à vos questions et d'avoir des suggestions pour améliorer le contenu.

Encore une fois, le tutoriel n'est pas de moi, j'ai seulement corrigé quelques parties causants des problèmes à beaucoup et apporter des précisions en accord avec @Calypso.

 

Bonne chance à tous !

Partager ce message


Lien à poster
Partager sur d’autres sites

Wow, merci beaucoup pour ce tuto, très propre et très bien expliqué.

Merci pour ton investissement 😉

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 5 minutes, Kijaru a dit :

Wow, merci beaucoup pour ce tuto, très propre et très bien expliqué.

Merci pour ton investissement 😉

Merci ! Ca fait super plaisir :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Excellent tutoriel !

Bravo à toi et merci de ton investissement :) 

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.