-
Notifications
You must be signed in to change notification settings - Fork 72
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
Unable to install MO2 or Vortex v11.1.20220920 #591
Comments
Thanks for the report. Someone else in #589 reported having a similar issue with MO2 installing. It seems like from the logs that Vortex as well might be having a similar problem, though please note that there may be general issues at the moment with Vortex on Linux. There is an ongoing investigation into the issues with MO2 and Steam Deck. Thanks for reporting though! Also, you can only use the latest Git on Steam Deck. STL will always automatically download the latest Git release on Steam Deck to get the latest fixes. Steam Deck support for STL is still a work in progress, and we rely on issues like this one to try and fix the problems that arise :) |
There was a lot going on in that thread so no worries, thanks once again ! 😃 @frostworx this log I believe has a more up-to-date log than the other issue. The line at the top about no |
im having issues installing MO2 as well, havent checked the logs but so far but its looking like this issue and #589 |
@verbes4 Is this also on Steam Deck or on desktop Linux? I haven't tried on a PC yet but I'm hoping to soon, so just wondering |
I also use Arch Linux with KDE. That is very interesting, thank you! I have a laptop running the same which I will try installing MO2 via STL on in a little bit. It seems like MO2 is, for some reason, not installing working anymore. Thankfully I don't think this is an issue relating to Wine, I think the issue is with getting and downloading the MO2 executable, based on
|
awesome. i just checked my log now, and im also getting that error. heres my full log incase it might be of any use |
Thank you! If it's not too much trouble, could you go to This is where STL stores the download location of MO2. Basically I want to make sure this is set correctly. If it isn't, that would help explain why it can't find MO2 (if this url is not set, the code to check the MO2 version won't work because in essence it isn't checking a valid link) |
I just tested running the MO2 version check code manually (outside of STL) with the following and it returns nothing: WGET="/usr/bin/wget"
MO2DLURL="https://github.com/ModOrganizer2/modorganizer/releases"
MO2SET="Mod.Organizer"
MO2SETUP="$("$WGET" -q "${MO2DLURL}" -O - 2> >(grep -v "SSL_INIT") | grep "exe" | grep -m1 "$MO2SET" | grep -oE "${MO2SET}[^\"]+")"
echo "$MO2SETUP" It would seem somewhere along the way, something is being lost |
I think maybe this issue is related to how the page content on GitHub is returned. It looks like it might be returned differently now. Running |
Okay, it definitely looks like running wget on GitHub does not return the assets anymore. I ran the following: WGET="/usr/bin/wget"
MO2DLURL="https://github.com/ModOrganizer2/modorganizer/releases"
MO2SET="Mod.Organizer"
MO2SETUP="$("$WGET" -q "${MO2DLURL}" -O - 2> >(grep -v "SSL_INIT"))"
echo "$MO2SETUP" > mo2info.txt Then searched in the text file it created. I removed anything for v2.4.3 and just did a search for Relevant section from MO2 Releases page of Assets HTMLNote in particular the <div data-view-component="true" class="Box-footer">
<div class="mb-3">
<details open="open" data-view-component="true">
<summary role="button" data-view-component="true">
<h3 class="d-inline">Assets</h3>
<span title="7" data-view-component="true" class="Counter ml-1">7</span>
</summary>
<div data-view-component="true">
<include-fragment
loading="lazy"
src="https://github.com/ModOrganizer2/modorganizer/releases/expanded_assets/v2.4.4"
data-test-selector="lazy-asset-list-fragment">
<svg
style="box-sizing: content-box; color: var(--color-icon-primary)"
width="32"
height="32"
viewBox="0 0 16 16"
fill="none"
data-view-component="true"
class="anim-rotate"
>
<circle
cx="8"
cy="8"
r="7"
stroke="currentColor"
stroke-opacity="0.25"
stroke-width="2"
vector-effect="non-scaling-stroke"
/>
<path
d="M15 8a7.002 7.002 0 00-7-7"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
vector-effect="non-scaling-stroke"
/>
</svg>
</include-fragment>
</div>
</details>
</div>
</div> There are a couple of things we could do to amend this:
We should be able to fix this! And the fix for Vortex should be somewhat similar. |
im not sure if this is still needed but |
It's still good to know, thank you very much for following up! Sorry that I've been kind of thinking out loud in my past few comments 😅 There should be a relatively straightforward solution to all of this, basically we just need to change the download URL since we can't actually see the releases from GitHub now - They're loaded "lazily" mean GitHub polls for them asynchronously while the page is loading. If you go to the MO2 Releases section you might see a spinning wheel where the assets section is, which is where GitHub is trying to fetch the latest releases. If we can get the latest version (can probably grep for it on the releases page we download), we can change the download URL to point to an asset on the |
I wrote some very messy Bash code to correctly fetch the name for the MO2 executable from the updated location at the # Variable setup
WGET="/usr/bin/wget"
GHURL="https://github.com"
MO2DLURL="${GHURL}/ModOrganizer2/modorganizer/releases"
MO2TAGURL="${GHRUL}/ModOrganizer2/modorganizer/tags"
MO2EXPANDEDASSETSURL="${GHURL}/ModOrganizer2/modorganizer/releases/expanded_assets"
MO2RELEASETAG="/ModOrganizer2/modorganizer/releases/tag/"
MO2SET="Mod.Organizer"
# Get latest MO2 ver from Releases page by greping for all elements with $MO2RELEASETAG, getting the first (latest) one and stripping out the version string from the rest of the URL
MO2LATESTRELEASEURL="$("$WGET" -q "${MO2TAGURL}" -O - 2> >(grep -v "SSL_INIT") | grep -m1 "$MO2RELEASETAG" | grep -oE "${MO2RELEASETAG}[^\"]+")"
MO2LATESTVER="${MO2LATESTRELEASEURL##*/}"
# Get URL to the expanded_assets section
MO2LATESTASSETURL="${MO2EXPANDEDASSETSURL}/${MO2LATESTVER}"
# With an updated MO2 URL pointing at the expanded_assets page, use the existing code to grep the MO2 executable name
MO2SETUP="$("$WGET" -q "${MO2LATESTASSETURL}" -O - 2> >(grep -v "SSL_INIT") | grep "exe" | grep -m1 "$MO2SET" | grep -oE "${MO2SET}[^\"]+")"
# Visual output
echo "Latest MO2 release is: ${MO2LATESTVER}"
echo "Latest MO2 assets page is: ${MO2LATESTASSETURL}"
echo "MO2 setup is: ${MO2SETUP}" This is more of a "proof of concept" that it can be done and how it could be done. However, I think the solution we can use for SteamTinkerLaunch is to have a generic function to fetch expanded assets from GitHub for MO2 and Vortex. |
Okay, I wrote a generic function in a test Bash file that correctly fetches the latest executable names for MO2 and Vortex. # Variable setup
WGET="/usr/bin/wget"
GHURL="https://github.com"
MO2PROJURL="${GHURL}/ModOrganizer2/modorganizer"
VORTEXPROJURL="${GHURL}/Nexus-Mods/Vortex"
MO2SET="Mod.Organizer"
VORTEXSET="vortex-setup"
function getLatestGitHubExeVer {
SETUPNAME="$1"
PROJURL="$2"
RELEASESURL="${PROJURL}/releases"
EXPANDEDASSETSURL="${RELEASESURL}/expanded_assets"
TAGSURL="${PROJURL}/tags"
TAGSGREP="${RELEASESURL#"$GHURL"}/tag"
LATESTTAG="$("$WGET" -q "${TAGSURL}" -O - 2> >(grep -v "SSL_INIT") | grep -m1 "$TAGSGREP" | grep -oE "${TAGSGREP}[^\"]+")"
LATESTVER="${LATESTTAG##*/}"
LATESTRELEASEURL="${EXPANDEDASSETSURL}/${LATESTVER}"
SETUPFILE="$("$WGET" -q "${LATESTRELEASEURL}" -O - 2> >(grep -v "SSL_INIT") | grep "exe" | grep -m1 "$SETUPNAME" | grep -oE "${SETUPNAME}[^\"]+")"
echo "${SETUPFILE}"
}
MO2SETUP="$(getLatestGitHubExeVer ${MO2SET} ${MO2PROJURL})"
VORTEXSETUP="$(getLatestGitHubExeVer ${VORTEXSET} ${VORTEXPROJURL})"
echo "MO2 setup exe is: ${MO2SETUP}"
echo "Vortex setup exe is: ${VORTEXSETUP}" This seems to correctly return Gonna see if I can tie this into SteamTinkerLaunch. I can foresee a few challenges with defining the URLs for each project and then telling the MO2 and Vortex downloaders to download from the |
i noticed in the other issue, you said it might take some time for it to get merged. is there any way to get around the error for now, like downloading the exe manually and putting it wherever STL expects it? |
I was thinking about this, you might be able to manually download the executable and put it into You can downloaded the latest MO2 setup exe from here: https://github.com/ModOrganizer2/modorganizer/releases/ In better news, it seems like my fix works for MO2! It was incredibly easy, the function I wrote was only needed to get the executable version - The download URL is still the same, so that function was only needed to correctly get the version. I was successfully able to download and install MO2 up to where it asked me to create an instance. I don't have any games on my laptop that MO2 supports so I cancelled, but it was able to download and run the installer! Next is doing the same thing for Vortex (hopefully very minimal effort as well). |
looks like it still tries to download mo2 even if the exe is available, which results in it not installing. |
You can build and run STL from source, including the one on my branch, but this might be more complicated to uninstall. How have you currently installed STL? If you've installed it from the AUR you might actually be ok. In that case once the PR is up (I don't recommend doing it yet as the branch isn't even up yet!) you can do the following (proceed relatively at your own risk!):
If you ever want to revert back to a stable STL, you can probably just do the following (I hope!):
I am not totally sure if the above will work and I would recommend having some patience for this to be merged first unless you're confident that you know what you're doing on your system! Maybe as an Arch user I don't have to tell you that 😉 Currently I'm working on fixing up Vortex and getting it to use the new function. Once I have that I'll open my PR. P.S. I've modded Oblivion with MO2 and STL. It works great! But sometimes some mods (I think the ones that were made for use with WyreBash and OBMM) can have a couple of problems. See my writeup on the MO2 wiki about some problems you might run into: https://github.com/frostworx/steamtinkerlaunch/wiki/Modding#MO2 Also please note that using any code not from the official STL repository is always subject to change and has not been reviewed by Frostworx. There may be bugs, the chosen solution may not be ideal, there could be lots of Unforeseen Consequences. Basically, "Here Be Dragons!", and if you want a stable experience stick to using code that has been vetted by Frostworx! |
@verbes4 The PR is up if you're feeling brave. Please don't feel like you have to try this, I am only pinging you because I know you expressed interest in trying it out so I wanted to let you know it's up. Good luck if you do try it, no worries if you don't. |
great timing, just used your fix and got mo2 installed, thanks 🙂 |
Thanks, your patch does work. |
Hell yeah, I'm glad you both got it working! Hopefully it gets merged in soon, there might just be some discussion over the approach taken. I've tried to justify it in the PR but given my inexperience with Bash, there may be some additional feedback. The end result, that is MO2 and Vortex installing correctly, should always be the same, but the code still needs review in case there is something I didn't catch or any improvements that can be made 😄 |
Problem should be fixed in latest master 👍 |
Thanks @sonic2kk! It works perfectly now =) |
I downloaded steam tinker launch master as a ZIP, extracted it and ran the commands in the wiki (./steamtinkerlaunch install && ./steamtinkerlaunch compat add). Restarted my device and configured steam tinker launch for Skyrim. In both game mode and desktop mode I cannot use MO2 or Vortex. When I try to click the MO2 button, my log shows as follows:
I tried using the command line (steamtinkerlaunch mo2 install) as well but did not notice a difference. When trying Vortex download:
I tried this as well using a release version but I did not capture logs, just noticed similar problems. I will try again as a release version just to rule out in-development code.
The text was updated successfully, but these errors were encountered: