Răsfoiți Sursa

fix: system requirements bug (#4407)

* fix: added missing variable physmemtotalgb

* fix: compare RAM requirement to system's available RAM

allow numbers with decimal points to be compared
Daniel Gibbs 2 ani în urmă
părinte
comite
10b6807edc

+ 1 - 1
lgsm/modules/check_system_requirements.sh

@@ -63,7 +63,7 @@ fi
 
 # If the game or engine has a minimum RAM Requirement, compare it to system's available RAM.
 if [ "${ramrequirementgb}" ]; then
-	if [ "${physmemtotalgb}" -lt "${ramrequirementgb}" ]; then
+	if (($(echo "${physmemtotalgb} < ${ramrequirementgb}" | bc -l))); then
 		fn_print_dots "Checking RAM"
 		fn_print_warn_nl "Checking RAM: ${ramrequirementgb}G required, ${physmemtotal} available"
 		echo "* ${gamename} server may fail to run or experience poor performance."

+ 4 - 3
lgsm/modules/info_distro.sh

@@ -195,15 +195,16 @@ else
 	else
 		humanreadable="-h"
 	fi
-	physmemtotalmb="$(free -m | awk '/Mem:/ {print $2}')"             # string
+	physmemtotalmb="$(free -m | awk '/Mem:/ {print $2}')"             # integer
+	physmemtotalgb="$(free -m | awk '/Mem:/ {print $2}')"             # integer
 	physmemtotal="$(free ${humanreadable} | awk '/Mem:/ {print $2}')" # string
 	physmemfree="$(free ${humanreadable} | awk '/Mem:/ {print $4}')"  # string
 	physmemused="$(free ${humanreadable} | awk '/Mem:/ {print $3}')"  # string
 
 	oldfree="$(free ${humanreadable} | awk '/cache:/')"
 	if [ "${oldfree}" ]; then
-		physmemavailable="n/a"
-		physmemcached="n/a"
+		physmemavailable="n/a" # string
+		physmemcached="n/a"    # string
 	else
 		physmemavailable="$(free ${humanreadable} | awk '/Mem:/ {print $7}')" # string
 		physmemcached="$(free ${humanreadable} | awk '/Mem:/ {print $6}')"    # string