2020-05-25 15:20:14 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2020-06-19 16:05:32 +00:00
|
|
|
. ${SCRIPTS:-/}start-utils
|
2020-05-25 15:20:14 +00:00
|
|
|
|
|
|
|
log "Autopause functionality enabled"
|
|
|
|
|
2020-07-26 18:22:07 +00:00
|
|
|
cp /autopause/knockd-config.cfg /tmp/knockd-config.cfg
|
|
|
|
|
2020-05-25 15:20:14 +00:00
|
|
|
# update server port to listen to
|
|
|
|
regseq="^\s*sequence\s*=\s*$SERVER_PORT\s*$"
|
2020-07-26 18:22:07 +00:00
|
|
|
linenum=$(grep -nm1 sequence /tmp/knockd-config.cfg | cut -d : -f 1 | tail -n1)
|
|
|
|
if ! [[ $(awk "NR==$linenum" /tmp/knockd-config.cfg) =~ $regseq ]]; then
|
|
|
|
sed -i "${linenum}s/sequence.*/sequence = $SERVER_PORT/" /tmp/knockd-config.cfg
|
2020-05-25 15:20:14 +00:00
|
|
|
log "Updated server port in knockd config"
|
|
|
|
fi
|
|
|
|
# update rcon port to listen to
|
|
|
|
regseq="^\s*sequence\s*=\s*$RCON_PORT\s*$"
|
2020-07-26 18:22:07 +00:00
|
|
|
linenum=$(grep -nm2 sequence /tmp/knockd-config.cfg | cut -d : -f 1 | tail -n1)
|
|
|
|
if ! [[ $(awk "NR==$linenum" /tmp/knockd-config.cfg) =~ $regseq ]]; then
|
|
|
|
sed -i "${linenum}s/sequence.*/sequence = $RCON_PORT/" /tmp/knockd-config.cfg
|
2020-05-25 15:20:14 +00:00
|
|
|
log "Updated rcon port in knockd config"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! [[ $AUTOPAUSE_PERIOD =~ ^[0-9]+$ ]]; then
|
|
|
|
AUTOPAUSE_PERIOD=10
|
|
|
|
export AUTOPAUSE_PERIOD
|
|
|
|
log "Warning: AUTOPAUSE_PERIOD is not numeric, set to 10 (seconds)"
|
|
|
|
fi
|
|
|
|
if [ "$AUTOPAUSE_PERIOD" -eq "0" ] ; then
|
|
|
|
AUTOPAUSE_PERIOD=10
|
|
|
|
export AUTOPAUSE_PERIOD
|
|
|
|
log "Warning: AUTOPAUSE_PERIOD must not be 0, set to 10 (seconds)"
|
|
|
|
fi
|
|
|
|
if ! [[ $AUTOPAUSE_TIMEOUT_KN =~ ^[0-9]+$ ]] ; then
|
|
|
|
AUTOPAUSE_TIMEOUT_KN=120
|
|
|
|
export AUTOPAUSE_TIMEOUT_KN
|
|
|
|
log "Warning: AUTOPAUSE_TIMEOUT_KN is not numeric, set to 120 (seconds)"
|
|
|
|
fi
|
|
|
|
if ! [[ $AUTOPAUSE_TIMEOUT_EST =~ ^[0-9]+$ ]] ; then
|
|
|
|
AUTOPAUSE_TIMEOUT_EST=3600
|
|
|
|
export AUTOPAUSE_TIMEOUT_EST
|
|
|
|
log "Warning: AUTOPAUSE_TIMEOUT_EST is not numeric, set to 3600 (seconds)"
|
|
|
|
fi
|
|
|
|
if ! [[ $AUTOPAUSE_TIMEOUT_INIT =~ ^[0-9]+$ ]] ; then
|
|
|
|
AUTOPAUSE_TIMEOUT_INIT=600
|
|
|
|
export AUTOPAUSE_TIMEOUT_INIT
|
|
|
|
log "Warning: AUTOPAUSE_TIMEOUT_INIT is not numeric, set to 600 (seconds)"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -n $MAX_TICK_TIME ]] ; then
|
|
|
|
log "Warning: MAX_TICK_TIME is non-default, for autopause to work properly, this check should be disabled (-1 for versions >= 1.8.1)"
|
|
|
|
else
|
|
|
|
if versionLessThan 1.8.1; then
|
|
|
|
# 10 years
|
|
|
|
MAX_TICK_TIME=315360000000
|
|
|
|
else
|
|
|
|
MAX_TICK_TIME=-1
|
|
|
|
fi
|
|
|
|
export MAX_TICK_TIME
|
|
|
|
fi
|
|
|
|
|
|
|
|
/autopause/autopause-daemon.sh &
|