Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Update Mod Organizer to 2.5.0 #1110

Open
AtomHare opened this issue May 18, 2024 · 12 comments
Open

[Feature Request] Update Mod Organizer to 2.5.0 #1110

AtomHare opened this issue May 18, 2024 · 12 comments
Labels
enhancement New feature or request ModOrganizer 2 Issues related to installing or using ModOrganizer 2 with SteamTinkerLaunch Needs Retest Issues that need feedback after a change/discussion, or with a newer version

Comments

@AtomHare
Copy link

System Information

  • SteamTinkerLaunch version: git (master)
  • Distribution: SteamOS

Feature Description

Now that proton 9.0 is stable, I think it could be interesting to update the version of Mod Organizer 2 from 2.4.4 to the 2.5.0 release.

I'd like to implement this in a PR. I wanted to discuss before about the modification. Should we keep the MO2 version hardcoded to the latest known working version ? In this case, we keep the hardcoded strategy and modify it to use the version 2.5.0.
Or do we uncomment the previous code and comment the hardcoded one to always pull the latest MO2 version ?

@AtomHare AtomHare added the enhancement New feature or request label May 18, 2024
@sonic2kk
Copy link
Owner

sonic2kk commented May 18, 2024

Hey, thanks for opening an issue about this!

Does MO2 work with Proton 9.0? It looks like Valve include the upstream Wine patch in their rebase (ValveSoftware/wine@3448a84) and it does appear to have the proton-9.0-1 tag, but I understand there were significant changes to MO2 in v2.5.0 -- Does all of STL's integration (writing to config files, etc) all still work?

Apart from that, I think pinning to a known working version is a good idea. We should've did this before imo but MO2 never really got any updates so I assume that when this was implemented at the time it wasn't considered a priority.

However, I think in future we could make this configurable on the Global Menu. But before we delve into that, simply bumping to MO2 2.5.0 should be fine. This is something we can do in steps I think :-)

If you've gotten this far you might already be a step ahead, but just for clarity, this change should just be a case of bumping the STL PROGVERS and then changing the MO2SETUP variable to be Mod.Organizer-2.4.4.exeMod.Organizer-2.5.0.exe (or whatever their release EXE is named). If there has been a point release since then that you've verified works, like 2.5.1, feel free to point to that instead.


If you can confirm that MO2 v2.5.0 works, in terms of running and in terms of being able to successfully mod a game, then please note it here (for transparency) and you can absolutely open a PR for this 😄

Thanks!

@sonic2kk sonic2kk added the ModOrganizer 2 Issues related to installing or using ModOrganizer 2 with SteamTinkerLaunch label May 18, 2024
@AtomHare
Copy link
Author

AtomHare commented May 18, 2024

Does MO2 work with Proton 9.0?

I haven't tested personally (when I initially wrote my answer but read below) but it should run, according to the latest update of the project modorganizer2-linux-installer (See rockerbacon/modorganizer2-linux-installer#633)

Does all of STL's integration (writing to config files, etc) all still work?

