From ac41157f3ce246ffc71f2793e378791b5a6c54c2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 16 May 2023 21:36:27 +1000 Subject: [PATCH] Simplify mod handling (#365) --- arma3.kvp | 1 + arma3convertmods.sh | 4 ++++ arma3updates.json | 15 ++++----------- dayz-experimental.kvp | 1 + dayz-experimentalconvertmods.sh | 4 ++++ dayz-experimentalupdates.json | 15 ++++----------- 6 files changed, 18 insertions(+), 22 deletions(-) create mode 100644 arma3convertmods.sh create mode 100644 dayz-experimentalconvertmods.sh diff --git a/arma3.kvp b/arma3.kvp index 96980e6..3bd91c8 100644 --- a/arma3.kvp +++ b/arma3.kvp @@ -22,6 +22,7 @@ Meta.NoCommercialUsage=False App.DisplayName=Arma 3 App.RootDir=./arma3/ App.BaseDirectory=./arma3/233780/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}} App.ExecutableWin=233780\ArmA3Server_x64.exe App.ExecutableLinux=233780/arma3server_x64 App.WorkingDir=233780 diff --git a/arma3convertmods.sh b/arma3convertmods.sh new file mode 100644 index 0000000..d96fdb7 --- /dev/null +++ b/arma3convertmods.sh @@ -0,0 +1,4 @@ +#!/bin/bash +find ./arma3/233780/steamapps/workshop/content/107410/ -depth -name "*[A-Z]*" -print0 |\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" +exit 0 \ No newline at end of file diff --git a/arma3updates.json b/arma3updates.json index 62f0687..aa718aa 100644 --- a/arma3updates.json +++ b/arma3updates.json @@ -36,23 +36,16 @@ "UpdateStageName":"Modscript Download", "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3modscript.sh", - "UpdateSourceArgs":"modscript.sh", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3convertmods.sh", + "UpdateSourceArgs":"convertmods.sh", "UpdateSourceTarget":"{{$FullInstanceDir}}", "OverwriteExistingFiles":true }, { - "UpdateStageName":"Convert and Symlink Mods", + "UpdateStageName":"Convert Mods", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"./modscript.sh" - }, - { - "UpdateStageName":"Link Mods", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd .\\arma3\\233780 && for /D %G in (.\\steamapps\\workshop\\content\\107410\\*) do mklink /J %~nxG %G" + "UpdateSourceArgs":"./convertmods.sh" } ] diff --git a/dayz-experimental.kvp b/dayz-experimental.kvp index 6cb93d9..d12ad41 100644 --- a/dayz-experimental.kvp +++ b/dayz-experimental.kvp @@ -22,6 +22,7 @@ Meta.NoCommercialUsage=False App.DisplayName=DayZ (Experimental) App.RootDir=./dayz/ App.BaseDirectory=./dayz/1042420/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}} App.ExecutableWin=1042420\DayZServer_x64.exe App.ExecutableLinux=1042420/DayZServer App.WorkingDir=1042420 diff --git a/dayz-experimentalconvertmods.sh b/dayz-experimentalconvertmods.sh new file mode 100644 index 0000000..fca9e58 --- /dev/null +++ b/dayz-experimentalconvertmods.sh @@ -0,0 +1,4 @@ +#!/bin/bash +find ./dayz/1042420/steamapps/workshop/content/221100/ -depth -name "*[A-Z]*" -print0 |\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" +exit 0 \ No newline at end of file diff --git a/dayz-experimentalupdates.json b/dayz-experimentalupdates.json index d658c57..5ca4a0c 100644 --- a/dayz-experimentalupdates.json +++ b/dayz-experimentalupdates.json @@ -20,23 +20,16 @@ "UpdateStageName":"Modscript Download", "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalmodscript.sh", - "UpdateSourceArgs":"modscript.sh", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalconvertmods.sh", + "UpdateSourceArgs":"convertmods.sh", "UpdateSourceTarget":"{{$FullInstanceDir}}", "OverwriteExistingFiles":true }, { - "UpdateStageName":"Convert and Symlink Mods", + "UpdateStageName":"Convert Mods", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"./modscript.sh" - }, - { - "UpdateStageName":"Link Mods", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd .\\dayz\\1042420 && for /D %G in (.\\steamapps\\workshop\\content\\221100\\*) do mklink /J %~nxG %G" + "UpdateSourceArgs":"./convertmods.sh" } ] \ No newline at end of file