MegaGlest/source/masterserver
Mark Vejvoda e3a8ee6d2f add playerid to game stats so we canprovide historical stats for unique players 2013-11-01 21:31:55 +00:00
..
flags - masterserver: determine + store game servers' ISO_3166-1 alpha-2 country code, display country flag 2011-01-21 22:43:43 +00:00
images Master server: 2013-10-13 01:44:27 +00:00
install add playerid to game stats so we canprovide historical stats for unique players 2013-11-01 21:31:55 +00:00
scripts added game duration to main server page 2013-11-01 15:42:19 +00:00
style added aynch fetch for game stats 2013-10-31 09:49:23 +00:00
README Master server: 2013-10-13 02:27:56 +00:00
addGameStats.php add playerid to game stats so we canprovide historical stats for unique players 2013-11-01 21:31:55 +00:00
addServerInfo.php - Web and JSon scripts now show finsihed games that are no older than 8 hours 2013-10-31 01:35:47 +00:00
cleanUpServerList.php Master server: 2013-10-13 01:44:27 +00:00
config.php - added game stats purge function 2013-11-01 17:23:17 +00:00
functions.php - added game stats purge function 2013-11-01 17:25:37 +00:00
index.php - updated copyright headers is some files that had them missing 2012-08-02 00:57:28 +00:00
showGameStats.php changed default from last 8 hours toi last 48 hours of games 2013-11-01 00:04:27 +00:00
showMapsForGlest.php * masterserver scripts: no more undefined indexes 2012-12-15 22:02:10 +00:00
showRecentServers.php Master server: 2013-10-13 01:44:27 +00:00
showScenariosForGlest.php * masterserver scripts: no more undefined indexes 2012-12-15 22:02:10 +00:00
showServers.php added game duration to main server page 2013-11-01 15:42:19 +00:00
showServersForGlest.php - Web and JSon scripts now show finsihed games that are no older than 8 hours 2013-10-31 01:35:47 +00:00
showServersJson.php added game duration to main server page 2013-11-01 15:42:19 +00:00
showTechsForGlest.php * masterserver scripts: no more undefined indexes 2012-12-15 22:02:10 +00:00
showTilesetsForGlest.php * masterserver scripts: no more undefined indexes 2012-12-15 22:02:10 +00:00

README

ABOUT

This is the MegaGlest master server. MegaGlest (http://megaglest.org) is a
libre software cross platform real-time strategy game. 

This master server does the following:
· publish game hosts (when a user decides to host)
· list hosted games (HTML, CSV, JSON output)
· list recently hosted gamed (HTML output) - this code is currently disabled
· list available game mods (CSV output)
· provide a version check for game installations

It uses a standard PHP/MySQL setup to achieve this. When instances of MegaGlest
engine based games publish their game information, they do so by pushing it to
this web server in regular intervals. Stale entries are removed when the next
client requests the list. When game instances retrieve the list of hosted games
or available game mods, they do so by pulling this information from the server.
Game and master server communicate using HTTP. The client sends requests by
HTTP GET passing along URL parameters while the server responds in a CSV format
or single field plain text. The version check is currently implemented as plain
text files (which use symbolic links for deduplication purposes) on the server.
This may be replaced by a single configurable PHP script in the future.

The MegaGlest Team hosts a live copy of this code at 
  http://master.megaglest.org
Please do not use this instance for your tests, but set up a copy of your own.



INSTALLATION

1. Setup a web server with PHP and a MySQL database server.
   Sucessfully tested configurations (on Debian GNU/Linux 6 and 7):
   · Apache 2.2 + mod_php 5.3.3
   · Nginx 1.2.1 + fastcgi + PHP-FPM 5.4.4
   · MySQL Community Server/Edition 5.1 (Oracle)
   · MySQL Server 5.5 (Percona)

2. CREATE DATABASE 'megaglest-master' ENGINE=InnoDB;
   CREATE USER 'megaglest-master'@'localhost' IDENTIFIED BY 'secret password';
   GRANT ALL ON 'megaglest-master.*' TO 'megaglest-master';

3. Connect the new user to the new database;
   Execute the SQL statments in install/scheme_mysql.sql

4. Copy all files (you can omit INSTALL and install/) to your webserver and
   edit config.php to reflect the MySQL connection parameters and game title;
   also replace the images in images/ by some which match your game title.

To test and use this server with your MegaGlest engine based game, configure
the "MasterserverURL" property in glest.ini.

To add mods to the game mod menu, edit the database contents using your 
favorite MySQL editor or develop a web based frontend to do so. In the latter
case, please let us know about it and try to use a compatible license.