World Forge
[ Présentation |
Installation ( Installation
des
bibliothèques , Installation
du client , Installation du
serveur ) | Lancement du jeu
( Lancement du serveur , Lancement
du client ) ]
Dernière modification 6 février 2016
World Forge
Coin ludique
Présentation
WorldForge est un jeu de rôle
multi-joueur "héroïque fantasy", il est très inspiré d'un jeu comme Ultima
qu'on retrouvait sous Windows, à la différence de ce dernier il utilise
une licence GPL. Vous pouvez jouer à plusieurs à travers internet ou au
sein d'un réseau local en se connectant sur un serveur spécialisé. Il se
base sur un serveur cyphesis
(facultatif si vous choisissez un serveur sur le net) et un client qui se
nomme ember.
Installation
Présentation
L'installation comme vous allez le voir est assez laborieuse. Sur le site
www.worldforge.org, section
download j'ai récupéré les fichiers suivants :
Installation des
bibliothèques
On va d'abord installer les bibliothèques qu'on trouvera principalement par
ici
http://sourceforge.net/project/showfiles.php?group_id=11799
on les installe dans l'ordre qui suit, désolé de ne pas vous détailler le
rôle de chacun des softs
On commence par atlas qu'on décompresse en tapant
tar xvfj Atlas-C++-0.6.3.tar.bz2
Cela donne le répertoire Atlas-C++-0.6.3 dans lequel on tape
./configure
make
puis en tant que root
make install
ldconfig
On continue avec skstream qu'on décompresse en tapant
tar xvfj skstream-0.3.9.tar.bz2
cela donne le répertoire skstream-0.3.9 dans lequel on tape
./configure
make
puis en tant que root
make install
ldconfig
on continue avec varconf qu'on
décompresse en tapant
tar xvfj varconf-1.0.1.tar.bz2
cela donne le répertoire varconf-1.0.1
on installera préalablement le package suivant lib64sigc++2.0-devel on revient dans le répertoire de varconf où on tape
./configure
make
puis en tant que root
make install
ldconfig
on installe maintenant wfmath
qu'on décompresse en tapant
tar xvfj wfmath-1.0.2.tar.bz2
cela donne le répertoire wfmath-1.0.2
dans lequel on tape
./configure
make
puis en tant que root
make install
ldconfig
on installe maintenant mercator
qu'on décompresse en tapant
tar xvfj mercator-0.3.3.tar.bz2
Cela donne mercator-0.3.3 dans
lequel on tape
./configure
make
puis en tant que root
make install
ldconfig
on installe maintenant eris
qu'on décompresse en tapant
tar xvfj eris-1.3.23.tar.bz2
cela donne le répertoire eris-1.3.23
dans lequel on tape
./configure
make
puis en tant que root
make install
ldconfiglib64sigc++1.2-devel
on installe maintenant sage
qu'on décompresse en tapant
tar xvfz sage-0.2.0.tar.gz
cela donne le répertoire sage-0.2.0
dans lequel on tape
./configure
make
puis en tant que root
make install
ldconfig
on
installe maintenant libwfut
qu'on décompresse en tapant
tar xvfz libwfut.0.2.3.tar.gz
cela donne le répertoire libwfut-0.2.3
dans lequel on tape
./configure
make
je bute sur cette erreur
/usr/include/c++/5.4.0/bits/c++0x_warning.h:32:2:
error: #error This file requires compiler and library support for the
ISO C++ 2011 standard. This support must be enabled with the
-std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
dans
tous les Makefile à savoir
python/Makefile
tools/Makefile
libwfut/Makefile
on
rajoutera donc à la fin de la ligne de déclaration de CXXFLAGS
-std=c++11 comme cela
CXXFLAGS = -g -O2 -O3 -DNDEBUG -DTIXML_USE_STL=1
-I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -std=c++11
on retape make, cette fois
j'ai cette erreur
WFUT.cxx:3158:32: fatal error: sigc++/object_slot.h: No such file or
directory
on édite le fichier python/WFUT.cxx
et on met en commentaire la ligne suivante, on retape make
//#include <sigc++/object_slot.h>
puis en tant que root make install
Installation du client
Pour
installer le client ember il
faut préalablement installer quelques outils, si vous disposez d'une
carte graphique nvidia, il faudra d'abord le package qu'on trouvera à
l'adresse http://developer.nvidia.com/object/cg_toolkit.html
on l'installe en tapant
urpmi
Cg-3.1_April2012_x86_64.rpm
maintenant
on installera les packages suivants
lib64openal-devel,
lib64freealut-devel et lib64tolua++-devel
On installe maintenant le moteur 3D ogre http://www.ogre3d.org/
attention de récupérer au moins la version 1.9 on installera également les
packages suivants
zziplib-devel freeimage-devel cppunit-devel freetype-devel xaw-devel
tinyxml-devel tbb-devel libatomic libatomic-devel
On
décompresse l'archive en tapant
unzip
sinbad-ogre-9023f5ba6fd5.zip
cela donne le répertoire sinbad-ogre-9023f5ba6fd5
dans lequel on tape
mkdir build
cd build
cmake ..
make
puis en tant que root
make install
https://github.com/aappleby/smhasher
unzip smhasher-master.zip
mkdir /usr/local/include/Hash
cp smhasher-master/src
cp MurmurHash3.h /usr/local/include/Hash
A présent on installe
CEGUI
qu'on trouvera à l'adresse suivante
http://cegui.org.uk/wiki/index.php
on décompresse
l'archive en tapant
tar xvfj CEGUI-0.8.7.tar.bz2
cela donne le répertoire CEGUI-0.8.7
dans lequel on tape
mkdir build
cd build
cmake .. -DCEGUI_BUILD_RENDERER_OGRE=ON
-DCEGUI_BUILD_RENDERER_OPENGL3=ON
make
je bute sur l'erreur suivante
/usr/include/boost/python/converter/registered.hpp:93:30: erreur : no
matching function for call to ‘registry_lookup2(void (*)())’
c'est un problème de compatibilité avec
boost
1.60, pour le résoudre il faut passer à la version 1.61, si ce n'est pas
possible, il faudra alors installer la version 0.8.4 de
cegui
https://github.com/aappleby/smhasher
puis en tant que root
make install
ldconfig
on installe enfin le client
ember en le décompressant
tar xvfj ember-0.7.2.tar.bz2
cela donne le répertoire
ember-0.7.2
dans lequel on tape
./configure
s'il ne trouve
CEGUI il faudra
taper dans le shell
export
PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
voilà le résultat
**************************************
*
Finished.
Run make to compile Ember.
*
Note
that you also need to install the media. This can be gotten in a
couple of different ways.
*
The
easiest way is to use the rsync make target (which uses the rsync
program to update the media.).
*
If
you're compiling from git and want to use the development version, do:
*
*
make devmedia
*
*
If
you're using a release version, you should however instead do:
*
*
make releasemediarsync
*
*
Note
that both of these make targets will just fetch and install the files
directly, bypassing normal "make install" producures. They should
therefore not be used if you d
on't want to pollute your installation
directory, and shouldn't be used if you install to a system directory.
*
*
A
third way is to get the media tarball directly. This only works for
release versions however.
*
You
can find these media tarballs at http://amber.worldforge.org/WFUT .
*
The
media should be installed to PREFIX/share/ember/media
*
so
that you get PREFIX/share/ember/media/user and
PREFIX/share/ember/media/shared.
*
More
information can be found at the Ember page at
http://www.worldforge.org
**************************************
on tape maintenant
make
puis en tant que root
make install
make releasemediarsync
ça me génère ça comme erreur à la récupération des media
@ERROR:
Unknown module 'media-0.7.2'
rsync error: error starting
client-server protocol (code 5) at main.c(1635) [Receiver=3.1.1]
Makefile:1090: recipe for target
'releasemediarsync' failed
make: *** [releasemediarsync] Error 5
on va donc s'y prendre autrement, on va les récupérer sur le site worldforge et on les décompresse en
tapant
tar xvfj ember-media-0.7.2.1.tar.bz2
cela
donne un répertoire ember-media-0.7.2
dans lequel on tape en tant que root
cp
-Rf media/ /usr/local/share/ember
Installation du serveur
Le serveur requière l'installation de
postgresql,
sachez qu'il existe des serveurs
worldforge sur internet, vous
n'êtes donc pas obligé de passer par l'installation d'un SGBD (à la
condition que vous ayez une connexion permanente). Sur une mageia on
installera le package
postgresql-devel postgresql-server ainsi que
bullet-devel
Si ce n'est pas déjà fait lancer le serveur
postgresql
systemctl start postgresql.service
vérification
systemctl
status postgresql.service
●
postgresql.service - PostgreSQL database server
Loaded: loaded
(/usr/lib/systemd/system/postgresql.service; enabled)
Active: active
(running)
since dim. 2016-02-07 14:38:23 CET; 4s ago
Process: 20553
ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w
-t 300 (code=exited, status=0/SUCCESS)
Process: 20513
ExecStartPre=/usr/libexec/postgresql_initdb.sh ${PGDATA}
(code=exited, status=0/SUCCESS)
Main PID: 20556 (postgres)
CGroup:
/system.slice/postgresql.service
├─20556
/usr/bin/postgres -D /var/lib/pgsql/data -p 5432
├─20558
postgres: checkpointer process
├─20559
postgres: writer process
├─20560
postgres: wal writer process
├─20561
postgres: autovacuum launcher process
└─20562
postgres: stats collector process
févr. 07 14:38:22 predator.kervao.fr
pg_ctl[20553]: LOG: le système de bases de données a été
arrêté à 2016-02-07 14:38:22 CET
févr. 07 14:38:22 predator.kervao.fr
pg_ctl[20553]: LOG: les protections contre la réutilisation
d'un membre MultiXact sont maintenant activées
févr. 07 14:38:22 predator.kervao.fr
pg_ctl[20553]: LOG: le système de bases de données est prêt
pour accepter les connexions
févr. 07 14:38:22 predator.kervao.fr
pg_ctl[20553]: LOG: lancement du processus autovacuum
Revenons au serveur
worldforge, on décompresse l'archive qu'on
trouvera également à l'URL
http://sourceforge.net/project/showfiles.php?group_id=11799
en tapant :
tar xvfj cyphesis-0.6.2.tar.bz2
Cela va créer un répertoire cyphesis-0.6.2 dans lequel on tape
./configure
make
Puis en tant que root
make install
ldconfig
on lance la création de la base de donnée en tapant dans le répertoire de
cyphesis
./scripts/cyphesis-setup.sh
voilà le résultat
Welcome
to cyphesis.
This script will go through the steps
required to configure
your system so that you can run
cyphesis. An important part of this
process is setting up access to the
PostgreSQL RDBMS, so this script
must be run as root or with sudo
access. It is strongly recommended that
you run cyphesis using a normal user
account, and this script will help to
set up access for this account to the
database.
This script will remove any existing
server rules and maps, but will
preserve any user accounts in the
server.
Creating PostgreSQL account for user
olivier...
Created PostgreSQL user olivier.
Creating PostgreSQL database cyphesis
as user olivier...
Created PostgreSQL database cyphesis
as olivier.
Clearing rules data...
Cleared.
Loading game rules into database...
Reading rules from mason
Loaded.
This system is now ready to run
cyphesis.
Lancement du jeu
Lancement du serveur
Pour le lancer en tache de fond, il suffit de taper
cyphesis
On obtient
2016-02-07T14:41:40
INFO Running
[Retour haut de la page]
Lancement du client
Il suffit de taper
ember
si vous avez comme erreur
/usr/local/bin/ember.bin: error while
loading shared libraries: libCEGUIOgreRenderer-0.so.2: cannot open
shared object file: No such file or directory
rajouter /usr/local/lib64 dans
votre fichier /etc/ld.so.conf taper
ldconfig puis relancer ember voilà ce que ça donne
En cliquant sur
Advanced on a
accès à des options d'affichage
il faut obligatoirement que l'accélération matérielle de votre carte
vidéo soit activée (driver nvidia proprio pour les nvidia et non le nv
générique). Si vous avez des soucis, vous pouvez activer le mode debug
ember --debug
vous trouverez le fichier de log sous ~/.ember/ember.log
voilà ce que ça donne quand on lance ember
il va d'abord vous demander de vous loguer sur le serveur local, sinon on
obtient cette fenêtre avec la liste des serveurs
Quelque soit le serveur choisi, il faudra ensuite d'abord créer votre compte
et avatar
Voilà quelques screenshots du jeu
pour aller plus loin
http://wiki.worldforge.org/wiki/Ember