Initial commit
This commit is contained in:
commit
00b6edbe35
69
craftbukkit
Normal file
69
craftbukkit
Normal file
@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
### BEGIN INIT INFO
|
||||
# Provides: craftbukkit
|
||||
# Required-Start: mountkernfs $local_fs $network
|
||||
# Required-Stop: mountkernfs $local_fs $network
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Craftbukkit Minecraft Server
|
||||
# Description: Craftbukkit Minecraft Server
|
||||
### END INIT INFO
|
||||
|
||||
# @TODO
|
||||
# - Implement restart
|
||||
# - Implement status
|
||||
# - Evaluate commandline options
|
||||
|
||||
# Config START
|
||||
USER="craftbukkit"
|
||||
SRVPATH="/opt/craftbukkit"
|
||||
WORLDPATH="/opt/craftbukkit/world/"
|
||||
LOGPATH="/opt/craftbukkit/log/server.log"
|
||||
JAVAOPTS="-d64 -server -Xms1G -Xmx1G -XX:+UseG1GC -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseLargePages -XX:TargetSurvivorRatio=90 -XX:MaxGCPauseMillis=200 -XX:MaxPermSize=256m"
|
||||
JARNAME="craftbukkit.jar"
|
||||
# Config END
|
||||
|
||||
# We want LSB functions here
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
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
|
||||
if [ $? -gt 0 ]; then
|
||||
log_failure_msg
|
||||
exit 1
|
||||
else
|
||||
log_success_msg # @FIXME Success is returned when the java command fails
|
||||
fi
|
||||
else
|
||||
log_warning_msg "Craftbukkit is already running!"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
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 "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"
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Loading…
Reference in New Issue
Block a user