Launcher | Launcher does not read installed game version from version.txt
Confirmed task for development, Release BlockerPublic

Description

The launcher stores the installed game version in its cache, which leads to several bugs:

  • Updating to a different version and immediately closing and restarting the launcher makes it think it's on the new version.
  • The launcher is not aware of Steam game updates
  • The launcher cannot read the version of different game installs
  • The launcher does not know the installed game version if the user clears its cache

This absolutely must be fixed prior to the next launcher update.

Edge-cases:

  • version.txt malformed
  • version.txt missing
  • fresh install (no version.txt, no StarMade.jar)

Details

Commits
Restricted Diffusion Commit
Task Type
Task
Testing Results
Affected Gamemode(s)
Launcher
Reproducible
Yes
Last tested (version)
2.1.0 (build 907fae7) v169
Category
Launcher
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
Steps to reproduce
  1. Start launcher
  2. Change game version to x.y.z
  3. Click [UPDATE]
  4. Close launcher immediately
  5. Re-open launcher
  6. Launcher states "You are up to date for x.y.z" and allows you to click [LAUNCH]

or

  1. Wait for Steam to update StarMade
  2. Open the launcher
  3. Launcher shows you have a previous version of StarMade installed
  4. The game's version.txt indicates otherwise.

or

  1. Open the launcher
  2. Install the game
  3. Change your install location to somewhere else
  4. Change the version
  5. Install the new version elsewhere
  6. Switch back to the first install
  7. Displayed version does not change to reflect the first install
  8. Restart the launcher; displayed version still does not reflect it.
Serverconfig (server.cfg)
<replace this line with the file content>
Clientconfig (settings.cfg)
<replace this line with the file content>
calani created this task.Sep 1 2016, 1:05 AM
Restricted Application added a subscriber: AndyP. · View Herald TranscriptSep 1 2016, 1:05 AM
calani changed the task status from "In Queue (Launcher)" to "Resolved" by committing Restricted Diffusion Commit.Sep 10 2016, 2:50 AM
Restricted Application edited projects, added Quality Assurance; removed Launcher Development. · View Herald TranscriptSep 10 2016, 2:50 AM
lancake changed the task status from "Resolved" to "In Queue (Game)".EditedSep 26 2016, 3:24 PM
lancake added a subscriber: lancake.

-QA Testing-

  • Interrupting the launcher during the first stages of update and then restarting the game still shows the correct installed version -> Works

  • Switching installations that have different versions has as far as I can see at least 2 remaining issues.

Good news is that restarting the launcher does make the launcher see the correct version of the current installation directory.

For simplicity, I'll be calling the mentioned installations with letters /Starmade a /Starmade b and /Starmade c
a: 0.199.214
b: 0.199.217
c: 0.199.234

Issue 1:

  • The launcher seems to be stuck with the version when you first boot the launcher up. If you had version a as installation directory, the launcher will always think it's that version you have when switching to b or c.

In order to reproduce this without any inconsistencies, you have to have a different version selected from a,b and c in your Build Version box or you'll also see behavior appear from Issue 2.

Provided you have a version d selected, when switching to b or c, you'll notice that only selecting a in the checkbox will appear as launch. Selecting the version that should be installed in your selected installation directory will appear as Update

Issue 2:

  • If you have the version selected in your Build Version, switching to an installation directory with that exact version will make the launch button appear as launch. When you switch Build Version again and then go back to the previous one, it will appear as Update again.

Makes me think that the launcher does recognize the version of the new installation directory but that the value being used to compare after switching builds is still using the 1st version.txt it ever saw which was on booting up the launcher.
Could be wrong though.

Restricted Application edited projects, added Game Development; removed Quality Assurance. · View Herald TranscriptSep 26 2016, 3:24 PM
lancake changed Last tested (version) from 2.1.0 to 2.1.0 (build 907fae7) v169.Sep 26 2016, 3:30 PM
lancake edited Serverconfig (server.cfg). (Show Details)
lancake edited Clientconfig (settings.cfg). (Show Details)
schema changed the task status from "In Queue (Game)" to "In Queue (Launcher)".Mar 9 2017, 4:25 PM
Restricted Application edited projects, added Launcher Development; removed Game Development. · View Herald TranscriptMar 9 2017, 4:25 PM
AndyP changed the task status from "In Queue (Launcher)" to "In Queue".Mar 10 2017, 5:04 PM