26 lines
No EOL
815 B
Bash
26 lines
No EOL
815 B
Bash
#!/bin/bash
|
|
|
|
set -xeuo pipefail
|
|
|
|
name=$1
|
|
overlay=$2
|
|
port=$3
|
|
|
|
function steam() {
|
|
setpriv --reuid=steam --regid=steam --init-groups "$@"
|
|
}
|
|
|
|
mountpoint -q "/opt/l4d2/servers/$name/merged" && umount "/opt/l4d2/servers/$name/merged"
|
|
steam rm -rf "/opt/l4d2/servers/$name"
|
|
|
|
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"
|
|
|
|
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" +map c1m1_hotel |