Difference between revisions of "Web API"
Jump to navigation
Jump to search
(Added MailAccount) |
m (Strasted switching to tables.) |
||
| Line 74: | Line 74: | ||
=== GetConnectionAndGameParams === | === GetConnectionAndGameParams === | ||
| − | = | + | First request sent by client. |
| + | |||
| + | {|class="wikitable" | ||
| + | ! Auth required? | ||
| + | ! Parameters | ||
| + | ! Response | ||
| + | |- | ||
| + | | No | ||
| + | | | ||
*;dedicated | *;dedicated | ||
: Set to 0 with TMF. Purpose is unknown. Maybe for servers. | : Set to 0 with TMF. Purpose is unknown. Maybe for servers. | ||
| Line 81: | Line 89: | ||
*;upload | *;upload | ||
: Max P2P upload speed, as set in game config, in B/s | : Max P2P upload speed, as set in game config, in B/s | ||
| − | + | | | |
| − | |||
* a | * a | ||
**b : Full game name (Set to "Trackmania United Forever for TMNF and TMUF) | **b : Full game name (Set to "Trackmania United Forever for TMNF and TMUF) | ||
| Line 92: | Line 99: | ||
**h : ?. Set to 1 | **h : ?. Set to 1 | ||
**i : ?. Set to 1 | **i : ?. Set to 1 | ||
| + | |} | ||
=== CheckLogin === | === CheckLogin === | ||
Used to check if login is already used for account creation. | Used to check if login is already used for account creation. | ||
| − | = | + | {|class="wikitable" |
| + | ! Auth required? | ||
| + | ! Parameters | ||
| + | ! Response | ||
| + | |- | ||
| + | | No | ||
| + | | | ||
*;l | *;l | ||
: Player login. | : Player login. | ||
| − | + | | | |
| − | |||
*;e | *;e | ||
:Set to 1 if login is used, otherwise 0. | :Set to 1 if login is used, otherwise 0. | ||
*;p | *;p | ||
: ?. Set to 0. | : ?. Set to 0. | ||
| + | |} | ||
=== MailAccount === | === MailAccount === | ||
Used to make the server send a password recovery email. | Used to make the server send a password recovery email. | ||
| − | + | {|class="wikitable" | |
| − | + | ! Auth required? | |
| + | ! Parameters | ||
| + | ! Response | ||
| + | |- | ||
| + | | No | ||
| + | | | ||
*;login | *;login | ||
:Player login | :Player login | ||
| − | + | | | |
| − | |||
No content is returned. | No content is returned. | ||
| − | + | |} | |
[[Category:Specifications]] | [[Category:Specifications]] | ||
Revision as of 08:45, 12 May 2019
Basic concepts
TrackMania uses a XML-RPC-like API to authenticate players, load server lists, load rankings, etc... Here is some documentation about what has been reversed engineered. A lot is still left to be documented.
The game sends unencrypted POST requests to
- http://game.trackmaniaforever.com/online_game/request.php
- http://game2.trackmaniaforever.com/online_game/request.php
to communicate with the API.
It sets two headers: User-Agent: GameBox and Accept: */*, and uses the following format as request body :
<?xml version="1.0" encoding="UTF-8"?>
<root>
<game>
<name>TmForever</name>
<version>2.11.16</version>
<distro>MOLUX</distro>
<lang>fr</lang>
</game>
<author>
<login/>
<session/>
</author>
<request>
<name>[...]</name>
<params>
[...]
</params>
</request>
</root>
Here is a description of the parameters :
- root
- game
- name: the client you are using. Known values: TmForever
- version: Version of the client
- distro: Unknown. Set to MOLUX or TAHOR
- lang: lang of the client, as ISO 639-1
- author
- login: is not set when calling GetConnectionAndGameParams
- session: obtained by calling GetConnectionAndGameParams. Unset when calling that function.
- request:
- name: Name of the requested function.
- param: Parameters for the call.
- game
The server responds with XML, which has obfurscated names:
<?xml version="1.0" encoding="UTF-8"?>
<r>
<r>
<n>[...]</n>
<c>
[...]
</c>
</r>
<e>execution time : 0.0010 s</e>
</r>
Here is a description of the return:
- r
- r
- n: The name of the called function
- c: The return data
- e: A string giving the execution time.
- r
Functions calls
GetConnectionAndGameParams
First request sent by client.
| Auth required? | Parameters | Response |
|---|---|---|
| No |
|
|
CheckLogin
Used to check if login is already used for account creation.
| Auth required? | Parameters | Response |
|---|---|---|
| No |
|
|
MailAccount
Used to make the server send a password recovery email.
| Auth required? | Parameters | Response |
|---|---|---|
| No |
|
No content is returned. |