4
0
Эх сурвалжийг харах

fix(won2): restore startup and queries on modern glibc (#5151)

Select the generic i386 glibc copy path for hlwon and cswon so the legacy
engine does not corrupt its startup command buffer and skip map loading.

Use corrected server archives that restore the original client DLLs needed
for the engine's client CRC check. Existing archive files are unchanged.

Fixes #5142
Daniel Gibbs 1 өдөр өмнө
parent
commit
75d3159c3e

+ 10 - 0
lgsm/modules/core_modules.sh

@@ -443,6 +443,11 @@ fix_csgo.sh() {
 	fn_fetch_module
 }
 
+fix_cswon.sh() {
+	modulefile="${FUNCNAME[0]}"
+	fn_fetch_module
+}
+
 fix_ct.sh() {
 	modulefile="${FUNCNAME[0]}"
 	fn_fetch_module
@@ -453,6 +458,11 @@ fix_dst.sh() {
 	fn_fetch_module
 }
 
+fix_hlwon.sh() {
+	modulefile="${FUNCNAME[0]}"
+	fn_fetch_module
+}
+
 fix_hw.sh() {
 	modulefile="${FUNCNAME[0]}"
 	fn_fetch_module

+ 1 - 1
lgsm/modules/fix.sh

@@ -53,7 +53,7 @@ fn_apply_fix() {
 	fi
 }
 
-apply_pre_start_fix=(ahl arma3 armar ark av bf1942 bfv bt bo csgo cmw cod cod2 coduo codwaw ct dst hw ins ios kf nd nmrih onset pvr ro rust rw samp sdtd sfc sm sof2 squad st tf2 terraria ts ts3 mcb mohaa mta unt ut ut99 vh vs wurm xnt zmr)
+apply_pre_start_fix=(ahl arma3 armar ark av bf1942 bfv bt bo csgo cmw cod cod2 coduo codwaw cswon ct dst hlwon hw ins ios kf nd nmrih onset pvr ro rust rw samp sdtd sfc sm sof2 squad st tf2 terraria ts ts3 mcb mohaa mta unt ut ut99 vh vs wurm xnt zmr)
 apply_post_install_fix=(av kf kf2 nd ro ut2k4 ut3)
 
 # validate registered fixes for safe development

+ 11 - 0
lgsm/modules/fix_cswon.sh

@@ -0,0 +1,11 @@
+#!/bin/bash
+# LinuxGSM fix_cswon.sh module
+# Author: Daniel Gibbs
+# Contributors: https://linuxgsm.com/contrib
+# Website: https://linuxgsm.com
+# Description: Resolves issues with Counter-Strike WON2.
+
+# shellcheck disable=SC2034 # Used by the module loader.
+moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
+export GLIBC_TUNABLES="${GLIBC_TUNABLES:+${GLIBC_TUNABLES}:}glibc.cpu.hwcaps=-Fast_Unaligned_Load,-SSSE3"

+ 11 - 0
lgsm/modules/fix_hlwon.sh

@@ -0,0 +1,11 @@
+#!/bin/bash
+# LinuxGSM fix_hlwon.sh module
+# Author: Daniel Gibbs
+# Contributors: https://linuxgsm.com/contrib
+# Website: https://linuxgsm.com
+# Description: Resolves issues with Half-Life WON2.
+
+# shellcheck disable=SC2034 # Used by the module loader.
+moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
+export GLIBC_TUNABLES="${GLIBC_TUNABLES:+${GLIBC_TUNABLES}:}glibc.cpu.hwcaps=-Fast_Unaligned_Load,-SSSE3"

+ 6 - 6
lgsm/modules/install_server_files.sh

@@ -74,21 +74,21 @@ fn_install_server_files() {
 		force="noforce"
 		md5="d7bdc6b2a671c3e07184e1a3262ec14c"
 	elif [ "${shortname}" == "cswon" ]; then
-		remote_fileurl="https://linuxgsm.download/CounterStrikeWON2/cswon-3111e-cs15-linux-i386-linuxgsm-20261102.tar.xz"
+		remote_fileurl="https://linuxgsm.download/CounterStrikeWON2/cswon-3111e-cs15-linux-i386-linuxgsm-20261104.tar.xz"
 		local_filedir="${tmpdir}"
-		local_filename="cswon-3111e-cs15-linux-i386-linuxgsm-20261102.tar.xz"
+		local_filename="cswon-3111e-cs15-linux-i386-linuxgsm-20261104.tar.xz"
 		chmodx="nochmodx"
 		run="norun"
 		force="noforce"
-		md5="0be5f9f766e48b8bbd480dfa4a9d9aa0"
+		md5="97f91d5a3b70ddff0fc9b2fd4ea1cfd6"
 	elif [ "${shortname}" == "hlwon" ]; then
-		remote_fileurl="https://linuxgsm.download/HalfLifeWON2/hlwon-3111e-linux-i386-linuxgsm-20261102.tar.xz"
+		remote_fileurl="https://linuxgsm.download/HalfLifeWON2/hlwon-3111e-linux-i386-linuxgsm-20261104.tar.xz"
 		local_filedir="${tmpdir}"
-		local_filename="hlwon-3111e-linux-i386-linuxgsm-20261102.tar.xz"
+		local_filename="hlwon-3111e-linux-i386-linuxgsm-20261104.tar.xz"
 		chmodx="nochmodx"
 		run="norun"
 		force="noforce"
-		md5="e64fda09d31f3acc977fb621b5ffd4fd"
+		md5="d4a57dc07648853138a700cacc84aef2"
 	elif [ "${shortname}" == "mohaa" ]; then
 		remote_fileurl="https://linuxgsm.download/MedalofHonorAlliedAssault/mohaa-1.12-rc3.5.1-linux-i386-linuxgsm-20261102.tar.xz"
 		local_filedir="${tmpdir}"