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.
This is optional but highly recommended in order to speed up the installation process and spare your internet connection. First, you may need to install wget
and 7z
. Then, retrieve the compressed Ryzom archive using the following commands:
mkdir -p "$HOME/ryzom" wget http://freefr.dl.sourceforge.net/project/ryzom/ryzom_client.7z 7z x ryzom_client.7z -o"$HOME" rm ryzom_client.7z
If you are prompted with a message like already exists. Overwrite with ryzom/data/exedll.bnp? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit?, answer A. Some components of this archive are out of date, therefore the next step is to synchronize it with the latest version available.
Install rsync
and use it to get the latest version of Ryzom:
mkdir -p "$HOME/ryzom" rsync -rtzv --progress --stats www.ryzom.com::ryzom "$HOME/ryzom/client"
You can start the pre-compiled 32bits 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 (name it /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 to start Ryzom.
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
.
#!/bin/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:
$HOME/ryzom/compile_client.sh
manually to compile a new client.$HOME/ryzom/ryzomcore/code/build/bin/ryzom_client
.pass can be used to handle your account password. In /usr/bin/ryzom
, replace the last line (./ryzom_client
) by:
if [ "$1" != "" ]; then ./ryzom_client "$1" $(pass show "ryzom.com/$1") else ./ryzom_client fi
Store your account password under ryzom.com/accountname
:
pass insert ryzom.com/accountname
You can now start Ryzom with an automatic login using the following command:
ryzom accountname