GamePanelX (GPX)

Installation Instructions

These instructions are for experienced Unix and GNU/Linux users. If you are not familiar with these commands, I suggest reading up on Linux BASH commands or having an experienced user do this for you.

Written for GNU/Linux Operating Systems

Definitions
Requirements
Installation Instructions
Setup
Game Types
Creating Game Restores

Definitions

Master Server
The server that hosts the game control panel and all of it's website files
to control the slave game servers. A master server may also be the only server
which will host both the control panel AND the game services.

Slave Server
The server that hosts any and all game servers/daemons/services.



Requirements

A GNU/Linux operating system for both the master and slave server (if a slave server is used).

Master Server:
GNU Wget
Ncftp client (for ncftpput)
Apache + PHP 5


Slave Server:
GNU Screen




Installation Instructions

(( Master Server ))

[ These instructions are intended to be run as a privileged user. ]

Extract the contents of the master server tar file to the root of your website directory (/var/www/localhost/htdocs/ for example).

tar -xzvf gpx-master-latest.tar.gz -C /var/www/localhost/htdocs/

Now point your browser to:

http://[your-site-here.com]/gpx-master-[version]/install/


Choose here whether you are installing or upgrading. The install pages are pretty self-explanatory. Once complete, you MUST delete the directory 'install'.

After this has been deleted, you must edit the file 'config.php' located inside the directory 'include'. (include/config.php).
After you have added your database info and other details, you may point your browser to:

http://yoursite.com/gpx-master-[version]/

You will log in as your admin user, and you can view the system.



(( Slave Server ))

On your slave server, create the user 'gpx', or any user you wish. This user will be used to house ALL game server files, including any files gpx needs to operate. It will be the user all games run as. We will not be adding this user to the 'wheel' group. For your protection, please do NOT consider running any games or server daemons as root.

useradd -m -s /bin/bash gpx

The folder '_accounts' is used for all users' game files. The directory structure for user 'ryan' would be as follows:

/home/gpx/_accounts/ryan/cs_s/3nr0p3jf/

That's the user (ryan), the game's short description (cs_s for Counter-Strike: Source), and the server's auto-generated nickname (3nr0p3jf).

mkdir /usr/local/gpx/

Now cd into a temporary directory, download, extract, and move the folder to /usr/local/gpx.

cd /root/
wget http://internap.dl.sourceforge.net/sourceforge/gamepanelx/gpx-slave-0.32.tar.gz
tar -zxvf gpx-slave-0.32.tar.gz
mv gpx-slave/* /usr/local/gpx/
chown gpx:gpx /usr/local/gpx/ -R

cd /usr/local/gpx/install/
Now you can copy the scripts in the folder 'initscripts' depending on your distribution into /etc/init.d/. There are Gentoo and Red Hat-based distrubitions' initscripts.

If you use Red Hat-based Linux distributions:

chmod u+x /usr/local/gpx/install/initscripts/redhat/*

cp /usr/local/gpx/install/initscripts/redhat/* /etc/init.d/

If you use Gentoo Linux:

chmod u+x /usr/local/gpx/install/initscripts/gentoo/*

cp /usr/local/gpx/install/initscripts/gentoo/* /etc/init.d/

Now extract the contents of 'userdir.tar.gz' into your /home/gpx/ and change ownership to gpx:
tar -zxvf /usr/local/gpx/install/userdir.tar.gz -C /home/gpx/

chown gpx:gpx /home/gpx/ -R

Now edit your configuration file and setup your db info etc:
nano -w /usr/local/gpx/web/config.php

Once this is complete, start up the GPX webserver:
/etc/init.d/gpx-httpd start

Once the server is running, you will need to add this Slave Server's IP Address to your slave servers on your Master Control Panel.



Setup

Log into your master server. Under the section "Server Setup", click "Edit Configuration". Fill out all the fields according to your setup. Next, under "Current User", click "Edit My Information". Fill out your info here as well.

Now you need to add your IP Addresses into the Slave Manager. If you have only one IP, you can add IP's one-by-one by clicking "New Slave - Single" under the section "Slave Servers". If you have an entire span of IP's to add, for example all addresses from 1.2.3.4 to 1.2.3.16, you would use "New Slave - Multiple".

Next you will want to add a user to run a game. Let's say we want to run Counter-Strike: Source. Under the section "User Accounts", click "Create User". Fill out the required fields in 'User Information' and select "Counter-Strike: Source" under 'Game Setup'. After clicking 'Next', you will see many fields for setting up the game. If you don't know what these mean, I suggest reading up on the game server before just guessing on it's settings. Click 'Next' when done, and you will be redirected to the User Editor.

----------------------------------

Now comes the fun part. You will need to create a srcds installation on your slave server. How to install the srcds game server is beyond the span of this. All I need to tell you is that everything for the server needs to go inside /home/gpx/_accounts/[your user here]/[game short name]/[game server nickname]/. Create the directory for example user 'ryan' there:

mkdir /home/gpx/_accounts/ryan/
You will need to create a directory inside based on the directory structure "/home/gpx/_accounts/[your user here]/[game short name]/[game server nickname]/" I showed before. You will need to find out what nickname your Master Server assigned your game server. Log into your master server as your game user, and go to "Game Manager". Right-Click on the restart button and click "Save Link Location" (depends on your browser). Now paste this somewhere and look for the part that says "&nick=". Basically you need to get your game's nickname. Once you know it, you need to create a directory for your game, and your nickname. Inside the nickname directory is where all your game files go. So to create the game's directory and nickname directory:

mkdir -p /home/gpx/_accounts/ryan/cs_s/[nickname here]/

Of course change the [nickname here] bit to your game server's actual nickname. Now change to this directory:

cd /home/gpx/_accounts/ryan/[game type]/[nickname here]/

If you need to find the game type for your server (a.k.a gameShort name), then look at the section Game Types.

Now you will want to put 'hldsupdatetool.bin' inside this directory, and begin your installation. Once you have all your files completely in here, you can click "Restart" inside your Game Manager and your game should start up. If it is a Valve Source-Based game, you can see if it's online or not. Otherwise, the status will show as "Unknown" at the moment. Enjoy!

Game Types


The games currently supported are as follows:

  Game Name Game's Short Name
© Counter-Strike: 1.6 cs_16
© Counter-Strike: Condition Zero cs_cz
© Counter-Strike: Source cs_s

Each game has a "gameShort". Each game's gameShort name is listed after it.



Creating Game Restores

Info on this to be added at a later time.