AccueilFAQRechercherS'enregistrerConnexion  
 
   
 
Poster un nouveau sujet   Répondre au sujet
 

[Linux + Mangos] Création d'un serveur & compilation

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Zold
Petit nouveau

Petit nouveau


Bélier
Age : 148
Inscrit le : 17 Jan 2008
Messages : 70
Localisation : Raccoon city
Niveau : sous-sol
Avertissements : 
0/30/30/3 (0/3)

MessageSujet: [Linux + Mangos] Création d'un serveur & compilation   Jeu 17 Avr - 16:22

Comment installer & compiler un serveur wow sur un dédié linux Debian avec Mangos


Les manipulations ont été faites sous debian etch avec un rps de chez ovh.



Dans ce tuto nous utiliserons les commandes :
cd : permet de se situer sur le disque dur dans les différents répertoires.
mkdir : créer un répertoire.
nano : éditeur de texte.
cp : copie un fichier dans un répertoire.
screen : permet de créer un 'écran' pour pouvoir s'occuper de plusieurs application en même temps sur une même console.
sh : permet d'exécuter un fichier de commande en bash (.sh)
dir ou ls -l :permet de visualiser les fichiers du répertoire courant


Pour les manipulations sql nous utiliserons l'invite de commande mysql, mais vous pouvez très bien utiliser phpmyadmin ou navicat(par un tunnel ssh uniquement).

Nous allons commencer en admettant que vous avez payé votre dédié et que vous disposez d’un accès à celui-ci.
Pour commencer, téléchargez putty, un logiciel qui va vous permettre de vous connecter sur votre machine à distance par ssh (il s’agit d’un protocole sécurisé et chiffré : les données qui transitent via ce protocole ne peuvent être lu par une personne tiers ).

Vous lancez le logiciel, vous devriez voir une fenêtre windows, rentrez l’ip du serveur et sélectionnez le bouton radio ‘ssh’. Vous pouvez ensuite cliquer sur ‘open’.

Vous devriez ainsi obtenir une invite de commande de votre dédié : rentrez ‘root’ dans login et votre mot de passe à la saisie de celui-ci. Vous avez le shell de votre dédié.

Normalement votre linux est installé avec uniquement les packages de bases, il va donc falloir installer d’autres logiciels :

Téléchargement et compilation du core

Grâce à la commande
Code:
apt-get install
vous pouvez installer tous les logiciels que vous désirez et qui sont disponibles sur les serveurs de debian.
Code:
apt-get remove
permet de désinstaller le même package et
Code:
apt-cache search
permet d’avoir une liste de logiciels ayant un rapport avec le mot clef (généralement dans le cas où vous ne connaissez pas le nom exacte du package. Ensuite dans la liste, il suffira de copier les noms des packages qui vous intéressent avec un apt-get install.
Vous devez installer les packages suivants :
Citation:
- subversion
- openSSL
- mysql
- glibc
- glibc-dev
- autoconf
- automake
- libtool
- zlibc
- gcc
- make
- nano ou vi (selon vos goûts)


Ensuite grâce à subversion vous allez récupérer la dernière version des sources de mangos. Pour ce faire nous allons d’abord créer des dossiers, faites :
Code:
mkdir /home/mangos

Code:
mkdir /home/mangos/sources

Et ensuite nous utilisons subversion :
Code:
svn checkout https://mangos.svn.sourceforge.net/svnroot/mangos/trunk /home/mangos/sources

Comme scripdev2 est très pratique nous allons également l’installer. Si vous ne voulez pas installer ScriptDev2, sautez cette étape et reprenez à 'compiler les sources'.
Code:
mkdir /home/mangos/sources/src/bindings/ScriptDev2

Code:
svn checkout https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2/


Appliquer un patch sous linux, ici ScripDev2

Nous allons maintenant appliquer le patch ScriptDev2 sur vos sources de mangos, tapez la commande :
Code:
patch -p0 < src/bindings/ScriptDev2/patches/MaNGOS-r5049-Scriptdev2.patch


Dorénavant pour appliquer un patch sur un core mangos, vous placerez votre patch dans /home/mangos/ et vous utiliserez la commande patch –p0 < /home/mangos/votre_patch.patch

Compiler les sources

Utilisez la commande
Code:
autoreconf -–install

Ensuite
Code:
./configure --prefix=/home/mangos --sysconfdir=/home/mangos/etc --enable-cli --enable-ra --datadir=/home/mangos


Si il vous manque un packet, vous le verrez ici, dans ce cas là : ‘apt-get install’ du packet qui manque.
On passe à la compilation qui va transformer vos sources en binaires :
Code:
make

Si il vous manque un packet, vous le verrez aussi ici, dans ce cas là : ‘apt-get install’ du packet qui manque.
Après une très longue compilation, il vous reste à faire
Code:
make install

Et
Code:
make clean

Pour gagner de la place sur le disque
La première phase est terminée. Passons à l’installation

Téléchargement et installation de la base de données

On va tout d'abord, créer un nouvelle user sql, faites :

Code:
mysql -u root -p
>CREATE USER 'user'@'localhost' IDENTIFIED BY 'votrepass';
>GRANT ALL PRIVILEGES ON * . * TO 'user'@'localhost' IDENTIFIED BY 'votrepass' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;


On va créer un dossier qui va recevoir le svn de la db :
Code:
mkdir /home/mangos/database

Ensuite on utilise subversion :
Code:
svn checkout https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/ /home/mangos/database

On utilise ici udb, mais vous pouvez très bien utiliser d’autres fournisseurs.

Ensuite vous devez utiliser unrar pour décompresser vos .rar, faites :
Code:
nano /etc/apt/sources.list

Modifiez le fichier ainsi :
Code:
deb ftp://mir1.ovh.net/debian/ etch main contrib non-free
deb-src ftp://mir1.ovh.net/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

Ctrl-x, pour fermer, puis ‘o’ pour confirmer la modification du fichier, et enfin ‘entrée’
Puis
Code:
apt-get update

Code:
apt-get install unrar

Et enfin pour les décompressions :
Code:
cd /home/mangos/database/Full_DB

Code:
unrar -e  UDB_0.9.3_Core_5578_SD2_323.rar
ici pour la release 0.9.3 d’udb
Code:
unrar -e EAI_0.0.4_323.rar
ici pour la release 0.0.4

Nous allons maintenant créer les bases de données, en appliquant tout les fichiers sql requis :

Création des bases de données mangos, realmd et characters :
Code:
cd /home/mangos/mangos/sql

Code:
mysql –u user –p
>source create_mysql.sql
>use characters
>source characters.sql
>use realmd
>source realmd.sql
>quit


Création de la base de données script Dev2 (si vous avez appliqué le patch scriptdev2)
Code:
cd  /home/mangos/scripdev2

Code:
mysql –u user –p
>source create_database.sql
>use mangos
>source mangos_full_scripts.sql
>source mangos_additional_req.sql


Code:
cd /home/mangos/database/Full_DB


Code:
mysql –u user –p
>use mangos
>source UDB_0.9.3_Core_5578_SD2_323.sql (ici pour la release 0.9.3 d’udb)
>use scriptdev2
>source EAI_0.0.4_323.sql (ici pour la release 0.0.4)
>quit


Updates de la bdd

Nous allons maintenant faire les update. En faite, il s’agit d’appliquer tout les patch .sql des dossiers updates qui se trouve entre la version de votre base de données (ici Core_5578_SD2_323), jusqu’au dernier patch, dans le cas de la release mangos 5636 vous devez appliquer les patch qui commencent de 5585_mangos_gameobject_template.sql à 5636_mangos_loot_template.sql. Les patch sont à appliqué au différentes db realmd, characters et mangos selon leur deuxième identifiant _mangos, _realmd etc..). Faites de même pour scriptdev2. Respectivement les updates de mangos et scriptdev2 se trouvent à /home/mangos/mangos/sql/updates & /home/mangos/scriptdev2/sql/updates. Utilisez 'use' pour séléctionner une base de données et 'source' pour appliquer un patch sql.

