AquaYoup

Version complète : Installation hardcore TC sous debian
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
[Image: tuto.png]


Je vais vous apprendre à compiler un core TrinityCore sous GNU/Linux, nous utiliserons une Debian 8.3 stable en mode expert soit via un utilitaire ssh (putty) en ligne de commande sans interface graphique. N'ayez pas peur je suis là pour vous guider.



[INFO] : Mieux suivre le tuto :
  • # Quand vous voyez # vous devez le remplacer par votre propre donnée (mot de passe, nom de compte, etc..), c'est un exemple.
  • Eviter de copié / collé les commandes tapez les bordel, vous n'apprendrez jamais sinon.
  • Je vous ai fais plusieurs chapitre voir plus bas Smile)
Avant de vous attaquer au tuto je vous recommande chaudement de lire et d'apprendre ce petit guide ou de vous en aider :

CHAPITRE 1 : Mise à jours et installation des pré-requis
CHAPITRE 2 : Mise en ROØT du serveur WEB / MYSQL
CHAPITRE 3 : Création d'un utilisateur & préparation de la zone de travail
CHAPITRE 4 : Récupération du source core + compilation
CHAPITRE 5 : Pendant ce temps on se tourne pas les pouces Big Grin
CHAPITRE 6 : Quelques petits réglage et on test la bête panda  


.: CHAPITRE 1 :.
Connecter vous en ROOT via SSH (putty) à votre serveur dédié / vps.

Commençons déjà par mettre à jour votre système :
Code :
apt-get update && apt-get upgrade -y

Ensuite nous allons installer les logiciel requis :


[INFO] : Installons notre IDE  ainsi que toutes les librairies 
Code :
apt-get install build-essential autoconf libtool gcc g++ make cmake git-core wget p7zip-full libncurses5-dev zlib1g-dev libbz2-dev

[INFO] : Installons notre serveur MySQL & Web, un mot de passe vous sera demandez mettez en un compliqué. 
Code :
apt-get install openssl libssl-dev mysql-server mysql-client libmysqlclient-dev libmysql++-dev libreadline6-dev

[INFO] : Installons boost et autre librairies utile au bon fonctionnement de notre CORE.

Code :
apt-get install libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-iostreams-dev

[INFO] : Phpmyadmin est un CMS de gestion de base de donnée, quand vous l'installerez il vous demandera votre mot de passe root MYSQL. 
Code :
apt-get install phpmyadmin

[INFO] : Installons quelques logiciel utile, monitoring, utilitaire de (dé)compression, et screen qui permet de virtualiser des sessions et plusieurs bureaux.
Code :
apt-get install htop zip unzip unar screen



CHAPITRE 2 :
Maintenant on fait un raccourcis de phpmyadmin vers notre serveur FTP :
Code :
ln -sf /usr/share/phpmyadmin/ /var/www/html/phpmyadmin

Ouverture du serveur mysql distant :
Code :
nano /etc/mysql/my.cnf
[INFO] : // Rechercher cette ligne et la remplacer
Citation :Bind adress 127.0.0.1

modifier par

Bind adress 0.0.0.0 // ATTENTION : ne pas utiliser le pavé numérique du clavier.
CTRL + X pour sauvegarder O ou Y puis entré pour confirmer.


Maintenant on redémarre nos serveur web & mysql :
Code :
/etc/init.d/mysql restart

/etc/init.d/apache2 restart
CHAPITRE 3 :
Création d'un compte utilisateur :
[INFO] : // Bah oui c'est pas bien de lancer une application en mode ROOT, donc faut un user pour faire le sale boulot Big Grin :

[Je fais comment chef ?] Oui Oui padawan il faut remplacer # par ton nom d'utilisateur souhaité :

Code :
adduser #

En suite il vous sera demandé de taper votre mot de passe à deux reprise, ne vous inquiétez pas si vous ne voyez rien quand vous tapez sur le clavier c'est normal confidentialité oblige.

Maintenant préparation de la station de travail :
Vous me lancez screen voir  : GUIDE DES COMMANDES SHELL / Unix: et vous allez me faire trois bureaux que vous renommerez "Compilation"   "Database"  "Station de travail"

CHAPITRE 4 :
Rendez vous sur le bureau Compilation (vous savez comment faire)

Vous vous rendez dans le dossier root :
Code :
cd ~

Vous téléchargez le source core :
Code :
git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git

Vous entrez dans le dossier du source core :
Code :
cd TrinityCore

Vous créer un dossier build
Code :
mkdir build

Vous entrez dans le dossier build
Code :
cd build

Vous générez votre solution avant de compiler :
[INFO] : // Remplacez # par votre nom d'utilisateur crée précédemment :
Code :
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/#/core -DCONF_DIR=/home/#/core/etc -DTOOLS=1 -DWITH_WARNINGS=1


Generating done ? Yes ready to go :
Code :
make -j 4 && make install -j 4
[INFO] : // Si votre serveur dédié possèdent plusieurs cœurs sur son processeur remplacer le 4 par son nombre de cœur, si c'est un monocœur bah supprimé -j 4

