Reworked status handling

- renamed server_status to server_running
    - removed code duplication in server_start and server_stop
This commit is contained in:
Marcel Hanraets 2014-07-13 12:42:34 +02:00
parent 3fc90d6bae
commit 5f8e66b7bc

View File

@ -24,15 +24,23 @@ JAROPTS="--universe ${WORLDPATH}"
# We want LSB functions here
. /lib/lsb/init-functions
server_start() {
server_running() {
if [ -z "$(pgrep -f -n $JARNAME)" ]; then
return 1
else
return 0
fi
}
server_start() {
if ! server_running; then
log_daemon_msg "Starting Minecraft Server" "Craftbukkit"
sudo -u ${USER} tmux new-session -d -s craftbukkit-console "cd ${SRVPATH}; java ${JAVAOPTS} -jar ${JARNAME} ${JAROPTS}" >/dev/null 2>&1
sleep 1
if [ $? -gt 0 ]; then # Tmux did not start
log_failure_msg
exit 1
elif [ -z "$(pgrep -f -n $JARNAME)" ]; then # Tmux stared, but Java did not
elif ! server_running; then # Tmux stared, but Java did not
log_failure_msg
exit 1
else
@ -45,7 +53,7 @@ server_start() {
}
server_stop() {
if [ -n "$(pgrep -f -n $JARNAME)" ]; then
if server_running; then
log_daemon_msg "Stopping Minecraft Server" "Craftbukkit"
sudo -u ${USER} tmux send-keys -t craftbukkit-console "say NOTICE: Server shutting down in 5 seconds!" C-m >/dev/null 2>&1
sleep 5
@ -53,7 +61,7 @@ server_stop() {
sleep 1
sudo -u ${USER} tmux send-keys -t craftbukkit-console "stop" C-m >/dev/null 2>&1
sleep 10
if [ -n "$(pgrep -f -n $JARNAME)" ]; then
if server_running; then
log_failure_msg
exit 1
else
@ -65,14 +73,6 @@ server_stop() {
fi
}
server_status() {
if [ -n "$(pgrep -f -n $JARNAME)" ]; then
log_success_msg "Craftbukkit is running"
else
log_failure_msg "Craftbukkit is not running!"
fi
}
case "$1" in
start)
server_start
@ -88,7 +88,11 @@ case "$1" in
;;
status)
server_status
if server_running; then
log_success_msg "Craftbukkit is running"
else
log_failure_msg "Craftbukkit is not running!"
fi
;;
*)