Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
7.62k stars 413 forks source link

Can't update grouped game + extensions #1692

Open cheligon opened 1 year ago

cheligon commented 1 year ago

Hi, I am using Heroic to play Civilization VI with extensions on linux mint. As an EPIC game, it is taken care by legendary. At some point I grouped the game with the extensions in the heroic panel and now I can only update the main game, not the extensions. Out of 13 updates, 1 was updated (main game) and the 12 other are not getting updated it seems... See logs below. Is there a command line to do it while this is getting fixed in the GUI?

(09:27:33) DEBUG:   [Legendary]:       Running Legendary command: /tmp/.mount_Heroict7kpDG/resources/app.asar.unpacked/build/bin/linux/legendary --version
(09:27:34) INFO:    [Legendary]:       Legendary location: /tmp/.mount_Heroict7kpDG/resources/app.asar.unpacked/build/bin/linux/legendary
(09:27:34) INFO:    [Gog]:             GOGDL location: /tmp/.mount_Heroict7kpDG/resources/app.asar.unpacked/build/bin/linux/gogdl
(09:27:34) INFO:    [Backend]:         

Heroic Version: 2.3.10 Brook
Legendary Version:  0.20.27 Dark Energy (hotfix)
OS: LinuxMint KERNEL: 5.15.0-43-generic ARCH: x64
CPU: Intel Core™ i7-8750H @2.2 GOVERNOR: powersave
RAM: Total: 31.12 GiB Available: 29.45 GiB
GRAPHICS: GPU0: CoffeeLake-H GT2 [UHD Graphics 630]  VRAM: 256MB DRIVER:  GPU1: Quadro P1000 VRAM: 4096MB DRIVER: 515.65.01 
PROTOCOL: x11

