EDIT: Il existe un package pour debian ici. Je ne l’ai pas encore testé ;)
Je vous propose aujourd’hui un tutoriel qui vous aidera a créer un serveur privé World Of Warcraft sous Linux/Debian. Attaquons donc tout de suite le vif du sujet, c’est plutôt long, il vous faudra donc:
- Un serveur sous debian (ou assimilé, comme: K-Ubuntu),
- Les programmes/librairies suivantes: zlibc gcc g++ make automake autoconf glibc glibc-dev mysql binutils cpp libc6 libc6-dev libc6-i686 libgcc libgcc-dev libmysql++-dev linux-header-(version) linux-kernel-headers linux-kernel-devel makedepend mysql-client-5.0 mysql-common mysql-server python libssl libssl-dev openssl ssl-cert subversion g77 zlib1g-dev
screen mc unzip libstdc++ unrar
- Les fichiers suivant:
DBC: http://www.megaupload.com/fr/?d=EY3C7NLV,
MAP: http://www.megaupload.com/fr/?d=657UAN8X,
VMAP: http://www.megaupload.com/?d=ZPTMQYY3 et http://www.megaupload.com/?d=BPNLKG40
- Du temps,
- Une bonne dose de courage,
- Et quelques litres de café :)
Récapitulatif des logiciels utilisés:
Mangos SVN (Serveur): 0.10
UBD (Base de données): 0.9.1,
Core: 5057,
SD2: 233
DBC: 2.3.3
Maps, vMAps: 2.3.2
1 | # aptitude install zlibc gcc g++ make automake autoconf glibc glibc-dev mysql binutils cpp libc6 libc6-dev libc6-i686 libgcc libgcc-dev libmysql++-dev linux-header-`uname -r` linux-kernel-headers linux-kernel-devel makedepend mysql-client-5.0 mysql-common mysql-server python libssl libssl-dev openssl ssl-cert subversion g77 zlib1g-dev screen mc unzip libstdc++ unrar |
Allez donc vous faire un café, maintenant. Deux sucres pour moi, s’il vous plaît.
- Créez l’utilisateur qui lancera le serveur (pour des raisons de sécurité, ne lancez pas l’emulateur en root!) – ‘wowsvr’ chez moi, mais vous pouvez évidement l’adapter a votre utilisation
1 | # adduser wowsvr |
- Puis on se rend dans son home et on crée le dossier qui va contenir les fichiers du serveur.
1 2 3 | # cd /home/wowsvr # mkdir mangos # cd mangos |
- On se connecte au SVN de mangos et on récupère la dernière version de l’emulateur.
1 | # svn co https://mangos.svn.sourceforge.net/svnroot/mangos/trunk |
- On se connecte au SVN de ScriptDev2 et on récupere sa dernière version.
1 2 | # cd trunk/src/bindings # svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ |
- Puis on prépare la compilation
1 | # cd ../.. |
- On édite donc le fichier configure.ac
1 | # vim configure.ac |
- éditez le fichier configure.ac, rajoutez les lignes suivantes a la fin du fichier entre:
src/bindings/Makefile
src/bindings/universal/Makefile
Et
)]
Ajoutez:
src/bindings/scriptdev2/Makefile
src/bindings/scriptdev2/sql/Makefile
src/bindings/scriptdev2/sql/Updates/Makefile
- Et on reconfigure
1 2 3 4 5 6 | # autoreconf --install --force # autoconf # automake src/bindings/scriptdev2/Makefile # automake src/bindings/scriptdev2/sql/Makefile # automake src/bindings/scriptdev2/sql/Updates/Makefile # ./configure --prefix=/home/wowsvr/mangos --sysconfdir=/home/wowsvr/mangos/etc --with-python --enable-cli --enable-ra --datadir=/home/wowsvr/mangos |
- Voila, la on attaque la compilation.. attention ça peut être très long suivant votre configuration, servez nous donc le café ! (Environ 30mn chez moi) Donc ne l’interrompez pas ! Au pire, si vous plantez tapez « # make clean » et recommencez…
1 2 | # make # make install |
- Reprenez un café..
1 2 3 | # cd src/bindings/scriptdev2 # make # make install |
- On va maintenant étudier l’architecture du serveur:
1 | # Cd /home/wowsvr/mangos |
| etc/ = Tous les fichiers de configuration.
| bin/ = Les exécutables..
| mangos/ = La base de données.
| trunk/ = Les sources.
| Lib = Les libraires ainsi que le registre, ne rien changer dans ce dossier !
| scriptdev2/ = ici se trouvent les fichiers pour SQL scriptdev2.
- maintenant, la manière LA PLUS FACILE d’obtenir les cartes et les dossiers de DBC sur votre serveur est de les récupérer sur votre machine windows parce que Mangos ne les intègre pas, sauvegardez les dans un coin, au cas ou vous deviez réinstaller le serveur ! Recuprez ‘ad.exe’ et ‘MPQE.exe’ et utilisez les pour récupérer les fichiers en question.
TECHNIQUEMENT Mangos est maintenant installé, cependant, je ne vous ai pas encore parlé des bases de données.. Allons-y :)
1 2 3 4 5 6 | # cd /home/wowsvr/mangos/trunk # mv * .. # cd ../sql # wget https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/Full_DB/UDB_0.9.1_Core_5057_SD2_233.rar --no-check-certificate # unrar e UDB_0.9.1_Core_5057_SD2_233.rar # mysql –u root –p |
- Entrez votre mot de passe..
1 2 3 4 5 6 7 | > . create_mysql.sql > use characters > . characters.sql > use realmd > . realmd.sql > use mangos > . UDB_0.9.1_Core_5057_SD2_233.sql |
- Vous pouvez encore vous resservir un café :)
1 2 | > use realmd > UPDATE realmlist SET `name` = 'LeNomDuSvr'; |
- Entrez ici l’ip du serveur, si vous ne le connaisez pas tapez # ifconfig
1 | > UPDATE realmlist SET `address` = '0.0.0.0'; |
- Si vous n’avez pas encore saisi de mdp pour l’utilisateur mangos sur la BDD:
1 | > SET PASSWORD FOR mangos@localhost=PASSWORD('mangos'); |
acct: le numéro de votre compte, en gros l’id (langage SQL), donc pour le premier compte, mettez « 1″
login: vous mettez votre nom de compte, celui que vous voulez!
password: vous mettez votre mot de passe, celui que vous voulez!
gm: vous la laissez vide pour les joueurs normaux, vous mettez « a » pour un compte MJ, et « az » pour un compte administrateur
flags: mettez 8 pour que le compte puisse accéder aux maps Burning crusade
Copiez les fichiers ‘Maps’, ‘vMAps’ et ‘DBC’ et votre serveur est prêt a être lancé ! Bon allez, puisque vous êtes gentils je vais même vous fournir un script qui vous permettra de lancer le serveur:
Copiez ceci dans un fichier nomé « lanceur.sh » dans votre dossier « bin » (celui qui contient realmd et mangosd) puis tapez :
1 | # chmod +x lanceur.sh |
Contenu du script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #!/bin/bash L_SRV=realmd C_SRV=mangosd printf "$(date)tLancement des aplications de mangos...n" screen -dmS wowReal nice ./${L_SRV} screen -dmS wowMangos nice ./${C_SRV} printf "$(date)tLancé.nn" while [ true ]; do sleep 15 printf "$(date)tTest si les processus son démaré...n" if [ "0" = "$(ps x | grep -e real | wc -l)" ]; then printf "$(date)tErreur: Realmd serveur a crashé!n" printf "$(date)tmise en attente...n" sleep 5 if [ "0" = "$(ps x | grep -e real | wc -l)" ]; then printf "$(date)tCrash! Relancement du serveur realmd...n" screen -dmS wowReal nice ./${L_SRV} printf "$(date)tlancé.n" else printf "$(date)tProcessus déja démaré.n" fi fi if [ "0" = "$(ps x | grep -e mangos | wc -l)" ]; then printf "$(date)tErreur: mangos serveur a crashé!n" printf "$(date)tmise en attente...n" sleep 5 if [ "0" = "$(ps x | grep -e mangos | wc -l)" ]; then printf "$(date)tCrash! Relancement du serveur mangos...n" screen -dmS wowMangos nice ./${C_SRV} printf "$(date)tlancé.n" else printf "$(date)tProcessus déja démaré.n" fi fi printf "$(date)tAnalise complété.nn" done |
Et merci pour le café ;)



