98 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #!/sbin/runscript
 | |
| 
 | |
| rundir=${rundir:-/run/sauerbraten}
 | |
| 
 | |
| 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:-/var/lib/sauerbraten}"
 | |
| 
 | |
| 	if [ ! -d ${SERVERCONFIG} ]; then
 | |
| 		einfo "No ${SERVERCONFIG} around. Creating new..."
 | |
| 		mkdir ${SERVERCONFIG}
 | |
| 		chown ${USER}:${GROUP} ${SERVERCONFIG}
 | |
| 	fi
 | |
| 
 | |
| 	[ -d ${rundir} ] || {
 | |
| 		mkdir -p "${rundir}"
 | |
| 		chown -R ${USER}:${GROUP} "${rundir}"
 | |
| 	}
 | |
| 
 | |
| 	start-stop-daemon \
 | |
| 		--quiet \
 | |
| 		--start \
 | |
| 		--user ${USER} \
 | |
| 		--group ${GROUP} \
 | |
| 		--chdir ${SERVERCONFIG} \
 | |
| 		--make-pidfile \
 | |
| 		--pidfile "${rundir}"/server.pid \
 | |
| 		--background \
 | |
| 		--exec /usr/libexec/sauerbraten/sauer_server -- ${SERVERARGS}
 | |
| 	eend $?
 | |
| }
 | |
| 
 | |
| start_master() {
 | |
| 	ebegin "Starting Sauerbraten master server"
 | |
| 
 | |
| 	# Make sure necessary parameters are set
 | |
| 	MASTERCONFIG="${MASTERCONFIG:-/var/lib/sauerbraten}"
 | |
| 	[ -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
 | |
| 
 | |
| 	[ -d ${rundir} ] || {
 | |
| 		mkdir -p "${rundir}"
 | |
| 		chown -R ${USER}:${GROUP} "${rundir}"
 | |
| 	}
 | |
| 
 | |
| 	start-stop-daemon \
 | |
| 		--quiet \
 | |
| 		--start \
 | |
| 		--user ${USER} \
 | |
| 		--group ${GROUP} \
 | |
| 		--make-pidfile \
 | |
| 		--pidfile "${rundir}"/master.pid \
 | |
| 		--background \
 | |
| 		--exec /usr/libexec/sauerbraten/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 "${rundir}"/server.pid
 | |
| 	eend $?
 | |
| }
 | |
| 
 | |
| stop_master() {
 | |
| 	ebegin "Stopping Sauerbraten master server"
 | |
| 	start-stop-daemon --stop --retry 3 --pidfile "${rundir}"/master.pid
 | |
| 	eend $?
 | |
| }
 | |
| 
 | |
| restart() {
 | |
| 	svc_stop
 | |
| 	svc_start
 | |
| }
 |