MG/Master Server

From MegaGlest
Jump to: navigation, search


This article is a stub.

Please help expand it by editing the page.

Masterserver RESTful API[edit]

This document describes a RESTful API design which MegaGlest could use to communicate with the Master Server.

Version 0.9[edit]

The first version of this API will try to provide a simple RESTful variant of the previous masterserver requests and responses. Its primary target is to provide backward compatibility to old-style URIs and requests in combination with HTTP redirections to the endpoints this API provides. On the other hand it shall provide a solid base to develop a proper RESTful API for the future. Nevertheless, this API version may add support for some new request types, i.e. add more functionality.

The most obvious difference to the previous interface is the newly introduced separation of gameserver related requests and game mod related requests into megaglest.org subdomains: master.megaglest.org and mods.megaglest.org.

Until explicitly noted otherwise, this is work in progress.


Host: master.megaglest.org[edit]

This subdomain hosts the API which provides information on available gameservers.

Old-style URI's:
http://master.megaglest.org/showServers.php
http://master.megaglest.org/showServersForGlest.php
http://master.megaglest.org/showServersJson.php
http://master.megaglest.org/addServerInfo.php

Mapping of old-style URIs to API URIs:

OLD-STYLE URI               FUNCTION  VERB  API-URI

/showServers.php         -> (list)    GET   /servers.html

/showServersForGlest.php -> (list)    GET   /servers.csv

/showServersJson.php     -> (list)    GET   /servers.json

/showRecentServers.php   -> (list)    GET   /servers-recent.html

/addServerInfo.php       -> (add)     POST  /server.txt/ip/<IP address>/version/<version>
                            (update)  PUT   /server.txt/ip/<IP address>/version/<version>


Host: mods.megaglest.org[edit]

This subdomain hosts the API which provides information on available game mods.

Old-style URIs[edit]

http://master.megaglest.org/showScenariosForGlest.php
http://master.megaglest.org/showMapsForGlest.php
http://master.megaglest.org/showTechsForGlest.php
http://master.megaglest.org/showTilesetsForGlest.php

Mapping of old-style URIs to API URIs[edit]

OLD-STYLE URI               FUNCTION  VERB  API-URI

/showMapsForGlest.php      ->          GET  /maps.csv
/showScenariosForGlest.php -> (list)   GET  /scenarios.csv
/showTechsForGlest.php     -> (list)   GET  /techtrees.csv
/showTilesetsForGlest.php  -> (list)   GET  /tilesets.csv