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

Fails to detect Skyrim: Special Edition #66

Closed
AlexJDowson opened this issue May 30, 2020 · 0 comments · Fixed by #70
Closed

Fails to detect Skyrim: Special Edition #66

AlexJDowson opened this issue May 30, 2020 · 0 comments · Fixed by #70
Labels
bug Something isn't working

Comments

@AlexJDowson
Copy link

I believe this is because there is a space in my steam library location. Please see the full output log below:

lutris-wrapper: /usr/bin/bash
Running /usr/bin/bash -c xdg-mime default modorganizer2-nxm-handler.desktop x-scheme-handler/nxm
Initial process has started with pid 3881994
Game is considered started.
Game is considered exited.
Initial process has exited.
All children have exited.
Exit with returncode 0

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 37319384 bytes (36 MiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/openjdk/OpenJDK8U-jre_x64_windows_8u252b09.zip
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/openjdk/OpenJDK8U-jre_x64_windows_8u252b09.zip
Type = zip
Physical Size = 37319384

Everything is Ok

Folders: 15
Files: 121
Size:       94859720
Compressed: 37319384

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 384875 bytes (376 KiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/fose/fose_v1_2_beta2.7z
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/fose/fose_v1_2_beta2.7z
Type = 7z
Physical Size = 384875
Headers Size = 3155
Method = LZMA:6m BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 8
Files: 184
Size:       4753751
Compressed: 384875

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 598435 bytes (585 KiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/f4se/f4se_0_06_21.7z
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/f4se/f4se_0_06_21.7z
Type = 7z
Physical Size = 598435
Headers Size = 5414
Method = LZMA2:22 LZMA:20 BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 14
Files: 393
Size:       3284040
Compressed: 598435

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 712979 bytes (697 KiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/nvse/nvse_5_1_beta4.7z
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/nvse/nvse_5_1_beta4.7z
Type = 7z
Physical Size = 712979
Headers Size = 4131
Method = LZMA2:6m LZMA:20 BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 12
Files: 231
Size:       4902927
Compressed: 712979

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 4128127 bytes (4032 KiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/mwse/mwse.zip
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/mwse/mwse.zip
Type = zip
Physical Size = 4128127

Everything is Ok

Folders: 23
Files: 127
Size:       14280669
Compressed: 4128127

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 1662426 bytes (1624 KiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/obse/obse_0021.zip
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/obse/obse_0021.zip
Type = zip
Physical Size = 1662426
Comment = ; WinRAR
; Multifunctional Integrated Archive Manager


Everything is Ok

Folders: 12
Files: 342
Size:       6092629
Compressed: 1662426
lutris-wrapper: /usr/bin/bash
Running /usr/bin/bash -c printf '\x90\x90\x90' | dd conv=notrunc of='/home/user/.cache/lutris/installer/mod-organizer-2/oblivion-script-extender/obse_loader.exe' bs=1 seek=$((0x14cb))
Initial process has started with pid 3883228
Game is considered started.
3+0 records in
3+0 records out
3 bytes copied, 4.97e-05 s, 60.4 kB/s
Game is considered exited.
Initial process has exited.
All children have exited.
Exit with returncode 0

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 624845 bytes (611 KiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/skse/skse_1_07_03.7z
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/skse/skse_1_07_03.7z
Type = 7z
Physical Size = 624845
Headers Size = 8072
Method = LZMA2:22 LZMA:20 BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 14
Files: 544
Size:       3591799
Compressed: 624845

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 755625 bytes (738 KiB)

Extracting archive: /home/user/.cache/lutris/installer/mod-organizer-2/skse64/skse64_2_00_17.7z
--
Path = /home/user/.cache/lutris/installer/mod-organizer-2/skse64/skse64_2_00_17.7z
Type = 7z
Physical Size = 755625
Headers Size = 7057
Method = LZMA2:6m LZMA:20 BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 13
Files: 520
Size:       4426059
Compressed: 755625
lutris-wrapper: /usr/bin/bash
Running /usr/bin/bash -c # clear envs set by Lutris
export LD_LIBRARY_PATH=""

nexus_game_id=skyrimspecialedition
runner=proton

if [ ! -f "/home/user/.cache/lutris/installer/mod-organizer-2/gamesinfo/$nexus_game_id.sh" ]; then
    "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" errorbox \
        "Could not find gameinfo for '$nexus_game_id', remove Lutris cache and try again"
    exit 1
fi

source "/home/user/.cache/lutris/installer/mod-organizer-2/gamesinfo/$nexus_game_id.sh"

if [ -z "$game_appid" ]; then
    echo "ERROR: empty game_appid" >&2
    exit 1
elif [ -z "$game_steam_subdirectory" ]; then
    echo "ERROR: empty steam_subdirectory" >&2
    exit 1
fi

shared="/home/user/.local/share/modorganizer2"

case "$runner" in
    proton)
        mo2_tricks="vcrun2019"
        mo2_options=""

        if [ -z "$steam_library" ]; then
            steam_library=$("/home/user/.cache/lutris/installer/mod-organizer-2/utils/find-library-for-appid.sh" $game_appid)
        fi

        if [ ! -d "$steam_library" ]; then
            "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" errorbox \
                "Could not find '$game_steam_subdirectory' in your Steam library"
            exit 1
        fi

        game_prefix="$steam_library/steamapps/compatdata/$game_appid/pfx"
        game_installation="$steam_library/steamapps/common/$game_steam_subdirectory"
        game_tricks="$game_protontricks"

        echo -e \
        "#!/bin/bash\n\n'$shared/proton-launcher.sh' $mo2_options $game_proton_options \"\$@\" $game_appid '/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/ModOrganizer2/ModOrganizer.exe'" \
        > "/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/run.sh"

        echo -e \
        "#!/bin/bash\n\n'$shared/proton-launcher.sh' $mo2_options $game_proton_options $game_appid '/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/ModOrganizer2/nxmhandler.exe' \"\$1\"" \
        > "/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/download.sh"
        ;;

    wine)
        mo2_tricks="vcrun2019 dotnet40"
        mo2_options="--proton-wine --winever 5.*"

        "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" warnbox \
            "As of version 5.7, Wine still does not fully support Mod Organizer 2.2.1 and later.\nFor this reason this installer uses the Wine version bundled with Proton 5.0.\nMake sure you have Steam and Proton 5.0 installed on your system"

        game_prefix=$( \
            "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" directorypicker \
                "Inform the path to your wineprefix" \
        )
        if [ -z "$game_prefix" ]; then
            echo "ERROR: Installation canceled by user" >&2
            exit 1
        fi

        game_tricks="$game_winetricks"

        install_path_candidates=( \
            "$game_prefix/drive_c/Program Files (x86)/Steam/steamapps/common/$game_steam_subdirectory" \
            "$game_prefix/drive_c/GOG Games/$game_steam_subdirectory" \
        )
        if [ -n "$game_gog_subdirectory" ]; then
            install_path_candidates+=( \
                "$game_prefix/drive_c/GOG Games/$game_gog_subdirectory" \
            )
        fi
        if [ "$nexus_game_id" == "fallout3" ]; then
            install_path_candidates+=( \
                "$game_prefix/drive_c/Program Files (x86)/Steam/steamapps/common/Fallout 3" \
                "$game_prefix/drive_c/GOG Games/Fallout 3" \
            )
        fi

        for path in "${install_path_candidates[@]}"; do
            echo "Searching for game at '$path'"
            if [ -d "$path" ]; then
                echo "Found game"
                game_installation="$path"
                break
            fi
        done

        if [ -z "$game_installation" ]; then
            game_installation=$( \
                "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" directorypicker \
                    "Could not automatically find the game.\nPlease inform the path where the game is installed" \
            )
            if [ -z "$game_installation" ]; then
                echo "ERROR: installation canceled by user" >&2
                exit 1
            fi
        fi

        # TODO: uncomment once Wine fixes issues with VC2019
        # winever=$( \
        #     "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" textentry \
        #         "Inform which version of Wine you're using\nLeave as * to use the latest version available on Lutris" \
        #         "*" \
        # )
        # if [ -z "$winever" ]; then
        #     echo "ERROR: Installation canceled by user" >&2
        #     exit 1
        # fi

        echo -e \
        "#!/bin/bash\n\nWINEPREFIX='$game_prefix' '$shared/wine-launcher.sh' $mo2_options $game_wine_options \"\$@\" '/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/ModOrganizer2/ModOrganizer.exe'" \
        > "/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/run.sh"

        echo -e \
        "#!/bin/bash\n\nWINEPREFIX='$game_prefix' '$shared/wine-launcher.sh' $mo2_options $game_wine_options '/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/ModOrganizer2/nxmhandler.exe' \"\$1\"" \
        > "/home/user/Media/4TB Internal/Games/Lutris/mod-organizer-2/download.sh"
        ;;
esac

if [ -d "/home/user/.cache/lutris/installer/mod-organizer-2/${nexus_game_id}-script-extender" ]; then
    echo "Installing script extender..."

    output=$( \
        cp -af \
        "/home/user/.cache/lutris/installer/mod-organizer-2/${nexus_game_id}-script-extender/." \
        "$game_installation/" 2>&1 \
    )
    if [ "$?" != "0" ]; then
        "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" errorbox \
            "Error while installing script extender: $output"
        exit 1
    fi
fi

mkdir -p "$game_prefix/drive_c/java"
output=$( \
    cp -af \
    "/home/user/.cache/lutris/installer/mod-organizer-2/extracted-openjdk/." \
    "$game_prefix/drive_c/java/" 2>&1 \
)
if [ "$?" != "0" ]; then
    "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" errorbox \
        "Error while installing OpenJDK: $output"
    exit 1
fi

WINEPREFIX="$game_prefix" \
"/home/user/.local/share/lutris/runtime/winetricks/winetricks" -q $mo2_tricks $game_tricks
if [ "$?" != "0" ]; then
    "/home/user/.cache/lutris/installer/mod-organizer-2/utils/dialog.sh" errorbox \
        "Error while installing winetricks, please run Lutris from a terminal and check the logs"
    exit 1
fi

# workaround to stop installation if command fails
echo "success" > '/home/user/.cache/lutris/installer/mod-organizer-2/successful-prefix-preparation'
Initial process has started with pid 3883870
Game is considered started.
Searching for game in library '/home/user/.steam/steam'
Searching for game in library '/home/user/Media/4TB'
Searching for game in library 'Internal/Games/Steam'
Searching for game in library 'Library'
ERROR: could not find game with APPID '489830'
Game is considered exited.
Initial process has exited.
All children have exited.
Exit with returncode 256
<class 'lutris.installer.errors.ScriptingError'> I can't move /home/user/.cache/lutris/installer/mod-organizer-2/successful-prefix-preparation, it does not exist
None

The correct path is Searching for game in library "/home/user/Media/4TB Internal/Games/Steam Library". However, the script seems to see this as three different locations.

Searching for game in library '/home/user/.steam/steam'
Searching for game in library '/home/user/Media/4TB'
Searching for game in library 'Internal/Games/Steam'

I'm using the 2.6.8 Stable installer script. Any workarounds?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants