Migration
Please use the migrated document at URL shown below.
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
Des essais ont été faits sur:
* Ubuntu 15.04 * Debian 7 * Debian 8 * Windows (tuto non fini)
sudo apt-get update sudo apt-get dist-upgrade
reboot
=> Installez les paquets de :
apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql apache2-utils php5-gd php5-imagick
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
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
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
wget -c https://libsquish.googlecode.com/files/squish-1.11.zip unzip squish-1.11.zip cd squish-1.11
Dans « alpha.cpp » (ligne 24) et « singlecolourfit.cpp » (ligne 26), il faut ajouter :
#include <limits.h>
Puis compiler:
make sudo make install
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
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
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
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
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
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
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
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
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
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.
apt-get install mysql-server apache2 php5 php5-mysql php5-gd rrdtool screen mcrypt php5-mcrypt
apt-get install phpmyadmin
adduser compil www-data
cp -r $RYHOME/web ryzomweb
chmod -R a+w ryzomweb sudo chown -R www-data:www-data ryzomweb
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
service apache2 restart
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
L'installation du Serveur de Patchs est expliquée en détail sur une page dédiée :
shard start
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
shard stop
http://votreadress.ip:40916/login/r2_login.php?cmd=login&login=sonlogin&password=mdp&clientApplication=ryzom
sonlogin= votre user mdp= votre mots de passe
https://ryzomcore.atlassian.net/wiki/display/RC https://khaganat.net/wikhan/fr:shard