euh je bloque au niveau de l’edition du fichier configure.ac .
On execute la commande, on modifie le fichier puis ? On fait quoi pour « valider » l’edition ? je reste toujours en mode edition pour le fichier configure.ac
En mode « Insertion » tu appuye sur « Echap » puis tu tape :wq et entrée.
(w pour write et q pour quit)
tu peux obtenir d’autres informations sur l’utilisation de vim en tapant
man vim
En espérant t’avoir aidé.
Bonsoir,
Heu moi le soucis vient qu’à la fin vous dites :
Copiez ceci dans un fichier nomé “lanceur.sh” dans votre dossier “bin” (celui qui contient realmd et mangosd) puis tapez
Je n’ai aucun dossier bin après avoir suivit le tutorial à la lettre.
étonnant, ils on peut etre changé la structure depuis, fait donc un recherche sur ton disque pour voir ou se trouvent les binaires. Pour ça:
# find / -name realmd
et
# find / -name mangosd
(normelement ils se trouvent dans le même répertoire. Des que tu as trouvé ce répertoire, place le script dans ce même dossier.
Salut,
J’ai un problème au niveau de # cd src/bindings/scriptdev2
# make
# make install
Lorsque j’écris make, sa me marque exemple: Makefile:387: .deps/system.Plo: Aucun fichier ou dossier de ce type, après sa me marque à la fin: make: *** Pas de règle pour fabriquer la cible « .deps/system.Plo ». Arrêt. Pouvez vous m’aider svp? Merci
étonnant.. avant de m’avancer que quoi que ce soit, je te conseillerais de repartir a zéro, re-télécharger le svn.. peut être une erreur de transfert ?
Vérifie aussi que tu as bien conserver la structure donnée: /home/wowsvr/mangos (ou de modifier ton ./configure ..
J’ai réussi à le régler tout seul
Merci quand meme
Peut être pourrais tu expliquer -si tu remet les pieds un jours ici – d’où venais ton problème ? Comme ça, si d’autres personnes sont exposés au même soucis, ton expérience pourrais leurs être très utile ;)
Mon problème était lorque j’écrivais make à # cd src/bindings/scriptdev2 . J’ai recommencer au niveau de # vim configure.ac et j’ai vu que vim n’avait pas sauvegarder et j’ai aussi réalisé que j’avais mal configuré ici: src/bindings/Makefile
src/bindings/universal/Makefile
Et
)]
Ajoutez:
src/bindings/scriptdev2/Makefile
src/bindings/scriptdev2/sql/Makefile
src/bindings/scriptdev2/sql/Updates/Makefile
J’avais fait : src/bindings/Makefile
src/bindings/scriptdev2/Makefile
src/bindings/scriptdev2/sql/Makefile
src/bindings/scriptdev2/sql/Updates/Makefile
src/bindings/universal/Makefile
)]
Après j’ai fait : src/bindings/Makefile
src/bindings/scriptdev2/Makefile
src/bindings/universal/Makefile
src/bindings/scriptdev2/sql/Makefile
src/bindings/scriptdev2/sql/Updates/Makefile)]
Après cela sa remarché
J’espère avoir aider quelqu’un :)
J’aimerai te dire que ton lien à l’installation de SQL : unifieddb.svn.sourceforge.net/svnroot/unifieddb/Full_DB/UDB_0.9.1_Core_5057_SD2_233.rar est mort. Je suis allé sur le site est la nouvelle DB est: http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/Full_DB/UDB_0.10.1_Core_5712_SD2_350.rar
Il y a un problème dans l’installation de SQL : https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/Full_DB/UDB_0.9.1_Core_5057_SD2_233.rar . Il ne marche pas. J’ai fait une recherche et j’ai vu que c’était, maintenant, http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/Full_DB/UDB_0.10.1_Core_5712_SD2_350.rar . J’espère ne mettre pas trompé :)
Merci, je rectifie dans l’article ;)
Bonjour,
J’ai un nouveau problème, je suis rendu ici \.create_mysql.sql dans SQL puis quand je fais \.create_mysql.sql
sa me dit : bash: .create_mysql.sql : commande introuvable. Pouvez-vous m’aider merci
Autant pour moi, une coquille s’est glissée dans le tutoriel.. il faut en fait taper:
\. create_mysql.sql
syntaxe mysql:
\. nom_du_fichier_sql_a_exécuter.sql
Bonjour. J’ai un problème lors de l’utilisation du autoreconf –install –force. le terminal me répond => autoreconf: ‘configure.ac’ or ‘configure.in’ is required
Quelqu’un a une idée ? Merci
désolé, question stupide et résolue XD Encore désolé et merci pour le seul tuto WoW/debian compréhensible du web
Ah si ! petite erreur. Avec l’actuelle MySQL, à cet endroit :
- Vous pouvez encore vous resservir un café :)
> use realmd
> UPDATE realmlist SET `name` = ‘LeNomDuSvr’;
il faut en fait taper :
- Vous pouvez encore vous resservir un café :)
> use realmd
> UPDATE realmlist SET name = ‘LeNomDuSvr’;
merci, je rectifie ça de suite ;)
pfff je suis sur kubuntu ca le fait aussi?
tu fais tout en ligne de code y a pas plus simple ? je viens de d arriver de windaube ca fait 2 semaine sur linux (he kel bonheur)et les lignes de code me font un peut peur j aime bien remplir des ptit cases ^^
aurais tu un pti tuto plus windobien?
merci d avance
Kubuntu, ça le fait aussi ;)
Par contre pour faire plus simple… oublie de suite cette solution si elle te parais trop compliquée… tu va t’énerver dessus et perdre ton temps. Je pense que tu devrais trouver des tutos pour windows sur internet, je n’ai pas de windows chez moi donc je ne pourrais malheureusement pas t’aider, désolé :)
bonjour bon le tuto bien si on veux manque les depos des bas msql que trouverer ici https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/tags/
bon jai un petit soucie dans votre tuto vous dite ceci # Autres fichiers
Copiez les fichiers ‘Maps’, ‘vMAps’ et ‘DBC’ et votre serveur est prêt a être lancé ! Bon allez, puisque vous êtes gentils je vais même vous fournir un script qui vous permettra de lancer le serveur: preciser a quel endroit maitre ses fichier
Les fichiers Maps, vMaps et DBC doivents être placé a la racine du dossier de mangos.
Attention à respecter les Majuscules.. linux étant case-sensitive :)
je ne demande pas un tuto windaube ca y en as plein, mais un tuto pour kubuntu avec beaucoup moins de ligne de commande plus axe windows (remplir des ptites case lol)
merci d avance
Malheureusement, là je ne peut rien pour toi ;)
bon c po grave je vais essayer avec les lignes de code souhaitez moi bonne chance :p
Bonjour ,
J’ai un petit problème avec cette commande : autoreconf –install –force , lorsque je l’écrit je reçoit cette erreur : configure.ac:35: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
J’ai déjà essayé de recommencer l’installation mais rien a faire =/ .
Merci d’avances pour vos réponses =)
Apparement j’ai le même problême que exphoenix …
laurent@laurent-desktop:~/sources/mangos/trunk$ autoreconf –install –force
configure.ac:35: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1
laurent@laurent-desktop:~/sources/mangos/trunk$
J’ai trouver la solution tout seul comme un grand il fallait installer libtool .
Merci pour lui :)
Merci à toi =)
configure.ac:4752: warning: AC_DEFINE: not an identifier:
configure.ac:4752: the top level
configure.ac:4783: warning: AC_DEFINE: not an identifier:
configure.ac:4783: the top level
autoheader: warning: missing template:
autoheader: Use AC_DEFINE([], [], [Description])
autoreconf: /usr/bin/autoheader failed with exit status: 1
root@xxxxxx:/home/wowsvr/mangos/trunk#
voilà ce qui est marqué lorsque je fais un
# autoreconf –install –force
et au final, après le gros paquet que tu nous donne à faire (c'est à dire ça :)
# autoreconf –install –force
# autoconf
# automake src/bindings/scriptdev2/Makefile
# automake src/bindings/scriptdev2/sql/Makefile
# automake src/bindings/scriptdev2/sql/Updates/Makefile
# ./configure –prefix=/home/wowsvr/mangos –sysconfdir=/home/wowsvr/mangos/etc –with-python –enable-cli –enable-ra –datadir=/home/wowsvr/mangos
ça ne fonctionne pas, j'ai une erreur sur le ./configure… et je pense que ça vient de ce que je t'ai copié/coller plus haut
salut*
ce tuto est a quelle version client la 3.0.3 la 2.4.3
ou esque on peux maitre ce tuto a la dernier version de wow a la 3.3.0 parce que j ao vmaps et maps et dbc en 3.3.0 mais pour mangos
enfait j aimeuré bien faire mon serveur wow en 3.3.0 sous linux
salut*
on peux maitre ce tuto a la 3.3.0 parce que j ai les mise a jour 3.3.0 j ai vmpas et maps et dbc en 3.3.0 mais j ai pas le core en 3.3.0 sous linux
Bonsoir,
Je vous contact déjà pour dire, merci pour ce tuto. Je suis en trein d'essayer d'installer le serv mais aux niveaux de la deuxième compilation, c'est a dire ici :
# cd src/bindings/scriptdev2
# make
# make install
J'ai du pour information créer ce répertoire : "objdir" autrement lors de la première compilation sa planter. Quand je fait la deuxième compilation sa me met sa :
"../../../src/tools/genrevision/genrevision ../../../../src/bindings/scriptdev2
make: ../../../src/tools/genrevision/genrevision : commande introuvable
make: *** [revision.h] Erreur 127"
Quelqu'un aurait-il une idée ?
Merci d'avance.
Cordialement
Bonjour, avec des collègues on a créer le serv est on sur le net no souci, par contre on cherche des scripts pour mettre a jour les dj et raids, est ce ke vous pouvez m'aider svp?
Bonjour,j'ai un problème avec la compilation.Je ne suis pas très fort dans ce domaine là donc j'ai besoin d'aide…
je tape make (en étant loggé en root) et ça me donne sa:
make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.
j'ai vérifié le fichier configure.ac il contient bien les bons truc
aurais-je mal configuré quelque chose?
Merci pour ce très bon tuto.
Cependant j'ai également eu le même problème que Tony:
Please configure and build in a directory other than the
top-level source directory. This is needed because a lot
of maintainers tend to break parallel build trees
(a.k.a. VPATH builds). This is kinda real ensurance they
will not do it (by enforcing everybody to do VPATH builds).
For example, try the following from the top-level source
directory:
mkdir objdir
cd objdir
../configure
make
This will create a build space in the directory `objdir' and
start a build in that directory.
If however you realy want to disable this error,
use –enable-maintainer-mode switch.
J'ai du créer un dossier pour séparer la config et la compilation du dossier source.
Scriptdev2 ne veut pas non plus se compiler…
Bonjour, moi je me retrouve avec cette erreur lors du ./configure … quelqu'un saurait comment je peux m'y prendre ?
lbbam:/home/wowsvr/mangos/trunk# ./configure –prefix=/home/wowsvr/mangos –sysconfdir=/home/wowsvr/mangos/etc –with-python –enable-cli –enable-ra –datadir=/home/wowsvr/mangos
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… no
checking for mawk… mawk
checking whether make sets $(MAKE)… yes
checking how to create a pax tar archive… gnutar
checking whether to enable maintainer-specific portions of Makefiles… no
suite :
configure: error:
Please configure and build in a directory other than the
top-level source directory. This is needed because a lot
of maintainers tend to break parallel build trees
(a.k.a. VPATH builds). This is kinda real ensurance they
will not do it (by enforcing everybody to do VPATH builds).
For example, try the following from the top-level source
directory:
mkdir objdir
cd objdir
../configure
make
This will create a build space in the directory `objdir' and
start a build in that directory.
If however you realy want to disable this error,
use –enable-maintainer-mode switch.
C'est ce que j'ai expliqué plus haut. Il faut creer un dossier et procéder comme suite :
mkdir objdir
cd objdir
../configure –prefix=/home/wowsvr/mangos –sysconfdir=/home/wowsvr/mangos/etc –with-python –enable-cli –enable-ra –datadir=/home/wowsvr/mangos
make
ormi que la moitier des telechargement indiquer ne marche pas :P c bien expliquer j'ai passer toute la nuit a chercher comment créer un serveur privé mais les maps et les pack ne marche pas son introuvable sur tous les sites indiquer :( je ne pourrai jamais crée mon serv