The Osirion Project - Installation

These are the installation instructions for the Osirion Project. There are two ways to install the program and the game data. You can either download a precompiled package from the website, or you can obtain the source code and compile it yourself.

Downloading a precompiled package

You can find the latest version in the download section of the website:
http://ingar.satgnu.net/osirion/files

Windows

Download the windows package:
osirion-latest-win32.zip
This packages contains the win32 version of the server, the client and the game data.

Unzip the package to an approriate directory. Open the directory in explorer and click on osirion.exe to start the client.

Linux

Download the linux package:
osirion-latest-linux.zip
This packages contains the linux x86 and x86_64 version of the server, the client and the game data.

Extract the package, a new subdirectory will be created. The actual directory name will depend on the version number. Enter the new subdirectory.

tar jxvf osirion-latest.tar.bz2
cd osirion-0.1_258-linux

To run the 32bit client:

./osirion.x86

To run the 64bit client:

./osirion.x86_64

Building from source code

Requirements

To build The Osirion Project from source code you will need to have the following libraries and their header files installed on your system.

To build the client or the dedicated server:

zlib

To build the client:

SDLversion 1.2 or newer
OpenGLversion 1.1 or newer
OpenALversion 1.1 or newer

You will also need a recent version of gcc, GNU make, automake and libtool.

In theory, the source should compile on any POSIX-compatible platform supported by SDL, reports for other platforms (working or not) are welcome. I have succesfully compiled it myself on the following platforms:

linux-x86_64gcc 4.1.2
linux-i686gcc 4.1.2
mingw32 gcc 4.2.2

Obtaining the source code

You can download the osirion source code from the osirion subversion repository:
svn://intranifty.no-ip.org/osirion

On linux, you can use the Subversion command line client tool. The following command will create a new subdirectory osirion and download the source code into it.

svn co svn://intranifty.no-ip.org/osirion

On windows, you can use the Turtoisesvn SubVersion client to access the SVN repositories. You can download it here:
http://tortoisesvn.tigris.org/

You can also get the source package from the website:
osirion-latest-src.tar.bz2

Compiling the source code

Enter the new directory and configure the source code:

cd osirion
autoreconf -fi
./configure

If you do not need the client and want to build the dedicated server only you can pass the --without-client option to configure:

./configure --without-client

If configure finds the ncurses library, the server will be build with an ncurses console. To disable ncurses detection, pass the --without-ncurses option to configure.

Important: make install is not supported. Results are unpredictable.

Compile the source code:

make

The binaries will be build in the src subdirectory of the main distribution.

Obtaining the game data

The game data should be located in the data subdirectory of the main distribution. The data is not included with the source distribution. You will have to copy it from a binary package or download it from the osirion-data subversion repository:
svn://intranifty.no-ip.org/osirion-data

Run the following command from within the main distribution directory to download the game data into the data subdirectory:

svn checkout svn://intranifty.no-ip.org/osirion-data data

Executing

The client and the dedicated server look for the game data in the data subdirectory of the current working directory. Since the binaries are build in the src you will have to copy them with the src/ prefix.

To start the client

src/osirion

To start the dedicated server

src/osiriond

Of you are using windows, the binaries will be called osirion.exe and osiriond.exe.

Updating

If you downloaded and compiled the game and the game data fomr the subversion repository, there is no need to re-download the entire distribution when there are updates available. You can update your local copy and rebuild it.

Update the source code:

cd osirion
make distclean
svn update

Update the game data:

cd data
svn update
cd ..

Rebuild the binaries:

autoreconf
./configure
make

GtkRadiant 1.5.0 support files (optional)

You only need to install these files if you want to create models with gtkradiant. Note that these files where made for gtkradiant 1.5.0, they probably won't work with other versions. You can find precompiled gtkradiant 1.5.0 binaries for linux on my gtkradiant page:
http://ingar.satgnu.net/gtkradiant

These instructions assume gtkradiant is installed in the directory /usr/local/games/gtkradiant-1.5.0. If it is installed in a different directory on your system, edit these instructions accordingly.

Copy the support files to the gtkradiant folder:

cd data
cd gtkradiant
cp -vr * /usr/local/games/gtkradiant-1.5.0

Open the file /usr/local/games/gtkradiant-1.5.0/games/osirion.game in your favourite editor. Look for a line that begins with:

enginepath_linux="

Make sure it points to your osirion data directory. For example, if you checked out the source code in /home/user/osirion, then the data will be in /home/user/osirion/data and the line should look like this:

enginepath_linux="/home/user/games/osirion/data"

Save the changes.

Source data (optional)

The .xcf and .svg source files used to create the game data can also be downloaded. Note that you do not need these files to play the game or to create .map models. You only have to download them them if you want to create new game graphics.

To download the source data from the subversion repository:

svn checkout svn://intranifty.no-ip.org/osirion-data-src data-src

Organization of the distribution

/doc 	Documentation

	index.html		Documentation content
	installation.html	Installation instructions (this file)
	license.html		Copyright license

/src 	C++ source code

	/math			mathematical classes and functions
	/sys			low-level system functions
	/filesystem		filesystem library
	/auxiliary		auxiliary functions
	/core			game-independent core library
	/game			game-specific functions 
	/server			osiriond dedicated server
	/render			render library
	/audio			audio library
	/client			osirion client

/data	Data files

	/base			game data files

		/bitmaps	essential bitmaps
		/ini		game world description files
		/maps		game world models
		/scripts	gtkradiant shader files
		/textures	game world textures

	/gtkradiant		gtkradiant support files