Serveur ManGOS

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.

  1. Posséder les CD de wow, TBC et WoLK
  2. Disposer d’une connexion à Internet configurée et activée.
  3. Ordinateur pouvant faire office de serveur (ubuntu version serveur)
  4. 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.

  1. Utiliser vmap_extract_assembler_bin pour extraire les vmaps de votre client
  2. Exécuter makevmaps_SIMPLE.bat sur la machine wow client
  3. Après très longtemps(3 à 4 heures) vous obtenez un répertoire vmaps à copier dans /home/wow/mangos/data/ sur le serveur wow
  4. 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.