From 06e1c190443e20cd7166e800a351733918e1eb79 Mon Sep 17 00:00:00 2001 From: Ben Peddell Date: Mon, 30 May 2016 20:03:16 +1000 Subject: [PATCH] remove-mods removes mods from workshop directory --- tools/arkmanager | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tools/arkmanager b/tools/arkmanager index 57d6ef3..2d1f342 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -1672,6 +1672,26 @@ doUninstallMod(){ fi } +# +# Removes mod from steamcmd workshop directory +# +doRemoveMods(){ + local modid + for modid in ${1//,/ }; do + if [ -f "$steamcmdroot/steamapps/workshop/appworkshop_${mod_appid}.acf" ]; then + sed -i "/^\\t\\t\"${modid}\"/,/^\\t\\t}/d" "$steamcmdroot/steamapps/workshop/appworkshop_${mod_appid}.acf" + fi + + if [ -d "$steamcmdroot/steamapps/workshop/content/${mod_appid}/${modid}" ]; then + rm -rf "$steamcmdroot/steamapps/workshop/content/${mod_appid}/${modid}" + fi + + if [ -d "$steamcmdroot/steamapps/workshop/downloads/${mod_appid}/${modid}" ]; then + rm -rf "$steamcmdroot/steamapps/workshop/downloads/${mod_appid}/${modid}" + fi + done +} + # # Copies server state to a backup directory # @@ -2125,6 +2145,7 @@ while true; do useconfig) nrarg=1; ;; install-cronjob) nrarg=1; ;; remove-cronjob) nrarg=1; ;; + remove-mods) nrarg=1; ;; esac # Enumerate the options and arguments @@ -2181,6 +2202,10 @@ while true; do defaultinstance="${args[0]}" continue ;; + remove-mods) + doRemoveMods "${args[0]}" + continue + ;; list-instances) doListAllInstances "${options[@]}" exit