I’ve done a little testing and have a question/suggestion and also seeing a bug or two.
There appears to be two bugs in the current Update Function. Unlike the Repair function it is replacing (downloading) all the files in the manifest whether they are different or not. The repair function will only replace files that are missing are different size/hash. Also the update function doesn’t seem to finish properly, at the last file the status goes “Idle” but the last file downloaded from the manifest remains listed above that and the primary button stays a grey’d out “Updating”. You have to close the launcher and restart it to be able to attempt to launch again. I’m guessing that Update should act much like Repair in that it only updates the files that don’t match manifest.
As for my questions…
- Is the only way to trigger the Repair mode having the application fail to start? Is it possible the launcher could think the game is working/ok but really its crashing, and the user would like to be able to try a repair? I thought I saw in a screenshot there was a “verify install” button over the Primary one, but I’ve not seen this, has this been removed or changed or only appear under a certain case?
- Does the manifest get checked (or fetched and then checked) every time the launcher starts, or just when the GameVersion doesn’t not equal the servers version? It appears only when GameVersion changes but I’m not 100% certain.
As for the suggestion…
- Something I think would be useful is having one more level of directory nesting based on the Game listed in the configuration, that way one ftp server could provide the binaries for a teams multiple game projects simply by modifying that field. (/srv/ftp/game/<GameName>/<platform>/…) as example.
Great work, it was very straight forward to get setup and even with the update issues its going to be a great benefit to pushing out test builds.