diff --git a/source/masterserver/README b/source/masterserver/README index 41f21706..bfedd10f 100644 --- a/source/masterserver/README +++ b/source/masterserver/README @@ -1,6 +1,40 @@ -To install: +ABOUT -1. Setup a MYSQL database server +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';