Jump to: navigation, search


34 bytes added, 13 May
spelling & fmtg fixes
== Goal and how to help ==
One day, eventually, Trackmania TrackMania will reach his its EoL. This is about documenting as much as possible to eventually get the point of having a fully functional custom authentication server. If you want to give help, go ahead. Just grab fiddler and start tweaking around with the game. You can check what has already been done on the [[Web_APIs/Progress|Progress]] page.
== Basic concepts ==
* '''root'''
** '''game'''
*** '''name''' the The client you are using. Known values: TmForever*** '''version''' Version of the client.*** '''distro''' Unknown. Set to MOLUX for TMNF or TAHOR for TMUF.*** '''lang''' lang Language of the client, as ISO 639-1.** '''author''' ''See [[#Author]]''.
** '''request'''
*** '''name''' Name of the requested function.
*** '''param''' Parameters for the call.
** '''auth''' ''Optional. Only seen on Connect and Disconnect''.
*** '''value''' Looks like an auth ticket.
<login>the user's name</login>
<session>the sessionssession' s id</session>
* '''r'''
** '''r'''
*** '''n''' The name of the called function.*** '''c''' The returned data.
** '''e''' A string giving the execution time.
* '''dedicated''' Set to 0 with TMF. Purpose is unknown. Maybe for servers.
* '''download''' Max P2P download speed, as set in game config, in B/s.* '''upload''' Max P2P upload speed, as set in game config, in B/s.
* '''a''' Same as '''a''' from [[#RedirectOnMasterServer]].
| No (Empty)
* '''login''' Player login.
''Empty response''
=== GetLeagues ===
''Used to get regions list.''
! Session required?
* '''l''' ''Multiple of them, one per region''
** '''a''' Region name.** '''b''' Parent regions (Separated separated with "|", eg. "France|Alsace").** '''i''' An url URL pointing to the region's flag (dds).
=== OpenSession ===
''Used to open a session.''
! Session required?
* '''cr''' 8 characters random hex value.
* '''i''' Session ID.* '''s''' ?. Seems Hexadecimal.
* '''k''' ?. Base64 encoded.
| No (Set to 1)
* '''pw''' password Password for the account.
* '''ik''' ?. Seems caps hexadecimal.
* '''email''' supplied Supplied email.
* '''cp''' ?. Empty
* '''np''' Region.* '''an''' If the user accepts to receive naedo Nadeo news on his email address.
* '''s''' Game key associated with the account.
== RedirectOnMasterServer ==
This response happens sometimes. It tells the client to switch auth server. When recievedreceived, the client sends same request it just sendsent, but to the other server specified.
Here is a description of the response:
* '''a'''
** '''b''' Name of the game.** '''c''' New server address to use.** '''d''' Endpoint (generally online_game).** '''e''' HTTPS port.** '''f''' HTTP port.** '''g''' Base region (World).
** '''h''' ?. Set to 1
** '''i''' ?. Set to 1
** '''j''' (Maybe) List of authorized/available remote methods (described below), or permissions.*** '''k''' one One remote call ''(multiple of them in the j tag)''**** '''l''' Method/Permission name.**** '''q''' Might be if authorized/available or not (Seems seems always 1).
Here is a list of the methods that have been seen in '''k''':

Navigation menu