Browse Source

Removing the debug pauses

pull/820/head
cedarlug 9 years ago
parent
commit
bab4a1c6c3
  1. 60
      functions/command_stop.sh

60
functions/command_stop.sh

@ -34,54 +34,41 @@ fn_stop_ark(){
# first start with the parameters from the parms line
fn_printwarn "attempting to determine any in-use ports"
fn_scriptlog "attempting to determine any in-use ports"
port=$(grep ^parms= ${servername} |\
awk -f"queryport=" '{print $2}' |\
sed "s/[^[:digit:].*].*//g" )
echo port is $port
read a
if [ -z $port ] ; then
fn_printwarn "no port found in the ${servername} script"
fn_scriptlog "no port found in the ${servername} script"
#port=$(grep ^parms= arkserver |\
# awk -F"QueryPort=" '{print $2}' |\
# sed "s/[^[:digit:].*].*//g" )
info_config.sh
if [ -z $queryport ] ; then
fn_printwarn "no queryport found in the arkserver script"
fn_scriptlog "no queryport found in the arkserver script"
userconfigfile="${filesdir}"
userconfigfile+="/serverfiles/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini"
userconfigfile+="/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini"
port=$(grep ^QueryPort= ${userconfigfile} | cut -d= -f2 | sed "s/[^[:digit:].*].*//g")
fi
echo port is $port
read b
if [ -z $port ] ; then
fn_printwarn "no port found in the GameUsersettings.ini file"
fn_scriptlog "no port found in the GameUsersettings.ini file"
if [ -z $queryport ] ; then
fn_printwarn "no queryport found in the GameUsersettings.ini file"
fn_scriptlog "no queryport found in the GameUsersettings.ini file"
return
fi
if [[ ${#port} -gt 0 ]] ; then
# pid=$(lsof -ti udp:${port})
# might need netstat here if lsof isn't installed.
# netstat variation:
pid=$(netstat -nap 2>/dev/null | grep ^udp[:space:] |\
grep :${port}[[:space:]] | rev | awk '{print $1}' |\
fn_printwarn "QueryPort $queryport found in the configs. Checking to see if it's still bound."
fn_scriptlog "QueryPort $queryport found in the configs. Checking to see if it's still bound."
pid=$(netstat -nap 2>/dev/null | grep ^udp[[:space:]] |\
grep :${queryport}[[:space:]] | rev | awk '{print $1}' |\
rev | cut -d\/ -f1)
echo pid is $pid
read c
#
# check for a valid pid
let pid+=0 # turns an empty string into a valid number, '0',
# and a valid numeric pid remains unchanged.
if [[ $pid -gt 1 && $pid -le $(cat /proc/sys/kernel/pid_max) ]] ; then
# kill the process still listening on that port.
# kill -9 $pid
while kill -0 $pid
do
echo "kill code id $?"
read d
fn_printwarn "process is still bound to the port"
fn_scriptlog "process is still bound to the port"
sleep 1
fn_printdots "${servername}"
fn_scriptlog "${servername}"
done
fn_printdots "Killing process $pid"
fn_scriptlog "Killing process $pid"
kill -9 $pid
fi # end if for pid range check
fn_printok "${servername} stopped and ports cleared"
fn_scriptlog "Ports cleared for ${servername}"
fi # end if for port check
} # end of fn_stop_ark
@ -213,7 +200,8 @@ if [ "${gamename}" == "Teamspeak 3" ]; then
fn_stop_teamspeak3
else
fn_stop_tmux
if [ "${gamename}" == "ARK: Survivial Evolved" ]; then
fn_stop_ark
fi
if [ "${gamename}" == "ARK: Survivial Evolved" ]; then
fn_stop_ark
echo -en "\n"
fi
fi

Loading…
Cancel
Save