Refactor code into functions, implement restart
This commit is contained in:
parent
e5d00c08b0
commit
91f142ec3f
90
craftbukkit
90
craftbukkit
@ -10,7 +10,6 @@
|
|||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
# @TODO
|
# @TODO
|
||||||
# - Implement restart
|
|
||||||
# - Implement status
|
# - Implement status
|
||||||
|
|
||||||
# Config START
|
# Config START
|
||||||
@ -25,50 +24,63 @@ JAROPTS="--universe ${WORLDPATH}"
|
|||||||
# We want LSB functions here
|
# We want LSB functions here
|
||||||
. /lib/lsb/init-functions
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
server_start() {
|
||||||
|
if [ -z "$(pgrep -f -n $JARNAME)" ]; then
|
||||||
|
log_daemon_msg "Starting Minecraft Server" "Craftbukkit"
|
||||||
|
sudo -u ${USER} tmux new-session -d -s craftbukkit-console "cd ${SRVPATH}; java ${JAVAOPTS} -jar ${JARNAME}" >/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
|
||||||
|
log_failure_msg
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
log_success_msg
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log_warning_msg "Craftbukkit is already running!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
server_stop() {
|
||||||
|
if [ -n "$(pgrep -f -n $JARNAME)" ]; 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
|
||||||
|
sudo -u ${USER} tmux send-keys -t craftbukkit-console "save-all" C-m >/dev/null 2>&1
|
||||||
|
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
|
||||||
|
log_failure_msg
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
log_success_msg
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log_warning_msg "Craftbukkit is not running!"
|
||||||
|
exit 7
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
if [ -z "$(pgrep -f -n $JARNAME)" ]; then
|
server_start
|
||||||
log_daemon_msg "Starting Minecraft Server" "Craftbukkit"
|
;;
|
||||||
sudo -u ${USER} tmux new-session -d -s craftbukkit-console "cd ${SRVPATH}; java ${JAVAOPTS} -jar ${JARNAME}" >/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
|
|
||||||
log_failure_msg
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
log_success_msg
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
log_warning_msg "Craftbukkit is already running!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
stop)
|
stop)
|
||||||
if [ -n "$(pgrep -f -n $JARNAME)" ]; then
|
server_stop
|
||||||
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
|
restart)
|
||||||
sudo -u ${USER} tmux send-keys -t craftbukkit-console "save-all" C-m >/dev/null 2>&1
|
server_stop
|
||||||
sleep 1
|
server_start
|
||||||
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
|
|
||||||
log_failure_msg
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
log_success_msg
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
log_warning_msg "Craftbukkit is not running!"
|
|
||||||
exit 7
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
*)
|
||||||
echo "usage: $0 {start|stop|restart|status} user"
|
echo "usage: $0 {start|stop|restart|status}"
|
||||||
esac
|
esac
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user