Manual installation (Linux)

From GHost++
Jump to: navigation, search

Introduction

This guide describes how to manually install GHost++ on a Linux machine. You will only need very basic knowledge about computers and the machine where you want to install it. This includes connecting through SSH (in case it's a dedicated server) and installing software with your package manager. Note that you should be using the root account for the whole installation process as you won't be able to complete it successfully otherwise.

Dependencies

Before you can compile and install GHost++ on Linux you need some libraries and programs. Some of the might already be installed while others are not. Core dependencies are needed for any versions of GHost++ while you'll need Other dependencies only for specific derivates. Install the according requirements with your package manager unless instructed otherwise or you know what you do. Note that package names might differ for some systems.

For installing the Boost libraries you have two options. The easier and faster one is to install them with your package manager but the packages might be too old for GHost++. In that case you can add testing sources or do it the manual way (install other core dependencies first!).

Core dependencies

  • General
    • build-utils
  • BNCSUtil
    • libgmp3-dev
  • StormLib
    • libbz2-dev
  • GHost++
    • libmysql++-dev
  • Boost (needed if you don't install them manually)
    • libboost-dev
    • libboost-system-dev
    • libboost-date-time-dev
    • libboost-thread-dev
    • libboost-filesystem-dev

Other dependencies

  • Downloading GHost++ from SVN
    • subversion

TODO: GHost++ derivates

Downloading GHost++

Again you have two options to do so. You can either download GHost++ from a release package or the very latest version from SVN (recommended). When you want to install something different than the normal GHost++ you just download the desired derivate here.

Download release package

At the time of writing the latest released version is 17.1 so this is what we are going to download here. Some systems don't have unzip installed by default so you may need to do this with your package manager.

cd /usr/src/
wget http://ghostplusplus.googlecode.com/files/ghostplusplus_17.1.zip
unzip ghostplusplus_17.1.zip

Download from SVN

To download from SVN you obviously need to have the subversion package installed.

cd /usr/src/
svn checkout http://ghostplusplus.googlecode.com/svn/trunk/ ghost

Compiling

Now we need to compile GHost++ along with it's dependencies. This step is quite trivial if you followed everything before but will take some time.

BNCSUtil

cd /usr/src/ghost/bncsutil/src/bncsutil/
make
make install

StormLib

cd /usr/src/ghost/StormLib/stormlib/
make
make install

GHost++

cd /usr/src/ghost/ghost/
make

Installing GHost++

Usually you'd install programs on linux to /opt/bin/. Though this is not the best choice for GHost++ because it needs several other files to run properly. Note that you should never run GHost++ from the root user for the sake of security So now log in with the user you want to run GHost++ later.

You can do with with the following command (insert your user name instead of username):

 su - username

Now we copy all files that we need:

mkdir ~/ghost++/
cd /usr/src/
cp -R maps/ mapcfgs/ replays/ savegames/ ~/ghost++/
cp ghost/ghost++ default.cfg ~/ghost++/
cp gameloaded.txt gameover.txt ipblacklist.txt ~/ghost++/
cp ip-to-country.csv ~/ghost++/

Links