From 3890bf9823f8b9a965708009b042b56f1e798f29 Mon Sep 17 00:00:00 2001 From: Christian Date: Sun, 17 Jan 2021 23:04:10 +0100 Subject: [PATCH 1/2] fix(ut2k4server): better parsing of the serverconfig (#3192) --- lgsm/functions/info_config.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index ef782fa70..4d4b9bd2b 100755 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -1064,15 +1064,15 @@ fn_info_config_unreal2(){ webadminuser="${unavailable}" webadminpass="${unavailable}" else - servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//') - serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//') - adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//') - port=$(grep "Port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]') + servername=$(sed -nr 's/^ServerName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//') + serverpassword=$(sed -nr 's/^GamePassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//') + adminpassword=$(sed -nr 's/^AdminPassword=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//') + port=$(sed -nr 's/^Port=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]') queryport=$((port + 1)) - queryportgs=$(grep "OldQueryPortNumber" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') - webadminenabled=$(grep "bEnabled" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//') - webadminport=$(grep "ListenPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') - webadminuser=$(grep "AdminName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//') + queryportgs=$(sed -nr 's/^OldQueryPortNumber=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]') + webadminenabled=$(sed -nr 's/^bEnabled=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//') + webadminport=$(sed -nr 's/^ListenPort=(.*)$/\1/p' "${servercfgfullpath}" | tr -cd '[:digit:]') + webadminuser=$(sed -nr 's/^AdminName=(.*)$/\1/p' "${servercfgfullpath}" | tr -d '=\";,:' | sed 's/\r$//') webadminpass="${adminpassword}" # Not Set From dc546ea23c7d3a45ee82ba5f839b6c4f9b37a699 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 17 Jan 2021 22:08:24 +0000 Subject: [PATCH 2/2] fix(wipe): resolve random seed not working (#3190) * random seed * correct name * add seed to info_parms * fix(wipe): resolve random seed not working --- lgsm/functions/command_wipe.sh | 6 ++++++ lgsm/functions/info_parms.sh | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh index f48f9e5f8..9fc099fbe 100755 --- a/lgsm/functions/command_wipe.sh +++ b/lgsm/functions/command_wipe.sh @@ -198,6 +198,11 @@ fn_wipe_warning(){ fn_print_warn "wipe is about to start" } +# Will change the seed everytime the wipe command is run if the seed in config is not set. +fn_wipe_random_seed(){ + shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt" +} + fn_print_dots "" check.sh @@ -219,6 +224,7 @@ if [ -d "${serveridentitydir}/storage" ]||[ -d "${serveridentitydir}/user" ]||[ fi fn_print_complete_nl "Wiping ${selfname}" fn_script_log_pass "Wiping ${selfname}" + fn_wipe_random_seed else fn_print_ok_nl "Wipe not required" fn_script_log_pass "Wipe not required" diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh index 782f774d4..4a81d73ce 100755 --- a/lgsm/functions/info_parms.sh +++ b/lgsm/functions/info_parms.sh @@ -140,6 +140,13 @@ fn_info_parms_rust(){ maxplayers=${maxplayers:-"0"} saveinterval=${saveinterval:-"0"} tickrate=${tickrate:-"0"} + # Part of random seed feature. + if [ -z "${seed}" ]; then + if [ ! -f "${datadir}/${selfname}-seed.txt" ]; then + shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt" + fi + seed=$(cat "${datadir}/${selfname}-seed.txt") + fi } fn_info_parms_samp(){