bundlewrap/bundles/left4dead2/files/scripts/helpers

38 lines
1.4 KiB
Bash

#!/bin/bash
set -xeuo pipefail
function steam() {
# for systemd, so it can terminate the process (for other things sudo would have been enough)
setpriv --reuid=steam --regid=steam --init-groups "$@" <&0
export HOME=/opt/l4d2/steam
}
declare -A addons=(
[Ions_Vocalizer]=698857882
[EMS_Admin_System]=2524204971
)
function install_addon() {
local overlay="$1"
local addon_name="$2"
local addon_id="${addons[${addon_name}]}"
steam mkdir -p "/opt/l4d2/overlays/${overlay}/left4dead2/addons"
test -f "/opt/l4d2/overlays/${overlay}/left4dead2/addons/${addon_id}.vpk" || \
steam /opt/l4d2/steam-workshop-download "${addon_id}" --out "/opt/l4d2/overlays/${overlay}/left4dead2/addons"
}
function install_admin_system() {
local overlay="$1"
install_addon "${overlay}" EMS_Admin_System
steam mkdir -p "/opt/l4d2/overlays/${overlay}/left4dead2/ems/admin system"
steam echo "STEAM_1:0:12376499" > "/opt/l4d2/overlays/${overlay}/left4dead2/ems/admin system/admins.txt"
}
function install_tickrate_enabler() {
local overlay="$1"
steam mkdir -p "/opt/l4d2/overlays/${overlay}/left4dead2/addons"
for file in tickrate_enabler.dll tickrate_enabler.so tickrate_enabler.vdf
do
curl -L "https://github.com/SirPlease/L4D2-Competitive-Rework/raw/refs/heads/master/addons/${file}" -o "/opt/l4d2/overlays/${overlay}/left4dead2/addons/${file}"
done
}