bundlewrap/bundles/left4dead2/files/start
2025-10-29 10:47:21 +01:00

35 lines
No EOL
1.4 KiB
Bash

#!/bin/bash
set -xeuo pipefail
name=$1
overlay=$2
port=$3
params=$4
function steam() {
# für systemd, damit es den prozess beenden kann
setpriv --reuid=steam --regid=steam --init-groups "$@"
export HOME=/opt/l4d2/steam
}
mountpoint -q "/opt/l4d2/servers/$name/merged" && umount "/opt/l4d2/servers/$name/merged"
steam rm -rf "/opt/l4d2/servers/$name/work" "/opt/l4d2/servers/$name/upper" "/opt/l4d2/servers/$name/merged"
steam mkdir -p \
"/opt/l4d2/servers/$name" \
"/opt/l4d2/servers/$name/work" \
"/opt/l4d2/servers/$name/upper" \
"/opt/l4d2/servers/$name/merged"
mount -t overlay overlay \
-o "lowerdir=/opt/l4d2/overlays/$overlay:/opt/l4d2/installation,upperdir=/opt/l4d2/servers/$name/upper,workdir=/opt/l4d2/servers/$name/work" \
"/opt/l4d2/servers/$name/merged"
# TODO: pass config file paht instead of expecting it here
steam mv "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg" "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server_original.cfg"
steam touch "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg"
echo "exec server_original.cfg" > "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg"
cat "/opt/l4d2/servers/$name/server.cfg" >> "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg"
steam "/opt/l4d2/servers/$name/merged/srcds_run" -norestart -pidfile "/opt/l4d2/servers/$name/pid" -game left4dead2 -ip 0.0.0.0 -port "$port" +hostname "Crone_$name" $params +map c1m1_hotel