1 | #!/bin/bash
|
---|
2 | # Version 4
|
---|
3 |
|
---|
4 | # Print status of given instance.
|
---|
5 |
|
---|
6 | sdtdCommandStatus() {
|
---|
7 | if [ $(isValidInstance $1) -eq 0 ]; then
|
---|
8 | echo "No instance given or not a valid instance!"
|
---|
9 | return
|
---|
10 | fi
|
---|
11 |
|
---|
12 | line() {
|
---|
13 | printf " %-*s %s\n" 15 "$1" "$2"
|
---|
14 | }
|
---|
15 |
|
---|
16 | echo "Instance: $1"
|
---|
17 | echo
|
---|
18 |
|
---|
19 | if [ $(isRunning $1) -eq 1 ]; then
|
---|
20 | echo "Status: Running"
|
---|
21 | echo "Open ports:"
|
---|
22 | netstat -nlp | grep $(getInstancePID $1) | sed -r 's/^([^ ]*)\s+.*[^ :]*:([^ ]*).*[^ :]*:[^ ]*.*/ \2 (\1)/g' | sort
|
---|
23 | tel=$(telnetCommand $1 lp)
|
---|
24 | cur=`echo $tel | sed "s/\r/\n/g" | sed "s/^ //g" | grep "Total of " | cut -d\ -f 3`
|
---|
25 | echo "Players: $cur"
|
---|
26 | else
|
---|
27 | echo "Status: NOT running"
|
---|
28 | fi
|
---|
29 |
|
---|
30 | echo
|
---|
31 | echo "Game info:"
|
---|
32 | line "Server name:" $(getConfigValue $1 ServerName)
|
---|
33 | line "Password:" $(getConfigValue $1 ServerPassword)
|
---|
34 | line "Max players:" $(getConfigValue $1 ServerMaxPlayerCount)
|
---|
35 | line "World:" $(getConfigValue $1 GameWorld)
|
---|
36 |
|
---|
37 | echo
|
---|
38 | echo "Network info:"
|
---|
39 | line "Port:" $(getConfigValue $1 ServerPort)
|
---|
40 | line "Public:" $(getConfigValue $1 ServerIsPublic)
|
---|
41 | if [ "$(getConfigValue $1 ControlPanelEnabled)" = "false" ]; then
|
---|
42 | cp="off"
|
---|
43 | else
|
---|
44 | cp="Port $(getConfigValue $1 ControlPanelPort), Pass $(getConfigValue $1 ControlPanelPassword)"
|
---|
45 | fi
|
---|
46 | line "Control Panel:" "$cp"
|
---|
47 | if [ "$(getConfigValue $1 TelnetEnabled)" = "false" ]; then
|
---|
48 | tn="off"
|
---|
49 | else
|
---|
50 | tn="Port $(getConfigValue $1 TelnetPort), Pass $(getConfigValue $1 TelnetPassword)"
|
---|
51 | fi
|
---|
52 | line "Telnet:" "$tn"
|
---|
53 |
|
---|
54 | echo
|
---|
55 | exit 0
|
---|
56 | }
|
---|
57 |
|
---|
58 | sdtdCommandStatusHelp() {
|
---|
59 | echo "Usage: $(basename $0) status <instance>"
|
---|
60 | echo
|
---|
61 | echo "Print status information for the given instance."
|
---|
62 | }
|
---|
63 |
|
---|
64 | sdtdCommandStatusDescription() {
|
---|
65 | echo "Print status for the given instance"
|
---|
66 | }
|
---|
67 |
|
---|
68 | sdtdCommandStatusExpects() {
|
---|
69 | case $1 in
|
---|
70 | 2)
|
---|
71 | getInstanceList
|
---|
72 | ;;
|
---|
73 | esac
|
---|
74 | }
|
---|
75 |
|
---|