|
|
@ -3,7 +3,7 @@ |
|
|
|
# Server Management Script |
|
|
|
# Author: Daniel Gibbs |
|
|
|
# Website: http://danielgibbs.co.uk |
|
|
|
# Version: 050214 |
|
|
|
# Version: 220614 |
|
|
|
|
|
|
|
#### Variables #### |
|
|
|
|
|
|
@ -19,7 +19,6 @@ steampass="" |
|
|
|
# Start Variables |
|
|
|
defaultmap="dm_lockdown" |
|
|
|
maxplayers="16" |
|
|
|
tickrate="64" |
|
|
|
port="27015" |
|
|
|
sourcetvport="27020" |
|
|
|
clientport="27005" |
|
|
@ -27,7 +26,7 @@ ip="0.0.0.0" |
|
|
|
|
|
|
|
# https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server |
|
|
|
fn_parms(){ |
|
|
|
parms="-game hl2mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|
|
|
parms="-game hl2mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" |
|
|
|
} |
|
|
|
|
|
|
|
#### Advanced Variables #### |
|
|
@ -43,6 +42,7 @@ engine="source" |
|
|
|
# Directorys |
|
|
|
rootdir="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd )" |
|
|
|
selfname="$0" |
|
|
|
lockselfname=$(echo "${selfname}.lock"|sed 's/^\(.\{1\}\).\(.*\)/\1\2/') |
|
|
|
filesdir="${rootdir}/serverfiles" |
|
|
|
systemdir="${filesdir}/hl2mp" |
|
|
|
executabledir="${filesdir}" |
|
|
@ -467,6 +467,12 @@ fn_monitorserver(){ |
|
|
|
fn_rootcheck |
|
|
|
fn_syscheck |
|
|
|
fn_autoip |
|
|
|
if [ ! -f ${lockselfname} ]; then |
|
|
|
fn_printinfo "Monitoring ${servicename}: No lock file found: Monitor disabled" |
|
|
|
sleep 1 |
|
|
|
echo -en "\n" |
|
|
|
exit |
|
|
|
fi |
|
|
|
fn_printdots "Monitoring ${servicename}: ${servername}" |
|
|
|
sleep 1 |
|
|
|
fn_scriptlog "Monitoring ${servername}" |
|
|
@ -560,6 +566,8 @@ else |
|
|
|
fn_printok "Stopping ${servicename}: ${servername}" |
|
|
|
fn_scriptlog "Stopped ${servername}" |
|
|
|
fi |
|
|
|
# Remove lock file |
|
|
|
rm -f ${lockselfname} |
|
|
|
sleep 1 |
|
|
|
echo -en "\n" |
|
|
|
} |
|
|
@ -585,6 +593,8 @@ if [ ${tmuxwc} -eq 1 ]; then |
|
|
|
fn_scriptlog "${servername} is already running" |
|
|
|
exit |
|
|
|
fi |
|
|
|
# Create lock file |
|
|
|
lockfile -r 0 ${lockselfname} |
|
|
|
cd "${executabledir}" |
|
|
|
tmux new-session -d -s ${servicename} "${executable} ${parms}|tee -a '${consolelog}'" |
|
|
|
sleep 1 |
|
|
@ -619,7 +629,7 @@ echo "Ports the server is currently using." |
|
|
|
echo "" |
|
|
|
echo "DIRECTION DESCRIPTION PORT" |
|
|
|
echo "INBOUND Game/RCON port ${port}" |
|
|
|
if [ "${engine}" = "source" ]; then |
|
|
|
if [ ! -z ${sourcetvport} ]; then |
|
|
|
echo "INBOUND SourceTV port ${sourcetvport}" |
|
|
|
fi |
|
|
|
echo "OUTBOUND Client port ${clientport}" |
|
|
|