Powered By

CakePHP

CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications


Lgsl Live Game Server List

Lgsl (Live Game Server List) is a framework for quering and displaying information from a huge variety of games.


Game Server Manager Technical Info

GSM consists of main 3 parts

  • The Game servers themselves
  • A set of *nix scripts for managing the servers
  • This website

The Game Servers

The game servers are all installed 'out of the box' into a base directory. These base installations are used to create the actual game servers and the method used depends very much upon the game itself and what options it supports.

The idea behind GSM is to try and keep the disk usage to a minumim and where possible avoid installing a new copy of the game every time a server is created. Two approaches are used for this.

1. Some games (Such as Call of Duty 4) support options to allow the core game code to exist in on directory and all of the config in another. Where possible GSM uses these options so that there is only every one copy of the main code.

2. For games that dont support the above option a slightly different approach is taken. In these cases symbolic linking is used to create what appears to be a full instalation of the server even though it isnt really. The directories for the game are created as real directories and then every file within them linked back to the base installation of the game.

Another core part of a game server is its configuration. In both of the above scenarios its simple as we just create the config folder and copy a set of 'base' server config files in, the various options within the config file are set from the options entered when the server is created.

The *nix scripts

Every game server has a standard script used to start it. When the serve is created this script is copied into the new game server and the various options within the script set from the ones provided by the user when creating the server. Every user has a specific IP Address allocated to them to provide some seperation and to allow the first server created to run on the default game port. GSM will automatically find free ports for the game server to run on so the user does not have to worry about it.

The game server are all run under named SCREEN sessions. This allows the website to easily find out if a server is running. Stopping the server becomes a simple case of ending the screen session. Another advantage to this is that the system admins can connect to the screen session and see what is going on with the server.

This Website

The GSM website is all based around CakePHP. The desicion to use cake was taken as its a very flexible and rapid development framework.