[Traité] [Demande] Comment créer deux royaumes sous linux (Debian)
Salut à tous
Voila je cherche a créer deux royaumes sur la même machine sous linux (Debian).
Un avec le core 4.3.4 et l'autre avec le core 5.1.0 Trinitycore.
Je voulais savoir comment pouvoir les lancer en même temps ?
merci à vous
Bonjour, je pense qu'il faut que tu dupliques ton core, les bases de données world et characters et que tu rajoutes un royaume dans la base auth. Ensuite tu lances world et auth tu premier core, et world du deuxième. A tester Wink

Edit : j'ai pas fait gaffe que c'était dans demande de tutoriels. J'avais fait ce tutoriel il y a quelques temps, mais il faudrait vérifier qu'il est à jour (en plus c'était pour MaNGOS : dans 2min je l'aurais adapté à Trinity).

Citation :Créer un second royaume.

Créer un second royaume.

Tutoriel original par Blackfox sur zone-emu.


1. Prérequis.
  • Un core Trinity et une DB déjà installés et fonctionnels.
  • Navicat.
  • Un éditeur de texte, Notepad++ conseillé.
2. Duplication du core.
Rien de plus simple, il suffit de copier/coller le dossier dans lequel se trouve le core de votre premier royaume :
[Image: 7948231.png]

3. Duplication de la base de données.
Rendez vous dans navicat et créez deux nouvelles bases de données :
  • world2
  • characters2
world2 contiendra le monde de votre nouveau royaume, et characters2 les personnages. Il vous suffit donc d'appliquer les fichiers sql respectifs comme vous l'avez fait lors de l'installation du serveur, mais le mieux reste d'exporter les deux premières bases (characters et world) puis de les importer sur les nouvelles (characters2 et world2).

4. Configurer la base auth.
Ouvrez la base auth (normalement déjà présente) puis la table "realmlist". Ajoutez une ligne pour votre nouveau royaume :
[Image: 8473384.png]

5. Configurer le nouveau core.
Rendez vous dans le dossier que vous avez dupliqué et éditez worldserver.conf :
[Image: 9444563.png]
Remplacez le premier "root" par l'user et le deuxième par le mot de passe d'accès à votre base de données.
Vous n'avez pas besoin de modifier authserver.conf.

6. Démarrer les royaumes.
  1. Démarrer authserver du premier core.
  2. Démarrer worldserver du premier core.
  3. Démarrer worldserver du second core.
Merci pour ta réponse rapide Warryur.

En faite j'ai deux source différente Trinitycore 4.3.4 et Trinitycore 5.1.0

Mais les tables de l'auth ne sont pas les mêmes donc je ne peut pas utiliser le même auth pour les deux royaumes.

je voulais savoir si je pouvais lancer deux authserver et worldserver en même temps ,un pour chaque royaume.

Normalement oui si je modifie dans authserver.conf

RealmServerPort = 3724 par
RealmServerPort = 3725

et dans worldserver.conf

WorldServerPort = 8085 par
WorldServerPort = 8087

Mais le problème que je rencontre c'est quand je fais un "make install" avec le core 4.3.4 si je laisse par défaut mon core sera installé dans /usr/local/bin

donc je ne peut pas faire pareil avec le deuxième core 5.1.0 sinon il m’écrasera les premiers fichiers

et je ne peut pas copier les fichiers dans un autre dossier que /usr/local/bin

sinon quand je le lance j'obtiens "bash: authserver : commande introuvable".

Dite moi si je suis un peut confus.

merci
C'est tout à fait possible, mais il faudra alors que ton realmlist ressemble à ça : logon.machin.com:3724 et logon.machin.com:3725 si je ne dit pas de bêtise Smile
Oui j'ai déjà testé les deux royaumes séparément ça fonctionne très bien.
J'ai modifier le realmlist comme tu dis en indiquent le port pour le core 5.1.0.
Ouais, ça fait pas très beau, mais pas le choix, ou sinon, il faut modifier directement le core :/
A mon avis ton problème viens juste au lancement du serveur, tu le lances comment ?

Car je trouve ça étrange que tu ne puisse le lancer que depuis /usr/local/bin
Je lance ma commande depuis le terminal.

Je me rends dans le dossier où j'ai le core et je tape ma commande "authserver"

si je le lance depuis /usr/local/bin

ca fonctionne très bien mais si je change le chemin dans cmake : par exemple

/home/monpseudo/core510

Il m'installe bien un dossier bin et etc mais si je me rend dans le dossier

bin et lance depuis le terminal authserver

J'ai cette erreur:

bash: authserver : commande introuvable

Et si je fais que copier les dossiers bin et etc depuis /usr/local/bin

vers /home/monpseudo/core510 .

J'ai la même erreur.
Arf j'aurais du mieux préciser ma pensée.

Ta commande authserver c'est un script rajouté c'est ça ?
Il est dans ton /usr/local/bin ?

Car là en gros c'est qu'il trouve pas ton script, fait en sorte qu'il soit disponible dans les dossiers où tu met tes cores.
Non aucun scripts rajouté pour l'instant j'ai juste suivi le tuto.
http://wow-emu.fr/showthread.php?tid=205
Vérifie que tu es en admin quand tu le fait et regarde les permissions du fichier aussi ça peut venir de là je pense.
Mes commandes sont passées depuis le terminale administrateur quand je tape ls -l

j'obtiens:

-rwxrwxrwx 1 root root 423242 mars 22 09:57 authserver
drwxr-xr-x 2 root root 20480 janv. 3 2013 dbc
drwxr-xr-x 2 root root 266240 déc. 19 19:06 maps
drwxr-xr-x 2 root root 729088 déc. 19 19:32 vmaps
-rwxrwxrwx 1 root root 27142687 mars 22 10:05 worldserver

Je vais essayé de tout refaire depuis le début.
Vérifie les dossiers qui mènent à celui là aussi on sait jamais.
Pareil
drwxrwxrwx 5 root root 4096 mars 22 10:09 bin
drwxrwxrwx 2 root root 4096 mars 22 10:09 etc
Problème résolu ,c'étais un problème de variable d'environnement PATH.

En gros quand vous tapez une commande sous linux ,le shell cherche la commande qu'on écrit au

clavier dans l'ordre des répertoires contenus dans la variable PATH .

si vous tapez la command :

root@debian: ~# echo $PATH

j'obtiens dans mon cas:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Quand on écrit une commande le shell va chercher d'abord dans

usr/local/sbin puis dans /usr/local/bin ,puis dans /usr/sbin ,puis dans /usr/bin ,puis dans /sbin

et pour finir dans /bin.

Dès que le shell trouve la commande, alors il stoppe la recherche en exécutant la commande trouvée

il y a 2 cas, ou on peut avoir ce message d'erreur 'command not found'

- la commande existe mais ne se trouve dans aucun répertoire de notre PATH

- la commande n'existe pas

si la commande existe mais ne se trouve dans aucun répertoire de notre PATH

vous pouvez la lancer en utilisant le chemin absolu

exemple : /home/votrepseudo/core510/authserver

ou en l'ajoutant le répertoire à votre Path avec la commande :

export PATH=$PATH:/home/votrepseudo/core510.

Retourner en haut WoW-Emu