* provide init sysvinit unit file script * provide shitstemd unit file * sed command at install make to change install path * only install sysvinit and shitstemd service units * service unit for openrc is provided at misc/alpine directory
81 lines
1.8 KiB
Bash
81 lines
1.8 KiB
Bash
#! /bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: minetest-server
|
|
# Required-Start: $remote_fs $network
|
|
# Required-Stop: $remote_fs $network
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Start minetest network game server
|
|
# Description: dedicated game server for Minetest
|
|
### END INIT INFO
|
|
|
|
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
|
|
NAME="minetestserver"
|
|
DAEMON="INSTALLPLACE/bin/$NAME"
|
|
DESC="minetest network game server"
|
|
PIDFILE="/var/run/$NAME.pid"
|
|
BINARY="INSTALLPLACE/bin/$NAME"
|
|
USER="minetest"
|
|
|
|
test -x $DAEMON || exit 0
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
# Include defaults if available
|
|
if [ -f /etc/default/$NAME ] ; then
|
|
. /etc/default/$NAME
|
|
fi
|
|
|
|
minetest_start() {
|
|
start-stop-daemon \
|
|
--start \
|
|
--quiet \
|
|
--pidfile $PIDFILE \
|
|
--oknodo \
|
|
--background \
|
|
--exec $BINARY \
|
|
--startas $DAEMON \
|
|
--make-pidfile --chuid $USER \
|
|
-- $DAEMON_OPTS > /dev/null 2>&1 || return 1
|
|
return 0
|
|
}
|
|
|
|
minetest_stop() {
|
|
start-stop-daemon \
|
|
--stop \
|
|
--quiet \
|
|
--pidfile $PIDFILE \
|
|
--oknodo \
|
|
--exec $BINARY || return 1
|
|
rm -f $PIDFILE
|
|
return 0
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
log_begin_msg "Starting $DESC: $NAME"
|
|
minetest_start
|
|
log_end_msg $?
|
|
;;
|
|
stop)
|
|
log_begin_msg "Stopping $DESC: $NAME"
|
|
minetest_stop
|
|
log_end_msg $?
|
|
;;
|
|
restart|force-reload)
|
|
log_begin_msg "Restarting $DESC: $NAME"
|
|
minetest_stop && sleep 1 && minetest_start
|
|
log_end_msg $?
|
|
;;
|
|
status)
|
|
status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
|
|
;;
|
|
*)
|
|
# echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
|
|
echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|