summaryrefslogtreecommitdiff
blob: 1faaf0384e3bfcd82d4cdc76bf23fae08d571f85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/sbin/openrc-run
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
	need net
}

start() {
	ebegin "Starting Quake3 dedicated server"
	screen -A -m -d -S q3ded-bin su - games -c "q3ded-bin ${q3_OPTS}"
	eend $?
}

stop() {
	ebegin "Stopping Quake3 dedicated server"
	local pid=`screen -list | grep q3ded-bin | awk -F . '{print $1}' | sed -e s/.//`
	if [[ -z "${pid}" ]] ; then
		eend 1 "Lost screen session"
	else
		pid=`pstree -p ${pid} | sed -e 's:^.*q3ded-bin::'`
		pid=${pid:1:${#pid}-2}
		if [[ -z "${pid}" ]] ; then
			eend 1 "Lost q3ded-bin session"
		else
			kill ${pid}
			eend $? "Could not kill q3ded-bin"
		fi
	fi
}

status() {
	screen -list | grep q3ded-bin
}