Linux generic installation

From Ryzom Forge Wiki

Revision as of 12:09, 28 August 2014 by Tamarea (talk | contribs)
Jump to: navigation, search
Flag-DE

DE translation needed please.

Flag-EN

EN translation needed please.

Flag-FR

FR translation needed please.


In this tutorial, we will cover the installation and configuration of the Ryzom client itself. We will not document how to install dependencies for it can change from a distribution to another.

Basic install

You can use rsync to get the Ryzom data and a 32bits client.

mkdir "$HOME/ryzom"
rsync -rtzv --progress --stats www.ryzom.com::ryzom "$HOME/ryzom/client"

You can start the client with the following command: "$HOME/ryzom/client/ryzom_client"

To keep the directory up to date and start the client more easily, you can use the following script and put it in /usr/bin/ryzom

#!/bin/sh

ROOT_PATH="$HOME/ryzom"
CLIENT_PATH="$ROOT_PATH/client"

if [ ! $(pidof ryzom_client) ]; then
    rsync -rtzv --progress --stats www.ryzom.com::ryzom "$CLIENT_PATH"
fi

cd "$CLIENT_PATH"
./ryzom_client

Don't forget to make the script executable using chmod a+x /usr/bin/ryzom. Now, using the ryzom command the client client will be upgraded (if needed) and start it.


Bleeding edge client

If the pre-compiled 32bits client doesn't suit your needs, you can compile it yourself from the source code. You can find the dependencies and how to install them on most distribution on the Ryzom Core documentation.

cd "$HOME/ryzom"
hg clone https://bitbucket.org/ryzom/ryzomcore
cd ryzomcore
hg update -c compatibility

Instead of coming back to this wiki each time you want to compile the Ryzom client, create the following script. It's a good idea to put it in $HOME/ryzom/compile_client.sh.

#
# DOC: https://ryzomcore.atlassian.net/wiki/display/RC/Build+Source+on+Linux
# 

set -e

RYHOME="$HOME/ryzom/ryzomcore/code"

if [ ! -d "$RYHOME/build" ]; then
    mkdir "$RYHOME/build"
fi
cd "$RYHOME/build"

# Updating the code
hg pull
hg update

# Ugly hack
sed -i "s/OPTIONAL/REQUIRED/" "../CMakeModules/FindLibwww.cmake"

# Let's compile
cmake -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_QT=OFF ..
make -j4

# Reverting the ugly hack
hg revert "../CMakeModules/FindLibwww.cmake"

Please note that you may have to adjust your cmake flags. For example, on ArchLinux, add -DFREETYPE_LIBRARY=/usr/lib/libfreetype.so -DFREETYPE_INCLUDE_DIR=/usr/include/freetype2/ -DFREETYPE_INCLUDE_DIRS=/usr/include/freetype2/. On some distributions, the "ugly hack" part isn't needed.

In order to use the client, we need to change our starting script (/usr/bin/ryzom):

#!/bin/sh

ROOT_PATH="$HOME/ryzom"
CLIENT_PATH="$ROOT_PATH/client"
CLIENT_EXE="$CLIENT_PATH/ryzom_client"
CLIENT_SAVE="$CLIENT_EXE.save"
CLIENT_CUSTOM="$ROOT_PATH/ryzomcore/code/build/bin/ryzom_client"

if [ ! $(pidof ryzom_client) ]; then
    if [ -f "$CLIENT_SAVE" ]; then
	cp -v "$CLIENT_SAVE" "$CLIENT_EXE"
    fi

    rsync -rtzv --progress --stats www.ryzom.com::ryzom "$CLIENT_PATH"

    if [ -f "$CLIENT_CUSTOM" ]; then
	mv "$CLIENT_EXE" "$CLIENT_SAVE"
	cp -v "$CLIENT_CUSTOM" "$CLIENT_EXE"
    fi
fi

cd "$CLIENT_PATH"
./ryzom_client

And that's it. Please note that:

  • The run script updates only the data.
  • You need to run $HOME/ryzom/compile_client.sh manually to compile a new client.
  • The run script will use your custom client only if it's available. Therefore, if you want to use the pre-compiled one, simple move or delete $HOME/ryzom/ryzomcore/code/build/bin/ryzom_client.


Ryzom Wiki: Ryzom Commons | DE • EN • ESFRRU | Ryzom Forge