CHAPITRE 5 :
Le temps de la compilation, nous allons nous occuper d'installer nos bases de données, télécharger le client.

Rendez vous dans l'onglet screen "Database" et placer vous dans le dossier root
Code :
cd ~

Maintenant vous quittez votre console SSH pour votre navigateur web, vous tapez dans votre barre de recherche http://adresseipdemonserveur/phpmyadmin
(pour aggrandir l'image faites clique droit dessus ouvrir dans un nouvelle onglet ou ouvrir l'image)
[Image: phpmyadmin.jpg]
Vous vous rendez dans utilisateurs, vous ajouter un nouvel utilisateur; et vous remplissez comme sur la screen Smile

Puis vous lancez SQLYOG :
[Image: sqlyog.jpg]
Vous remplissez avec vos identifiants crée sur phpmyadmin, et vous vous connectez  Cool

Puis vous faites CTRL + D pour créer une base de donnée vous aller en créer trois :
  • wow_auth
  • wow_characters
  • wow_world
.: Retournons à nos moutons sur putty dans l'onglet Database :.

Direction votre répertoire root et celui de vos base SQL :
Code :
cd ~
cd TrinityCore/sql/base

Téléchargeons notre DB :
[INFO] : Pour exemple une DB 3.3.5 adapter votre lien en fonction de la DB souhaité.
Code :
wget https://github.com/TrinityCore/TrinityCore/releases/download/TDB335.60/TDB_full_335.60_2015_11_07.7z

Extraction de la DB:
[INFO] : Le format est 7z donc il faut utiliser cette commande
Code :
7z x TDB_full_335.60_2015_11_07.7z

Vérification du nom du fichier .sql de la db fraîchement extraite :
Code :
ls

Installation de toutes les DB :
Code :
mysql -u root -p# wow_auth </root/TrinityCore/sql/base/characters_database.sql
mysql -u root -p# wow_characters </root/TrinityCore/sql/base/auth_database.sql
mysql -u root -p# wow_world </root/TrinityCore/sql/base/TDB_full_world_335.60_2015_11_07.sql

Retournez sur SQLYOG et vous aller dans la base Auth / Realmlist et vous ajoutez ces données :

ID = 1  NAME = Nom de votre royaume Adresse = l'adresse ip de votre machine

Sauvegardez et retournez sur putty.
Maintenant on change d'onglet pour celui ci "Station de travail"

Nous allons nous rendre dans notre dossier utilisateur :
[INFO] : Remplacez # par votre nom d'utilisateur
Code :
cd ~
cd home/#

Nous créons un dossier
Code :
mkdir Outils

Nous entrons dans ce dossier
Code :
cd Outils

Nous téléchargeons notre jeu World Of Warcraft pour récupérer les maps / vmaps / dbc :
[INFO] : Pour exemple un client 3.3.5 en téléchargement direct
Code :
wget http://www.zone-wow.com/download/?client3.3.5fr

Patientez environs 25 minutes (ouais c'est ça d'avoir 1GB/S en connexion)

Puis renommer l'archive et extrayez là :
[INFO] : Utilisez la commande ls pour voir le nom de l'archive hein, c'est pas dit que ce soit la même...
Code :
mv index.html?client3.3.5fr wow335
unzip wow335

Renommer le dossier du client :

[INFO] : Idem un petit coup de ls pour voir le nom du dossier.
Code :
mv World of Warcraft - Wrath of the Lich King - Client 3.3.5 - FR game335
cd game335

Un petit switch pour voir si notre compilation est fini, sur l'onglet "Compilation"

C'est bon c'est fini ? pas d'erreur ? superbe -->

Extrayons les maps et les dbc :
[INFO] : Je sais je me répète ^^ n'oubliez pas de changer # par votre nom d'utilisateur
Code :
cd home/#/Outils/game335
/home/#/core/bin/mapextractor
mkdir /home/#/core/data

//Appuyez sur entrer quand vous voyez cette ligne pour déplacer les maps vers le core
cp -r dbc maps /home/#/core/data

Les vmaps :
Code :
cd home/#/Outils/game335
/home/#/core/bin/vmap4extractor
mkdir vmaps
/home/#/core/bin/vmap4assembler Buildings vmaps

//Appuyez sur entrer quand vous voyez cette ligne pour déplacer les Vmaps vers le core
cp -r vmaps /home/#/core/data
CHAPITRE 6 :

Nous arrivons au bout du tunnel, il faut régler nos .conf et après on test le binz  yes

Avant toute chose en premier lieu vous aller switch un coup sur l'onglet Compilation voir que tout ce passe bien et que notre core est compilé avec succès si c'est pas fini patientez ! Si il y'a une erreur ouvrez un poste d'aide, si c'est compilé avec succès poursuivez !

Donc vous re-switché vers l'onglet Station de Travail et vous vous rendez à l'emplacement de vos .conf
Citation :cd ../../core/etc
et vous renommez les .conf.dist en .conf avec cette commande :