Here is what I tried with a quick dirty edit of the stl bash script :

  • 1st attempt: STL defaulted to proton-8.0.5c even though the game default to proton-9.0-1 (and is installed on my system, not sure if it's a misconfiguration on my end or not) thus causing my first installation to fail. NOTE: Could it be because the Proton 9 folder still is named Proton 9.0 (Beta) ?
  • 2nd attempt: Edited the STL game settings (Game Menu) to use proton-9.0-1 and removed the "installed" MO2 of the first attempt > Installation went well and Mod Organizer 2 launch with the usual setup process and goes to main screen 🎉

Here what's working:

  • Installation*, STL needs to use the latest proton 9.0 if installed else it will fail and provide a borked installation even if switching later
  • Connecting to Nexus Mods works the usual way
  • NXM links support (1-click installs) - works, downloaded: Updated Unofficial Fallout 3 Patch
  • Launch the unmodded game through MO2 - it would try to launch the game but nothing happened?, might be related to Fallout 3 ? (Weird since it launch normally through proton 9.0)
  • Other tests I missed ?

I don't know why MO2 doesn't manage to launch Fallout 3 goty even unmodded. I will need to try with another game. Otherwise, I think I can say that STL's integration still work for what I tested above ! Feel free to tell me if you want me to try other features of MO2.


Note: All the testing was done on the latest stable version of Steam OS, on a local installation of MO2 in the Fallout 3 GOTY prefix.

I couldn't test the silent MO2 launch since the user interface didn't make it yet


After some thinking, at a later stage it could be nice for advanced users to be able to provide a custom MO2.exe. Recently I came across the specialized Fallout MO2 edit (See https://www.nexusmods.com/site/mods/874)

Sorry, something went wrong.

@sonic2kk
Copy link
Owner

sonic2kk commented May 18, 2024

Sounds like mostly good news here apart from a bit of weirdness with launching the game.

STL defaulted to proton-8.0.5c even though the game default to proton-9.0-1

I'm not sure why the game Proton version matters here for installing MO2, maybe you didn't set the MO2 Proton version in the Global Menu? Standalone Mode will use the MO2 Proton version (can be adjusted on the Global Menu) and Game Mode launches will run with the Per-Game Proton version. But maybe I picked you up wrong.

Note that this is referring to SteamTinkerLaunch ModOrganizer 2 Standalone Mode and Game Mode, named long before SteamOS cursed this project :-)

It could be that there was a Proton version mismatch that got resolved to 8.0 instead of 9.0 at first.

Installation went well and Mod Organizer 2 launch with the usual setup process and goes to main screen 🎉

Awesome news!! It sounds like one hurdle is out of the way at least.

Launch the unmodded game through MO2 - it would try to launch the game but nothing happened?, might be related to Fallout 3 ? (Weird since it launch normally through proton 9.0)

Did you definitely try do this through a Game Mode launch? Games not launching is usually a result of trying to launch games incorrectly. It might also be worth double-checking that the EXE path is right, just in case.

I'm not sure if and where any Wine logging would go, probably the best bet would be a Proton log, maybe enabling the Proton log would work for the game launch.

I noticed you are on SteamOS according to your OP, which isn't a problem for requesting a feature, but MO2 is not expected to work on SteamOS. It might be worth trying this on the Linux Desktop. I won't officially advertise support or help much with issues for users on SteamOS probably before even v14.0 comes out, SteamTinkerLaunch is Linux Desktop first and enthusiast-first.

Other tests I missed ?

A good test would be to mod in Standalone Mode and then check if your mods carried over into Game Mode, to make sure STL is writing things properly. If you use profiles, the selected profile may not carry over, but the mods should all still be there.

Similarly, try changing a path, such as the mod path, in Standalone Mode, and see if it carries over into Game Mode.

I couldn't test the silent MO2 launch since the user interface didn't make it yet

You can use it by setting MO2MODE="silent" in the per-game config I believe, that's what I did when testing #1097 😄

at a later stage it could be nice for advanced users to be able to provide a custom MO2.exe

Isn't this is already possible on the UI and commandline with #935, where the executable can be selected graphically, or you can do it on the commandline with steamtinkerlaunch mo2 install /path/to/executable, as also noted on the SteamTinkerLanch ModOrganizer 2 wiki page's Installation section. Let me know if I misunderstood.

You could hypothetically use two installs of MO2 at once, by changing the MO2 compatdata, but I don't think that would update the per-game prefix, so it's kind of pointless...

I'm not really interested in using MO2 much so implementing this won't come from me, I'm not sure how you'd manage this sort of thing well. The easy part would be renaming MO2 folders in the game prefix, the hard part would be knowing when and how to do this probably based on some kind of profile system.

Someone would have to come forward to implement that kind of functionality though.

@AtomHare
Copy link
Author

I'm not sure why the game Proton version matters here for installing MO2, maybe you didn't set the MO2 Proton version in the Global Menu? Standalone Mode will use the MO2 Proton version (can be adjusted on the Global Menu) and Game Mode launches will run with the Per-Game Proton version. But maybe I picked you up wrong.

I was using the Game Mode launch which used the per-game proton version (which defaults to which one ?)

Did you definitely try do this through a Game Mode launch? Games not launching is usually a result of trying to launch games incorrectly. It might also be worth double-checking that the EXE path is right, just in case.

I did everything through Game Mode launch, the path was the correct one indeed. I prefer Game Mode launch for MO2 cause it allows to use portable installation of MO2 in each prefix to avoid global MO2 issues imo. After some tinkering, it was because I did not run the first launch with the Fallout 3 launcher - forcing it (where it creates the ini files) through MO2 (Even though I already ran it through normal proton, weird behavior indeed - Maybe because I used the new per profile ini settings inside MO2?)

I noticed you are on SteamOS according to your OP, which isn't a problem for requesting a feature, but MO2 is not expected to work on SteamOS. It might be worth trying this on the Linux Desktop. I won't officially advertise support or help much with issues for users on SteamOS probably before even v14.0 comes out, SteamTinkerLaunch is Linux Desktop first and enthusiast-first.

I saw this but since I successfully modded Fallout TTW with STL git with MO2 2.4.4, it's in a good-looking state for an unsupported distro.

Isn't this is already possible on the UI and commandline with #935, where the executable can be selected graphically, or you can do it on the commandline with steamtinkerlaunch mo2 install /path/to/executable, as also noted on the SteamTinkerLanch ModOrganizer 2 wiki page's Installation section. Let me know if I misunderstood.

You're right it already exists, I didn't saw it !


It looks like everything works fine, I haven't tested standalone mode yet if someone is interested to do so

@sonic2kk
Copy link
Owner

When you installed MO2 you would've been running it in Standalone Mode, as noted on the wiki, that's probably why the INI files weren't created.

Please don't prefer Game Mode, you should be modding from Standalone Mode and then playing only from Game Mode. This is detailed on the wiki.

It looks like everything works fine, I haven't tested standalone mode yet if someone is interested to do so

Standalone Mode NEEDS to be tested before we can be sure this works.

In case it wasn't clear on the wiki, Standalone Mode and Game Mode aren't simply preferences for how to use MO2. They are there for a reason and you must ensure you're using the right mode for the right usage. Nowadays there is a lot of overlap, but Standalone Mode is supposed to be your go-to if you aren't running a game (steamtinkerlaunch mo2 start).

I bring this up because you said you "prefer" Game Mode. That's not how it works unfortunately, please make sure you use the MO2 integration as described on the wiki to avoid problems.


If all existing integration is tested and continues to work, we can bump to 2.5.0. It sounds like most of it works. I will probably not be testing this anytime soon so as noted by OP once Standalone Mode is tested we can probably bump if it works fine.

@sonic2kk
Copy link
Owner

Oops, forgot to say:

I was using the Game Mode launch which used the per-game proton version (which defaults to which one ?)

It tries to default to the latest official Valve Proton that SteamTinkerLaunch can find when the game config is created. It may have been that SteamTinkerLaunch didn't have Proton 9.0 in its known list of Proton versions when the per-game config was created.

I believe SteamTinkerLaunch has defaulted to using 9.0 for new games for me, but I'll double-check this. If SteamTinkerLaunch does not default to Proton 9.0 for new games when it has Proton 9.0 in its known Proton versions list, I'll look into that as a separate issue. Perhaps the issue is as you pointed out that it still has (beta), but I'm not sure.

@AtomHare
Copy link
Author

AtomHare commented May 19, 2024

When you installed MO2 you would've been running it in Standalone Mode, as noted on the wiki, that's probably why the INI files weren't created.

Well I'm not sure of this, I completely modded Fallout NV from stock to TTW with 150+ mods using only the Game Mode without a standalone installation.

I bring this up because you said you "prefer" Game Mode. That's not how it works unfortunately, please make sure you use the MO2 integration as described on the wiki to avoid problems.

I'm confused because I successfully modded Fallout NV this way with no hiccups. If it's not the way to go, what would be needed to allow either a Global installation (Standalone Mode) or per prefix installation (Game mode) ?

I now know I've used it wrong it wasn't very clear when I initially read the docs and since everything worked as expected I thought it was working like this and intended. It made sense to me: One portable MO2 instance per prefix which only manages the same game of the prefix, this could avoid any game collision too.


Since I already used only Game Mode without a Global/Standalone install, I'm not sure if I can/should test it on my steam deck without breaking my Fallout NV modded installation.


Now that I think of it, the fact that it did not find initially the inis that were already in the right fallout 3 prefix makes me wonder if it doesn't look insides the fallout NV prefix or anywhere else. Maybe the Fallout NV prefix since it's there that MO2 was first installed.

@sonic2kk
Copy link
Owner

sonic2kk commented May 19, 2024

Well I'm not sure of this, I completely modded Fallout NV from stock to TTW with 150+ mods using only the Game Mode without a standalone installation.

I don't believe this is possible, do you not have MO2 at ~/.config/steamtinkerlaunch/mo2?

It is expected to have Standalone Mode AND Game Mode installations. Maybe this is where the wires are getting crossed.

If you ran steamtinkerlaunch mo2 install, or installed with the button on the Main Menu (which runs steamtinkerlaunch mo2 install), you should have a Standalone Mode installation.

SteamTinkerLaunch, to my understanding, does this:

  1. Installs MO2 to its config folder with steamtinkerlaunch mo2 install. This is the Standalone Mode installatiion and acts as a "master" installation to control the "child" installations in the game prefixes.
  2. When running a game with MO2 enabled, this is Game Mode, and MO2 is then installed to the Game Prefix, copying its configuration information from the Standalone installation in the config folder.
  3. Standalone Mode also allows you to configure multiple instances; this sometimes

If it's not the way to go, what would be needed to allow either a Global installation (Standalone Mode) or per prefix installation (Game mode) ?

I don't know, afaik it isn't possible, I didn't implement the MO2 stuff, it was long before I heard about STL :-)

I am going by what I recall and understand from the codebase. From how MO2 is desinged to workk with STL it expects to work off of the Standalone installation.

Some of why the split is here is because MO2 needed a custom Proton version to install properly and for functions other than running a game to work (lots of the UI was broken) but those days are gone. But the main MO2 install and then having per-prefix installs work off of that makes sense to me as well, and I believe much of the codebase is wired to work that way.

I think perhaps there is just confusion here and you are actually using a Standalone installation.

Since I already used only Game Mode without a Global/Standalone install, I'm not sure if I can/should test it on my steam deck without breaking my Fallout NV modded installation.

Yeah, don't bother doing any further testing on SteamOS. Test on your Linux PC if possible. Things that do/don't work on SteamOS can be ignored; the Linux Desktop is the baseline as it is far more likely to work properly.

I mean it when I say to consider it a miracle that it worked, and to expect it to break, not by your own fault, but through Valve's fault of creating a tinkerer-unfriendly OS and device that caters to WIndows users instead of Linux enthusiasts.

Now that I think of it, the fact that it did not find initially the inis that were already in the right fallout 3 prefix makes me wonder if it doesn't look insides the fallout NV prefix or anywhere else. Maybe the Fallout NV prefix since it's there that MO2 was first installed.

I have no idea about TTW, in fact people have been very angry at me because I said I don't know how it works.

But when running in Game Mode, only one prefix will be looked at at a time I believe. This is why you should only launch one instance in Game Mode.


Maybe there's some confusion here about how SteamTinkerLaunch and MO2 works. Surely some from my side as well, as I don't use MO2 very often (I am a proponent of modding manually) and the MO2 code was implemented long before I even began contributing to STL let alone taking the project over.

@AtomHare
Copy link
Author

AtomHare commented May 19, 2024

I'm really confused, I never ran steamtinkerlaunch mo2 install or used the main menu. I only installed MO2 through the steamtinkerlaunch pop up after a game launch.

There are some files inside ~/.config/steamtinkerlaunch/mo2 but no mo2 installations

It is expected to have Standalone Mode AND Game Mode installations.

If I understood this well, it means I should have a C:/Modding/MO2 directory inside the game prefix and an MO2 standalone installation (master) outside the prefix ?

Yeah, don't bother doing any further testing on SteamOS. Test on your Linux PC if possible. Things that do/don't work on SteamOS can be ignored; the Linux Desktop is the baseline as it is far more likely to work properly.

Even then I don't have a regular install since I use the Steam flatpak, but I might install the regular steam to test things haha

I will try to look at the MO2 code inside STL to better understand how it works, I find it confusing that standalone or game mode aren't independent.

@sonic2kk
Copy link
Owner

sonic2kk commented May 19, 2024

I'm really confused, I never ran steamtinkerlaunch mo2 install or used the main menu. I only installed MO2 through the steamtinkerlaunch pop up after a game launch.

This doesn't sound correct and shouldn't have been possible, but in that case, you indeed would not have a MO2 installation at ~/.config/steamtinkerlaunch.

Even then I don't have a regular install since I use the Steam flatpak, but I might install the regular steam to test things haha

Hm, yeah, I'm not sure how to best "develop for" Flatpak Steam. There probably is a way, but I'm not sure of it 😄

If I understood this well, it means I should have a C:/Modding/MO2 directory inside the game prefix and an MO2 standalone installation (master) outside the prefix ?

Yes, game prefixes will each have a ModOrganizer 2 installation, and then also there will be an installation at ~/.config/steamtinkerlaunch/mo2. Screenshot from ~/.config/steamtinkerlaunch/mo2, I hope this makes it a little clearer:

image

I will try to look at the MO2 code inside STL to better understand how it works, I find it confusing that standalone or game mode aren't independent.

I guess that depends what you mean by "independent". It seems here it is possible to install them separately, but my understanding was that this was not possible; MO2 shouldn't have been available to enable in the Game Menu without a Standalone installation. The Standalone Mode installation should be the one that dictates a lot of the configuration and allows you to run MO2 with the ability to edit multiple instances.

But absolutely feel free to take a look. This is outside of my wheelhouse, the previous maintainer did 99% of the ModOrganizer 2 work, with another 0.9% by the community, and an arguable 0.1% from myself 😅 I can only put forward how I understand it to be intended to work.

@AtomHare
Copy link
Author

This doesn't sound correct and shouldn't have been possible, but in that case, you indeed would not have a MO2 installation at ~/.config/steamtinkerlaunch.

Yeah, that's definitely what happened there, according to your file directory the only things I have is the dldata folder with newvegas.conf and fallout3.conf (used for nxm links ?)

I guess that depends what you mean by "independent". It seems here it is possible to install them separately, but my understanding was that this was not possible; MO2 shouldn't have been available to enable in the Game Menu without a Standalone installation. The Standalone Mode installation should be the one that dictates a lot of the configuration and allows you to run MO2 with the ability to edit multiple instances.

To me, it looks more error-prone to force a master MO2 while having per game MO2 and copying config files from there to the prefix, etc. That's why I'd like to take a look, maybe it's done on purpose and it should work either way !

@sonic2kk
Copy link
Owner

Yes, those files are for NXM links.

That's why I'd like to take a look, maybe it's done on purpose and it should work either way !

You're more than welcome to look around, and if you figure anything out I'd be very glad to hear about it! At the very least it'll create a somewhat documented discussion for future reference :-)

@sonic2kk sonic2kk added the Needs Retest Issues that need feedback after a change/discussion, or with a newer version label Jun 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request ModOrganizer 2 Issues related to installing or using ModOrganizer 2 with SteamTinkerLaunch Needs Retest Issues that need feedback after a change/discussion, or with a newer version
Projects
None yet
Development

No branches or pull requests

2 participants