Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Table of Contents

Installing Dependencies

...

Ubuntu

sudo add-apt-repository ppa:kervala/ppa && sudo apt-get update 

sudo apt-get install mercurial 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 libmysqlclient15-dev bison libxmu-dev autoconf automake libwww-ssl-dev \
libsquish-dev libcpptest-dev

...

hg clone http://hg.kervala.net/packagingluabind
hg clone http://hg.kervala.net/cmake

export CMAKE_MODULE_PATH=$(pwd)/cmake/modules

cd packaging/luabind
mkdir build
cd build
cmake -DWITH_STATIC=ON ..
make
sudo make install

libwww-dev

...

libsquish

You can compile yourself with.

hg clone http://hg.kervala.net/

...

cd libwww
./autogen.sh
./configure --with-ssl=no --with-zlib --with-expat --with-gnu-ld --enable-sharedsquish
hg clone http://hg.kervala.net/cmake

export CMAKE_MODULE_PATH=$(pwd)/cmake/modules

cd squish
mkdir build
cd build
cmake ..
make
sudo make install

 

...

NOTE:

...

Above source does not build on Linux Mint Debian (and maybe other Debian based distros) Binaries from Etch can be installed from the archive:

32bit

aptitude install libexpat1-dev
wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww0_5.4.0-11_i386.deb
wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww-dev_5.4.0-11_i386.deb
dpkg -i libwww0_5.4.0-11_i386.deb libwww-dev_5.4.0-11_i386.deb

...

aptitude install libexpat1-dev
wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww0_5.4.0-11_amd64.deb
wget http://archive.debian.org/debian/pool/main/w/w3c-libwww/libwww-dev_5.4.0-11_amd64.deb
dpkg -i libwww0_5.4.0-11_amd64.deb libwww-dev_5.4.0-11_amd64.deb

libsquish

You can compile yourself with.

hg clone http://hg.kervala.net/packaging
hg clone http://hg.kervala.net/cmake

export CMAKE_MODULE_PATH=$(pwd)/cmake/modules

cd packaging/squish
mkdir build
cd build
cmake ..
make
sudo make install

cpptest

You can compile yourself with.

Download the package from http://hg.kervala.net/packaging/file/, uncompress it and:

cd cpptest
sh ./autogen.sh
./configure
make
sudo make install

 

  • Note: Also check aptitude to ensure that the libraries are not available.

Get the sources

Warning: Make sure you do not have the packages libnel or libnel-dev already installed from the main repositories as of writing this they are at version 0.5 which is too old to build the game with.

After getting the dependencies make sure you have downloaded the code and then define the directory where you have downloaded it:

export RYHOME="/path/to/ryzom/code" 

Building and installing the NeL and Ryzom

Building

Before continuing make sure you have installed the packages you just generated earlier (or that you installed them with make install)

mkdir $RYHOME/build && cd $RYHOME/build
cmake -DWITH_NEL_TESTS=OFF ..
make -j3
Tip
titleParallel Job Execution

You can increase the number of parallel compilation jobs that are executed by increasing the -j# count. As a rule of thumb this number should be 1+Number Of Cores and 3 is usually a safe bet.

Warning
titleRunning Out Of Memory

If your system runs out of memory while compiling the build will error out with no details. Reduce "-j#" job count to avoid this. You can safely assume that the compiler will require about 300Mb to 400Mb of RAM per per job.

 

If you want to use lua 5.0 instead of lua 5.1, add -DWITH_LUA51=OFF to the cmake command line.
You can avoid building client/server/tools by specifying:

  • -DWITH_NEL_SAMPLES=OFF
  • -DWITH_NEL_TOOLS=OFF
  • -DWITH_RYZOM_CLIENT=OFF
  • -DWITH_RYZOM_SERVER=OFF
  • -DWITH_RYZOM_TOOLS=OFF

If you want to build NeL without sound libs, for example when you only need the server:

  • -DWITH_NEL=ON -DWITH_SOUND=OFF

