Shard

De EncyclopAtys

 
Dead.png
Page obsolète
Cette page est archivée dans les Obsolètes.

en:Servers
fr:Shard

Installation du shard

Le shard désigne une instance du serveur de jeu basé sur le système Ryzom Core. Ce tutoriel a été établi à partir des notes issues du wiki de RC((Pour info : [ryzomcore originale])).

L'installation du shard se fait sous Linux, avec un utilisateur dédié, que nous nommerons ici "compil" et sur windows :


 adduser compil
 adduser compil sudo
 su - compil

Installation des packages et des sources

Des essais ont été faits sur:

 * Ubuntu 15.04
 * Debian 7
 * Debian 8
 * Windows (tuto non fini)

Mise à jours des informations et packages pour linux:

 sudo apt-get update
 sudo apt-get dist-upgrade
    • À ce point si le kernel est mis à jour , vous devez redémarrer:**
  reboot
    • Vous avez besoin d'installer des outils et libs pour compiler et démarrer le serveur(le MySQL root mot de passe Root MySQL doit être mis et servira plus tard à se connecter à phpmyadmin).**

=> Installez les paquets de :

 apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql apache2-utils php5-gd php5-imagick

Ubuntu

 sudo apt-get install git libcurl4-openssl-dev libluabind-dev libfreetype6-dev libx11-dev libgl1-mesa-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev cmake build-essential libpng12-dev libjpeg62-dev rrdtool libmysqlclient18-dev bison libxmu-dev autoconf automake libcpptest-dev libgif-dev cpputest libssl-dev

Debian 7

 sudo apt-get install git libcurl4-openssl-dev libluabind-dev libfreetype6-dev libx11-dev libgl1-mesa-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev cmake build-essential libpng12-dev libjpeg62-dev rrdtool bison libxmu-dev autoconf automake libmysqlclient-dev libgif-dev libgif-dev cpputest libssl-dev

Debian 8

 sudo apt-get install git libcurl4-openssl-dev libluabind-dev libfreetype6-dev libx11-dev libgl1-mesa-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev cmake build-essential libpng12-dev libjpeg62-turbo-dev rrdtool bison libxmu-dev autoconf automake libmysqlclient-dev libgif-dev libgif-dev cpputest libssl-dev

Installer Squish

 wget -c https://libsquish.googlecode.com/files/squish-1.11.zip
 unzip  squish-1.11.zip 
 cd squish-1.11
    • Important: le code source de la librairie « squish » ne compile pas avec les dernières versions de gcc. Il faut apporter une correction mineur avant de lancer cette compilation :** \\

Dans « alpha.cpp » (ligne 24) et « singlecolourfit.cpp » (ligne 26), il faut ajouter :

 #include <limits.h>


Puis compiler:

 make
 sudo make install


Pour Windows :

Installer dans l'ordre DirectX SDK puis Visual c++

 *7-Zip
 *Installer le DirectX SDK
 *Installer le Visual c++ 2010
 *Tortoise Git
 *CMake
 *Qt 4.8.6 pour VC++ 2010

Téléchargement ryzom source code et data:

 hg clone https://bitbucket.org/ryzom/ryzomcore
 cd ryzomcore
 hg checkout develop
 hg clone https://bitbucket.org/ryzom/ryzomcore-data

Pour windows en plus : Télécharger

 *External_vc10
 +-- code
   |   |
   |   +-- nel
   |   |
   |   +-- ryzom
   |   |
   |   +-- ...
   |
   +-- external

Build Ryzom OpenShard serveur

créer un fichier avec les variables pour linux

Pour un script permanent:

 nano /home/compil/.bashrc


Pour un script à lancer à chaque session:

 nano shard.sh

Variable à mettre dans votre script:

 export RYHOME=/home/compil/ryzomcore/code
 export RYZOM_PATH=/home/compil/ryzomcore/code/ryzom
 export PATH=$PATH:/home/compil/ryzomcore/code/ryzom/tools/scripts/linux
 export RYDATA=/home/compil/ryzomcore-data

Configuration des option pour build seulement nel & server (En static: si CMakeOptions)

Pour linux :

 mkdir $RYHOME/build && cd $RYHOME/build

Pour windows :

 Créez un répertoire "build" dans le répertoire "code"

