| Line 5: |
Line 5: |
| | == Running the game == | | == Running the game == |
| | | | |
| − | To run ESWC, I had to set up a Windows XP virtual machine. Then just install the game as normal.
| + | New methods have been found to run ESWC, which works on any Windows version and on wine. See [https://www.youtube.com/watch?v=LBa5LSH3Pqg This video]. For it to run in wine, Windows version has to be set to XP. |
| | | | |
| | == Auth stuff == | | == Auth stuff == |
| Line 13: |
Line 13: |
| | 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). | | 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) ===
| + | These parameters are always present (except for /patch/patch.php). |
| | | | |
| − | ==== /online_game/autotest_connection.php ==== | + | {| class="wikitable" |
| − | ''Used to check if the servers are still alive'' | + | ! Param name |
| | + | ! Description |
| | + | ! Comment |
| | + | |- |
| | + | | ver |
| | + | | game version |
| | + | | Latest is 0.1.8.0 |
| | + | |- |
| | + | | lang |
| | + | | user's defined language |
| | + | | en;fr;nl;zh_cn |
| | + | |} |
| | + | |
| | + | === Requests stuff (game.trackmanianations.com) === |
| | + | |
| | + | ==== /patch/patch.php ==== |
| | + | ''Used to check for updates - Defaults parameters not present!'' |
| | | | |
| | '''Parameters''' | | '''Parameters''' |
| Line 25: |
Line 41: |
| | ! Comment | | ! Comment |
| | |- | | |- |
| − | | ver | + | | key |
| − | | game version | + | | XXXX-XXXX-XXXX-XXXX-XXX, where X is [A-Z0-9] |
| − | | Latest is 1.8.0 | + | | Looks like a product key, even tho the game is free |
| | + | |- |
| | + | | game |
| | + | | the game to check for updates for |
| | + | | TmNationsESWC |
| | |- | | |- |
| | | lang | | | lang |
| | | user's defined language | | | user's defined language |
| | | en;fr;nl;zh_cn | | | en;fr;nl;zh_cn |
| | + | |- |
| | + | | version |
| | + | | game version (current) |
| | + | | Latest is 0.1.8.0 |
| | + | |- |
| | + | | osdesc |
| | + | | String showing used OS |
| | + | | Only present on >= 0.1.7.9; "Microsoft Windows XP(Service Pack 2)" for XP SP2 |
| | + | |- |
| | + | | os |
| | + | | String showing used (not the same as osdesc) |
| | + | | Only present on < 0.1.7.9; "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''' | | '''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''' |
| | + | |
| | + | No additional parameters. |
| | + | |
| | + | '''Response''' |
| | + | |
| | Seems to always return | | Seems to always return |
| | 0;1; | | 0;1; |
| | + | |
| | + | ==== /online_game/getladders.php ==== |
| | + | ''Used to get ladder server URL'' |
| | + | |
| | + | '''Parameters''' |
| | + | |
| | + | No additional parameters. |
| | + | |
| | + | '''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; |
| | + | |
| | + | === Requests stuff (ladder.trackmanianations.com) === |
| | + | |
| | + | ==== /ladder/getcountriesrankings.php ==== |
| | + | ''Used to get rankings of countries'' |
| | + | |
| | + | '''Parameters''' |
| | + | {| class="wikitable" |
| | + | ! Param name |
| | + | ! Description |
| | + | ! Comment |
| | + | |- |
| | + | | start |
| | + | | First rank to display |
| | + | | |
| | + | |- |
| | + | | limit |
| | + | | Number of ranks to display |
| | + | | |
| | + | |- |
| | + | | laddertype |
| | + | | type of ladder |
| | + | | Seen g, seems to be ignored by master. |
| | + | |} |
| | + | |
| | + | '''Response''' |
| | + | |
| | + | Seems to always return |
| | + | 0;<Number of countires>;[For each country: "<position>;<name>;<points>;"] |
| | + | |
| | + | Example: |
| | + | 0;4;1;FRA;16777215;2;NED;16777215;3;CZE;16777215;4;GER;16777215; |
| | + | |
| | + | The master sends <limit> number of countries at max, but set <number of countries> to the total number of countries, not the returned numbers. |