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
|
||||
|
||||
# @TODO
|
||||
# - Implement restart
|
||||
# - Implement status
|
||||
|
||||
# Config START
|
||||
@ -25,50 +24,63 @@ JAROPTS="--universe ${WORLDPATH}"
|
||||
# We want LSB functions here
|
||||
. /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
|
||||
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_start
|
||||
;;
|
||||
|
||||
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
|
||||
;;
|
||||
server_stop
|
||||
;;
|
||||
|
||||
restart)
|
||||
server_stop
|
||||
server_start
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "usage: $0 {start|stop|restart|status} user"
|
||||
echo "usage: $0 {start|stop|restart|status}"
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user