From Ryzom Forge Wiki
m |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | {{migrated to|:fr:shard}} | ||
{{tabLang|FR|DE shard|EN shard|ES shard|FR_shard|RU shard}} | {{tabLang|FR|DE shard|EN shard|ES shard|FR_shard|RU shard}} | ||
Line 157: | Line 158: | ||
==Liens symboliques pour que le système voit les data== | ==Liens symboliques pour que le système voit les data== | ||
+ | Les dossiers : | ||
ln -s $RYDATA/collisions $RYZOM_PATH/server/ | ln -s $RYDATA/collisions $RYZOM_PATH/server/ | ||
ln -s $RYDATA/leveldesign $RYZOM_PATH/server/ | ln -s $RYDATA/leveldesign $RYZOM_PATH/server/ | ||
ln -s $RYDATA/primitives $RYZOM_PATH/server/ | ln -s $RYDATA/primitives $RYZOM_PATH/server/ | ||
ln -s $RYDATA/translation $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== | ==Recompiler les données des datasheets== |
Latest revision as of 09:11, 24 June 2018
Migration
Please use the migrated document at URL shown below.
Contents
- 1 Installation du shard
- 2 Téléchargement ryzom source code et data:
- 3 Web-admin
- 4 Référence :
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