bcssov / IronyModManager

Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV
https://bcssov.github.io/IronyModManager/
MIT License
350 stars 41 forks source link

Cannot actually load dlc and mod in Linux #467

Closed CicadaSeventeen closed 11 months ago

CicadaSeventeen commented 12 months ago

Describe the bug In Linux using IronyModManager, after enabling dlcs and selecting mods and then start game (crusader king 3) , none of them actually loaded.

Noting that I am using flatpak version of steam.

To Reproduce Steps to reproduce the behavior:

  1. Install steam by flatpak
  2. Install Crusader Kings III
  3. Find the path of game in IronyModManager and add the path and binary
  4. Enable dlcs, select mods
  5. Start game

Log

[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API FAIL] SteamAPI_Init() failed

Seems that Flatpak version of steam's api is not detectable.

Expected behavior Mods and DLCs enabled

Version:

bcssov commented 12 months ago

I officially don't support unofficial steam distributions. To ensure steam is running I run the steam protocol command steam://open:main. Not sure if here is where the problem lies or it is down to steam_api library which is not compatible with flatpack. It is hard to determine where the cause could be in the 2 lines of log you shared.

Either way you can tweak many Irony features in regards to how it handles steam: https://github.com/bcssov/IronyModManager/blob/9edbd38310ead9b469a44b09cd87932196bca67b/src/IronyModManager/appSettings.json#L22-L26

  1. UseLegacyLaunchMethod: turning this on switches Irony back to old steam handling without using steam_api library and only checking whether a steam process is spawned.
  2. UseGameHandler: turning this on ensures that Irony uses a separate process to handle steam. It's a fix due how steam will with direct steam integration think Irony is the game process.
  3. GameHandlerPath: this allows you to replace game handler and the Irony logic in how it launches steam and checks whether steam is running via your own external application. Full or relative paths are supported. In the end you might explore this option I guess if all else fails for you.
  4. InstallLocationOverride: for non official distributions allows you to override where Irony "sees" steam installation. Unrelated to previous 3 options.

Now as for DLCs missing. This is because you need to login via paradox launcher 1st time and subsequently via steam periodically for the steam to validate your DLCs. I am unsure how paradox handles these for steam fully though.

Missing mods is:

  1. Due to incorrect data directory configuration in Irony options. The expected path is documents\paradox interactive\[game]. Some people point to an additional path like mods ie documents\paradox interactive\crusader kings iii\mods which is incorrect.
  2. Irony could not be detecting mods in that case you might be interested in the InstallLocationOverride configuration option.
github-actions[bot] commented 11 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

CicadaSeventeen commented 11 months ago

Fine. The DLC problem could because in flatpak version there is no steam-api available outside flatpak. I install steam by .deb and then suck problem disappear.

For mod problem still exist after I use .deb version of steam. It could because the CK3 game is at ~/.var/com.va... so that I failed to make the correct directory. I remove everything in steam directory in ~/.var which is used by flatpak and reinstall the game and that is ok.

BTW, paradox launcher is broken (unusable because it exit/crash when it opens so there is no time to do any configuration) after version 2023.14 . Now the launcher version when game firstly installed is 2023.11 so that the launcher is able to work for the first time, but I am afraid that as time goes by the reinstalled launcher version will be 2023.14 and so that even 1st time of running paradox launcher is unavailable in future.

bcssov commented 11 months ago

Sounds like you resolved your problems with Irony.

Fine. The DLC problem could because in flatpak version there is no steam-api available outside flatpak. I install steam by .deb and then suck problem disappear.

I guess that's an option too.

For mod problem still exist after I use .deb version of steam. It could because the CK3 game is at ~/.var/com.va... so that I failed to make the correct directory. I remove everything in steam directory in ~/.var which is used by flatpak and reinstall the game and that is ok.

Mod problem probably was because Irony did not see this new steam library. You probably needed to register the steam library in official steam installation.

BTW, paradox launcher is broken (unusable because it exit/crash when it opens so there is no time to do any configuration) after version 2023.14 . Now the launcher version when game firstly installed is 2023.11 so that the launcher is able to work for the first time, but I am afraid that as time goes by the reinstalled launcher version will be 2023.14 and so that even 1st time of running paradox launcher is unavailable in future.

That is not something I can help with. Paradox launcher needs to perform authentication, it's not like paradox has an official API documentation that anyone can tap into. It's not public and anyone tapping into it would probably get on their bad side. This thread mentions some workarounds to prevent paradox launcher from updating: https://forum.paradoxplaza.com/forum/threads/newest-paradox-launcher-version-2023-14-no-longer-starts-on-win7.1605714/ Though I strongly suggest you report your paradox launcher issue to paradox itself.

github-actions[bot] commented 11 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.