innominatus
Projects:
btrfs-snap-script
Cloudflare DNS API Client
IAM
Q3Admin
GameServer Script
spamfirewall
Misc Scripts
Comtrol Projects:
DeviceMaster Installer
Driver Installer
Web Portvision

Support:
Open a Ticket

Other:
Home
Webmail
Squirrel Webmail
Definition

Game Server Startup Script GSSS
Jason Jorgensen 
Version 1.1

1. Introduction
2. Installation
3. Usage 
4. Copyright

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

1. Introduction

GSSS was written becuase I wanted a way to start up a variety of games in
a standard way. Then I also wanted to make sure the games stayed running even
after a crash. So I wrote this perl script. It will start games and through a cron
job make sure they stay running. If you have qstat installed it can also verify
the game is running like it is suppose to be and not in some strange state where
no one can play. If the game is running but unresponsive, it kills it and starts
it again. You can also stop running games cleanly as well.

A list of games I have tested to work with this script:
Quake2
Quake3
RTCW
Half Life
Unreal
UT2K3
UT2K4
Tribes 2
NWN
BF1942
ET
(Let me know if you have gotten other games to work)

The latest version of GSSS is available at http://www.innominatus.com

Sorry for the rough (anti-newbie, debian centric) readme file.

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

2. Installation

- Create a user that will run your games. Root is not a good choice. "adduser gameserver"
- Then make sure all your installed games are owned by gameserver "chown gameserver:gameserver -R /usr/local/games"
- Make sure you have qstat install so GSSS can validate the games are running correctly. "apt-get install qstat"
- Copy the included files to the directories specified by the directory structure. I put them in /etc
- I have included some examples of configurations to start games that I have used. Modify as need. You 
  will need to know all the ports that your game will be using. Even the ports players dont connect to but
  are opened up for other reasons. You will also need to know what the running process name of the binary
  will be. Some games are launched from a wrapper script and have a different name than the running process.
  Once you have that info you should be able to setup the config file.


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

3. Usage 

If the game is in a working state and you have configured GSSS correctly you interact with it like any other startup script

games list              - lists all game configuration files available
games start             - starts all games
games start [name(s)]   - starts only the specified configuration(s)
games stop              - stops all games
games stop [name(s)]    - stops only the specified configuration(s)
games restart           - restarts all games
games restart [name(s)] - restarts only the specified configuration(s)
games status            - will use qstat to retreive the current status of your running games
games fix               - will use qstat to identify any failed games, then restart them
games cronfix           - similar to fix, but is run from cron and has to see the game broken twice to restart
                          "*/5 * * * * root /etc/init.d/games cronfix" in /etc/crontab to run every 5 minutes

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

4. Copyright

GSSS Copyright 2003 Jason Jorgensen, jasonj@innominatus.com 

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or (at your
option) any later version. 

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details. 

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 

    

Downloads:
Release Directory

License: GPL



Email the Webmaster