User:Maxoufox/TMESWC
Just writing my thoughts about TMESWC. Don't expect anything useful from this (else it would not be under my user). This is purposely written in non-wiki style, as I'm just writing as I'm going. Formatting will be done later. Everything here is done via educated guesses (disassembling the game is a pain due to StarForce).
Running the game
To run ESWC, I had to set up a Windows XP virtual machine. Then just install the game as normal.
Auth stuff
ESWC's auth isn't like TMF one. Requests and responses don't use XML, but instead uses HTTP GET parameters and CSV-like responses. User-Agent is still set to GameBox.
The game connects to two servers : https://game.trackmanianations.com/ and http://ladder.trackmanianations.com/. The SSL certificates for these domains aren't valid anymore. To make the game connect to them (the servers are still alive), you have to use an HTTP(S) proxy like Fiddler (and allow it to accept bad certificates).
Requests stuff (game)
/patch/patch.php
Used to check for updates
Parameters
Param name | Description | Comment |
---|---|---|
key | XXXX-XXXX-XXXX-XXXX-XXX, where X is [A-Z0-9] | Looks like a product key, even tho the game is free |
game | the game to check for updates for | TmNationsESWC |
lang | user's defined language | en;fr;nl;zh_cn |
version | game version (current) | Latest is 1.8.0 |
osdesc | String showing used OS | Only present on 1.8.0; "Microsoft Windows XP(Service Pack 2)" for XP SP2 |
os | String showing used (not the same as osdesc) | Only present on < 1.8.0; "WinNt2kXp" for XP SP2. |
action | 0: Check
1: Download 3: ?? |
|
protocol | maybe protocol version (retro compatibility stuff?) | Seen 2 |
id_download | Download id? | Only present when action = 3; seems to be the same as in action = 1 response |
Response
For action 0 If up to date
0;0;<A string telling you it's up to date, in your language>
If not
0;<Size of update, in bytes>; <Message about the update>
For action 1
0;<Download ID>;<Server DNS name>;<subdir>;
(So url is <Server DNS name>/<subdir> For action 3
0
/online_game/autotest_connection.php
Used to check if the servers are still alive
Parameters
Param name | Description | Comment |
---|---|---|
ver | game version | Latest is 1.8.0 |
lang | user's defined language | en;fr;nl;zh_cn |
Response
Seems to always return
0;1;
/online_game/getladders.php
Used to get ladder server url
Parameters
Param name | Description | Comment |
---|---|---|
ver | game version | Latest is 1.8.0 |
lang | user's defined language | en;fr;nl;zh_cn |
Response
Seems to always return
0;1; <server dns name>;ladder;<HTTPS port>;<Server name>;<HTTP port>;
Ex (official servers)
0;1 ladder.trackmanianations.com;ladder;443;TrackMania Nations Ladder;80;