[ Présentation | InstallationInstallation 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.

[Retour haut de la page]

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

[Retour haut de la page]

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

[Retour haut de la page]

 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

s
ystemctl 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.


[Retour haut de la page]

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


[Retour page d'accueil]