Currently there is no CPack support for the client. This means you will not be able to run "cpack -G DEB" and get a debian or rpm package to install and that you have to do make install instead.

Warning

If you are building the server on 64-bit Linux you must build with the following CMake options:

  • FINAL_VERSION : ON
  • WITH_STATIC : ON
  • WITH_QT : OFF

If you encounter build errors, try turning the drivers off:

  • WITH_DRIVER_OPENGL : OFF
  • WITH_DRIVER_OPENAL : OFF

Sample server-only cmake on 64-bit Linux

mkdir $RYHOME/build && cd $RYHOME/build
ryzom/code/build$ cmake -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_NEL=ON \
-DWITH_SOUND=OFF -DWITH_STATIC=ON -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF ..
make -j2

Installing

According to your system you have several options.

NOTE: You can just run Ryzom Core from the source directory after it's finished building.

See Configure Linux Server for more details on post compilation configuration.

Debian/Ubuntu (and others using deb packages)

Create a deb package using

cpack -G DEB -D CPACK_PACKAGE_CONTACT="your@mail.address"

(replace the email by your own) and install it on your system.

You'll need to copy the drivers for opengl and openal in your /usr/lib by hand.

$ sudo cp lib/libnel_drv_opengl.so lib/libnel_drv_openal.so /usr/lib

The new binaries are in the bin folder. If you're in the process of updading your client for the Ryzom game, you should copy /bin/ryzom_client over your previous intallation.

For the Ryzom game, you'll also probably need to update some datas using this file: ftp://ftp.ryzom.com/ryzom_datas.7z
Unpack them in the folder "data" of your previous intallation.

Fedora (and rpm based distributions)

Create a RPM package using

cpack -G RPM -D CPACK_PACKAGE_CONTACT="your@mail.address"

(replace the email by your own) and install it on your system.

Others (incl. Gentoo)

Install the NeL library with

make install

Run the Ryzom Client

This section explains how to run the client and connect the open shard.

  • Extract it and start the binary from the root of the windows client directory, which is easier if you create a link:
    -If you did make install, you can move the 'bin' directory, copy/move the 'data' directory and .cfg files into it, and run from there.
ln -s /path/to/code/ryzom/build/bin/ryzom_client /path/to/windows/client/dir/ryzom_core_linux

The client will connect to the Open shard by default. Use the instructions of the Open Shard page to create an account on that shard.

Server Chain Crashing

If you happen to find the server constantly crashing and restarting, and in the admin panel it states that several of the processes are "*Chain Crashing*", a found fix is to cmake with the additional flags of -DWITH_STATIC=ON and -DWITH_STATIC_DRIVERS=ON. These two flags were suggested by Kristaba as they corrected the issue.

See CMake Options for additional configuration options.

 

If you experience some "ios" chain crashing, try to edit the code/ryzom/common/data_leveldesign/primitives/newbieland/urban_newbieland.primitive file and delete these lines :

 

...

languagehtml/xml
titleLines to delete
linenumberstrue
collapsetrue

...


Should you get

