Package: bzflag-server
Version: 2.0.10.20071115+nmu1
Severity: wishlist
Tags: patch

The attached patch adds an init.d script and associated /etc/default/bzflag
configuration file for the bzfs server.

This makes it far easier to get the bzflag server running persistently on a
system -- running daemons manually in this scenario is not really the "Debian
way".

By default the server is not started, which I think is sensible. Please feel
free to modify the command-line parameters in the default file; I have found
this particular game configuration to be more immediately enjoyable at LAN
parties and suchforth, but your tastes may differ.


Regards,

-- 
Chris Lamb, UK                                       [EMAIL PROTECTED]
                                                            GPG: 0x634F9A20
diff -urNad orig/debian/bzflag-server.bzflag.default 
bzflag-2.0.10.20071115+nmu1/debian/bzflag-server.bzflag.default
--- orig/debian/bzflag-server.bzflag.default    1970-01-01 01:00:00.000000000 
+0100
+++ bzflag-2.0.10.20071115+nmu1/debian/bzflag-server.bzflag.default     
2008-07-04 17:47:23.000000000 +0100
@@ -0,0 +1,10 @@
+# RUN_AT_STARTUP
+# "yes|true|enabled", /etc/init.d/bzflag will start bzfs.
+# Any other value, /etc/init.d/bzflag will exit silently.
+#
+RUN_AT_STARTUP="no"
+
+# OPTIONS
+# Command line options to pass to bzfs. See bzfs(6) for more details.
+#
+OPTIONS="-rabbit killer -p 5154 -ms 6 -sb +s 20 -j +r -t -worldsize 220 -f bad 
-fb"
diff -urNad orig/debian/bzflag-server.bzflag.init 
bzflag-2.0.10.20071115+nmu1/debian/bzflag-server.bzflag.init
--- orig/debian/bzflag-server.bzflag.init       1970-01-01 01:00:00.000000000 
+0100
+++ bzflag-2.0.10.20071115+nmu1/debian/bzflag-server.bzflag.init        
2008-07-04 17:58:10.000000000 +0100
@@ -0,0 +1,70 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          bzflag
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Init script for bzflag-server
+### END INIT INFO
+
+ACTION="${1}"
+
+NAME="bzflag"
+DESC="BZFlag game server"
+PIDFILE="/var/run/bzflag/game.pid"
+LOGFILE="/var/log/bzflag/game.log"
+BINARY="/usr/games/bzfs"
+
+test -x ${BINARY} || exit 0
+test -f /etc/default/${NAME} || exit 0
+
+. /lib/lsb/init-functions
+. /etc/default/${NAME}
+
+case "${ACTION}" in
+       start|start-now)
+               if [ "${ACTION}" != "start-now" ]
+               then
+                       case "$(echo "${RUN_AT_STARTUP}" | tr A-Z a-z)" in
+                               true|1|enabled|on|yes|ok)
+                                       ;;
+                               *)
+                                       exit 0
+                                       ;;
+                       esac
+               fi
+
+               log_daemon_msg "Starting ${DESC}" ${NAME}
+               if ! start-stop-daemon --start -q -b --pidfile ${PIDFILE} \
+                       -c games:games --exec ${BINARY} -- \
+                       -pidfile ${PIDFILE} ${OPTIONS} 2>&1 >> ${LOGFILE}
+               then
+                       log_end_msg 1
+               else
+                       log_end_msg 0
+               fi
+               ;;
+       stop|stop-now)
+               log_daemon_msg "Stopping ${DESC}" ${NAME}
+               if start-stop-daemon --stop -q --pidfile ${PIDFILE} \
+                       --retry 10 --exec ${BINARY} 2>&1 >> ${LOGFILE}
+               then
+                       rm -f ${PIDFILE}
+                       log_end_msg 0
+               else
+                       log_end_msg 1
+               fi
+               ;;
+       restart|force-reload)
+               ${0} stop
+               sleep 1
+               ${0} start
+               ;;
+       *)
+               echo "Usage: /etc/init.d/${NAME} 
{start[-now]|stop[-now]|restart|force-reload}"
+               exit 1
+               ;;
+esac
+
+exit 0
diff -urNad orig/debian/rules bzflag-2.0.10.20071115+nmu1/debian/rules
--- orig/debian/rules   2008-07-04 16:43:01.000000000 +0100
+++ bzflag-2.0.10.20071115+nmu1/debian/rules    2008-07-04 17:26:33.000000000 
+0100
@@ -96,13 +96,14 @@
        dh_testdir
        dh_testroot
        dh_clean -k
-       dh_installdirs -p$@ usr/games usr/share/man/man6
+       dh_installdirs -p$@ usr/games usr/share/man/man6 var/log/bzflag 
var/run/bzflag
        # copy files into debian/$@/ here
        cp -p man/*.[0-9] debian/$@/usr/share/man/man6
        rm debian/$@/usr/share/man/man6/bzflag.6
        cp -p src/bzfs/bzfs src/bzadmin/bzadmin debian/$@/usr/games
        cp -p misc/bzfquery.pl debian/$@/usr/games/bzfquery
        chmod a+rx debian/$@/usr/games/bzfquery
+       chown -R games:games debian/$@/var/log/bzflag debian/$@/var/run/bzflag
 #      dh_installdebconf -p$@
        dh_installdocs -p$@
        cp -p misc/*.bzw debian/$@/usr/share/doc/$@/
@@ -110,7 +111,7 @@
        dh_installmenu -p$@
 #      dh_installemacsen -p$@
 #      dh_installpam -p$@
-#      dh_installinit -p$@
+       dh_installinit -p$@ --name=bzflag
        dh_installcron -p$@
 #      dh_installmanpages -p$@
        dh_installinfo -p$@
@@ -121,7 +122,7 @@
 endif
        dh_link -p$@
        dh_compress -p$@
-       dh_fixperms -p$@
+       dh_fixperms -p$@ -Xvar/log/bzflag -Xvar/run/bzflag
        dh_installdeb -p$@
 #      dh_makeshlibs -p$@
 #      dh_perl -p$@

Attachment: signature.asc
Description: PGP signature

Reply via email to