<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <meta name="keywords" content="osirion, free, game, space, trade, combat, freelancer, privateer, opengl, radiant, gpl, creative commons"> <link rel="stylesheet" type="text/css" href="osirion.css"> <link rel="icon" type="image/png" href="http://osirion.org/icon.png"> <title>Project::OSiRiON - Building from source code</title> </head> <body> <div id="page"> <!-- header and menu ======================================= --> <table class = "osirionmenu" width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <a href="http://osirion.org"><img class="osirionmenu" src="images/banner.png" alt="Project::OSiRiON"></a> </td> </tr><tr> <td class="osirionmenu"> <a class="osirionmenu" href="http://osirion.org/">Home</a> . <a class="osirionmenu" href="http://osirion.org/index.php?page=downloads">Downloads</a> . <a class="osirioncurrent" href="index.html">Documentation</a> . <a class="osirionmenu" href="http://osirion.org/forum/">Forum</a> . <a class="osirionmenu" href="http://osirion.org/wiki/">Wiki</a> . <a class="osirionmenu" href="http://osirion.org/tracker/">Tracker</a> </td> </tr> </table> <div id="content"> <h1>Building from source code</h1> <p> To build Project::OSiRiON from source code you need a working C++ compiler and have the necessary libraries and header files installed. The official binaries are compiled with gcc on linux, and mingw on windows. </p> <ul> <li><a href="#requirements">Requirements</a> <li><a href="#building_ubuntu">Building on Ubuntu Linux</a> <li><a href="#building_windows">Building on Windows</a> <li><a href="#building_bullet">Builiding the Bullet physics library</a> <li><a href="#download_source">Obtaining the source code</a> <li><a href="#configure">Configuring the source code</a> <li><a href="#building">Building the binaries</a> <li><a href="#download_data">Obtaining the game data</a> <li><a href="#running">Running</a> </ul> <!-- System requirements =================================== --> <h2 id="requirements">Requirements</h2> <p> The following packages are required to build the the dedicated server: </p> <ul> <li>zlib <li><a href="http://www.bulletphysics.com/">Bullet physics library</a> <li>ncurses or pdcurses (optional) </ul> <p> Additionally, the client requires: </p> <ul> <li>libjpeg <li>libpng <li>libSDL 1.2 <li>OpenGL <li>OpenAL or OpenAL Soft <li>Ogg Vorbis </ul> <p> You will also need gcc, GNU make, automake and libtool. </p> <!-- Building on Ubuntu Linux ============================== --> <h2 id="building_ubuntu">Building on Ubuntu Linux</h2> <p> To build the game on Ubuntu, you can install the required tools and dependencies by running the following commands in a terminal window: </p> <pre> sudo su - apt-get install autoconf automake libtool subversion apt-get install libjpeg8 libjpeg8-dev apt-get install libpng3 libpng3-dev apt-get install libvorbisfile3 libvorbis-dev apt-get install libglu1-mesa-dev apt-get install libopenal1 libopenal-dev apt-get install libsdl1.2debian libsdl1.2-dev </pre> <!-- Building on Windows =================================== --> <h2 id="building_windows">Building on Windows</h2> <p> You can build the game on windows using a MinGW/MSYS environment. You can use the instructions in <a href="http://ingar.satgnu.net/devenv/mingw32/">this document</a> to create a complete environment, capable of building the Project::OSiRiON source code. </p> <!-- Building the Bullet physics library =========================== --> <h2 id="building_bullet">Building the Bullet physics library</h2> <p> The engine uses the <a href="http://www.bulletphysics.com/">Bullet Physics Library</a> for physics support. You can download the bullet source code here: <ul> <li><a href="http://code.google.com/p/bullet/downloads/list">http://code.google.com/p/bullet/downloads/list</a> </ul> </p> <p> To download and install the library: </p> <pre> wget http://bullet.googlecode.com/files/bullet-2.79-rev2440.tgz tar zxvf bullet-2.79-rev2440.tgz cd bullet-2.79 ./autogen.sh ./configure --prefix=/usr/local --disable-demos make sudo make install cd .. </pre> <p> If you do not want to install bullet in <span class="fixed">/usr/local</span>, you can edit the <span class="fixed">--prefix</span> option here. Edit the the <span class="fixed">--with-bullet</span> option when configuring the Project::OSiRiON source code accordingly. </p> <p> It is recommended you use this specific version of the library, physics behaviour could be different in other versions. </p> <!-- Obtaining the source code ===================================== --> <h2 id="download_source">Obtaining the source code</h2> <p> Download the source package from the website: </p> <ul> <li><a href="http://osirion.org/files/osirion-latest-src.tar.bz2">osirion-latest-src.tar.bz2</a> </ul> <p> Unzip the package into a directory of your liking and enter the new directory: </p> <div class="fixed"> wget http://osirion.org/files/osirion-0.2.1-svn1082-src.tar.bz2<br> tar xf osirion-0.2.1-svn1082-src.tar.bz2<br> cd osirion-0.2.1-svn1082-src<br> </div> <!-- Configuring the source code =================================== --> <h2 id="configure">Configuring the source code</h2> <p> Enter the new directory and configure the source code: </p> <pre> ./configure --with-bullet=/usr/local --enable-static-bullet </pre> <p> If you do not need the client and want to build the dedicated server only you can pass the <span class="fixed">--without-client</span> option to configure: </p> <pre> ./configure --with-bullet=/usr/local --enable-static-bullet --without-client </pre> <p> 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 <span class="fixed">--without-curses</span> option to configure. </p> <pre> ./configure --with-bullet=/usr/local --enable-static-bullet --without-client --without-curses </pre> <p> You can use the <span class="fixed">--help</span> option to get a list of all available options: </p> <pre> ./configure --help </pre> <!-- Building the binaries ========================================== --> <h2 id="building">Building the binaries</h2> <p> Compile the source code: </p> <pre> make </pre> <p> The binaries will be built in the <span class="fixed">src/</span> subdirectory of the main distribution. </p> <p> <b>Important</b>: <span class="fixed">make install</span> is not supported. Results are unpredictable. </p> <!-- Obtaining the game data ======================================= --> <h2 id="download_data">Obtaining the game data</h2> <p> Download the game data package from the website: </p> <ul> <li><a href="http://osirion.org/files/osirion-latest-data.zip">osirion-latest-data.zip</a> </ul> <p> Unzip the package into the osirion directory. The game data should be located in the <span class="fixed">data/</span> subdirectory of the main distribution. </p> <!-- Running ======================================================= --> <h2 id="running">Running</h2> <p> The client and the dedicated server will look for game data in the <span class="fixed">data</span> subdirectory of the current working directory. Since the binaries are build in the <span class="fixed">src</span> you will have start them with the <span class="fixed">src/</span> prefix. </p> <p> To start the client: </p> <pre> src/osirion </pre> <p> 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. </p> <p> To start the dedicated server: </p> <pre> src/osiriond </pre> <p> If you are using windows, the binaries will be called <span class="fixed">osirion.exe</span> and <span class="fixed">osiriond.exe</span>. </p> <!-- footer ================================================ --> </div> <!-- div content --> <div id="footer"> <div class="floatright"> <a href="http://validator.w3.org/check?uri=referer"> <img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Strict" height="31" width="88"> </a> </div> <p> Copyright © 2007-2012 Project::OSiRiON </p> </div> <!-- div id=footer> --> </div> <!-- div page> --> </div> </body> </html>