fix: 🐛 fixes metamod installation on cs2 update

currently the gamemode.gi gets overwritten when updating the cs2 installation, but metamod needs to be referenced in the gamemod.gi. this fix adds the fix to the file if it is not there and if metamod is installed.
This commit is contained in:
pcace 2024-02-18 13:00:20 +01:00
parent 1e165ce51f
commit c601c9acbb
3 changed files with 37 additions and 1 deletions

View File

@ -371,6 +371,11 @@ fix_csgo.sh() {
fn_fetch_module
}
fix_cs2.sh() {
modulefile="${FUNCNAME[0]}"
fn_fetch_module
}
fix_dst.sh() {
modulefile="${FUNCNAME[0]}"
fn_fetch_module

View File

@ -52,7 +52,7 @@ fn_apply_fix() {
fi
}
apply_pre_start_fix=(arma3 armar ark av bt bo csgo cmw dst hw ins kf nmrih onset pvr rust rw samp sdtd sfc sof2 squad st tf2 terraria ts3 mcb mta unt vh wurm zmr)
apply_pre_start_fix=(arma3 armar ark av bt bo csgo cs2 cmw dst hw ins kf nmrih onset pvr rust rw samp sdtd sfc sof2 squad st tf2 terraria ts3 mcb mta unt vh wurm zmr)
apply_post_install_fix=(av kf kf2 ro ut2k4 ut ut3)
# validate registered fixes for safe development

31
lgsm/modules/fix_cs2.sh Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
# LinuxGSM fix_csgo.sh module
# Author: https://github.com/pcace
# Contributors: http://linuxgsm.com/contrib
# Website: https://linuxgsm.com
# Description: Resolves issues with Counter-Strike: Global Offensive.
moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
# Fixes: metamod installation (if installed) on cs2 updates
GAMEINFO="${serverfiles}/game/csgo/gameinfo.gi"
METAMOD_DIR="${serverfiles}/game/csgo/addons/metamod"
if [ -d "$METAMOD_DIR" ]; then
# Remove Windows line endings (\r) from gameinfo.gi
sed -i 's/\r$//' "$GAMEINFO"
# Check if the line "Game csgo/addons/metamod" exists in the file
if ! grep -q "Game csgo/addons/metamod" "$GAMEINFO"; then
# Open gameinfo.gi in the game/csgo directory
sed -i 's/#.*\n//g' "$GAMEINFO"
# Add Game csgo/addons/metamod to the SearchPaths section
sed -i '/Game_LowViolence/{
a Game csgo/addons/metamod
}' "$GAMEINFO"
fi
fi