29 lines
		
	
	
		
			No EOL
		
	
	
		
			919 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			No EOL
		
	
	
		
			919 B
		
	
	
	
		
			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"
 | |
| 
 | |
| 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" $params +hostname "Crone_$name" +map c1m1_hotel |