Ligne CMake à lancer dans build :

 cmake -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=OFF ..

Pour Windows :

 Lancer Cmake :
 Code source : C:/ryzomcore/code
 Build les binaires : C:/ryzomcore/code/build
 Configurer pour visual c++ 2010
 Configurer 
 Changer les options
 Générer

Build and install

Pour linux :

 make -jX  (X= nombres de coeur +1, si ça plante n'utiliser que "make")
 sudo make install 

Pour Windows :

 Lancer C:\ryzomcore\code\build\RyzomCore.sln qui a été généré
 en choisissant Visual C++ appuyez sur F7 pour compiler


Liens symboliques pour que le système voit les data

 Les dossiers :
 ln -s $RYDATA/collisions $RYZOM_PATH/server/
 ln -s $RYDATA/leveldesign $RYZOM_PATH/server/
 ln -s $RYDATA/primitives $RYZOM_PATH/server/
 ln -s $RYDATA/translation $RYZOM_PATH/server/
 ln -s $RYDATA/continents $RYZOM_PATH/server/
 ln -s $RYDATA/common $RYZOM_PATH/server/
 Les fichiers :
 ln -s $RYDATA/shard/su/dev_gm_names.xml $RYZOM_PATH/server/data_shard
 ln -s $RYDATA/shard/su/invalid_entity_names.txt $RYZOM_PATH/server/data_shard
 ln -s $RYDATA/shard/su/reserved_names.xml $RYZOM_PATH/server/data_shard
 ln -s $RYDATA/shard/egs/game_event.txt $RYZOM_PATH/server/data_shard
 ln -s $RYDATA/shard/egs/mission_queues.txt $RYZOM_PATH/server/data_shard
 ln -s $RYDATA/shard/egs/named_items.txt $RYZOM_PATH/server/data_shard

Recompiler les données des datasheets

Compiler sheet_id.bin

 cd $RYHOME/build/bin
 ./make_sheet_id -o$RYDATAleveldesign/game_elem/sheet_id.bin $RYDATA/leveldesign/game_elem $RYDATA/leveldesign/game_element $RYDATA/leveldesign/world $RYDATA/leveldesign/ecosystems $RYDATA/sound

Compiler visual_slot.tab

Tout d'abord, vérifier que les chemins vers le répertoire contenant les datasheets (leveldesign), les primitives (primitives) et les fichiers communs au serveur et au client (common) sont bons dans le fichier de configuration :

 cd $RYHOME/build/bin
 cp sheets_packer $RYZOM_PATH/tools/sheets_packer/
 cd $RYZOM_PATH/tools/sheets_packer
 nano sheets_packer.cfg

État actuel de notre fichier sheets_packer.cfg

 /////////////////////////////////
 /////////////////////////////////
 /// SHEETS PACKER CONFIG FILE ///
 /////////////////////////////////
 /////////////////////////////////
 DataPath = { "../../common/data_leveldesign", "../../common/data_common", "../../client/data", "../../../../../ryzomcore-data/common", "../../../../../ryzomcore-data/leveldesign", "../../../../..ryzomcore-data/primitives" };
 WorldSheet = "ryzom.world";
 PrimitivesPath = "../../../../../ryzomcore-data/primitives";
 OutputDataPath = "../../client/data";
 LigoPrimitiveClass = "world_editor_classes.xml";

Puis on peut lancer le sheets_packer, en restant bien dans le répertoire où on a ce fichier .cfg car les chemins sont relatifs :

 .$RYHOME/build/bin/sheets_packer

Enfin, copier le visual_slot.tab à sa place

 cp visual_slot.tab $RYZOM_PATH/common/data_common/visual_slot.tab

Ajouter les langages manquants

 for var in $RYDATA/translation/translated/*_en.txt; do  nomfic=${var##*/}; ln -s $nomfic ${var%/*}/${nomfic/_en/_fr}; done
 for var in $RYDATA/translation/translated/*_en.txt; do  nomfic=${var##*/}; ln -s $nomfic ${var%/*}/${nomfic/_en/_de}; done
 for var in $RYDATA/translation/translated/*_en.txt; do  nomfic=${var##*/}; ln -s $nomfic ${var%/*}/${nomfic/_en/_es}; done
 for var in $RYDATA/translation/translated/*_wk.txt; do  nomfic=${var##*/}; ln -s $nomfic ${var%/*}/${nomfic/_wk/_ru}; done

Configurer serveur

    • Éditer différents fichiers pour trouver la configuration du serveur :**
 nano $RYZOM_PATH/server/frontend_service.cfg

La ligne à éditer dans **frontend_service.cfg** est: FSListenHost = "your.server.ip.adress";

 nano $RYZOM_PATH/server/sql.cfg

A éditer selon votre configuration:

 DBHost = "127.0.0.1";
 DBRingName = "ring_mini01";

Laisser en localhost. Créer un utilisateur "nel" qui a les droits sur sa base de donnée, et un utilisateur "ring", chacun avec son mot de passe. Remplir $RYZOM_PATH/server/sql.cfg avec ces informations.

Web-admin

Installer les paquets du server web

 apt-get install mysql-server apache2 php5 php5-mysql php5-gd rrdtool screen mcrypt php5-mcrypt
 apt-get install phpmyadmin
 adduser compil www-data

Créer un dossier "ryzomweb" et copier dedans:

 cp -r $RYHOME/web ryzomweb
 chmod -R a+w ryzomweb
 sudo chown -R www-data:www-data ryzomweb

Configurer Apache2 Web Server & MySQL Database

 nano /etc/apache2/sites-available/000-default.conf
 <VirtualHost *:80>
 <Directory "/home/compil/ryzomweb/">
       Options Indexes FollowSymLinks
       AllowOverride None
       Require all granted
       DirectoryIndex index.php
       AddType text/html .php .phps
       AddHandler application/x-httpd-php .php
       AddHandler application/x-httpd-php-source .phps
 </Directory>
       ServerName votreadresss.ip
       ServerAdmin webmaster@localhost
       DocumentRoot /home/compil/ryzomweb/public_php/
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>
 <VirtualHost *:40916>
 <Directory "/home/compil/ryzomweb/">
       Options Indexes FollowSymLinks
       AllowOverride None
       Require all granted
 </Directory>
       ServerName votreadress.ip
       ServerAdmin admin@localhost
       DocumentRoot /home/compil/ryzomweb/public_php
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

Ouvrir le port 40916

 nano /etc/apache2/ports.conf

Ajouter :

 Listen 40916

Redémarrer le service Apache

 service apache2 restart

Installer le web-admin

Allez à : http://VOTRE_ADRESSE_IP/setup

Suivez les instructions.


Si vous voulez gérer votre base MySQL, allez à : http://VOTRE_ADRESSE_IP/phpmyadmin

Pour vous aidez à la remplir :

https://khaganat.net/wikhan/fr:shard_database


Notes de travail :

 Une page générale sur tous les web services : https://ryzomcore.atlassian.net/wiki/display/RC/Web+Services+Installer+Design+Doc 
 Pour installer les web services : https://ryzomcore.atlassian.net/wiki/display/RC/Configure+Linux+Web+Services 
 Installation de l'API pour avoir des app : https://ryzomcore.atlassian.net/wiki/display/RC/Configuring+Ryzom+API
 WIki sur l'API : http://dev.ryzom.com/projects/ryzom-api/wiki


Installer le patch (optionnelle)

L'installation du Serveur de Patchs est expliquée en détail sur une page dédiée :

Démarrer the Shard

    • Pour allumer le shard:**
 shard start
    • Pour naviguer et sortir de screen:**
 ctrl+a+n ( ou ctrl+a+ le chiffre du service) permets de naviguer entre les services
 Ctrl+a+d permets de sortir de screen 
 Shard join permets de rejoindre un shard allumé
 shard share permets de rejoindre un shard allumé à plusieurs
    • Pour éteindre le shard:**
 shard stop

Verifier que tous marche sans clients

 http://votreadress.ip:40916/login/r2_login.php?cmd=login&login=sonlogin&password=mdp&clientApplication=ryzom
 sonlogin= votre user
 mdp= votre mots de passe

Référence :

 https://ryzomcore.atlassian.net/wiki/display/RC
 https://khaganat.net/wikhan/fr:shard
 
Dead.png
Page obsolète
Cette page est archivée dans les Obsolètes.