minetest-engine-minetest/misc/minetestserver.init
mckaygerhard d53b4d531e packaging - install service files for sysviniti and shitstemd
* 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
2023-01-04 14:56:48 -04:00

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