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

System Requirements

Before you can run the game, you must have working OpenGL libraries. These are usually installed by the driver package for your videocard.

As for system specifications, I get around 40fps on an AMD Athlon 1.4Ghz, 512Mb PC133 SDRAM, ATI Radeon 9700 Pro.

Using packages

You can find the latest version in the downloads section of the website:
http://osirion.org

Windows

Download for 32-bit windows
osirion-latest-win32.zip (32-bit)
This package should work on most windows systems.

Download for 64-bit windows
osirion-latest-win64.zip (64-bit)

Dowload the game data package:
osirion-latest-data.zip

Unzip the executables package to an approriate directory. Unzip the game data package in the new directory. For example, if the game was unzipped to D:\Osirion then there should be a directory D:\Osirion\data\base containing the game data.

Open the game directory in explorer and click on osirion.exe to start the client.

Linux

Requirements:
To run the client, tour system will need to have the following packages installed: libSDL, libjpeg, libpng and libz. To run the dedicated server you need libz and ncurses. These are common packages and most systems will already have them installed. You do not need to have the bullet libraries installed.

Linux download:
osirion-latest-linux.tar.bz2 (32- and 64-bit)
This package contains the linux version of the client and the server.

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-linux.tar.bz2
cd osirion-linux-875

Dowload the game data package:
osirion-latest-data.zip

Unzip it:

unzip ../osirion-latest-data.zip

To run the 32 bit client:

./osirion.x86

To run the 64 bit client:

./osirion.x86_64
Building from source code

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

Requirements

To build the client or the dedicated server:

To build the client:

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

Building on windows

You can build the source on windows using a MinGW/MSYS environment. You can use the instructions in this document to create a complete environment, capable of building the Project::OSiRiON source code. You need to install the base system described in part one, and the following packages described in part two: pkg-config, DirectX development files, zlib, SDL, libpng, libjpeg, OpenAL Soft, pdcurses and bullet.

Building the Bullet physics library

The engine uses the Bullet Physics Library for physics support. You can download the bullet source code here:

To download and install the library:

wget http://bullet.googlecode.com/files/bullet-2.77.tgz
tar zxvf bullet-2.77.tgz
cd bullet-2.77
./autogen.sh
./configure --prefix=/usr/local
make
sudo make install

I recommend you use this specific version of the library, physics behaviour could be different in other versions.

Obtaining the source code

You can get the osirion project source code from the subversion repository:

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://osirion.org/osirion osirion

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

You can also download the source package from the website:

Compiling the source code

Enter the new directory and configure the source code:

cd osirion
autoreconf -fi
./configure

Configure will automaticly detect the bullet library if it was installed in /usr. If it was installed somewhere else you will have to pass the --with-bullet=prefix option to configure. For example, --with-bullet=/usr/local will use the bullet libraries installed in /usr/local/lib and the includes in /usr/local/include/bullet.

./configure --with-bullet=/usr/local

If you add the --enable-static-bullet option, the resulting binary will be staticly linked with the bullet libraries. They will work on systems that do not have bullet installed.

./configure --with-bullet=/usr/local --enable-static-bullet

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 ncurses or pdcurses, the dedicated server will use this library and a have a curses console. To disable curses detection, pass the --without-curses option to configure.

./configure --without-client --without-curses

Compile the source code:

make

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

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

Obtaining the game data

The game data should be located in the data subdirectory of the main distribution. You can use the game data package from the website or get it from the osirion-data subversion repository:

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

svn checkout svn://osirion.org/osirion-data data
Executing

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

To start the client:

src/osirion

If the client opens a new window and immediatly close it again, it probably could not find the game data and exited. Check your installation.

To start the dedicated server:

src/osiriond

If 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 clean
svn update

Update the game data:

cd data
svn update
cd ..

Rebuild the binaries:

autoreconf
./configure
make
NetRadiant/GtkRadiant 1.5.0 support files (optional)

You can skip this section if you do not intent to create to create models with netradiant or gtkradiant 1.5. Note that these files probably won't work with other versions. You can find precompiled netradiant packages here:

These instructions assume gtkradiant is installed in the directory /usr/local/games/netradiant. 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/netradiant

Open the file /usr/local/games/netradiant/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 into /home/user/osirion, then the data will be in /home/user/osirion/data and the line should look like this:

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

Save the changes.

Source data (optional)

There is a seperate repository for files that are used to create the game data, like blender, gimp or vector graphics files. It is not necessary to download these files to play the game, but if you are interested in contributing to the game you might want to get them.

To download the source data from the subversion repository:

svn checkout svn://osirion.org/osirion-data-src data-src
Organization of the distribution
/developer
	Developer documentation

/doc 	User documentation

	index.html		Documentation content
	installation.html	Installation instructions (this file)
	guide.html		Player guide
	manual.html		User manual

/src 	C++ source code

	/audio			audio library
	/auxiliary		auxiliary functions
	/client			osirion client
	/core			game-independent core library
	/dedicated		osiriond dedicated server
	/filesystem		filesystem library
	/game			game-specific functions 
		/base		base game module
		/example	example game module
		/intro		intro game module
	/math			mathematical classes and functions
	/sys			low-level system functions
	/render			render library
	/ui			user interface library

/data	Data files

	/base			game data files
		/bitmaps	essential textures
		/ini		game world definitions
		/maps		3D models (.map format)
		/materials	material definitions
		/models		3D models (.ase and other formats)
		/particles	particle definitions
		/textures	game world textures

	/gtkradiant		radiant support files