Citation :mv worldserver.conf.dist wordlserver.conf
mv authserver.conf.dis authserver.conf

une fois renommez vous les ouvrez avec la commande nano (comme expliqué dans mon guide des commandes shell) 

Citation :nano worldsever.conf
nano authserver.conf

et vous modifiez les accès à vos base de données :
worldserver.conf :

Citation :LoginDatabaseInfo     = "127.0.0.1;3306;trinity;trinity;auth"
WorldDatabaseInfo     = "127.0.0.1;3306;trinity;trinity;world"
CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"

par 
LoginDatabaseInfo     = "127.0.0.1;3306;UTILISATEURSQL;MOTDEPASSE;auth"
WorldDatabaseInfo     = "127.0.0.1;3306;UTILISATEURSQL;MOTDEPASSE;world"
CharacterDatabaseInfo = "127.0.0.1;3306;UTILISATEURSQL;MOTDEPASSE;characters"


Plus bas vous trouverez les options pour mettre à jour vos bdd automatiquement (attention ça fonctionne que si vous lancez l'application en root)

###################################################################################################

# UPDATE SETTINGS
#
#    Updates.EnableDatabases
#        Description: A mask that describes which databases shall be updated.
#
#        Following flags are available
#           DATABASE_LOGIN     = 1, // Auth database
#           DATABASE_CHARACTER = 2, // Character database
#           DATABASE_WORLD     = 4, // World database
#
#        Default:     7  - (All enabled)
#                     4  - (Enable world only)
#                     0  - (All disabled)

Updates.EnableDatabases = 7

Vous mettez 7 pour mettre à jours toutes les bdd. une fois mis à jour il faudra remettre sur 0 avant de lancer le core en mode utilisateur  okai 

authserver.conf :

Citation :LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
par
LoginDatabaseInfo = "127.0.0.1;3306;UTILISATEURSQL;MOTDEPASSE;auth"


panda panda ON LANCE LA BÊTE  panda panda

Nous allons lancer un autre onglet screen (aidez-vous du guide) puis vous vous rendez dans le dossier /bin
Citation :cd ../bin


Et on lance déjà le authserver

Citation :./authserver


Puis vous aller sur l'onglet station de travail :


Citation :cd ../bin

et maintenant on lance le world (qui devrait faire des mises à jours bdd)

Citation :./worldserver


Le core se lance et reste stable ?! Super vous pouvez reboot votre serveur dédié en utilisant la commande 


Citation :reboot


Vous vous connectez dessus en mode utilisateur et non root, vous vous rendez à l'emplacement de votre core. Vous faites deux onglets screen, un Connexion (ou vous lancez le authserver) et un World (ou vous lancez le worldserver). Et maintenant vous pouvez fermer votre console putty et vous amusez comme des petits fou :p


Merci d'avoir suivi ce tutoriel, n'hésitez pas si vous avez des questions, des suggestions, des besoins d'aide.

MAJ : Le guide commande unix est disponible : par ici
Arrow
Ouaou le gros pavé , j'avoue que je suis un peut paumé sur linux avec toutes ces commandes a taper au clavier ... un peut faignant aussi j'avoue  Big Grin

Tuto indispensable donc , puisque qui dit serveur en ligne dit linux , merci Alwyn  okai
C'est pour ça que j'ai fais une guide mon cher Stitchounet : LE PETIT GUIDE 

Merci à toi, et de rien !!! oui c'est indispensable ici Big Grin
ha mais c'est pas possible ça, il faut un ordinateur pour programmer un ordinateur? En tout cas il faut un bon clavier et des nerfs en acier et deux burettes d'huile pour lubrifier tout ça, une pour les touches du claviers et une pour les doigts ...
J'ai pas encore écrit bravo?? ha bon ? BRAVO voila c'est fait ... ha, petite question en passant, ça marche aussi sur un serveur nas?
Merci Noc :Smile

Oui c'est possible tu installe dessus une debian 32 ou 64bit brut sans interface graphique si tu veux gagner en performance Wink
Les serveurs nas sont sous linux pour la plupart mais je n'ai encore jamais vu un serveur nas integrant un serveur wow, un serveur minecraft oui mais un wow jamais
Si minecraft tourne sur un serveur nas, wow c'est easy !! Car minecraft c'est très très gourmand java  Sick
Bon tuto, un peux gros pour une installation de serveur qui prend 30 minutes à tout casser ( si bonne machine ) avec la mienne ça prend environ 15 minutes, compilation / extraction maps vmaps etc 


+ rep !
(11/11/2016, 20:10)Kess a écrit : [ -> ]Bon tuto, un peux gros pour une installation de serveur qui prend 30 minutes à tout casser ( si bonne machine ) avec la mienne ça prend environ 15 minutes, compilation / extraction maps vmaps etc 


+ rep !

Merci Kessounette, moi aussi je met pas longtemps, gros oui mais au moins il manque aucune commande et étape ^^ en mode assistanat total et encore j'aurai pu en rajouter.