here's the one i wrote up using start-stop-daemon (compiled from debian's dpkg package)<br><br><a href="http://fragile.anarchic-x.net/~cod2/startup_script.txt">http://fragile.anarchic-x.net/~cod2/startup_script.txt</a><br>
<br>the options will need to be changed to suit your environment<br><br><div class="gmail_quote">On Tue, Jun 16, 2009 at 9:33 AM, Albert D. Lawson <span dir="ltr"><<a href="mailto:wb7awl@lawsonpc.com">wb7awl@lawsonpc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Here's another one. I'd use it as a more of a guide than an actual<br>
script because flavors<br>
of Linux vary...but it should give you an idea or two. Note that<br>
depending on how you call the<br>
script, you can invoke different commands and/or config files...<br>
<br>
#!/bin/bash<br>
#<br>
# /root/scripts/cod5<br>
#<br>
# Starts the Call of Duty 5 server daemon<br>
# To start the daemon at runtime, put the<br>
# script command "cod5 start" in your<br>
# /etc/rc.d/rc.local file.<br>
#<br>
<br>
HOME="/root/cod5"<br>
BIN="/root/cod5/codwaw_lnxded-bin"<br>
BATCH="/root/cod5/codwaw_lnxded"<br>
CLOSED="+set dedicated 2 +exec closed-server.cfg +map_rotate +set<br>
sv_punkbuster 0"<br>
OPEN="+set fs_localAppData $HOME +set dedicated 2 +exec server.cfg<br>
+map_rotate +set sv_punkbuster 1"<br>
#MOD="+set fs_basepath $HOME +set fs_homepath $HOME +set fs_localAppData<br>
$HOME +set fs_game mods/war +set dedicated 2 +exec custom.cfg<br>
+map_rotate +set sv_punkbuster 0"<br>
MOD="+set fs_basepath $HOME +set fs_homepath $HOME +set dedicated 2 +set<br>
fs_game mods/x5 +exec x5.cfg +map_rotate +set sv_punkbuster 1"<br>
LOCKFILE="/var/lock/subsys/cod5"<br>
NETIP="+set net_ip 192.168.0.253"<br>
<br>
RETVAL=0<br>
PROG="CoD5 WaW Server"<br>
<br>
up() {<br>
cd $HOME<br>
if test -f $LOCKFILE<br>
then<br>
echo -n "The $PROG is already running!"<br>
echo<br>
else<br>
echo -n $"Starting $PROG in the CLOSED configuration!"<br>
$BIN $CLOSED >/dev/null 2>&1 &<br>
RETVAL=$?<br>
[ $RETVAL -eq 0 ] && touch $LOCKFILE<br>
echo<br>
fi<br>
}<br>
<br>
open() {<br>
cd $HOME<br>
if test -f $LOCKFILE<br>
then<br>
echo -n "The $PROG is already running!"<br>
echo<br>
else<br>
echo -n $"Starting $PROG in the OPEN configuration!"<br>
$BIN $OPEN >/dev/null 2>&1 &<br>
RETVAL=$?<br>
[ $RETVAL -eq 0 ] && touch $LOCKFILE<br>
echo<br>
fi<br>
}<br>
war() {<br>
cd $HOME<br>
if test -f $LOCKFILE<br>
then<br>
echo -n "The $PROG is already running!"<br>
echo<br>
else<br>
echo -n $"Starting $PROG in the WAR Configuration!"<br>
$BIN $WAR >/dev/null 2>&1 &<br>
RETVAL=$?<br>
[ $RETVAL -eq 0 ] && touch $LOCKFILE<br>
echo<br>
fi<br>
}<br>
start() {<br>
cd $HOME<br>
if test -f $LOCKFILE<br>
then<br>
echo -n "The $PROG is already running!"<br>
echo<br>
else<br>
echo -n $"Starting $PROG in the Modified Game<br>
Configuration!"<br>
$BIN $MOD >/dev/null 2>&1 &<br>
RETVAL=$?<br>
[ $RETVAL -eq 0 ] && touch $LOCKFILE<br>
echo<br>
fi<br>
}<br>
<br>
stop() {<br>
echo -n $"Stopping $PROG"<br>
killall -9 $BIN<br>
RETVAL=$?<br>
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE<br>
echo<br>
}<br>
<br>
clearpid() {<br>
echo -n $"Clearing PID Lockfile"<br>
rm -f $LOCKFILE<br>
echo<br>
}<br>
#<br>
# See how we were called.<br>
#<br>
case "$1" in<br>
start)<br>
start<br>
;;<br>
stop)<br>
stop<br>
;;<br>
open)<br>
open<br>
;;<br>
war)<br>
war<br>
;;<br>
clearpid)<br>
clearpid<br>
;;<br>
mod)<br>
mod<br>
;;<br>
reload|restart)<br>
stop<br>
start<br>
RETVAL=$?<br>
;;<br>
<br>
*)<br>
echo $"Usage: $0 {start|stop|restart|reload|open}"<br>
exit 1<br>
esac<br>
<br>
exit $RETVAL<br>
<div><div></div><div class="h5"><br>
<br>
<br>
_______________________________________________<br>
cod mailing list<br>
<a href="mailto:cod@icculus.org">cod@icculus.org</a><br>
<a href="http://icculus.org/mailman/listinfo/cod" target="_blank">http://icculus.org/mailman/listinfo/cod</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Geoff Goas<br>Network Engineer<br>