Changes

Jump to navigation Jump to search
83 bytes removed ,  16:51, 12 May 2019
m
Reorganized basic concepts
Line 7: Line 7:  
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.
 
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
+
The game sends HTTP(s) POST requests to
 
* [http://game.trackmaniaforever.com/online_game/request.php http://game.trackmaniaforever.com/online_game/request.php]
 
* [http://game.trackmaniaforever.com/online_game/request.php http://game.trackmaniaforever.com/online_game/request.php]
 
* [http://game2.trackmaniaforever.com/online_game/request.php http://game2.trackmaniaforever.com/online_game/request.php]
 
* [http://game2.trackmaniaforever.com/online_game/request.php http://game2.trackmaniaforever.com/online_game/request.php]
 
* [http://nations.trackmaniaforever.com/online_game/request.php http://nations.trackmaniaforever.com/online_game/request.php]
 
* [http://nations.trackmaniaforever.com/online_game/request.php http://nations.trackmaniaforever.com/online_game/request.php]
to communicate with the API.
+
to communicate with the API, using the headers: <code>User-Agent: GameBox</code> and <code>Accept: */*</code>
 
  −
It sets two headers: <code>User-Agent: GameBox</code> and <code>Accept: */*</code>, and uses the following format as request body :
      +
=== Request ===
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
Line 40: Line 39:  
</pre>
 
</pre>
   −
Here is a description of the parameters :
+
Here is a description of the xml:
    
* '''root'''
 
* '''root'''
Line 57: Line 56:  
*** '''value''' Looks like an auth ticket.
 
*** '''value''' Looks like an auth ticket.
   −
The server responds with XML, which has obfurscated names:
+
=== Response ===
 
   
<pre>
 
<pre>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
Line 72: Line 70:  
</pre>
 
</pre>
   −
Here is a description of the return:
+
Here is a description of the returned xml:
    
* '''r'''
 
* '''r'''
 
** '''r'''
 
** '''r'''
 
*** '''n''' The name of the called function
 
*** '''n''' The name of the called function
*** '''c''' The return data
+
*** '''c''' The returned data
 
** '''e''' A string giving the execution time.
 
** '''e''' A string giving the execution time.
  
90

edits

Navigation menu