Browse Source

kfserver: Copied improvements from ut2k4server

* Improved installer
* Added details function
* Added charset fix back in to the installer
pull/8/merge
Daniel Gibbs 12 years ago
parent
commit
0235be4938
  1. 102
      KillingFloor/kfserver

102
KillingFloor/kfserver

@ -3,7 +3,7 @@
# Server Management Script
# Author: Daniel Gibbs
# Website: http://danielgibbs.co.uk
# Version: 180813
# Version: 300813
#### Variables ####
@ -29,6 +29,7 @@ compressedmapsdir="${rootdir}/Maps-Compressed"
# Server names
servicename="kf-server"
gamename="Killing Floor"
engine="unreal2"
ini="${servicename}.ini"
servername=`grep -s ServerName= ${systemdir}/${ini} | sed 's/ServerName=//g'`
@ -361,6 +362,64 @@ echo "Complete!"
cd ${rootdir}
}
fn_details(){
echo ""
echo "${gamename} Server Details"
echo "============================"
echo ""
echo "${servername} Ports"
echo "======================="
if [ "${engine}" = "unreal2" ];then
gameport=$(grep Port= ${systemdir}/${ini}|grep -v Master|grep -v LAN|grep -v Proxy|grep -v Listen|sed 's/\Port=//g')
queryport=$((${gameport} + 1))
gsqueryport=$(grep OldQueryPortNumber= ${systemdir}/${ini}|sed 's/\OldQueryPortNumber=//g')
webadmin=$(grep ListenPort= ${systemdir}/${ini}|sed 's/\ListenPort=//g')
webadminuser=$(grep AdminName= ${systemdir}/${ini}|sed 's/\AdminName=//g')
webadminpass=$(grep AdminPassword= ${systemdir}/${ini}|sed 's/\AdminPassword=//g')
echo "Ports the server is currently using"
echo ""
echo "DIRECTION DESCRIPTION PORT INI VARIABLE"
echo "INBOUND Game Port ${gameport} Port=${gameport}"
echo "INBOUND Query Port ${queryport} n/a"
echo "INBOUND GameSpy Query Port ${gsqueryport} OldQueryPortNumber=${gsqueryport}"
echo "OUTBOUND Master Server port 28900/28902 n/a"
if [ "${appid}" ];then
echo "OUTBOUND Steam Port 20660 n/a"
fi
echo "INBOUND: WebAdmin ${webadmin} ListenPort=${webadmin}"
echo ""
echo "${servername} WebAdmin"
echo "======================="
echo "WebAdmin URL: http://localhost:${webadmin}"
echo "WebAdmin Username: ${webadminuser}"
echo "WebAdmin Password: ${webadminpass}"
echo ""
echo "Config file"
echo "${systemdir}/${ini}"
elif [ "${engine}" = "source" ];then
servername=`grep -s hostname ${servercfg} | sed 's/hostname //g'|sed 's/"//g'`
rcon=`grep -s rcon_password ${servercfg} | sed 's/rcon_password //g'|sed 's/"//g'`
echo "Ports the server is currently using"
echo ""
echo "DIRECTION DESCRIPTION PORT"
echo "INBOUND Game/Rcon Port ${port}"
echo "INBOUND SourceTV Port ${sourcetvport}"
echo "OUTBOUND Client Port ${clientport}"
echo ""
echo "You can change ports by editing the"
echo "start parameters in ${selfname}"
echo ""
echo "${servername} Details"
echo "======================="
echo "Server name: ${servername}"
echo "Rcon Password: ${rcon}"
echo ""
echo "Config file:"
echo "${servercfg}"
fi
echo ""
}
#
##Installer
#
@ -456,49 +515,42 @@ echo "================================="
* ) echo "Please answer yes or no.";;
esac
done
echo ""
fn_header
echo "Configuring ${gamename} Server"
echo "================================="
sleep 1
echo "Copying ${systemdir}/default.ini to ${systemdir}/${ini}"
cp ${systemdir}/Default.ini ${systemdir}/${ini}
sleep 1
echo ""
echo "Creating log directory"
mkdir -v ${logdir}
sleep 1
echo ""
echo "Applying WebAdmin ROOst.css fix!"
echo "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13"
sed -i 's/none}/none;/g' ${filesdir}/Web/ServerAdmin/ROOst.css
sed -i 's/underline}/underline;/g' ${filesdir}/Web/ServerAdmin/ROOst.css
sleep 1
echo ""
echo "Applying WebAdmin CharSet fix!"
echo "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1"
sed -i 's/CharSet="iso-8859-1"/CharSet="utf-8"/g' ${systemdir}/UWeb.int
sleep 1
echo "Setting WebAdmin username and password"
sed -i 's/AdminName=/AdminName=admin/g' ${systemdir}/${ini}
sed -i 's/AdminPassword=/AdminPassword=kfpass/g' ${systemdir}/${ini}
sleep 1
echo ""
echo "Enabling WebAdmin"
sed -i 's/bEnabled=False/bEnabled=True/g' ${systemdir}/${ini}
sleep 1
echo ""
cd ${rootdir}
echo "Default Settings"
echo "=============================="
echo "Forcing server to start to get ports/server name to display correctly"
sleep 1
echo "WebAdmin Details:"
echo "Url: http://localhost:8075"
echo "Username: admin"
echo "Password: kfpass"
echo ""
echo "Port Details:"
echo "8075 TCP (WebAdmin Port)"
echo "7707 UDP (Game Port)"
echo "7708 UDP (Query Port)"
echo "7717 UDP (GameSpy Query Port)"
echo "28852 TCP & UDP (Allows your Server to Connect to the Master Server Browser)"
echo "20560 UDP (Steam Port)"
cd ${rootdir}
${selfname} start
sleep 5
${selfname} restart
sleep 5
${selfname} stop
sleep 5
fn_header
fn_details
echo "================================="
echo "Install Complete!"
echo ""
@ -531,8 +583,10 @@ case "$1" in
fn_steamguard;;
email-test)
fn_emailtest;;
details)
fn_details;;
*)
echo "Usage: $0 {start|stop|restart|update|monitor|install|debug|map-compressor|steam-auth|email-test}"
echo "Usage: $0 {start|stop|restart|update|monitor|install|debug|map-compressor|steam-auth|email-test|details}"
exit 1;;
esac
exit
Loading…
Cancel
Save