Skip to content

Detect Star Citizen installs on any drive and in custom library folders - #7

Merged
ckuma merged 1 commit into
mainfrom
feat/detect-custom-install-paths
Jun 17, 2026
Merged

Detect Star Citizen installs on any drive and in custom library folders#7
ckuma merged 1 commit into
mainfrom
feat/detect-custom-install-paths

Conversation

@ckuma

@ckuma ckuma commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Problem

get_default_paths() only scanned drives C-F for the fixed layout …\Roberts Space Industries\StarCitizen. An install on another drive, or in a custom library folder, was never found — the app showed "No installations found" and the user had to browse manually.

Example that failed: G:\Games\StarCitizen\LIVE (drive G isn''t scanned, and Games\StarCitizen isn''t the expected folder name).

Changes

  • Scan every fixed drive, not just C-F.
  • Cover common custom roots: Games\Roberts Space Industries\StarCitizen, Games\StarCitizen, bare StarCitizen, in addition to the existing two.
  • Read the authoritative path from the RSI Launcher log (%APPDATA%\rsilauncher\logs\log.log), which records the real library folder the user chose, e.g. … Installing Star Citizen LIVE … at G:\Games\StarCitizen. This is the only reliable way to find a fully custom library folder. (The launcher''s own settings store is encrypted, and the path is not in the registry, so the log is the practical source.)
  • Every candidate is still verified against …\<ENV>\logbackups on disk before being offered, so stale log entries (old/moved installs) are dropped automatically.

Verification

On a machine with the game at G:\Games\StarCitizen\LIVE (drives C/F/G), get_default_paths() now returns:

{ "LIVE (G:)": "G:\\Games\\StarCitizen\\LIVE\\logbackups" }

The stale C:\Program Files\… entry parsed from the log is correctly discarded (folder no longer exists). ruff check and pyright both pass.

Notes

  • Windows-only enhancement; Linux/macOS detection is unchanged.
  • The equivalent C# app still uses the old C-F logic — happy to port this there in a follow-up if wanted.

get_default_paths() previously scanned only drives C-F for the fixed
"Roberts Space Industries\StarCitizen" layout, so an install on another
drive or in a custom library folder (e.g. G:\Games\StarCitizen) was never
found and the app reported "No installations found".

- Scan every fixed drive, not just C-F.
- Cover common custom roots (Games\StarCitizen, bare StarCitizen, etc.).
- Read the authoritative install path from the RSI Launcher log
  (%APPDATA%\rsilauncher\logs\log.log), which records the real library
  folder the user picked in the launcher. All candidates are still
  verified against logbackups on disk before being offered.
@ckuma
ckuma merged commit a314727 into main Jun 17, 2026
5 checks passed
@ckuma
ckuma deleted the feat/detect-custom-install-paths branch June 17, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant