| 
									
										
										
										
											2016-02-24 19:29:19 +00:00
										 |  |  | #!/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 | 
					
						
							| 
									
										
										
										
											2016-05-23 13:20:25 +00:00
										 |  |  | 	SERVERCONFIG="${SERVERCONFIG:-/var/lib/sauerbraten}" | 
					
						
							| 
									
										
										
										
											2016-02-24 19:29:19 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	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 \ | 
					
						
							| 
									
										
										
										
											2016-05-23 13:20:25 +00:00
										 |  |  | 		--exec /usr/libexec/sauerbraten/sauer_server -- ${SERVERARGS} | 
					
						
							| 
									
										
										
										
											2016-02-24 19:29:19 +00:00
										 |  |  | 	eend $? | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | start_master() { | 
					
						
							|  |  |  | 	ebegin "Starting Sauerbraten master server" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	# Make sure necessary parameters are set | 
					
						
							| 
									
										
										
										
											2016-05-23 13:20:25 +00:00
										 |  |  | 	MASTERCONFIG="${MASTERCONFIG:-/var/lib/sauerbraten}" | 
					
						
							| 
									
										
										
										
											2016-02-24 19:29:19 +00:00
										 |  |  | 	[ -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 \ | 
					
						
							| 
									
										
										
										
											2016-05-23 13:20:25 +00:00
										 |  |  | 		--exec /usr/libexec/sauerbraten/sauer_master -- ${MASTERARGS} | 
					
						
							| 
									
										
										
										
											2016-02-24 19:29:19 +00:00
										 |  |  | 	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 | 
					
						
							|  |  |  | } |