summaryrefslogtreecommitdiff
path: root/rconsole/rconsole
blob: 835952ad6b840636251870a298b437c96447afa2 (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
35
36
37
38
39
40
#!/bin/bash

if [ "$#" -lt 1 ]; then
	echo "usage: $0 [instance]"
	exit 1
fi

export RCONSOLE_INSTANCE="$1"
export RCONSOLE_SCREEN="rconsole"
export RCONSOLE_PIPE="/home/zittrig/tremulous/server/@$RCONSOLE_INSTANCE/home/slacker/pipe"

if [ ! -p "$RCONSOLE_PIPE" ]; then
	printf "\"%s\" is not a pipe\n" "$RCONSOLE_PIPE"
	exit 1
fi

SESSION="$RCONSOLE_SCREEN"

screen -S $SESSION -X quit

screen -S $SESSION -a -O -d -m -T xterm -s rconsole-output || exit
screen -S $SESSION -X screen rconsole-input || exit

(
	while ! screen -list | grep "$SESSION.*Attached" > /dev/null; do
		sleep 0.01s
	done 

	screen -S $SESSION -X select 0
	screen -S $SESSION -X title "Server logs"
	screen -S $SESSION -X split
	screen -S $SESSION -X focus
	screen -S $SESSION -X select 1
	screen -S $SESSION -X title "Rcon"
	screen -S $SESSION -X resize 10%
) &

screen -d -r $SESSION
clear
echo "[rconsole has finished]"