Upload des dbc, maps & vmap(ftp)

N’oubliez pas de prendre les dossiers map, vmap & dbc par le moyen de votre choix et de l’uploader sur votre serveur via ftp par exemple. Aucun tutoriel ne sera donné dans celui-ci, pour configurer et installer un serveur ftp, voyez sur le net. Si vraiment vous le souhaitez, j’en ferais un à part, car celui-ci est suffisamment long. Uploadez dans le dossier /home/mangos/bin

Installation d’un restarter en bash

J’ai trouver ce code sur mangosproject.org, malheureusement je ne trouve plus le donneur, de tout façon il était buggé, je l’ai donc corrigé, voici le code (en 3 parties) :
Il vous sera bien utile. (Enregistrez ces trois fichiers sous le nom respectivement 'restarter-bin', 'startw', 'startr')

restarter-bin
Code:
#! /bin/bash

while true
do
  PID1=$(pidof mangos-worldd)
  if (( PID1 < 1 ))
  then
        sh startw
  fi

  PID2=$(pidof mangos-realmd)
  if (( PID2 < 1 ))
  then
        sh startr
  fi

  sleep 20
done


startw
Code:
screen -A -m -d -S mangos_world ./mangos-worldd -c ../etc/mangosd.conf


startr
Code:
screen -A -m -d -S mangos_realm ./mangos-realmd -c ../etc/realmd.conf


Configuration des fichiers .conf

Faites :
Code:
cp /home/mangos/sources/src/bindings/ScriptDev2/scriptdev2.conf /home/mangos/etc

Code:
nano /home/mangos/etc/mangosd.conf
et modifiez ainsi
Code:
ligne 48 : LoginDatabaseInfo    = "127.0.0.1;3306;user;votrepassl;realmd"
ligne 49 : WorldDatabaseInfo    = "127.0.0.1;3306;user;votrepass;mangos"
ligne 50 : CharacterDatabaseInfo = "127.0.0.1;3306;user;votrepass;characters"

De même pour
Code:
nano /home/mangos/etc/realmd.conf
:
Code:
ligne 89 : LoginDatabaseInfo = "127.0.0.1;3306;user;votrepass;realmd"

Code:
nano /home/mangos/etc/scriptdev2.conf

Code:
ligne 11 : ScriptDev2DatabaseInfo    = "127.0.0.1;3306;user;votrepass;scriptdev2"


Lancement du serveur

Faites :
Code:
cd /home/mangos/bin

Code:
screen –dmS restarter

Code:
screen –x restarter

Code:
sh restarter-bin

ctrl-a+d pour quitter un screen.

Et voila !

Pour éteindre le serveur vous faites :
Code:
screen –x restarter
Ctrl-C
screen –x mangos_world
exit
screen –x mangos_realm
ctrl-C


Credit

Merci à mangos.fr, Zal qui par son tuto m'a appris à compiler mangos sous linux.

Ce tuto n'est pas réservé et vous pouvez le copier, le distribuer, tant que vous citez son auteur et sa source.
_________________
-=>Faire un serveur mangos sous nunux =) <=-
Revenir en haut Aller en bas

[Linux + Mangos] Création d'un serveur & compilation

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FW :: Zone de Jeux :: World Of Warcraft :: Tutoriels :: Mangos-
Poster un nouveau sujet   Répondre au sujet
  Design et codage du forum réalisé par Ilianna et Synchronizer-Design.com
www.forum-wow.org copyright © 2008