Installer vortex-mod-manager-1-vortex-174
该脚本仅供阅读,不能直接用来在Wine游戏助手中安装游戏。
要通过命令安装游戏,请下载完整脚本。
安装命令:/opt/apps/net.winegame.client/files/bin/winegame -i ./xxx.json
files: - setup: https://file.winegame.net/games/vortex-mod-manager/vortex-setup-1.7.4.exe - cmdfonts: https://file.winegame.net/cache/wine/fonts/MicrosoftYaHeiMono-20221213.tar.xz - dotnet6: https://file.winegame.net/games/dotnet/dotnet-sdk-6.0.405-win-x64.exe - masterlist: https://file.winegame.net/games/vortex-mod-manager/masterlist.yaml game: args: -d exe: drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe install_complete_text: | Vortex安装完成。 注意:请仅用Vortex安装Mod,不要使用Vortex启动游戏。 这个Vortex不能用于启动游戏! 就算游戏可以运行,也一定会很卡! installer: - execute: command: bash "$wineinit" win64 7.20 description: 下载字体和运行库 - task: arch: win64 description: 创建64位Wine前缀 name: create_prefix prefix: $GAMEDIR - extract: description: 解压中文字体 dst: $GAMEDIR/drive_c/windows/Fonts file: cmdfonts - task: description: 安装中文字体 filename: $GAMEDIR/drive_c/windows/Fonts/MicrosoftYaHeiMono.reg name: set_regedit_file - execute: command: rm -f "$GAMEDIR/dosdevices/m::"; ln -sf "$HOME" "$GAMEDIR/dosdevices/m:" description: 添加主目录($HOME)为M盘 - task: app: dotnet48 description: 静默安装 .NET 4.8(请耐心等待) name: winetricks prefix: $GAMEDIR - task: name: winekill prefix: $GAMEDIR - task: app: win10 description: 切换到Win10模式 name: winetricks prefix: $GAMEDIR - task: name: winekill prefix: $GAMEDIR - task: args: /install /quiet /norestart description: 静默安装 .NET 6.0(请耐心等待) executable: dotnet6 name: wineexec prefix: $GAMEDIR - task: name: winekill prefix: $GAMEDIR - task: description: Adding Steam to the Wine Prefix Registry 1/2 key: SteamPath name: set_regedit path: HKEY_CURRENT_USER\Software\Valve\Steam prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam - task: description: Adding Steam to the Wine Prefix Registry 2/2 key: SteamExe name: set_regedit path: HKEY_CURRENT_USER\Software\Valve\Steam prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\Steam.exe - task: description: Adding DARK SOULS to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\NAMCO BANDAI GAMES\DARK SOULS prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Dark Souls Prepare to Die Edition - task: description: Adding DARK SOULS to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\211420 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Dark Souls Prepare to Die Edition - task: description: Adding DARK SOULS REMASTERED to the Wine Prefix Registry 1/1 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\570940 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\DARK SOULS REMASTERED - task: description: Adding DARK SOULS II to the Wine Prefix Registry 1/1 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\236430 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Dark Souls II - task: description: Adding DARK SOULS II Scholar of the First Sin to the Wine Prefix Registry 1/1 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\335300 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Dark Souls II Scholar of the First Sin - task: description: Adding DARK SOULS III to the Wine Prefix Registry 1/1 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\374320 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\DARK SOULS III - task: description: Adding ELDEN RING to the Wine Prefix Registry 1/2 key: InstallLocation name: set_regedit path: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ELDEN RING_is1 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\ELDEN RING - task: description: Adding ELDEN RING to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\1245620 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\ELDEN RING - task: description: Adding Fallout 3 to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Fallout 3 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 3 - task: description: Adding Fallout 3 to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\22300 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 3 - task: description: Adding Fallout 3 Game of the Year Edition to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Fallout 3 goty prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 3 goty - task: description: Adding Fallout 3 Game of the Year Edition to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\22370 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 3 goty - task: description: Adding Fallout 4 to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Fallout4 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 4 - task: description: Adding Fallout 4 to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\377160 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 4 - task: description: Adding Fallout 4 VR to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Fallout 4 VR prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 4 VR - task: description: Adding Fallout 4 VR to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\611660 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout 4 VR - task: description: Adding Fallout 76 to the Wine Prefix Registry 1/2 key: Path name: set_regedit path: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Fallout 76 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout76 - task: description: Adding Fallout 76 to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\1151340 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout76 - task: description: Adding Fallout New Vegas to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\FalloutNV prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout New Vegas - task: description: Adding Fallout New Vegas to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\22380 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Fallout New Vegas - task: description: Adding Kerbal Space Program to the Wine Prefix Registry 1/1 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\220200 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Kerbal Space Program - task: description: 'Adding MechWarrior 5: Mercenaries to the Wine Prefix Registry 1/1' key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\784080 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\MechWarrior 5 Mercenaries - task: description: 'Adding Middle Earth: Shadow of War to the Wine Prefix Registry 1/1' key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\356190 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\ShadowOfWar - task: description: 'Adding Monster Hunter: World to the Wine Prefix Registry 1/2' key: InstallLocation name: set_regedit path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 582010 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Monster Hunter World - task: description: 'Adding Monster Hunter: World to the Wine Prefix Registry 2/2' key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\582010 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Monster Hunter World - task: description: Adding Morrowind to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Morrowind prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Morrowind - task: description: Adding Morrowind to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\22320 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Morrowind - task: description: Adding Oblivion to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\oblivion prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Oblivion - task: description: Adding Oblivion to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\22330 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Oblivion - task: description: 'Adding Sekiro: Shadows Die Twice to the Wine Prefix Registry 1/1' key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\814380 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Sekiro - task: description: Adding Skyrim to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Skyrim prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Skyrim - task: description: Adding Skyrim to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\72850 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Skyrim - task: description: Adding Skyrim Special Edition to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Skyrim Special Edition prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Skyrim Special Edition - task: description: Adding Skyrim Special Edition to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\489830 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Skyrim Special Edition - task: description: Adding Skyrim VR to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bethesda Softworks\Skyrim VR prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\SkyrimVR - task: description: Adding Skyrim VR to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\611670 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\SkyrimVR - task: description: Adding Stardew Valley to the Wine Prefix Registry 1/1 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\413150 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Stardew Valley - task: description: Adding The Witcher to the Wine Prefix Registry 1/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\CD Project Red\Witcher prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Witcher Enhanced Edition - task: description: Adding The Witcher to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\20900 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Witcher Enhanced Edition - task: description: Adding The Witcher 2 to the Wine Prefix Registry 1/1 key: InstallFolder name: set_regedit path: HKEY_LOCAL_MACHINE\Software\CD Project Red\The Witcher 2 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\the witcher 2 - task: description: Adding The Witcher 3 to the Wine Prefix Registry 1/2 key: InstallFolder name: set_regedit path: HKEY_LOCAL_MACHINE\Software\CD Project Red\The Witcher 3 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Witcher 3 - task: description: Adding The Witcher 3 to the Wine Prefix Registry 2/2 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\209230 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Witcher 3 - task: description: Adding Valheim to the Wine Prefix Registry 1/1 key: Installed Path name: set_regedit path: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\892970 prefix: $GAMEDIR type: REG_SZ value: C:\\Program Files (x86)\\Steam\\steamapps\\common\\Valheim - write_file: content: | #!/usr/bin/bash if [ ! -d "$VORTEX_PREFIX" ]; then VORTEX_PREFIX="$PWD"; fi; if [ ! -d "$VORTEX_PREFIX" ]; then VORTEX_PREFIX="$(realpath "$(dirname "$0";)";)"; fi; if [ -d "$VORTEX_PREFIX" ]; then printf "%s\n" "INFO: Using Vortex prefix at \"$VORTEX_PREFIX\""; else printf "%s\n" "EROR: Invalid Vortex prefix at \"$VORTEX_PREFIX\""; exit 1; fi; DESKTOP=~/Desktop; DESKTOP_FNAME="vortex-downloads-handler.desktop"; DESKTOP_APPLS=~/.local/share/applications/; DESKTOP_FPATH="$DESKTOP_APPLS$DESKTOP_FNAME"; LUTRIS_DB_PATH=~/.local/share/lutris/pga.db; LUTRIS_CONFIGS=~/.config/lutris/games/; if [ -f "$DESKTOP_APPLS/wine/Programs/Black Tree Gaming Ltd/Vortex.desktop" ]; then rm -f "$DESKTOP_APPLS/wine/Programs/Black Tree Gaming Ltd/Vortex.desktop"; rmdir --ignore-fail-on-non-empty -p "$DESKTOP_APPLS/wine/Programs/Black Tree Gaming Ltd"; fi; if [ -f "$DESKTOP_FPATH" ]; then rm -f "$DESKTOP_FPATH"; fi; printf "%s\n" "INFO: Updating nxm link handling for Vortex!"; printf "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n\n" \ "[Desktop Entry]" \ "Categories=Game;Network;" \ "Comment[en_US]=NXM Protocol Download Handler" \ "Comment=NXM Protocol Download Handler" \ "Exec=sh -c \"CONFIGPATH=\$(sqlite3 \\\\\"$LUTRIS_DB_PATH\\\\\" \\\\\"select configpath from games where installer_slug = \\\\\\\\\\\\\"vortex-mod-manager-wine\\\\\\\\\\\\\" order by id asc limit 1;\\\\\");sed -i \\\\\"s/^ args:.*$/ args: -d \$(printf \\\\\"%%s\\\\\\\\\\\\\\\\n\\\\\" \\\\\"%u\\\\\" | sed \\\\\"s/^'//;s/'$//;s/\\\\//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//g;s/\\\\\\\\\\\\\\\\&/\\\\\\\\\\\\\\\\\\\\&/g\\\\\")/\\\\\" \\\\\"$LUTRIS_CONFIGS\$CONFIGPATH.yml\\\\\";env LUTRIS_SKIP_INIT=1 lutris lutris:rungameid/\$(sqlite3 \\\\\"$LUTRIS_DB_PATH\\\\\" \\\\\"select id from games where installer_slug = \\\\\\\\\\\\\"vortex-mod-manager-wine\\\\\\\\\\\\\" order by id asc limit 1;\\\\\")\"" \ "GenericName[en_US]=Writes the provided nxm url as an argument to Vortex by editing the Lutris game config for Vortex twice before launching." \ "GenericName=Writes the provided nxm url as an argument to Vortex by editing the Lutris game config for Vortex twice before launching." \ "Icon=lutris_vortex-mod-manager" \ "MimeType=x-scheme-handler/nxm-protocol;x-scheme-handler/nxm;" \ "Name[en_US]=Vortex" \ "Name=Vortex" \ "NoDisplay=true" \ "Path=$VORTEX_PREFIX" \ "StartupNotify=true" \ "Terminal=false" \ "Type=Application" \ > "$DESKTOP_FPATH"; xdg-mime default "$DESKTOP_FPATH" x-scheme-handler/nxm x-scheme-handler/nxm-protocol; fix_mimetypes(){ if [ -f "$1" ]; then printf "%s\n" "INFO: Fixing mimetype association of nxm: links in \"$1\""; sed -E -i "s/x-scheme-handler\/nxm=[^[=$=]]\+/x-scheme-handler\/nxm=$DESKTOP_FNAME;/" "$1"; check="$(grep -a -o -e "x-scheme-handler/nxm=$DESKTOP_FNAME;" "$1")"; if [ -z "$check" ]; then printf "%s\n" "x-scheme-handler/nxm=$DESKTOP_FNAME;" >> "$1"; fi; sed -E -i "s/x-scheme-handler\/nxm-protocol=[^[=$=]]\+/x-scheme-handler\/nxm-protocol=$DESKTOP_FNAME;/" "$1"; check="$(grep -a -o -e "x-scheme-handler/nxm-protocol=$DESKTOP_FNAME;" "$1")" if [ -z "$check" ]; then printf "%s\n" "x-scheme-handler/nxm-protocol=$DESKTOP_FNAME;" >> "$1"; fi; else printf "%s\n%s\n%s\n\n" "$2" "x-scheme-handler/nxm=$DESKTOP_FNAME;" "x-scheme-handler/nxm-protocol=$DESKTOP_FNAME;" > "$1"; fi; }; fix_mimetypes "$DESKTOP_APPLS"mimeinfo.cache "[MIME Cache]"; fix_mimetypes "$DESKTOP_APPLS"defaults.list "[Default Applications]"; printf "%s\n" "DONE: Made a desktop entry for Vortex at \"$DESKTOP_FPATH\""; description: Writing vortex-entry-writer.sh to the Vortex Prefix 1/3 file: $GAMEDIR/vortex-entry-writer.sh - chmodx: $GAMEDIR/vortex-entry-writer.sh - write_file: content: | #!/usr/bin/bash if [ ! -d "$VORTEX_PREFIX" ]; then VORTEX_PREFIX="$PWD"; fi; if [ ! -d "$VORTEX_PREFIX" ]; then VORTEX_PREFIX="$(realpath "$(dirname "$0";)";)"; fi; if [ -d "$VORTEX_PREFIX" ]; then printf "%s\n" \ "INFO: Using Vortex prefix at \"$VORTEX_PREFIX\""; else printf "%s\n" \ "EROR: Invalid Vortex prefix at \"$VORTEX_PREFIX\""; exit 1; fi; rmlink(){ if [ -h "$1" ]; then unlink "$1"; fi; } mklink(){ rmlink "$2"; ln -s -T "$1" "$2"; } manifest_attribute(){ grep -a -o -e "\"$2\"[[:space:]]*\".*\"$" "$1" \ | sed "s/\"$2\"[[:space:]]*\"//;s/\"$//"; }; manifest_userconfig_attribute(){ manifest_attribute \ <(grep \ -a -o -P -z \ "\"UserConfig\"\s*{(\s*[^}]*\s*)*}" \ "$1"\ ) "$2"; }; manifest_mountedconfig_attribute(){ manifest_attribute \ <(grep \ -a -o -P -z \ "\"MountedConfig\"\s*{(\s*[^}]*\s*)*}" \ "$1"\ ) "$2"; }; link_sub_targets(){ TARGET=""; DIR_LS=("$2"/*); for TARGET in "${DIR_LS[@]}"; do foldername="$(basename "$TARGET")"; checklink="$1/$foldername"; rmlink "$checklink"; if [ "$foldername" != "Vortex" ] && \ [ "$foldername" != "openvr" ] && \ [ "$foldername" != "Microsoft" ] && \ [ -d "$TARGET" ]; then ln -s "$TARGET" "$1/"; fi; done; }; mkdir -p \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/Roaming" \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/Local" \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/LocalLow" \ "$VORTEX_PREFIX/drive_c/users/$USER/Documents/My Games" \ "$VORTEX_PREFIX/drive_c/users/$USER/Local Settings" \ "$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/common" \ "$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/config"; mklink \ "$VORTEX_PREFIX/drive_c/users/$USER/Documents" \ "$VORTEX_PREFIX/drive_c/users/$USER/My Documents"; mklink \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/Roaming" \ "$VORTEX_PREFIX/drive_c/users/$USER/Application Data"; mklink \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/Local" \ "$VORTEX_PREFIX/drive_c/users/$USER/Local Settings/Application Data"; sed "s/\"\/.*\"$/\"C:\\\\\\\\Program Files \(x86\)\\\\\\\\Steam\"/g" < \ ~/.steam/steam/steamapps/libraryfolders.vdf |& tee \ "$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/libraryfolders.vdf" \ "$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/config/libraryfolders.vdf" \ 1>/dev/null; STEAM_LIBRARY_PATHS=(); while read -r library; do rmdir --ignore-fail-on-non-empty "$library"/steamapps/common/* 2>/dev/null; if [ -d "$library" ] && [ -d "$library/steamapps/common" ]; then if [ -d "$library/steamapps/compatdata/" ]; then STEAM_COMPATDATA=("$(find "$library/steamapps/compatdata/" -type d -name "pfx")"); for compatdata in "${STEAM_COMPATDATA[@]}"; do rmdir --ignore-fail-on-non-empty "$compatdata" 2>/dev/null; done; fi; STEAM_LIBRARY_PATHS+=("$library"); fi; done < <(grep -a -o -e "/[^\"]*" ~/.steam/steam/steamapps/libraryfolders.vdf); for library in "${STEAM_LIBRARY_PATHS[@]}"; do printf "%s\n" "INFO: Found Steam Library at \"$library\"! Linking all games in the library:"; MANIFESTS=(); readarray -t MANIFESTS < <(find "$library/steamapps" -mindepth 1 -maxdepth 1 -type f -name "appmanifest_*\.acf"); for CURRENT_APPMANIFEST in "${MANIFESTS[@]}"; do CURRENT_APPID="$(manifest_attribute "$CURRENT_APPMANIFEST" "appid")"; CURRENT_GAME="$(manifest_attribute "$CURRENT_APPMANIFEST" "name")"; CURRENT_INSTALLDIR="$(manifest_attribute "$CURRENT_APPMANIFEST" "installdir")"; printf "%s\n" \ "INFO: \ CURRENT_APPID=\"$CURRENT_APPID\" \ CURRENT_GAME=\"$CURRENT_GAME\" \ CURRENT_INSTALLDIR=\"$CURRENT_INSTALLDIR\"\ "; checkdir="$(\ printf "%s" "$CURRENT_APPMANIFEST" | \ sed "s/\/steamapps\/.\+/\/steamapps\/common\//"\ )$CURRENT_INSTALLDIR"; if [ -d "$checkdir" ]; then CURRENT_INSTALL_PATH="$checkdir"; checkdir="$(\ printf "%s" "$CURRENT_APPMANIFEST" | \ sed "s/\/steamapps\/.\+/\/steamapps\/compatdata\/$CURRENT_APPID\/pfx/"\ )"; printf "%s\n" \ "GOOD: Found $CURRENT_GAME installation at \"$CURRENT_INSTALL_PATH\""; if [ "$(manifest_userconfig_attribute \ "$CURRENT_APPMANIFEST" \ "platform_override_dest"\ )" == "linux" ] && \ [ "$(manifest_userconfig_attribute \ "$CURRENT_APPMANIFEST" \ "platform_override_source"\ )" == "windows" ]; then printf "%s\n" \ "INFO: platform_override_dest: \ \"$(manifest_userconfig_attribute \ "$CURRENT_APPMANIFEST" \ "platform_override_dest"\ )\" platform_override_source: \ \"$(manifest_userconfig_attribute \ "$CURRENT_APPMANIFEST" \ "platform_override_source"\ )\"\ "; if [ -d "$checkdir" ]; then CURRENT_PREFIX_PATH="$checkdir"; printf "%s\n" \ "GOOD: Found $CURRENT_GAME \ Proton Prefix at \ \"$CURRENT_PREFIX_PATH\"\ "; else checkdir="${STEAM_LIBRARY_PATHS[0]}/steamapps/compatdata/$CURRENT_APPID/pfx/"; printf "%s\n%s\n" \ "INFO: Proton Prefix for \ $CURRENT_GAME not found at \"$checkdir\"." \ "INFO: Trying \"$checkdir\" instead!"; if [ -d "$checkdir" ]; then CURRENT_PREFIX_PATH="$checkdir"; printf "%s\n%s\n" \ "GOOD: Found $CURRENT_GAME Proton Prefix \ in default Steam Library at \ \"$CURRENT_PREFIX_PATH\"" \ "WARN: This feature should only be \ automatically used on a Steam Deck!"; else CURRENT_PREFIX_PATH=""; printf "%s\n%s\n%s\n" \ "WARN: $CURRENT_GAME is configured for Proton but no Prefix was found!" \ "WARN: Its Proton Prefix is missing or has not been run yet!" \ "WARN: Launch the game with Proton via Steam before modding!"; fi; fi; elif [ -d "$checkdir" ]; then CURRENT_PREFIX_PATH="$checkdir"; printf "%s\n%s\n" \ "WARN: $CURRENT_GAME isn't configured for Proton but a Prefix was found!" \ "GOOD: Found $CURRENT_GAME Proton Prefix at \"$CURRENT_PREFIX_PATH\""; else CURRENT_PREFIX_PATH=""; printf "%s\n" "INFO: No Proton Prefix for $CURRENT_GAME found!"; fi; else CURRENT_INSTALL_PATH=""; CURRENT_PREFIX_PATH=""; checkdir="$CURRENT_INSTALL_PATH/steamapps/compatdata/$CURRENT_APPID/pfx"; if [ -d "$checkdir" ]; then printf "%s\n%s\n" \ "WARN: A Proton Prefix for $CURRENT_GAME exists at \"$checkdir\" but no installation was detected!" \ "WARN: If $CURRENT_GAME was uninstalled, Steam may have left behind files, like save data it syncs with the Steam Cloud."; else printf "%s\n" "INFO: No installation or Proton Prefix of $CURRENT_GAME found!"; fi; fi; if [ -d "$CURRENT_INSTALL_PATH" ]; then checkdir="$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/common/$CURRENT_INSTALLDIR"; rmlink "$checkdir"; checkdir="$CURRENT_INSTALL_PATH"; if [ -d "$checkdir" ]; then ln -s "$checkdir" "$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/common/"; fi; checkdir="$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/appmanifest_$CURRENT_APPID.acf"; rmlink "$checkdir"; checkdir="$CURRENT_APPMANIFEST"; if [ -f "$checkdir" ]; then ln -s "$checkdir" "$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/"; fi; fi; if [ -d "$CURRENT_PREFIX_PATH" ]; then link_sub_targets \ "$VORTEX_PREFIX/drive_c/users/$USER/My Documents/My Games" \ "$CURRENT_PREFIX_PATH/drive_c/users/steamuser/My Documents/My Games"; link_sub_targets \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/Roaming" \ "$CURRENT_PREFIX_PATH/drive_c/users/steamuser/AppData/Roaming"; link_sub_targets \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/Local" \ "$CURRENT_PREFIX_PATH/drive_c/users/steamuser/AppData/Local"; link_sub_targets \ "$VORTEX_PREFIX/drive_c/users/$USER/AppData/LocalLow" \ "$CURRENT_PREFIX_PATH/drive_c/users/steamuser/AppData/LocalLow"; fi; done; done; printf "%s\n" "DONE: Finished linking all detected Steam Library folders!"; description: Writing vortex-steam-symlinker.sh to the Vortex Prefix 2/3 file: $GAMEDIR/vortex-steam-symlinker.sh - chmodx: $GAMEDIR/vortex-steam-symlinker.sh - write_file: content: | #!/usr/bin/sh if [ ! -d "$VORTEX_PREFIX" ]; then VORTEX_PREFIX="$PWD"; fi; if [ ! -d "$VORTEX_PREFIX" ]; then VORTEX_PREFIX="$(realpath "$(dirname "$0";)";)"; fi; if [ -d "$VORTEX_PREFIX" ]; then printf "%s\n" \ "INFO: Using Vortex prefix at \"$VORTEX_PREFIX\"" \ | tee install.log; else printf "%s\n" \ "EROR: Invalid Vortex prefix at \"$VORTEX_PREFIX\"" \ | tee install.log; exit 1; fi; "$VORTEX_PREFIX"/vortex-steam-symlinker.sh 2>&1 | tee -a install.log; "$VORTEX_PREFIX"/vortex-entry-writer.sh 2>&1 | tee -a install.log; description: Writing vortex-prefix-updater.sh to the Vortex Prefix 3/3 file: $GAMEDIR/vortex-prefix-updater.sh - chmodx: $GAMEDIR/vortex-prefix-updater.sh - execute: command: ./vortex-prefix-updater.sh description: |- Updating the Vortex Download Handler Updating Symbolic Links Targeting Known Game Locations working_dir: $GAMEDIR - task: name: winekill prefix: $GAMEDIR - task: description: | 安装Vortex…… 请在Vortex安装完成、弹出主界面后点关闭,否则安装不会自动结束。 exclude_processes: Vortex.exe mscorsvw.exe plugplay.exe rpcss.exe services.exe winedevice.exe svchost.exe conhost.exe executable: setup name: wineexec prefix: $GAMEDIR - execute: command: | dir="$GAMEDIR/drive_c/users/$USER/AppData/Roaming/Vortex/skyrimse/masterlist"; mkdir -p "$dir"; mv "$masterlist" "$dir/masterlist.yaml"; description: 放置SkyrimSE主列表(masterlist.yaml) require-binaries: bash, dirname, find, grep, ln, mkdir, printf, realpath, sed, sh, sqlite3, unlink system: manual_command: $GAMEDIR/vortex-prefix-updater.sh prefix_command: sh -c "\"$WINE\" \"$1\" $(CONFIGPATH=$(sqlite3 \"$HOME/.local/share/lutris/pga.db\" \"select configpath from games where installer_slug = \\\"vortex-mod-manager-wine\\\" order by id asc limit 1;\");sed -n \"/args:.*$/s/^ args://;T;p;Q\" \"$HOME/.config/lutris/games/$CONFIGPATH.yml\";NOYAML=\" -d\";sed -i \"s/^ args:.*$/ args:$NOYAML/\" \"$HOME/.config/lutris/games/$CONFIGPATH.yml\";) >/dev/null 2>&1;" variables: HOME: $HOME USER: $USER VERSION: 1.7.4 wine: dxvk: false esync: false fsync: false version: winehq-staging-7.22-x86_64 vkd3d: false
{ "files": [ { "setup": "https://file.winegame.net/games/vortex-mod-manager/vortex-setup-1.7.4.exe" }, { "cmdfonts": "https://file.winegame.net/cache/wine/fonts/MicrosoftYaHeiMono-20221213.tar.xz" }, { "dotnet6": "https://file.winegame.net/games/dotnet/dotnet-sdk-6.0.405-win-x64.exe" }, { "masterlist": "https://file.winegame.net/games/vortex-mod-manager/masterlist.yaml" } ], "game": { "args": "-d", "exe": "drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe" }, "install_complete_text": "Vortex\u5b89\u88c5\u5b8c\u6210\u3002\n\u6ce8\u610f\uff1a\u8bf7\u4ec5\u7528Vortex\u5b89\u88c5Mod\uff0c\u4e0d\u8981\u4f7f\u7528Vortex\u542f\u52a8\u6e38\u620f\u3002\n\u8fd9\u4e2aVortex\u4e0d\u80fd\u7528\u4e8e\u542f\u52a8\u6e38\u620f\uff01\n\u5c31\u7b97\u6e38\u620f\u53ef\u4ee5\u8fd0\u884c\uff0c\u4e5f\u4e00\u5b9a\u4f1a\u5f88\u5361\uff01\n", "installer": [ { "execute": { "command": "bash \"$wineinit\" win64 7.20", "description": "\u4e0b\u8f7d\u5b57\u4f53\u548c\u8fd0\u884c\u5e93" } }, { "task": { "arch": "win64", "description": "\u521b\u5efa64\u4f4dWine\u524d\u7f00", "name": "create_prefix", "prefix": "$GAMEDIR" } }, { "extract": { "description": "\u89e3\u538b\u4e2d\u6587\u5b57\u4f53", "dst": "$GAMEDIR/drive_c/windows/Fonts", "file": "cmdfonts" } }, { "task": { "description": "\u5b89\u88c5\u4e2d\u6587\u5b57\u4f53", "filename": "$GAMEDIR/drive_c/windows/Fonts/MicrosoftYaHeiMono.reg", "name": "set_regedit_file" } }, { "execute": { "command": "rm -f \"$GAMEDIR/dosdevices/m::\"; ln -sf \"$HOME\" \"$GAMEDIR/dosdevices/m:\"", "description": "\u6dfb\u52a0\u4e3b\u76ee\u5f55($HOME)\u4e3aM\u76d8" } }, { "task": { "app": "dotnet48", "description": "\u9759\u9ed8\u5b89\u88c5 .NET 4.8\uff08\u8bf7\u8010\u5fc3\u7b49\u5f85\uff09", "name": "winetricks", "prefix": "$GAMEDIR" } }, { "task": { "name": "winekill", "prefix": "$GAMEDIR" } }, { "task": { "app": "win10", "description": "\u5207\u6362\u5230Win10\u6a21\u5f0f", "name": "winetricks", "prefix": "$GAMEDIR" } }, { "task": { "name": "winekill", "prefix": "$GAMEDIR" } }, { "task": { "args": "/install /quiet /norestart", "description": "\u9759\u9ed8\u5b89\u88c5 .NET 6.0\uff08\u8bf7\u8010\u5fc3\u7b49\u5f85\uff09", "executable": "dotnet6", "name": "wineexec", "prefix": "$GAMEDIR" } }, { "task": { "name": "winekill", "prefix": "$GAMEDIR" } }, { "task": { "description": "Adding Steam to the Wine Prefix Registry 1/2", "key": "SteamPath", "name": "set_regedit", "path": "HKEY_CURRENT_USER\\Software\\Valve\\Steam", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam" } }, { "task": { "description": "Adding Steam to the Wine Prefix Registry 2/2", "key": "SteamExe", "name": "set_regedit", "path": "HKEY_CURRENT_USER\\Software\\Valve\\Steam", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\Steam.exe" } }, { "task": { "description": "Adding DARK SOULS to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\NAMCO BANDAI GAMES\\DARK SOULS", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Dark Souls Prepare to Die Edition" } }, { "task": { "description": "Adding DARK SOULS to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\211420", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Dark Souls Prepare to Die Edition" } }, { "task": { "description": "Adding DARK SOULS REMASTERED to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\570940", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\DARK SOULS REMASTERED" } }, { "task": { "description": "Adding DARK SOULS II to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\236430", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Dark Souls II" } }, { "task": { "description": "Adding DARK SOULS II Scholar of the First Sin to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\335300", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Dark Souls II Scholar of the First Sin" } }, { "task": { "description": "Adding DARK SOULS III to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\374320", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\DARK SOULS III" } }, { "task": { "description": "Adding ELDEN RING to the Wine Prefix Registry 1/2", "key": "InstallLocation", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\ELDEN RING_is1", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\ELDEN RING" } }, { "task": { "description": "Adding ELDEN RING to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\1245620", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\ELDEN RING" } }, { "task": { "description": "Adding Fallout 3 to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Fallout 3", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 3" } }, { "task": { "description": "Adding Fallout 3 to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22300", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 3" } }, { "task": { "description": "Adding Fallout 3 Game of the Year Edition to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Fallout 3 goty", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 3 goty" } }, { "task": { "description": "Adding Fallout 3 Game of the Year Edition to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22370", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 3 goty" } }, { "task": { "description": "Adding Fallout 4 to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Fallout4", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 4" } }, { "task": { "description": "Adding Fallout 4 to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\377160", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 4" } }, { "task": { "description": "Adding Fallout 4 VR to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Fallout 4 VR", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 4 VR" } }, { "task": { "description": "Adding Fallout 4 VR to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\611660", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout 4 VR" } }, { "task": { "description": "Adding Fallout 76 to the Wine Prefix Registry 1/2", "key": "Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Fallout 76", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout76" } }, { "task": { "description": "Adding Fallout 76 to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\1151340", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout76" } }, { "task": { "description": "Adding Fallout New Vegas to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\FalloutNV", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout New Vegas" } }, { "task": { "description": "Adding Fallout New Vegas to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22380", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Fallout New Vegas" } }, { "task": { "description": "Adding Kerbal Space Program to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\220200", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Kerbal Space Program" } }, { "task": { "description": "Adding MechWarrior 5: Mercenaries to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\784080", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\MechWarrior 5 Mercenaries" } }, { "task": { "description": "Adding Middle Earth: Shadow of War to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\356190", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\ShadowOfWar" } }, { "task": { "description": "Adding Monster Hunter: World to the Wine Prefix Registry 1/2", "key": "InstallLocation", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Steam App 582010", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Monster Hunter World" } }, { "task": { "description": "Adding Monster Hunter: World to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\582010", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Monster Hunter World" } }, { "task": { "description": "Adding Morrowind to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Morrowind", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Morrowind" } }, { "task": { "description": "Adding Morrowind to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22320", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Morrowind" } }, { "task": { "description": "Adding Oblivion to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\oblivion", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Oblivion" } }, { "task": { "description": "Adding Oblivion to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\22330", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Oblivion" } }, { "task": { "description": "Adding Sekiro: Shadows Die Twice to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\814380", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Sekiro" } }, { "task": { "description": "Adding Skyrim to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Skyrim", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Skyrim" } }, { "task": { "description": "Adding Skyrim to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\72850", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Skyrim" } }, { "task": { "description": "Adding Skyrim Special Edition to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Skyrim Special Edition", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Skyrim Special Edition" } }, { "task": { "description": "Adding Skyrim Special Edition to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\489830", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Skyrim Special Edition" } }, { "task": { "description": "Adding Skyrim VR to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Bethesda Softworks\\Skyrim VR", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\SkyrimVR" } }, { "task": { "description": "Adding Skyrim VR to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\611670", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\SkyrimVR" } }, { "task": { "description": "Adding Stardew Valley to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\413150", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Stardew Valley" } }, { "task": { "description": "Adding The Witcher to the Wine Prefix Registry 1/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\CD Project Red\\Witcher", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\The Witcher Enhanced Edition" } }, { "task": { "description": "Adding The Witcher to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\20900", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\The Witcher Enhanced Edition" } }, { "task": { "description": "Adding The Witcher 2 to the Wine Prefix Registry 1/1", "key": "InstallFolder", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\CD Project Red\\The Witcher 2", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\the witcher 2" } }, { "task": { "description": "Adding The Witcher 3 to the Wine Prefix Registry 1/2", "key": "InstallFolder", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\CD Project Red\\The Witcher 3", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\The Witcher 3" } }, { "task": { "description": "Adding The Witcher 3 to the Wine Prefix Registry 2/2", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\209230", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\The Witcher 3" } }, { "task": { "description": "Adding Valheim to the Wine Prefix Registry 1/1", "key": "Installed Path", "name": "set_regedit", "path": "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Valve\\Steam\\Apps\\892970", "prefix": "$GAMEDIR", "type": "REG_SZ", "value": "C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Valheim" } }, { "write_file": { "content": "#!/usr/bin/bash\nif [ ! -d \"$VORTEX_PREFIX\" ]; then\nVORTEX_PREFIX=\"$PWD\";\nfi;\nif [ ! -d \"$VORTEX_PREFIX\" ]; then\nVORTEX_PREFIX=\"$(realpath \"$(dirname \"$0\";)\";)\";\nfi;\nif [ -d \"$VORTEX_PREFIX\" ]; then\nprintf \"%s\\n\" \"INFO: Using Vortex prefix at \\\"$VORTEX_PREFIX\\\"\";\nelse\nprintf \"%s\\n\" \"EROR: Invalid Vortex prefix at \\\"$VORTEX_PREFIX\\\"\";\nexit 1;\nfi;\nDESKTOP=~/Desktop;\nDESKTOP_FNAME=\"vortex-downloads-handler.desktop\";\nDESKTOP_APPLS=~/.local/share/applications/;\nDESKTOP_FPATH=\"$DESKTOP_APPLS$DESKTOP_FNAME\";\nLUTRIS_DB_PATH=~/.local/share/lutris/pga.db;\nLUTRIS_CONFIGS=~/.config/lutris/games/;\nif [ -f \"$DESKTOP_APPLS/wine/Programs/Black Tree Gaming Ltd/Vortex.desktop\" ]; then\nrm -f \"$DESKTOP_APPLS/wine/Programs/Black Tree Gaming Ltd/Vortex.desktop\";\nrmdir --ignore-fail-on-non-empty -p \"$DESKTOP_APPLS/wine/Programs/Black Tree Gaming Ltd\";\nfi;\nif [ -f \"$DESKTOP_FPATH\" ]; then\nrm -f \"$DESKTOP_FPATH\";\nfi;\nprintf \"%s\\n\" \"INFO: Updating nxm link handling for Vortex!\";\nprintf \"%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n%s\\n\\n\" \\\n\"[Desktop Entry]\" \\\n\"Categories=Game;Network;\" \\\n\"Comment[en_US]=NXM Protocol Download Handler\" \\\n\"Comment=NXM Protocol Download Handler\" \\\n\"Exec=sh -c \\\"CONFIGPATH=\\$(sqlite3 \\\\\\\\\\\"$LUTRIS_DB_PATH\\\\\\\\\\\" \\\\\\\\\\\"select configpath from games where installer_slug = \\\\\\\\\\\\\\\\\\\\\\\\\\\"vortex-mod-manager-wine\\\\\\\\\\\\\\\\\\\\\\\\\\\" order by id asc limit 1;\\\\\\\\\\\");sed -i \\\\\\\\\\\"s/^ args:.*$/ args: -d \\$(printf \\\\\\\\\\\"%%s\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\" \\\\\\\\\\\"%u\\\\\\\\\\\" | sed \\\\\\\\\\\"s/^'//;s/'$//;s/\\\\\\\\//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//g;s/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&/g\\\\\\\\\\\")/\\\\\\\\\\\" \\\\\\\\\\\"$LUTRIS_CONFIGS\\$CONFIGPATH.yml\\\\\\\\\\\";env LUTRIS_SKIP_INIT=1 lutris lutris:rungameid/\\$(sqlite3 \\\\\\\\\\\"$LUTRIS_DB_PATH\\\\\\\\\\\" \\\\\\\\\\\"select id from games where installer_slug = \\\\\\\\\\\\\\\\\\\\\\\\\\\"vortex-mod-manager-wine\\\\\\\\\\\\\\\\\\\\\\\\\\\" order by id asc limit 1;\\\\\\\\\\\")\\\"\" \\\n\"GenericName[en_US]=Writes the provided nxm url as an argument to Vortex by editing the Lutris game config for Vortex twice before launching.\" \\\n\"GenericName=Writes the provided nxm url as an argument to Vortex by editing the Lutris game config for Vortex twice before launching.\" \\\n\"Icon=lutris_vortex-mod-manager\" \\\n\"MimeType=x-scheme-handler/nxm-protocol;x-scheme-handler/nxm;\" \\\n\"Name[en_US]=Vortex\" \\\n\"Name=Vortex\" \\\n\"NoDisplay=true\" \\\n\"Path=$VORTEX_PREFIX\" \\\n\"StartupNotify=true\" \\\n\"Terminal=false\" \\\n\"Type=Application\" \\\n> \"$DESKTOP_FPATH\";\nxdg-mime default \"$DESKTOP_FPATH\" x-scheme-handler/nxm x-scheme-handler/nxm-protocol;\nfix_mimetypes(){\nif [ -f \"$1\" ]; then\nprintf \"%s\\n\" \"INFO: Fixing mimetype association of nxm: links in \\\"$1\\\"\";\nsed -E -i \"s/x-scheme-handler\\/nxm=[^[=$=]]\\+/x-scheme-handler\\/nxm=$DESKTOP_FNAME;/\" \"$1\";\ncheck=\"$(grep -a -o -e \"x-scheme-handler/nxm=$DESKTOP_FNAME;\" \"$1\")\";\nif [ -z \"$check\" ]; then\nprintf \"%s\\n\" \"x-scheme-handler/nxm=$DESKTOP_FNAME;\" >> \"$1\";\nfi;\nsed -E -i \"s/x-scheme-handler\\/nxm-protocol=[^[=$=]]\\+/x-scheme-handler\\/nxm-protocol=$DESKTOP_FNAME;/\" \"$1\";\ncheck=\"$(grep -a -o -e \"x-scheme-handler/nxm-protocol=$DESKTOP_FNAME;\" \"$1\")\"\nif [ -z \"$check\" ]; then\nprintf \"%s\\n\" \"x-scheme-handler/nxm-protocol=$DESKTOP_FNAME;\" >> \"$1\";\nfi;\nelse\nprintf \"%s\\n%s\\n%s\\n\\n\" \"$2\" \"x-scheme-handler/nxm=$DESKTOP_FNAME;\" \"x-scheme-handler/nxm-protocol=$DESKTOP_FNAME;\" > \"$1\";\nfi;\n};\nfix_mimetypes \"$DESKTOP_APPLS\"mimeinfo.cache \"[MIME Cache]\";\nfix_mimetypes \"$DESKTOP_APPLS\"defaults.list \"[Default Applications]\";\nprintf \"%s\\n\" \"DONE: Made a desktop entry for Vortex at \\\"$DESKTOP_FPATH\\\"\";\n", "description": "Writing vortex-entry-writer.sh to the Vortex Prefix 1/3", "file": "$GAMEDIR/vortex-entry-writer.sh" } }, { "chmodx": "$GAMEDIR/vortex-entry-writer.sh" }, { "write_file": { "content": "#!/usr/bin/bash\nif [ ! -d \"$VORTEX_PREFIX\" ]; then\nVORTEX_PREFIX=\"$PWD\";\nfi;\nif [ ! -d \"$VORTEX_PREFIX\" ]; then\nVORTEX_PREFIX=\"$(realpath \"$(dirname \"$0\";)\";)\";\nfi;\nif [ -d \"$VORTEX_PREFIX\" ]; then\nprintf \"%s\\n\" \\\n\"INFO: Using Vortex prefix at \\\"$VORTEX_PREFIX\\\"\";\nelse\nprintf \"%s\\n\" \\\n\"EROR: Invalid Vortex prefix at \\\"$VORTEX_PREFIX\\\"\";\nexit 1;\nfi;\nrmlink(){\nif [ -h \"$1\" ];\nthen unlink \"$1\";\nfi;\n}\nmklink(){\nrmlink \"$2\";\nln -s -T \"$1\" \"$2\";\n}\nmanifest_attribute(){\ngrep -a -o -e \"\\\"$2\\\"[[:space:]]*\\\".*\\\"$\" \"$1\" \\\n| sed \"s/\\\"$2\\\"[[:space:]]*\\\"//;s/\\\"$//\";\n};\nmanifest_userconfig_attribute(){\nmanifest_attribute \\\n<(grep \\\n-a -o -P -z \\\n\"\\\"UserConfig\\\"\\s*{(\\s*[^}]*\\s*)*}\" \\\n\"$1\"\\\n) \"$2\";\n};\nmanifest_mountedconfig_attribute(){\nmanifest_attribute \\\n<(grep \\\n-a -o -P -z \\\n\"\\\"MountedConfig\\\"\\s*{(\\s*[^}]*\\s*)*}\" \\\n\"$1\"\\\n) \"$2\";\n};\nlink_sub_targets(){\nTARGET=\"\";\nDIR_LS=(\"$2\"/*);\nfor TARGET in \"${DIR_LS[@]}\"; do\nfoldername=\"$(basename \"$TARGET\")\";\nchecklink=\"$1/$foldername\";\nrmlink \"$checklink\";\nif [ \"$foldername\" != \"Vortex\" ] && \\\n[ \"$foldername\" != \"openvr\" ] && \\\n[ \"$foldername\" != \"Microsoft\" ] && \\\n[ -d \"$TARGET\" ]; then\nln -s \"$TARGET\" \"$1/\";\nfi;\ndone;\n};\nmkdir -p \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/Roaming\" \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/Local\" \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/LocalLow\" \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/Documents/My Games\" \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/Local Settings\" \\\n\"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/common\" \\\n\"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/config\";\nmklink \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/Documents\" \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/My Documents\";\nmklink \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/Roaming\" \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/Application Data\";\nmklink \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/Local\" \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/Local Settings/Application Data\";\nsed \"s/\\\"\\/.*\\\"$/\\\"C:\\\\\\\\\\\\\\\\Program Files \\(x86\\)\\\\\\\\\\\\\\\\Steam\\\"/g\" < \\\n~/.steam/steam/steamapps/libraryfolders.vdf |& tee \\\n\"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/libraryfolders.vdf\" \\\n\"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/config/libraryfolders.vdf\" \\\n1>/dev/null;\nSTEAM_LIBRARY_PATHS=();\nwhile read -r library; do\nrmdir --ignore-fail-on-non-empty \"$library\"/steamapps/common/* 2>/dev/null;\nif [ -d \"$library\" ] && [ -d \"$library/steamapps/common\" ]; then\nif [ -d \"$library/steamapps/compatdata/\" ]; then\nSTEAM_COMPATDATA=(\"$(find \"$library/steamapps/compatdata/\" -type d -name \"pfx\")\");\nfor compatdata in \"${STEAM_COMPATDATA[@]}\"; do\nrmdir --ignore-fail-on-non-empty \"$compatdata\" 2>/dev/null;\ndone;\nfi;\nSTEAM_LIBRARY_PATHS+=(\"$library\");\nfi;\ndone < <(grep -a -o -e \"/[^\\\"]*\" ~/.steam/steam/steamapps/libraryfolders.vdf);\nfor library in \"${STEAM_LIBRARY_PATHS[@]}\"; do\nprintf \"%s\\n\" \"INFO: Found Steam Library at \\\"$library\\\"! Linking all games in the library:\";\nMANIFESTS=();\nreadarray -t MANIFESTS < <(find \"$library/steamapps\" -mindepth 1 -maxdepth 1 -type f -name \"appmanifest_*\\.acf\");\nfor CURRENT_APPMANIFEST in \"${MANIFESTS[@]}\"; do\nCURRENT_APPID=\"$(manifest_attribute \"$CURRENT_APPMANIFEST\" \"appid\")\";\nCURRENT_GAME=\"$(manifest_attribute \"$CURRENT_APPMANIFEST\" \"name\")\";\nCURRENT_INSTALLDIR=\"$(manifest_attribute \"$CURRENT_APPMANIFEST\" \"installdir\")\";\nprintf \"%s\\n\" \\\n\"INFO: \\\nCURRENT_APPID=\\\"$CURRENT_APPID\\\" \\\nCURRENT_GAME=\\\"$CURRENT_GAME\\\" \\\nCURRENT_INSTALLDIR=\\\"$CURRENT_INSTALLDIR\\\"\\\n\";\ncheckdir=\"$(\\\nprintf \"%s\" \"$CURRENT_APPMANIFEST\" | \\\nsed \"s/\\/steamapps\\/.\\+/\\/steamapps\\/common\\//\"\\\n)$CURRENT_INSTALLDIR\";\nif [ -d \"$checkdir\" ]; then\nCURRENT_INSTALL_PATH=\"$checkdir\";\ncheckdir=\"$(\\\nprintf \"%s\" \"$CURRENT_APPMANIFEST\" | \\\nsed \"s/\\/steamapps\\/.\\+/\\/steamapps\\/compatdata\\/$CURRENT_APPID\\/pfx/\"\\\n)\";\nprintf \"%s\\n\" \\\n\"GOOD: Found $CURRENT_GAME installation at \\\"$CURRENT_INSTALL_PATH\\\"\";\nif [ \"$(manifest_userconfig_attribute \\\n\"$CURRENT_APPMANIFEST\" \\\n\"platform_override_dest\"\\\n)\" == \"linux\" ] && \\\n[ \"$(manifest_userconfig_attribute \\\n\"$CURRENT_APPMANIFEST\" \\\n\"platform_override_source\"\\\n)\" == \"windows\" ];\nthen\nprintf \"%s\\n\" \\\n\"INFO: platform_override_dest: \\\n\\\"$(manifest_userconfig_attribute \\\n\"$CURRENT_APPMANIFEST\" \\\n\"platform_override_dest\"\\\n)\\\" platform_override_source: \\\n\\\"$(manifest_userconfig_attribute \\\n\"$CURRENT_APPMANIFEST\" \\\n\"platform_override_source\"\\\n)\\\"\\\n\";\nif [ -d \"$checkdir\" ]; then\nCURRENT_PREFIX_PATH=\"$checkdir\";\nprintf \"%s\\n\" \\\n\"GOOD: Found $CURRENT_GAME \\\nProton Prefix at \\\n\\\"$CURRENT_PREFIX_PATH\\\"\\\n\";\nelse\ncheckdir=\"${STEAM_LIBRARY_PATHS[0]}/steamapps/compatdata/$CURRENT_APPID/pfx/\";\nprintf \"%s\\n%s\\n\" \\\n\"INFO: Proton Prefix for \\\n$CURRENT_GAME not found at \\\"$checkdir\\\".\" \\\n\"INFO: Trying \\\"$checkdir\\\" instead!\";\nif [ -d \"$checkdir\" ]; then\nCURRENT_PREFIX_PATH=\"$checkdir\";\nprintf \"%s\\n%s\\n\" \\\n\"GOOD: Found $CURRENT_GAME Proton Prefix \\\nin default Steam Library at \\\n\\\"$CURRENT_PREFIX_PATH\\\"\" \\\n\"WARN: This feature should only be \\\nautomatically used on a Steam Deck!\";\nelse\nCURRENT_PREFIX_PATH=\"\";\nprintf \"%s\\n%s\\n%s\\n\" \\\n\"WARN: $CURRENT_GAME is configured for Proton but no Prefix was found!\" \\\n\"WARN: Its Proton Prefix is missing or has not been run yet!\" \\\n\"WARN: Launch the game with Proton via Steam before modding!\";\nfi;\nfi;\nelif [ -d \"$checkdir\" ]; then\nCURRENT_PREFIX_PATH=\"$checkdir\";\nprintf \"%s\\n%s\\n\" \\\n\"WARN: $CURRENT_GAME isn't configured for Proton but a Prefix was found!\" \\\n\"GOOD: Found $CURRENT_GAME Proton Prefix at \\\"$CURRENT_PREFIX_PATH\\\"\";\nelse\nCURRENT_PREFIX_PATH=\"\";\nprintf \"%s\\n\" \"INFO: No Proton Prefix for $CURRENT_GAME found!\";\nfi;\nelse\nCURRENT_INSTALL_PATH=\"\";\nCURRENT_PREFIX_PATH=\"\";\ncheckdir=\"$CURRENT_INSTALL_PATH/steamapps/compatdata/$CURRENT_APPID/pfx\";\nif [ -d \"$checkdir\" ]; then\nprintf \"%s\\n%s\\n\" \\\n\"WARN: A Proton Prefix for $CURRENT_GAME exists at \\\"$checkdir\\\" but no installation was detected!\" \\\n\"WARN: If $CURRENT_GAME was uninstalled, Steam may have left behind files, like save data it syncs with the Steam Cloud.\";\nelse\nprintf \"%s\\n\" \"INFO: No installation or Proton Prefix of $CURRENT_GAME found!\";\nfi;\nfi;\nif [ -d \"$CURRENT_INSTALL_PATH\" ]; then\ncheckdir=\"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/common/$CURRENT_INSTALLDIR\";\nrmlink \"$checkdir\";\ncheckdir=\"$CURRENT_INSTALL_PATH\";\nif [ -d \"$checkdir\" ]; then\nln -s \"$checkdir\" \"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/common/\";\nfi;\ncheckdir=\"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/appmanifest_$CURRENT_APPID.acf\";\nrmlink \"$checkdir\";\ncheckdir=\"$CURRENT_APPMANIFEST\";\nif [ -f \"$checkdir\" ]; then\nln -s \"$checkdir\" \"$VORTEX_PREFIX/drive_c/Program Files (x86)/Steam/steamapps/\";\nfi;\nfi;\nif [ -d \"$CURRENT_PREFIX_PATH\" ]; then\nlink_sub_targets \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/My Documents/My Games\" \\\n\"$CURRENT_PREFIX_PATH/drive_c/users/steamuser/My Documents/My Games\";\nlink_sub_targets \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/Roaming\" \\\n\"$CURRENT_PREFIX_PATH/drive_c/users/steamuser/AppData/Roaming\";\nlink_sub_targets \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/Local\" \\\n\"$CURRENT_PREFIX_PATH/drive_c/users/steamuser/AppData/Local\";\nlink_sub_targets \\\n\"$VORTEX_PREFIX/drive_c/users/$USER/AppData/LocalLow\" \\\n\"$CURRENT_PREFIX_PATH/drive_c/users/steamuser/AppData/LocalLow\";\nfi;\ndone;\ndone;\nprintf \"%s\\n\" \"DONE: Finished linking all detected Steam Library folders!\";\n", "description": "Writing vortex-steam-symlinker.sh to the Vortex Prefix 2/3", "file": "$GAMEDIR/vortex-steam-symlinker.sh" } }, { "chmodx": "$GAMEDIR/vortex-steam-symlinker.sh" }, { "write_file": { "content": "#!/usr/bin/sh\nif [ ! -d \"$VORTEX_PREFIX\" ]; then\nVORTEX_PREFIX=\"$PWD\";\nfi;\nif [ ! -d \"$VORTEX_PREFIX\" ]; then\nVORTEX_PREFIX=\"$(realpath \"$(dirname \"$0\";)\";)\";\nfi;\nif [ -d \"$VORTEX_PREFIX\" ]; then\nprintf \"%s\\n\" \\\n\"INFO: Using Vortex prefix at \\\"$VORTEX_PREFIX\\\"\" \\\n| tee install.log;\nelse\nprintf \"%s\\n\" \\\n\"EROR: Invalid Vortex prefix at \\\"$VORTEX_PREFIX\\\"\" \\\n| tee install.log;\nexit 1;\nfi;\n\"$VORTEX_PREFIX\"/vortex-steam-symlinker.sh 2>&1 | tee -a install.log;\n\"$VORTEX_PREFIX\"/vortex-entry-writer.sh 2>&1 | tee -a install.log;\n", "description": "Writing vortex-prefix-updater.sh to the Vortex Prefix 3/3", "file": "$GAMEDIR/vortex-prefix-updater.sh" } }, { "chmodx": "$GAMEDIR/vortex-prefix-updater.sh" }, { "execute": { "command": "./vortex-prefix-updater.sh", "description": "Updating the Vortex Download Handler\nUpdating Symbolic Links Targeting Known Game Locations", "working_dir": "$GAMEDIR" } }, { "task": { "name": "winekill", "prefix": "$GAMEDIR" } }, { "task": { "description": "\u5b89\u88c5Vortex\u2026\u2026\n\u8bf7\u5728Vortex\u5b89\u88c5\u5b8c\u6210\u3001\u5f39\u51fa\u4e3b\u754c\u9762\u540e\u70b9\u5173\u95ed\uff0c\u5426\u5219\u5b89\u88c5\u4e0d\u4f1a\u81ea\u52a8\u7ed3\u675f\u3002\n", "exclude_processes": "Vortex.exe mscorsvw.exe plugplay.exe rpcss.exe services.exe winedevice.exe svchost.exe conhost.exe", "executable": "setup", "name": "wineexec", "prefix": "$GAMEDIR" } }, { "execute": { "command": "dir=\"$GAMEDIR/drive_c/users/$USER/AppData/Roaming/Vortex/skyrimse/masterlist\";\nmkdir -p \"$dir\";\nmv \"$masterlist\" \"$dir/masterlist.yaml\";\n", "description": "\u653e\u7f6eSkyrimSE\u4e3b\u5217\u8868\uff08masterlist.yaml\uff09" } } ], "require-binaries": "bash, dirname, find, grep, ln, mkdir, printf, realpath, sed, sh, sqlite3, unlink", "system": { "manual_command": "$GAMEDIR/vortex-prefix-updater.sh", "prefix_command": "sh -c \"\\\"$WINE\\\" \\\"$1\\\" $(CONFIGPATH=$(sqlite3 \\\"$HOME/.local/share/lutris/pga.db\\\" \\\"select configpath from games where installer_slug = \\\\\\\"vortex-mod-manager-wine\\\\\\\" order by id asc limit 1;\\\");sed -n \\\"/args:.*$/s/^ args://;T;p;Q\\\" \\\"$HOME/.config/lutris/games/$CONFIGPATH.yml\\\";NOYAML=\\\" -d\\\";sed -i \\\"s/^ args:.*$/ args:$NOYAML/\\\" \\\"$HOME/.config/lutris/games/$CONFIGPATH.yml\\\";) >/dev/null 2>&1;\"" }, "variables": { "HOME": "$HOME", "USER": "$USER", "VERSION": "1.7.4" }, "wine": { "dxvk": false, "esync": false, "fsync": false, "version": "winehq-staging-7.22-x86_64", "vkd3d": false } }