37 lines
970 B
Bash
37 lines
970 B
Bash
#!/bin/bash
|
|
|
|
if [ "${DEBUGGING}" = "true" ]; then
|
|
set -o xtrace
|
|
fi
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
#using WORKSHOP_COLLECTION_ID
|
|
LUA_PATH="${SERVER_PATH}/garrysmod/lua/autorun/server"
|
|
LUA_FILE="${LUA_PATH}/workshop_autoload.lua"
|
|
|
|
#remove old file
|
|
if [ -e "$LUA_FILE" ]; then
|
|
rm "$LUA_FILE"
|
|
else
|
|
mkdir -p "$LUA_PATH"
|
|
fi
|
|
|
|
if [ "$WORKSHOP_COLLECTION_ID" = "0" ] || [ "$WORKSHOP_COLLECTION_ID" = "" ] || [ "$WORKSHOP_AUTOLOAD" != "true" ]; then
|
|
echo "No auto workshop download"
|
|
else
|
|
touch "$LUA_FILE"
|
|
arr=$(wget -q -O - https://steamcommunity.com/sharedfiles/filedetails/?id="${WORKSHOP_COLLECTION_ID}" | tr '\n' ' ' | grep -Po '"workshopItem"[^"]+"https://steamcommunity.com/sharedfiles/filedetails/\?id=(\d+)' | grep -Po '\d\d\d+' )
|
|
str=""
|
|
# resplitting needed here, otherwise one string with complete ids
|
|
# shellcheck disable=SC2068
|
|
for i in ${arr[@]}
|
|
do
|
|
str=${str}"resource.AddWorkshop( \"${i}\" )"$'\n'
|
|
done
|
|
echo "$str" > "$LUA_FILE"
|
|
fi
|
|
|