Serveur MaNGOS (serveur de jeu)
Attention: La mise à disposition d’un serveur particulier pour World of Warcraft enfreint les Conditions d’Utilisation de World of Warcraft et peut entraîner des poursuites. Ne suiviez les instructions de cette documentation que dans un but strictement personnel et pédagogique.
Pour le moment l’essentiel est là, il reste la portion de sauvegarde des bases de données avec l’option dump de MySQL à écrire, je fais la rédaction pendant mon temps libre, prière d’être patient. Merci!
Le projet MaNGOS (the Massive Network Game Object Server) est un serveur complet pour le client du jeu World of Warcraft, incluant le serveur d’authentification et le serveur de contenu du monde (world).
L’installation présentée ici est pour le client 3.1.3 (9947) locale enUS. Pré-requis
Une connaissance minimale de Ubuntu en console est nécessaire.
- Posséder les CD de wow, TBC et WoLK
- Disposer d’une connexion à Internet configurée et activée.
- Ordinateur pouvant faire office de serveur (ubuntu version serveur)
- Beaucoup de temps devant soi, certaines étapes sont très longues
Installation
Installer Ubuntu 8.04.3 LTS édition serveur sur votre machine dédiée
N’oubliez pas d’adapter le nom d’utilisateur en fonction de celui que vous avez choisi.
Nom d'utilisateur complet: wow
Nom d'utilisateur: wow
Mot de passe:
Chercher toutes les mises à jour du système
sudo apt-get update
Installer toutes les mises à jour disponible
apt-get dist-upgrade
Installer support nfs (disque réseau):
sudo apt-get install nfs-common
Installer ssh (accès à distance sécurisé):
sudo apt-get install openssh-server
Vous pouvez maintenant, si désirez compléter l’installation à partir de votre ordinateur avec interface graphique via connexion SSH
Dans un terminal sous linux: (remplacer 192.168.0.189 par l’ip de votre serveur) ou avec Putty sous windows
ssh wow@192.168.0.189
Optionel: Les commandes suivantes afin de connecter un disque dur d’un autre ordinateur sous linux si vous travaillez avec ssh. Évidemment les commandes indiquées ici ne sont pas nécessairement les bonnes pour vous, il faudra lire sur le partage NFS et configurer ceci selon votre réseau.
Il faut éditer le fichier de configuration NFS (/etc/exports) de votre autre ordinateur afin qu’il partage le disque en question: (remplacer *.reseau.maison par votre IP de serveur MaNGOS)
sudo nano /etc/exports
/home/ *.reseau.maison(rw,sync,no_subtree_check)
Modifier le fichier de montage des supports du serveur MaNGOS pour inclure le dique réseau
sudo nano /etc/fstab
192.168.0.175:/media/raid5 /media/nas nfs soft,timeo=10
Sauvegarder
ctrl+o
Quitter nano
ctrl+x
Monter le disque NFS sans redémarrer le serveur
sudo mount -a
Installer les applications requise pour la compilation et la suite des choses: installez les paquets
apt-get install build-essential libmysql++-dev libtool libssl-dev subversion zlibc git git-core pkg-config autoconf automake
Création d’un répertoire de téléchargement
mkdir /wow/download
Changer de répertoire:
cd /wow/download
Téléchargement des paquet openssl version K (requis pour la compilation de MaNGOS)
wget http://ftp.ca.debian.org/debian/pool/main/o/openssl/libssl-dev_0.9.8k-5_i386.deb
wget http://ftp.ca.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8k-5_i386.deb
Installation des paquets openssl version 0.9.8k téléchargé de Debian requis pour la compilation de MANGOS
sudo dpkg --install libssl0.9.8_0.9.8k-5_i386.deb
sudo dpkg --install libssl-dev_0.9.8k-5_i386.deb
cd ..
GIT mets à jour l’arborescence principale des sources mangos. GIT crée lui même le répertoire mangos à partir d’où vous lancer la commande)
Vous devez télécharger les sources du dépôt git:
git clone git://github.com/mangos/mangos.git
Changer pour le répertoire MaNGOS:
cd /wow/mangos
Création du répertoire pour le patch ScriptDev2:
mkdir src/bindings/ScriptDev2
Télécharger la révision de ScriptDev2 la plus récente:
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2
Patch SD2 (ScriptDev2) dans les sources mangos. (scriptdev2 sera compilé avec MaNGOS) Remplacer XXXX par le no du patch téléchargé :MaNGOS-8273-ScriptDev2.patch
git apply src/bindings/ScriptDev2/patches/MaNGOS-XXXX-ScriptDev2.patch
Lorsque le patch est appliqué à mangos avec succès, nous compilons le tout, exécuter chaque commande une après l’autre #dans le terminal:
autoreconf --install --force
mkdir objdir
cd objdir
../configure --prefix=/home/wow/mangos --sysconfdir=/home/wow/mangos/etc --enable-cli --enable-ra --datadir=/home/wow/mangos
make
make install
make clean
cd ..
rm -r objdir
Une fois la commande make install
terminée, les fichiers binaire (exécutable) ont été installé dans le répertoire « /home/wow/mangos » et le serveur pourra être démarré du répertoire « /home/wow/mangos/bin » une fois la configuration complété.
Extraction des maps et installation du client sur l’ordi de jeux
Ceci est la partie qui prend le plus de temps:
Installer WOW sur votre ordinateur de jeux jusqu’à la version 3.1.3.9947-enUS (wow-tbc-wolk) avec les mises à jour individuelles disponibles sur le site: http://www.wowwiki.com/Patch_mirrors_(Old_Patches)
Séquence d’installation du logiciel:
WoW Disque d'installation (CD) WoW TBC Disque d'installation (CD) WoW-2.4.0-enUS-patch TBC.exe (968606383) WoW-2.4.0.8089-to-2.4.1.8125-enUS-patch.exe (5167176) WoW-2.4.1.8125-to-2.4.2.8278-enUS-patch.exe (15803224) WoW-2.4.2.8278-to-2.4.3.8606-enUS-patch.exe (28589672) WoW-2.4.3.8606-to-3.01.8874-enUS (install expantion set CD Wrath of the Lich King (CD) WoW-3.0.1.8874-to-3.0.2.9056-enUS-patch.exe (382880024) WoW-3.0.2.9056-to-3.0.3.9183-enUS-patch.exe (21689232) WoW-3.0.3.9183-to-3.0.8.9464-enUS-patch.exe (53902344) WoW-3.0.8.9464-to-3.0.8.9506-enUS-patch.exe (7088392) WoW-3.0.8.9506-to-3.0.9.9551-enUS-patch.exe (10895616) WoW-3.0.9.9551-to-3.1.0.9767-enUS-Win.zip (776413199) WoW-3.1.0.9767-to-3.1.1.9806-enUS-patch.exe (8396120) WoW-3.1.1.9806-to-3.1.1.9835-enUS-patch.exe (7357544) WoW-3.1.1.9835-to-3.1.2.9901-enUS-patch.exe (15561000) WoW-3.1.2.9901-to-3.1.3.9947-enUS-patch.exe (7389184)
Le client 3.2.0 n’est pas encore supporté par mangos, utilisé le client 3.1.3.9947-enUS pour le moment.
Pour revenir en arrière (depatch):
Sur votre machine client WOW, dans le répertoire data de WOW.
Effacer patch.mpq
Exécuter repair.exe
et vous voilà de retour à WoLK
1.Appliquer les mises à jour du jeux pour atteindre 3.1.3.9947-enUS
ad.exe est situé dans /wow/mangos/contrib/extractor vmap_extract_assembler_bin est situé dans /wow/mangos/contrib/vmap_extract_assembler_bin
ATTENTION il existe sur le web un ad.exe pour ascent qui ne fonctionnne pas pour mangos qui produit des fichiers (.bin)
1.Copier AD.exe pour mangos dans le répertoire wow de votre client et exécuter.
Après un certain temps, vous obtenez un répertoire maps (.map) et un dbc.
1.Copier ceux-ci dans /home/wow/mangos/data/ de votre serveur wow
Les vmap sont optionnel, si vous êtes pressé, continuer sans cela.
- Utiliser vmap_extract_assembler_bin pour extraire les vmaps de votre client
- Exécuter makevmaps_SIMPLE.bat sur la machine wow client
- Après très longtemps(3 à 4 heures) vous obtenez un répertoire vmaps à copier dans /home/wow/mangos/data/ sur le serveur wow
- Copier les maps,dbc et vmaps à dans le répertoire DataDir tel que configurer dans le mangos.conf. Ex: DataDir = « /home/wow/mangos/data »
Création du répertoire data:
mkdir /home/wow/mangos/data
Copier les maps, dbc et vmaps, changer le chemin pour celui que vous avez utilisé.
cp -r "/media/nas/logiciels/Actuels/Windows/Jeux/WOW/server maps & DBC/mangos/3.1.3.9947-enUS/maps" /home/wow/mangos/data/
cp -r "/media/nas/logiciels/Actuels/Windows/Jeux/WOW/server maps & DBC/mangos/3.1.3.9947-enUS/dbc" /home/wow/mangos/data/
cp -r "/media/nas/logiciels/Actuels/Windows/Jeux/WOW/server maps & DBC/mangos/3.1.3.9947-enUS/vmaps" /home/wow/mangos/data/
Créer un répertoire de log:
mkdir /home/wow/mangos/log
Créer un répertoire pour les fichiers de config
mkdir /home/wow/mangos/etc
Copier tout en renommant les fichiers /wow/mangos/src/realmd/realmd.conf.dist.in et /wow/mangos/src/mangosd/mangosd.conf.dist.in en realmd.conf et mangos.conf.
Les fichiers de configuration doivent être placé dans /home/wow/mangos/etc/
cp /home/wow/mangos/src/realmd/realmd.conf.dist.in /home/wow/mangos/etc/realmd.conf
cp /home/wow/mangos/src/mangosd/mangosd.conf.dist.in /home/wow/mangos/etc/mangos.conf
cp /home/wow/mangos/src/bindings/ScriptDev2/scriptdev2.conf.dist.in /home/wow/mangos/etc/scriptdev2.conf
Renseigner le fichier mangosd.conf et realmd.conf
nano /home/wow/mangos/etc/realmd.conf
LoginDatabaseInfo = "192.168.0.189;3306;mangos;mangos;realmd"
LogsDir = "/home/wow/mangos/log"
MaxPingTime = 30
RealmServerPort = 3724
BindIP = "192.168.0.189"
PidFile = ""
LogLevel = 0
LogTime = 0
LogFile = "Realmd.log"
LogTimestamp = 0
LogFileLevel = 0
LogColors = ""
UseProcessors = 0
ProcessPriority = 1
RealmsStateUpdateDelay = 20
WrongPass.MaxCount = 0
WrongPass.BanTime = 600
WrongPass.BanType = 0
ctrl+o
(sauvegarder) ctrl+x
(quitter nano)
nano /home/wow/mangos/etc/mangosd.conf
RealmID = 1
DataDir = "/home/wow/mangos/data"
LogsDir = "/home/wow/mangos/log"
LoginDatabaseInfo = "192.168.0.189;3306;mangos;mangos;realmd"
WorldDatabaseInfo = "192.168.0.189;3306;mangos;mangos;mangos"
CharacterDatabaseInfo = "192.168.0.189;3306;mangos;mangos;characters"
MaxPingTime = 30
WorldServerPort = 8085
BindIP = "192.168.0.189"
ctrl+o
(sauvegarder) ctrl+x
(quitter nano)
nano /home/wow/mangos/etc/scriptdev2.conf
ScriptDev2DatabaseInfo = "192.168.0.189;3306;mangos;mangos;scriptdev2"
ctrl+o
(sauvegarder) ctrl+x
(quitter nano)
note: Si la desinstallation de MySQL est nécessaire apt-get remove mysql*
installez le paquet mysql-server.
sudo apt-get install mysql-server
entrer le mot de passe du super utilisateur de mysql: mangos
Éditer le fichier de configuration de MySql: Pour permettre l’accès aux bases de données à partir de HeidiSQL (Éditeur sous windows pour votre client)
sudo nano /etc/mysql/my.cnf
bind-address = 192.168.0.189
Modifications recommandées par MaNGOS
key_buffer = 100M
max_allowed_packet = 100M
thread_stack = 50M
thread_cache_size = 8
query_cache_limit = 50M
query_cache_size = 512M
ctrl+o
(sauvegarder) ctrl+x
(quitter nano)
Redémarrer mysql pour qu’il prenne en compte les modifications de son fichier de configuration
sudo /etc/init.d/mysql restart
Installation de l’administrateur de base de donnée mysql (phpmyadmin):
Note: à la question recharger les scripts apache2, apache, etc. Ne rien sélectionner si vous n’avez pas de serveur web sur votre machine.
sudo apt-get install phpmyadmin
Intégration des tables manGOS
Les fichiers suivants sont présents (sauf le core) dans le répertoire /wow/mangos/mangos/sql , mais je ne suis pas certain de la version alors je préfère les télécharger.
create_database_sd2.sql
create_mysql.sql
realmd.sql
characters.sql
Vous pouvez utiliser un navigateur web pour aller récupérer les fichiers UDB. Vous n’avez qu’à enlever devant l’adresse et utiliser la commande de votre navigateur pour les sauvegarder. Ainsi vous verrez l’ensemble des fichiers addition disponible pour la mise à jour de votre base de donnée.
Créer un répertoire de sauvegarde de l’UDB (Unified Data Base):
mkdir /home/wow/udb
Changer de répertoire:
cd /home/wow/udb
wget https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/ForCleanInstallOnly/create_database_sd2.sql --no-check-certificate
wget https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/ForCleanInstallOnly/create_mysql.sql --no-check-certificate
wget https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/ForCleanInstallOnly/realmd < realmd.sql --no-check-certificate
wget https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/ForCleanInstallOnly/characters < characters.sql --no-check-certificate
Créer un répertoire de sauvegarde du core UDB (Unified Data Base):
mkdir /home/wow/udb/0.11.5_core
Changer de répertoire
cd /home/wow/udb/0.11.5_core
wget https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/UDB_0.11.5_Core_7681_SD2_1012.rar --no-check-certificate
Installation du logiciel unrar: installez le paquet unrar.
unrar e UDB_0.11.5_Core_7681_SD2_1012.rar
Créer un répertoire de sauvegarde des mises à jour UDB (Unified Data Base)
mkdir /home/wow/udb/0.11.5_additions
Changer de répertoire
cd /home/wow/udb/0.11.5_additions
Télécharger chacun des fichiers indiqué ci-dessous avec la commande suivante. Remplacer par le nom #réel du fichier:
wget https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Updates/0.11.5_additions/ -no-check-certificate
Liste des fichiers disponible en date du 17 septembre 2009
380_corepatch_characters_7682_to_7894.sql
380_corepatch_mangos_7682_to_7894.sql
380_corepatch_realmd_7682_to_7894.sql
380_updatepack_mangos.sql
381_corepatch_characters_7895_to_8029.sql
381_corepatch_mangos_7895_to_8029.sql
381_corepatch_realmd_7895_to_8029.sql
381_updatepack_mangos.sql
382_corepatch_characters_8030_to_8280.sql
382_corepatch_mangos_8030_to_8280.sql
382_updatepack_mangos.sql
Si vous avez fait une erreur d’importation dans les étapes qui suivent, avant d’importer de nouveau, il faut effacer et recommencer.
Pour effacer toutes les bases de données:
cd /home/mangos/mangos
mysql -u root -p -v < drop_mysql.sql
Pour effacer une seule base de données à la fois:
sudo mysqladmin -p drop characters
sudo mysqladmin -p drop realmd
sudo mysqladmin -p drop mangos
sudo mysqladmin -p drop scriptdev2
Création des bases de données
cd /home/wow/udb
mysql -u root -p -v < create_database_sd2.sql
ou /wow/mangos/scriptdev2/sql/scriptdev2_create_database.sql
mysql -u root -p -v < create_mysql.sql
À partir d’ici vous avez le choix d’utiliser phpmyadmin (interface web: http://192.168.0.189/phpmyadmin/). Remplacer <192.168.0.189> par ip de votre serveur (localhost, 127.0.0.1, etc…)
Je ne décrirai pas avec phpmyadmin (un peu de lecture encore…)(Certains problèmes d’importation avec gros fichiers)
Vous pouvez aussi continuer avec la ligne de commande (voir ci-bas).
Peupler les bases de données
cd /home/wow/udb
mysql -u root -p -v -D realmd < realmd.sql
mysql -u root -p -v -D characters < characters.sql
cd /home/wow/udb/0.11.5_core
mysql -u root -p -v -D mangos < UDB_0.11.5_Core_7681_SD2_1012.sql
Appliquer les patchs sur les bonnes tables
cd /home/wow/udb/0.11.5_additions
mysql -u root -p -v -D characters < 380_corepatch_characters_7682_to_7894.sql
mysql -u root -p -v -D mangos < 380_corepatch_mangos_7682_to_7894.sql
mysql -u root -p -v -D realmd < 380_corepatch_realmd_7682_to_7894.sql
mysql -u root -p -v -D mangos < 380_updatepack_mangos.sql
mysql -u root -p -v -D characters < 381_corepatch_characters_7895_to_8029.sql
mysql -u root -p -v -D mangos < 381_corepatch_mangos_7895_to_8029.sql
mysql -u root -p -v -D realmd < 381_corepatch_realmd_7895_to_8029.sql
mysql -u root -p -v -D mangos < 381_updatepack_mangos.sql
mysql -u root -p -v -D characters < 382_corepatch_characters_8030_to_8280.sql
mysql -u root -p -v -D mangos < 382_corepatch_mangos_8030_to_8280.sql
mysql -u root -p -v -D mangos < 382_updatepack_mangos.sql
Les noms de fichiers ont une structure fixe qui devrait vous permettre de savoir si vous avez besoin des mises à jour.
Description des noms de fichiers de mises à jour
Les noms de fichiers sont divisés en deux parties.
La première partie est le compteur de révision, Ce chiffre donne la version qu’aura la base de données après l’application de cette mise à jour. Suivi du compteur de mise à jour pour un même numéro de version (appliquer de façon incrémentale).
La deuxième partie est constitué du nom de base de données et la table qui doit être mise à jour ou ajoutée.
Voir l’exemple ci-dessous:
6936_01_mangos_spell_chain.sql
6936 Indique la version qu’aura la base de données MaNGOS après l’application de cette mise à jour It included in commit description in form [6936] as you can see at http://github.com/mangos/mangos/commits/master
01 Le compteur indique le nombre de mise à jour sql dans la liste pour cette révision et indique l’odre d’application des mises à jour sql pour cette même révision
mangos Nom de la BD affecté (Nom par défaut recommandé) Peuvent être: characters, mangos, realmd
spell_chain La table ‘spell_chain’ doit être mise à jour.
SQL inclus une protection spécial de mise à jour contre l’application erronée (séquence et multiple) des mises à jour SQL. Toute tentative d’appliquer une mise à jour sur la mauvaise version de base de données ou sur la bonne version mais pas mise à jour selon l’ordre requis génèrera une erreur et ne sera pas appliquée.
OPTIONEL, Pour obtenir la liste des noms de fichier à appliquer et les copier dans un fichier de script placez-vous dans le répertoire des updates et tapez:
ls > liste.sh
cette action créera un fichier de sript (liste.sh) dans le répertoire courant.
Pour le rendre exécutable taper ensuite
chmod +x liste.sh
Faite l’édition du fichier pour ne garder que les mises à jour requises et ajouter devant chacun des fichiers inscrit la commande sql suivante:
mysql -u root -pmangos "table_mise_à_jour" < "fichier_de_mise_à_jour.sql"
Exécuter le script en tapant:
./liste.sh
Toute les mises à jour seront appliquées en une seule étape.
Le dossier /home/wow/mangos/mangos/sql/updates contient toutes les mises à jour pour la version en cours.
Mais comme nous avons appliqué les additions, il ne faut pas toutes les appliquer. Il faut débuter au prochain chiffre supérieur disponible pour cette bd.
Comme la dernière addition (patch) pour la bd mangos portait le nom 382_corepatch_mangos_8030_to_8280.sql, cela indique que nous avons une bd mangos avec la version 8280.
Il faut donc appliquer les mises à jour mangos à partir de 8294
Comme la dernière addition (patch) pour la bd characters portait le nom 382_corepatch_characters_8030_to_8280.sql, cela indique que nous avons une bd characters avec la version 8280.
Il faut donc appliquer les mises à jour characters à partir de 8339
Comme la dernière addition (patch) pour la bd realmd portait le nom 381_corepatch_realmd_7895_to_8029.sql, cela indique que nous avons une bd realmd avec la version 8029.
Il faut donc appliquer les mises à jour realmd à partir de 8332
Vous trouverez dans /home/wow/mangos/mangos/sql/updates , les mises à jour à appliquer après l’application du core et des patchs (addition)
Il est très important d’appliquer les mises à jour sur les bonnes tables
cd /home/wow/mangos/mangos/sql/updates
mysql -u root -pmangos -v -D mangos < 8294_01_mangos_playercreateinfo_action.sql
mysql -u root -pmangos -v -D mangos < 8310_01_mangos_spell_proc_event.sql
mysql -u root -pmangos -v -D realmd < 8332_01_realmd_realmcharacters.sql
mysql -u root -pmangos -v -D characters < 8339_01_characters_characters.sql
mysql -u root -pmangos -v -D characters < 8339_02_characters_character_battleground_data.sql
mysql -u root -pmangos -v -D mangos < 8342_01_mangos_spell_proc_event.sql
mysql -u root -pmangos -v -D mangos < 8361_01_mangos_spell_bonus_data.sql
mysql -u root -pmangos -v -D mangos < 8364_01_mangos_db_version.sql
mysql -u root -pmangos -v -D mangos < 8377_01_mangos_spell_area.sql
mysql -u root -pmangos -v -D mangos < 8392_01_mangos_spell_proc_event.sql
mysql -u root -pmangos -v -D mangos < 8392_02_mangos_spell_chain.sql
mysql -u root -pmangos -v -D mangos < 8394_01_mangos_spell_proc_event.sql
mysql -u root -pmangos -v -D mangos < 8397_01_mangos_spell_chain.sql
mysql -u root -pmangos -v -D mangos < 8397_02_mangos_spell_threat.sql
mysql -u root -pmangos -v -D characters < 8397_03_characters_character_spell.sql
mysql -u root -pmangos -v -D mangos < 8399_01_mangos_spell_elixir.sql
mysql -u root -pmangos -v -D characters < 8402_01_characters_guild_eventlog.sql
mysql -u root -pmangos -v -D characters < 8402_02_characters_guild_bank_eventlog.sql
mysql -u root -pmangos -v -D characters < 8409_01_characters_guild.sql
mysql -u root -pmangos -v -D mangos < 8412_01_mangos_mangos_string.sql
mysql -u root -pmangos -v -D mangos < 8416_01_mangos_spell_learn_spell.sql
mysql -u root -pmangos -v -D characters < 8433_01_characters_character_account_data.sql
mysql -u root -pmangos -v -D mangos < 8444_01_mangos_mangos_string.sql
mysql -u root -pmangos -v -D mangos < 8451_01_mangos_spell_proc_event.sql
mysql -u root -pmangos -v -D mangos < 8462_01_mangos_creature_ai_texts.sql
mysql -u root -pmangos -v -D characters < 8469_01_characters_character_spell.sql
mysql -u root -pmangos -v -D mangos < 8482_01_mangos_spell_elixir.sql
mysql -u root -pmangos -v -D mangos < 8487_01_mangos_spell_bonus_data.sql
mysql -u root -pmangos -v -D mangos < 8487_02_mangos_spell_proc_event.sql
mysql -u root -pmangos -v -D mangos < 8488_01_mangos_spell_chain.sql
mysql -u root -pmangos -v -D mangos < 8488_02_mangos_spell_bonus_data.sql
Peupler la bases de données scriptdev2
cd /home/wow/mangos/scriptdev2/sql/
mysql -u root -p -v -D scriptdev2 < scriptdev2_create_structure.sql
mysql -u root -p -v -D scriptdev2 < scriptdev2_script_full.sql
mysql -u root -p -v -D mangos < mangos_scriptname_full.sql
Mise à jour de ScriptDev2:
ATTENTION ne pas faire svn up lors d’une première installation, passez directement à l’application des mises à jour.
svn up
GNU/Linux: Aller au répertoire src/bindings/ScriptDev2/sql/Updates
cd /wow/mangos/src/bindings/ScriptDev2/sql/Updates
Appliquer toutes les mises à jour depuis r1318 (rXXX_scriptdev2.sql)
mysql -u root -pmangos -v -D mangos < r1321_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1321_scriptdev2.sql
mysql -u root -pmangos -v -D scriptdev2 < r1322_scriptdev2.sql
mysql -u root -pmangos -v -D scriptdev2 < r1326_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1333_mangos.sql
mysql -u root -pmangos -v -D mangos < r1334_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1335_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1336_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1336_scriptdev2.sql
mysql -u root -pmangos -v -D scriptdev2 < r1341_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1351_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1351_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1352_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1352_scriptdev2.sql
mysql -u root -pmangos -v -D scriptdev2 < r1354_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1358_mangos.sql
mysql -u root -pmangos -v -D mangos < r1359_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1359_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1367_mangos.sql
mysql -u root -pmangos -v -D mangos < r1368_mangos.sql
mysql -u root -pmangos -v -D mangos < r1369_mangos.sql
mysql -u root -pmangos -v -D mangos < r1370_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1371_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1374_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1374_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1378_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1378_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1379_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1379_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1380_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1380_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1382_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1383_scriptdev2.sql
mysql -u root -pmangos -v -D scriptdev2 < r1384_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1385_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1385_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1386_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1386_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1388_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1388_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1391_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1391_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1392_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1392_scriptdev2.sql
mysql -u root -pmangos -v -D mangos < r1394_mangos.sql
mysql -u root -pmangos -v -D scriptdev2 < r1394_scriptdev2.sql
Réappliquer le fichier suite aux mises à jours
mysql -u root -p -v -D mangos < mangos_scriptname_full.sql
[modifier] Configuration
Créer un nouvel utilisateur dans mysql avec phpmyadmin autentifier comme root cliquer prévilèges>Ajouter un utilisateur mangos@192.168.0.189 avec tous les prévilèges (%) sur toutes les bases de données
Si votre serveur tourne sur une autre machine que votre client Modifier le contenu de table realmlist dans la bd realmd avec phpmyadmin Remplacer 127.0.0.1 par l’adresse ip de votre serveur 192.168.0.189 ou votre IP WAN (DynDNS) sinon il ne vous sera pas possible d’entrée dans le monde (world). Vous aurez toujours la fenêtre de connexion de realm.
Configurer le routeur (Port Fowarding) pour acheminer le traffic des ports suivants:
3724 realm > 192.168.0.189
8085 world > 192.168.0.189
3306 mysql > 192.168.0.189 (pour utilisation de HeidiSQL d'internet)
Configurer le C:/Program Files/World of Warcraft (3.1.3.9947-enUS)/Data/enUS/realmlst.wtf du client wow (3.1.3.9947-enUS) pour se connecter à set realmlist
Si vous n’avez pas IP statique, vous pouvez vous abonner gratuitement au service DynDNS et configurer votre routeur s’il possède cette fonction pour lier (périodiquement) votre IP dynamique avec un nom de domaine de votre choix que vous utiliserez dans le realmlst.wtf
[modifier] Utilisation
Maintenant le serveur peut être démarré à partir d’une machine distante:
Connexion ssh dans un terminal ou avec putty sous windows
ssh wow@192.168.0.189
mot de passe:
cd /home/wow/mangos/bin
./mangos-realmd
Connexion ssh dans un 2 ième terminal
ssh wow@192.168.0.189
mot de passe:
cd /home/wow/mangos/bin
./mangos-worldd
Pour démarrer sur le serveur directement ou dans un seul terminal
cd /home/wow/mangos/bin
./mangos-realmd & ./mangos-worldd
Créer un compte: Dans la fenêtre du terminal qui a démarrer mangos-worldd.
Création du compte administrateur
account create
Attribut gmlvl pour le compte est normallement 3
account set gmlevel <1/2/3>
Attribut addon (expansion) pour le compte (0=Classic, 1=BC, 2=WotLK)
account set addon <0/1/2>
Quelques liens utiles :
Le site de MaNGOS : http://getmangos.com ou vous trouverez les liens vers le forum, le wiki et d’autres infos utiles.
Le site de la base UDB : http://udbforums.kicks-ass.net pour se tenir à jour et surveiller les différents apports suite aux bugs rencontrés. Une section francophone est également disponible.