-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhltvctl
executable file
·59 lines (51 loc) · 1.07 KB
/
hltvctl
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash --
PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin'
name='hltv'
basedir="/usr/games/hlds"
command="$1"
prog=`basename $0`
do_start()
{
cd "$basedir"
screen -d -m -S $name ./hlds_run -binary ./hltv
}
do_stop()
{
kill `screen -ls | grep -e "\.$name" | awk '{print $1}' | sed -e 's/\..*//g'`
}
do_clean_demos()
{
cd "$basedir/cstrike/demos"
# clena up over 100MB size demos
find . -type f -name "*.dem" -size +100000k -print0 | xargs -0 rm -f
# clena up under 5MB size demos
find . -type f -name "*.dem" -size -5000k -print0 | xargs -0 rm -f
# clean up over 7 days demos
find . -type f -name "*.dem" -ctime +6 -print0 | xargs -0 rm -f
}
do_usage()
{
echo "$prog start - start $name"
echo "$prog stop - stop $name"
echo "$prog restart - restart $name"
}
case "$command" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_clean_demos
do_start
;;
clean)
do_clean_demos
;;
*)
do_usage
;;
esac
exit 0