38 lines
1.4 KiB
Bash
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/scripts/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
|
|
}
|