Checking for update
(09:27:34) WARNING: [Backend]:         Failed to register protocol with OS.
[5933:0810/092734.588500:ERROR:browser_main_loop.cc(271)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
[5933:0810/092734.588552:ERROR:browser_main_loop.cc(271)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
[5933:0810/092734.588592:ERROR:browser_main_loop.cc(271)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
(09:27:35) INFO:    [Frontend]:        Refreshing Library
(09:27:35) INFO:    [Legendary]:       Refreshing library...
(09:27:35) INFO:    [Legendary]:       Refreshing Epic Games...
(09:27:35) DEBUG:   [Legendary]:       Running Legendary command: /tmp/.mount_Heroict7kpDG/resources/app.asar.unpacked/build/bin/linux/legendary list
Update for version 2.3.10 is not available (latest version: 2.3.10, downgrade is disallowed).
(09:27:37) INFO:    [Legendary]:       Updating game list
(09:27:37) INFO:    [Legendary]:       Game List Updated
(09:27:37) INFO:    [Legendary]:       Checking for game updates: /tmp/.mount_Heroict7kpDG/resources/app.asar.unpacked/build/bin/linux/legendary list-installed --check-updates --tsv
(09:27:37) DEBUG:   [Legendary]:       Running Legendary command: /tmp/.mount_Heroict7kpDG/resources/app.asar.unpacked/build/bin/linux/legendary list-installed --check-updates --tsv
(09:27:37) INFO:    [Backend]:         Downloaded Winetricks
(09:27:43) INFO:    [Legendary]:       Found 12 game(s) to update
(09:27:43) INFO:    [Gog]:             Found 0 game(s) to update
Nocccer commented 1 year ago

You can try to run legendary and see if it updates everything. If not we should ask rodney, the maintainer of legendary. path/to/legendary update <app_name>

Looks like you using the appimage. I think you need to open heroic and get the tmp path to unpacked legendary. The path that heroic reports in the log on startup of heroic, e.g.: /tmp/.mount_Heroict7kpDG/resources/app.asar.unpacked/build/bin/linux/legendary

You will get the app_name from the logs, if you start the game via heroic.

I don't know what you mean with grouped? I never saw that you can group games into one on heroic?

cheligon commented 1 year ago

@Nocccer Thank you for your swift reply

I ran:

/tmp/.mount_HeroicNnCZrk/resources/app.asar.unpacked/build/bin/linux$ ./legendary update SidMeiersCivilizationVI
[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Preparing download for "Sid Meier's Civilization VI" (Kinglet)...
[Core] INFO: Parsing game manifest...
[Core] INFO: Install path: /home/chris/Games/Heroic/SidMeiersCivilizationVI
[Core] INFO: Selected CDN: download.epicgames.com (https)
[Core] INFO: Launch exe will be changed from "2KLauncher/LauncherPatcher.exe" to "Base/Binaries/Win64EOS/CivilizationVI.exe" for compatibility
[cli] INFO: Download size is 0, the game is either already up to date or has not changed. Exiting...

or

/tmp/.mount_HeroicNnCZrk/resources/app.asar.unpacked/build/bin/linux$ ./legendary update Kinglet --with-dlcs
[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Preparing download for "Sid Meier's Civilization VI" (Kinglet)...
[Core] INFO: Parsing game manifest...
[Core] INFO: Install path: /home/chris/Games/Heroic/SidMeiersCivilizationVI
[Core] INFO: Selected CDN: epicgames-download1.akamaized.net (https)
[Core] INFO: Launch exe will be changed from "2KLauncher/LauncherPatcher.exe" to "Base/Binaries/Win64EOS/CivilizationVI.exe" for compatibility
[cli] INFO: Download size is 0, the game is either already up to date or has not changed. Exiting...

witth same, no update, outcome as you can see. I am wondering if the issue is the Civ6 extensions update per se or the update of the dlcs/extensions status in Legendary/Heroic... Do not know. The game seems to run smoothly but the Legendary/Heroic startup log still indicates 12 updates pending...

Regarding the grouping, I have been asked after installing Civ6 and all its dlcs if I wanted to regroup them as 1 game in the Heroic panel and I said yes. Since then, I have only 1 icon and can't figure out a way to undo it. In a way it is fine, but I'd like a way to update the dlcs if needed and could not find a way to do that.

Nocccer commented 1 year ago

Ok i assume that the extensions have own app_names, so on each extension update needs to be called. So we need to fix this in heroic.

As workaround you could check ~/.config/heroic/GamesConfig. All json files and the names of those, represent an app_name. Maybe you find the app_names for all extensions and run legendary update manually for each one.

Else you can also look through ~/.config/heroic/store/library.json for the app_names, but this contains all owned games.

cheligon commented 1 year ago

I found 3 games in that folder:

cfee198753534454a10fed0d8b7a0ac7.json
ec257fca003b4676bac3e48f587ca7bd.json
Kinglet.json
Kinglet.log
cfee198753534454a10fed0d8b7a0ac7.log
ec257fca003b4676bac3e48f587ca7bd.log
Kinglet-lastPlay.log

cfeee... is Civilization VI : Maya & Gran Colombia Pack ec257... is Civilization VI - Ethiopia Pack Kinglet is Civilization VI + 17 extensions (DLCs) and I found the appname for each DLCs in the Kinglet.log:

[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Preparing download for "Sid Meier's Civilization VI" (Kinglet)...
[Core] INFO: Parsing game manifest...
[Core] INFO: Install path: /home/chris/Games/Heroic/SidMeiersCivilizationVI
[Core] INFO: Selected CDN: epicgames-download1.akamaized.net (https)
[Core] INFO: Launch exe will be changed from "2KLauncher/LauncherPatcher.exe" to "Base/Binaries/Win64EOS/CivilizationVI.exe" for compat
ibility
[cli] INFO: Install size: 13891.15 MiB
[cli] INFO: Download size: 1.69 MiB (Compression savings: 57.8%)
[cli] INFO: Reusable size: 0.00 MiB (chunks) / 13888.11 MiB (unchanged / skipped)
[cli] INFO: Downloads are resumable, you can interrupt the download with CTRL-C and resume it using the same command later on.

This game may have compatibility issues or require additional setup, see: https://github.com/derrod/legendary/wiki/Civilization-VI

[DLManager] INFO: Download Manager running with process-id: 6842
[DLManager] INFO: Starting download workers...
[DLManager] INFO: Starting file writing worker...
[DLManager] INFO: = Progress: 0.00% (0/4), Running for 00:00:00, ETA: 00:00:00
[DLManager] INFO:  - Downloaded: 0.00 MiB, Written: 0.00 MiB
[DLManager] INFO:  - Cache usage: 4.00 MiB, active tasks: 4
[DLManager] INFO:  + Download   - 0.00 MiB/s (raw) / 0.00 MiB/s (decompressed)
[DLManager] INFO:  + Disk       - 0.00 MiB/s (write) / 0.00 MiB/s (read)
[DLManager] INFO: = Progress: 0.00% (0/4), Running for 00:00:00, ETA: 00:00:00
[DLManager] INFO:  - Downloaded: 0.34 MiB, Written: 0.00 MiB
[DLManager] INFO:  - Cache usage: 4.00 MiB, active tasks: 3
[DLManager] INFO:  + Download   - 0.34 MiB/s (raw) / 1.00 MiB/s (decompressed)
[DLManager] INFO:  + Disk       - 0.00 MiB/s (write) / 0.00 MiB/s (read)
[DLManager] INFO: = Progress: 100.00% (4/4), Running for 00:00:02, ETA: 00:00:00
[DLManager] INFO:  - Downloaded: 1.69 MiB, Written: 3.06 MiB
[DLManager] INFO:  - Cache usage: 0.00 MiB, active tasks: 0
[DLManager] INFO:  + Download   - 1.34 MiB/s (raw) / 2.99 MiB/s (decompressed)
[DLManager] INFO:  + Disk       - 3.06 MiB/s (write) / 0.00 MiB/s (read)
[DLManager] INFO: Waiting for installation to finish...
[DLManager] INFO: All done! Download manager quitting...
[cli] INFO: Install candidate is DLC
[cli] INFO: Preparing download for "Civilization VI Vietnam & Kublai Khan Pack" (0ff8af65e23042ceada58fe101ec3c6f)...
[Core] INFO: Parsing game manifest...
[Core] INFO: Install path: /home/chris/Games/Heroic/SidMeiersCivilizationVI
[Core] INFO: Selected CDN: download.epicgames.com (https)
[cli] INFO: Download size is 0, the game is either already up to date or has not changed. Exiting...

The following DLCs are available for this game:
 - Civilization VI Vietnam & Kublai Khan Pack (App name: 0ff8af65e23042ceada58fe101ec3c6f, version: 1.0.12.564030p_rtm)
 - Civilization VI : Teddy Roosevelt DLC (App name: 33b09ca390f044c2b096a65a30c2d77d, version: 1.0.12.564030p_rtm)
 - Civilization VI – Portugal Pack (App name: 3d3fc3336e9b4edc90df075b9fdeb82e, version: 1.0.12.564030p_rtm)
 - Civilization VI : Babylon Pack (App name: 629e4fcb89424bb485e22ec12bee979a, version: 1.0.12.564030p_rtm)
 - Civilization VI : Byzantium & Gaul Pack (App name: 73949c25fbe2427c9ee7a4732284d409, version: 1.0.12.564030p_rtm)
 - Civilization VI : Catherine De Medici DLC (App name: 7c3aaed36b50400fb1eeba1998f9f784, version: 1.0.12.564030p_rtm)
 - Civilization VI : Australia Civilization & Scenario Pack (App name: KingletAustralia, version: 1.0.12.564030p_rtm)
 - Civilization VI : Aztec DLC (App name: KingletAztec, version: 1.0.12.564030p_rtm)
 - Civilization VI : Gathering Storm (App name: KingletGatheringStorm, version: 1.0.12.564030p_rtm)
 - Civilization VI : Khmer and Indonesia Civilization & Scenario Pack (App name: KingletKhmerIndonesia, version: 1.0.12.564030p_rtm)
 - Civilization VI : Nubia Civilization & Scenario Pack (App name: KingletNubia, version: 1.0.12.564030p_rtm)
 - Civilization VI : Persia and Macedon Civilization & Scenario Pack (App name: KingletPersiaMacedon, version: 1.0.12.564030p_rtm)
 - Civilization VI : Poland Civilization & Scenario Pack (App name: KingletPoland, version: 1.0.12.564030p_rtm)
 - Civilization VI : Rise and Fall (App name: KingletRiseAndFall, version: 1.0.12.564030p_rtm)
 - Civilization VI : Vikings Scenario Pack (App name: KingletVikingsScenario, version: 1.0.12.564030p_rtm)
 - Civilization VI : Maya & Gran Colombia Pack (App name: cfee198753534454a10fed0d8b7a0ac7, version: 1.0.12.564030p_rtm)
 - Civilization VI - Ethiopia Pack (App name: ec257fca003b4676bac3e48f587ca7bd, version: 1.0.12.564030p_rtm)

You can manually install these later by running this command with the DLC's app name.

I ran:

./legendary update *App_name*

4/17 were updated the others were up to date.

After launching Heroic-2.3.10.AppImage again, I still have 12 games to update in the log:

(23:22:58) INFO:    [Legendary]:       Legendary location: /tmp/.mount_HeroicyC7Ww7/resources/app.asar.unpacked/build/bin/linux/legendary
(23:22:58) INFO:    [Gog]:             GOGDL location: /tmp/.mount_HeroicyC7Ww7/resources/app.asar.unpacked/build/bin/linux/gogdl
(23:22:58) INFO:    [Backend]:         

Heroic Version: 2.3.10 Brook
Legendary Version:  0.20.27 Dark Energy (hotfix)
OS: LinuxMint KERNEL: 5.15.0-43-generic ARCH: x64
CPU: Intel Core™ i7-8750H @2.2 GOVERNOR: powersave
RAM: Total: 31.12 GiB Available: 28.34 GiB
GRAPHICS: GPU0: CoffeeLake-H GT2 [UHD Graphics 630]  VRAM: 256MB DRIVER:  GPU1: Quadro P1000 VRAM: 4096MB DRIVER: 515.65.01 
PROTOCOL: x11

Checking for update
(23:22:58) WARNING: [Backend]:         Failed to register protocol with OS.
[70719:0811/232258.335347:ERROR:browser_main_loop.cc(271)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
[70719:0811/232258.335403:ERROR:browser_main_loop.cc(271)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
[70719:0811/232258.335447:ERROR:browser_main_loop.cc(271)] Gtk: gtk_widget_add_accelerator: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
(23:22:59) INFO:    [Frontend]:        Refreshing Library
(23:22:59) INFO:    [Legendary]:       Refreshing library...
(23:22:59) INFO:    [Legendary]:       Refreshing Epic Games...
(23:22:59) DEBUG:   [Legendary]:       Running Legendary command: /tmp/.mount_HeroicyC7Ww7/resources/app.asar.unpacked/build/bin/linux/legendary list
Found version 2.4.0 (url: Heroic-2.4.0.AppImage)
(23:23:00) INFO:    [Legendary]:       Updating game list
(23:23:00) INFO:    [Legendary]:       Game List Updated
(23:23:00) INFO:    [Legendary]:       Checking for game updates: /tmp/.mount_HeroicyC7Ww7/resources/app.asar.unpacked/build/bin/linux/legendary list-installed --check-updates --tsv
(23:23:00) DEBUG:   [Legendary]:       Running Legendary command: /tmp/.mount_HeroicyC7Ww7/resources/app.asar.unpacked/build/bin/linux/legendary list-installed --check-updates --tsv
(23:23:01) INFO:    [Backend]:         Downloaded Winetricks
(23:23:02) INFO:    [Legendary]:       Found 12 game(s) to update
(23:23:02) INFO:    [Gog]:             Found 0 game(s) to update

Yet the game works fine.

Did not move yet to Heroic version 2.4.0

cheligon commented 1 year ago

Just to let you know, I upgraded to Heroic 2.4.0 and the update issue remains.