undefined reference to `__stack_chk_fail'

error, you should just add -lc to the end of packaging/squish/build/CMakeFiles/squish.dir/link.txt

cpptest

You can compile yourself with.

Download the package from http://hg.kervala.net/packaging/file/, uncompress it and:

cd cpptest
sh ./autogen.sh
./configure
make
sudo make install

 

  • Note: Also check aptitude to ensure that the libraries are not available.

Get the sources

Warning: Make sure you do not have the packages libnel or libnel-dev already installed from the main repositories as of writing this they are at version 0.5 which is too old to build the game with.

After getting the dependencies make sure you have downloaded the code and then define the directory where you have downloaded it:

export RYHOME="/path/to/ryzom/code" 

Building and installing the NeL and Ryzom

Building

Before continuing make sure you have installed the packages you just generated earlier (or that you installed them with make install)

mkdir $RYHOME/build && cd $RYHOME/build
cmake -DWITH_NEL_TESTS=OFF ..
make -j3
Tip
titleParallel Job Execution

You can increase the number of parallel compilation jobs that are executed by increasing the -j# count. As a rule of thumb this number should be 1+Number Of Cores and 3 is usually a safe bet.

Warning
titleRunning Out Of Memory

If your system runs out of memory while compiling the build will error out with no details. Reduce "-j#" job count to avoid this. You can safely assume that the compiler will require about 300Mb to 400Mb of RAM per per job.

 

If you want to use lua 5.0 instead of lua 5.1, add -DWITH_LUA51=OFF to the cmake command line.
You can avoid building client/server/tools by specifying:

  • -DWITH_NEL_SAMPLES=OFF
  • -DWITH_NEL_TOOLS=OFF
  • -DWITH_RYZOM_CLIENT=OFF
  • -DWITH_RYZOM_SERVER=OFF
  • -DWITH_RYZOM_TOOLS=OFF

If you want to build NeL without sound libs, for example when you only need the server:

  • -DWITH_NEL=ON -DWITH_SOUND=OFF

Currently there is no CPack support for the client. This means you will not be able to run "cpack -G DEB" and get a debian or rpm package to install and that you have to do make install instead.

Warning

If you are building the server on 64-bit Linux you must build with the following CMake options:

  • FINAL_VERSION : ON
  • WITH_STATIC : ON
  • WITH_QT : OFF

If you encounter build errors, try turning the drivers off:

  • WITH_DRIVER_OPENGL : OFF
  • WITH_DRIVER_OPENAL : OFF

Sample server-only cmake on 64-bit Linux

mkdir $RYHOME/build && cd $RYHOME/build
ryzom/code/build$ cmake -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_NEL=ON \
-DWITH_SOUND=OFF -DWITH_STATIC=ON -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF ..
make -j2

Installing

According to your system you have several options.

NOTE: You can just run Ryzom Core from the source directory after it's finished building.

See Configure Linux Web Services for more details on post compilation configuration.

Debian/Ubuntu (and others using deb packages)

Create a deb package using

cpack -G DEB -D CPACK_PACKAGE_CONTACT="your@mail.address"

(replace the email by your own) and install it on your system.

You'll need to copy the drivers for opengl and openal in your /usr/lib by hand.

$ sudo cp lib/libnel_drv_opengl.so lib/libnel_drv_openal.so /usr/lib

The new binaries are in the bin folder. If you're in the process of updading your client for the Ryzom game, you should copy /bin/ryzom_client over your previous intallation.

For the Ryzom game, you'll also probably need to update some datas using this file: ftp://ftp.ryzom.com/ryzom_datas.7z
Unpack them in the folder "data" of your previous intallation.

Fedora (and rpm based distributions)

Create a RPM package using

cpack -G RPM -D CPACK_PACKAGE_CONTACT="your@mail.address"

(replace the email by your own) and install it on your system.

Others (incl. Gentoo)

Install the NeL library with

make install

Run the Ryzom Client

This section explains how to run the client and connect the open shard.

  • Extract it and start the binary from the root of the windows client directory, which is easier if you create a link:
    -If you did make install, you can move the 'bin' directory, copy/move the 'data' directory and .cfg files into it, and run from there.
ln -s /path/to/code/ryzom/build/bin/ryzom_client /path/to/windows/client/dir/ryzom_core_linux

The client will connect to the Open shard by default. Use the instructions of the Open Shard page to create an account on that shard.

Server Chain Crashing

If you happen to find the server constantly crashing and restarting, and in the admin panel it states that several of the processes are "*Chain Crashing*", a found fix is to cmake with the additional flags of -DWITH_STATIC=ON and -DWITH_STATIC_DRIVERS=ON. These two flags were suggested by Kristaba as they corrected the issue.

See CMake Options for additional configuration options.