You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-fps/sauerbraten/files/sauerbraten.init

75 lines
1.9 KiB

#!/sbin/openrc-run
depend() {
use net
}
start() {
[ $(echo ${RUNMASTER} | tr '[:upper:]' '[:lower:]') = "yes" ] && start_master
[ $(echo ${RUNSERVER} | tr '[:upper:]' '[:lower:]') = "yes" ] && start_server
true
}
start_server() {
ebegin "Starting Sauerbraten dedicated server"
# Make sure necessary parameters are set
SERVERCONFIG="${SERVERCONFIG:-%SYSCONFDIR%}"
if [ ! -d ${SERVERCONFIG} ]; then
einfo "No ${SERVERCONFIG} around. Creating new..."
mkdir ${SERVERCONFIG}
chown ${USER}:${GROUP} ${SERVERCONFIG}
fi
start-stop-daemon \
--quiet --start --user ${USER}:${GROUP} --chdir ${SERVERCONFIG} \
--make-pidfile --pidfile /var/run/sauerbraten/server.pid \
--background --exec %LIBEXECDIR%/sauer_server -- ${SERVERARGS}
eend $?
}
start_master() {
ebegin "Starting Sauerbraten master server"
# Make sure necessary parameters are set
MASTERCONFIG="${MASTERCONFIG:-%SYSCONFDIR%}"
[ -n "${MASTERIP}" ] && MASTERPORT="${MASTERPORT:-28787}"
MASTERARGS="${MASTERCONFIG}/ ${MASTERPORT} ${MASTERIP}"
if [ ! -d ${MASTERCONFIG} ]; then
einfo "No ${MASTERCONFIG} around. Creating new..."
mkdir ${MASTERCONFIG}
chown ${USER}:${GROUP} ${MASTERCONFIG}
fi
start-stop-daemon \
--quiet --start --user ${USER}:${GROUP} \
--make-pidfile --pidfile /var/run/sauerbraten/master.pid \
--background --exec %LIBEXECDIR%/sauer_master -- ${MASTERARGS}
eend $?
}
stop() {
[ $(echo ${RUNSERVER} | tr '[:upper:]' '[:lower:]') = "yes" ] && stop_server
[ $(echo ${RUNMASTER} | tr '[:upper:]' '[:lower:]') = "yes" ] && stop_master
true
}
stop_server() {
ebegin "Stopping Sauerbraten dedicated server"
start-stop-daemon --stop --retry 3 --pidfile /var/run/sauerbraten/server.pid
eend $?
}
stop_master() {
ebegin "Stopping Sauerbraten master server"
start-stop-daemon --stop --retry 3 --pidfile /var/run/sauerbraten/master.pid
eend $?
}
restart() {
svc_stop
svc_start
}