FR EN ES PT
Browse forums 
Ankama Trackers

Ankama launcher almost always triggers a full game download instead of an incremental update.

By aeriea - MEMBER - November 15, 2019, 20:47:53

Ankama launcher almost always triggers a full game download instead of incremental update.

Spoiler (click here to show spoiler)

2019-11-15T19:04:59.209Z - info: [UPDATE RELEASE] update Size 1326462887
2019-11-15T19:04:59.209Z - info: [UPDATE] computed total update size 1326462887
2019-11-15T19:04:59.213Z - info: [DOWNLOAD] main - concurrency = 6
2019-11-15T19:05:02.629Z - debug: [GAME_CONFIG] New configuration wakfu beta

Which is probably caused by this timeout:

Spoiler (click here to show spoiler)

info: [REPOSITORY] network timeout at https://ankama.akamaized.net/zaap/cytrus/wakfu/releases/beta/linux/5.0_1.66.0.173983.13.json #1 FetchError: network timeout at: https://ankama.akamaized.net/zaap/cytrus/wakfu/releases/beta/linux/5.0_1.66.0.173983.13.json
    at Timeout._onTimeout (/tmp/.mount_AnkamaeuuF8b/resources/app.asar/node_modules/electron-fetch/lib/index.js:1338:16)
    at listOnTimeout (internal/timers.js:531:17)
    at processTimers (internal/timers.js:475:7)

this is a 972K json

1. the thing is not transparently gziped:

Spoiler (click here to show spoiler)

HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: application/json
ETag: "c69b91e34ff41704570da2dd7b63a36b:1573833222"
Last-Modified: Fri, 15 Nov 2019 15:53:42 GMT
Server: AkamaiNetStorage
Content-Length: 995087
Date: Fri, 15 Nov 2019 19:23:09 GMT
Connection: keep-alive
i think fixing it could be a "quick win":
- it is easy, it may be done on termination/reverse proxy (nginx or apache)
- it would mean transmission of 325K data instead of uncompressed 972K
- since Ankama Launcher is an Electron app it would transparently uncompress it - no dev needed, only regression testing

2. it has a lot of unecessary data:

Spoiler (click here to show spoiler)

$ for part in `cat 5.0_1.66.0.173983.13.json |jq 'to_entries[] | .key' -r`;do echo "$part size: `cat 5.0_1.66.0.173983.13.json |jq \".$part\" -c |wc -c`";done
configuration size: 87
darwin size: 227504
jre_win32_x64 size: 27038
jre_win32_x86 size: 26986
linux_x64 size: 85830
linux_x86 size: 82134
main size: 377729
win32_x64 size: 83860
win32_x86 size: 83806
$ wc -c 5.0_1.66.0.173983.13.json
995087 5.0_1.66.0.173983.13.json
for linux_x64 i should need only 87+85830+377729=463646, not close to 1M

3. you should probably bump the timeout, and maybe even add a retry

Spoiler (click here to show spoiler)

2019-11-15T19:04:53.069Z - debug: [REPOSITORY] fetch request: /wakfu/releases/beta/linux/5.0_1.66.0.173983.13.json
2019-11-15T19:04:53.069Z - debug: [REPOSITORY] request: /wakfu/releases/beta/linux/5.0_1.66.0.173983.13.json
...
2019-11-15T19:04:55.073Z - info: [REPOSITORY] network timeout at https://ankama.akamaized.net/zaap/cytrus/wakfu/releases/beta/linux/5.0_1.66.0.173983.13.json #1 FetchError: network timeout at: https://ankama.akamaized.net/zaap/cytrus/wakfu/releases/beta/linux/5.0_1.66.0.173983.13.json
    at Timeout._onTimeout (/tmp/.mount_AnkamaeuuF8b/resources/app.asar/node_modules/electron-fetch/lib/index.js:1338:16)
    at listOnTimeout (internal/timers.js:531:17)
    at processTimers (internal/timers.js:475:7)

2s for downloading 1M file requires at least 5Mbps bandwidth.
Many users don't have that type of connection and end up downloading full 1G+ of data (instead of deltas) over a slow link.
2 0
Reply
Reactions 1
Score : 4844

Launcher Devs! This is one of the main problem with the launcher at the moment. Report it here as well. : https://www.ankama.com/en/forum/6-ankama-launcher

1 0
Reply
Respond to this thread