fix(vh): correct BepInEx mod extraction and env vars
- mods_list: set modsubdirs="BepInExPack_Valheim" so only the pack
contents (not loose Thunderstore metadata) are installed to serverfiles
- mods_core: implement modsubdirs subfolder isolation in fn_mod_install_files;
when modsubdirs is not "0", the named subfolder becomes the extract root
- fix_vh: update BepInEx env vars to match current start_server_bepinex.sh
(DOORSTOP_ENABLED/DOORSTOP_TARGET_ASSEMBLY replacing old names,
remove defunct DOORSTOP_CORLIB_OVERRIDE_PATH)
- mods_list: update modsubdirs field comment to reflect its actual semantics
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
# [2] | "Pretty Name": the common name people use to call the mod that will be displayed to the user
# [2] | "Pretty Name": the common name people use to call the mod that will be displayed to the user
# [3] | "URL": link to the mod archive file; can be a variable previously defined while scraping a URL
# [3] | "URL": link to the mod archive file; can be a variable previously defined while scraping a URL
# [4] | "filename": the output filename
# [4] | "filename": the output filename
# [5] | "modsubdirs": in how many subdirectories is the mod (none is 0) (not used at release, but could be in the future)
# [5] | "modsubdirs": name of a subfolder within the archive to extract as the install root (use "0" to extract all contents)
# [6] | "LowercaseOn/Off": LowercaseOff or LowercaseOn: enable/disable converting extracted files and directories to lowercase (some games require it)
# [6] | "LowercaseOn/Off": LowercaseOff or LowercaseOn: enable/disable converting extracted files and directories to lowercase (some games require it)
# [7] | "modinstalldir": the directory in which to install the mode (use LGSM dir variables such as ${systemdir})
# [7] | "modinstalldir": the directory in which to install the mode (use LGSM dir variables such as ${systemdir})
# [8] | "/files/to/keep;", files & directories that should not be overwritten upon update, separated and ended with a semicolon; you can also use "OVERWRITE" value to ignore the value or "NOUPDATE" to disallow updating; for files to keep upon uninstall, see fn_mod_tidy_files_list from mods_core.sh
# [8] | "/files/to/keep;", files & directories that should not be overwritten upon update, separated and ended with a semicolon; you can also use "OVERWRITE" value to ignore the value or "NOUPDATE" to disallow updating; for files to keep upon uninstall, see fn_mod_tidy_files_list from mods_core.sh
@ -208,7 +208,7 @@ mod_info_sdtdoxide=(MOD "sdtdoxide" "Oxide for 7 Days To Die" "${oxidesdtdlatest
mod_info_valheimplus=(MOD "valheimplus""Valheim PLUS""${valheimpluslatestlink}""ValheimPlus.tar.gz""0""LowercaseOff""${systemdir}""OVERWRITE""ENGINES""Valheim;""NOTGAMES""https://github.com/Grantapher/ValheimPlus.git""Mod to improve Valheim gameplay")
mod_info_valheimplus=(MOD "valheimplus""Valheim PLUS""${valheimpluslatestlink}""ValheimPlus.tar.gz""0""LowercaseOff""${systemdir}""OVERWRITE""ENGINES""Valheim;""NOTGAMES""https://github.com/Grantapher/ValheimPlus.git""Mod to improve Valheim gameplay")
# BepInEx Valheim
# BepInEx Valheim
mod_info_bepinexvh=(MOD "bepinexvh""BepInEx Valheim""${bepinexvhlatestlink}""denikson-BepInExPack_Valheim.zip""0""LowercaseOff""${systemdir}""OVERWRITE""ENGINES""Valheim;""NOTGAMES""https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/""Unity / XNA game patcher and plugin framework")
mod_info_bepinexvh=(MOD "bepinexvh""BepInEx Valheim""${bepinexvhlatestlink}""denikson-BepInExPack_Valheim.zip""BepInExPack_Valheim""LowercaseOff""${systemdir}""OVERWRITE""ENGINES""Valheim;""NOTGAMES""https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/""Unity / XNA game patcher and plugin framework")
# REQUIRED: Set all mods info into the global array
# REQUIRED: Set all mods info into the global array