From 35ed1c8384ef04da17af900d9678278b379b43e9 Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:34:08 +0530 Subject: [PATCH 01/11] Add workshop parameters and update start parameters --- .../config-lgsm/cs2server/_default.cfg | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/lgsm/config-default/config-lgsm/cs2server/_default.cfg b/lgsm/config-default/config-lgsm/cs2server/_default.cfg index 8d65b5364a..9e1d511c0b 100644 --- a/lgsm/config-default/config-lgsm/cs2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/cs2server/_default.cfg @@ -10,21 +10,49 @@ ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters # https://docs.linuxgsm.com/game-servers/counter-strike-2 +# [Game Modes] gametype gamemode gamemodeflags skirmishid mapgroup (you can mix these across all Game Modes except Danger Zone, but use only one) +# Arms Race 1 0 0 0 mg_armsrace +# Boom! Headshot! 1 2 0 6 mg_skirmish_headshots +# Classic Casual 0 0 0 0 mg_casualsigma, mg_casualdelta +# Classic Competitive (Default) 0 1 0 0 mg_active, mg_reserves, mg_hostage, mg_de_dust2, ... +# Classic Competitive (Short Match) 0 1 32 0 mg_active, mg_reserves, mg_hostage, mg_de_dust2, ... +# Danger Zone 6 0 0 0 mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco) +# Deathmatch (Default) 1 2 0 0 mg_deathmatch +# Deathmatch (Free For All) 1 2 32 0 mg_deathmatch +# Deathmatch (Team vs Team) 1 2 4 0 mg_deathmatch +# Demolition 1 1 0 0 mg_demolition +# Flying Scoutsman 0 0 0 3 mg_skirmish_flyingscoutsman +# Hunter-Gatherers 1 2 0 7 mg_skirmish_huntergatherers +# Retakes 0 0 0 12 mg_skirmish_retakes +# Stab Stab Zap 0 0 0 1 mg_skirmish_stabstabzap +# Trigger Discipline 0 0 0 4 mg_skirmish_triggerdiscipline +# Wingman 0 2 0 0 mg_de_prime, mg_de_blagai, mg_de_vertigo, mg_de_inferno, mg_de_overpass, mg_de_cbble, mg_de_train, mg_de_shortnuke, mg_de_shortdust, mg_de_lake +gametype="0" +gamemode="1" +gamemodeflags="0" +skirmishid="0" +mapgroup="mg_active" ip="0.0.0.0" port="27015" +clientport="27005" +sourcetvport="27020" +defaultmap="de_mirage" maxplayers="16" -wsapikey="" - ## Game Server Login Token (GSLT): Required # GSLT is required for running a public server. # More info: https://docs.linuxgsm.com/steamcmd/gslt gslt="" +## Workshop Parameters | https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators +# To get an API key visit - https://steamcommunity.com/dev/apikey +wsapikey="" +wscollectionid="" +wsstartmap="" + ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters -startparameters="-dedicated -ip ${ip} -port ${port} -maxplayers ${maxplayers} -authkey ${wsapikey} +exec ${selfname}.cfg" +startparameters="-dedicated -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -maxplayers ${maxplayers} +map ${defaultmap} +mapgroup ${mapgroup} +game_type ${gametype} +game_mode ${gamemode} +sv_game_mode_flags ${gamemodeflags} +sv_skirmish_id ${skirmishid} -authkey ${wsapikey} +host_workshop_collection ${wscollectionid} +host_workshop_map ${wsstartmap} +sv_setsteamaccount ${gslt} +exec ${selfname}.cfg" #### LinuxGSM Settings #### - ## LinuxGSM Stats # Send useful stats to LinuxGSM developers. # https://docs.linuxgsm.com/configuration/linuxgsm-stats From e1e345494bf11dae80087026d28df0c61da23e8c Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:35:02 +0530 Subject: [PATCH 02/11] Add support for Metamod:Source 2 installation --- lgsm/modules/command_mods_install.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lgsm/modules/command_mods_install.sh b/lgsm/modules/command_mods_install.sh index a8f90293b2..4e2bc0d955 100755 --- a/lgsm/modules/command_mods_install.sh +++ b/lgsm/modules/command_mods_install.sh @@ -138,6 +138,11 @@ if [ "${modcommand}" == "metamod" ]; then fn_mod_install_liblist_gam_file fi +# Create/modify existing gameinfo.gi file for Metamod:Source 2 +if [ "${modcommand}" == "metamodsource2" ]; then + fn_mod_install_gameinfo_gi_file +fi + # Create/modify plugins.ini file for Metamod if [ "${modcommand}" == "amxmodx" ]; then fn_mod_install_amxmodx_file From 80cdac081944d39c6fb836340c7c49b28be4b9a1 Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:35:40 +0530 Subject: [PATCH 03/11] Implement removal of Metamod: Source 2 line from gameinfo.gi Add functionality to remove Metamod: Source 2 from gameinfo.gi during uninstallation. --- lgsm/modules/command_mods_remove.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lgsm/modules/command_mods_remove.sh b/lgsm/modules/command_mods_remove.sh index 04240eb60d..6c237dd1de 100755 --- a/lgsm/modules/command_mods_remove.sh +++ b/lgsm/modules/command_mods_remove.sh @@ -161,6 +161,11 @@ if [ "${modcommand}" == "amxmodx" ]; then fn_mod_remove_amxmodx_file fi +# Remove metamod line from gameinfo.gi when uninstalling Metamod: Source 2 +if [ "${modcommand}" == "metamodsource2" ]; then + fn_mod_remove_gameinfo_gi_file +fi + echo -e "${modprettyname} removed" fn_script_log "${modprettyname} removed" From 83ece732c4d50f8980474f779b720c83438eb681 Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:36:59 +0530 Subject: [PATCH 04/11] Add 'cs2' to mods command condition --- lgsm/modules/core_getopt.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/core_getopt.sh b/lgsm/modules/core_getopt.sh index ad09bf1df5..738c9831e1 100755 --- a/lgsm/modules/core_getopt.sh +++ b/lgsm/modules/core_getopt.sh @@ -137,8 +137,8 @@ if [ "${shortname}" == "squad" ]; then fi ## Mods commands. -if [ "${engine}" == "source" ] || [ "${shortname}" == "rust" ] || [ "${shortname}" == "hq" ] || [ "${shortname}" == "sdtd" ] || [ "${shortname}" == "cs" ] || [ "${shortname}" == "dod" ] || [ "${shortname}" == "tfc" ] || [ "${shortname}" == "ns" ] || [ "${shortname}" == "ts" ] || [ "${shortname}" == "hldm" ] || [ "${shortname}" == "vh" ]; then - currentopt+=("${cmd_mods_install[@]}" "${cmd_mods_remove[@]}" "${cmd_mods_update[@]}") +if [ "${engine}" == "source" ] || [ "${shortname}" == "rust" ] || [ "${shortname}" == "hq" ] || [ "${shortname}" == "sdtd" ] || [ "${shortname}" == "cs" ] || [ "${shortname}" == "dod" ] || [ "${shortname}" == "tfc" ] || [ "${shortname}" == "ns" ] || [ "${shortname}" == "ts" ] || [ "${shortname}" == "hldm" ] || [ "${shortname}" == "vh" ] || [ "${shortname}" == "cs2" ]; then + currentopt+=("${cmd_mods_install[@]}" "${cmd_mods_remove[@]}" "${cmd_mods_update[@]}") fi ## Installer. From ca5931c24a8eecca8b806f21bbc61c7e030a548e Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:38:36 +0530 Subject: [PATCH 05/11] Add RCON password and port to game info function --- lgsm/modules/info_game.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index d39e2d143d..c334231b48 100755 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -1176,16 +1176,20 @@ fn_info_game_col() { # Filetype: cfg fn_info_game_cs2() { if [ -f "${servercfgfullpath}" ]; then + fn_info_game_valve_keyvalues "rconpassword" "rcon_password" fn_info_game_valve_keyvalues "servername" "hostname" - fn_info_game_valve_keyvalues "defaultmap" "map" fn_info_game_valve_keyvalues "serverpassword" "sv_password" fi + clientport="${clientport:-"0"}" defaultmap="${defaultmap:-"NOT SET"}" maxplayers="${maxplayers:-"0"}" - serverpassword="${serverpassword:-"NOT SET"}" port="${port:-"0"}" queryport="${port:-"0"}" + rconpassword="${rconpassword:-"NOT SET"}" + rconport="${port:-"0"}" servername="${servername:-"NOT SET"}" + serverpassword="${serverpassword:-"NOT SET"}" + #steamport="${steamport:-"0"}" Steamport is optional so we dont want it to show as not set. } # Config Type: ini From 26d718c44b2e211f276bba771db93c31d80fc171 Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:39:50 +0530 Subject: [PATCH 06/11] Add additional ports to info_messages_cs2 function --- lgsm/modules/info_messages.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 1ef9508303..6a86878343 100755 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -1020,7 +1020,9 @@ fn_info_messages_cs2() { { fn_port "header" fn_port "Game" port udp - fn_port "Query" queryport tcp + fn_port "RCON" rconport tcp + fn_port "SourceTV" sourcetvport udp + fn_port "Client" clientport udp } | column -s $'\t' -t } From a27657dc2672716f8ef1ad4bc3eeee6633516a50 Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:44:12 +0530 Subject: [PATCH 07/11] Update GitHub URL for downloading configs --- lgsm/modules/install_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 4b8148ce98..b7a300c8a8 100755 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -21,11 +21,11 @@ fn_default_config_remote() { echo -e "" echo -e "${bold}${lightyellow}Downloading ${gamename} Configs${default}" fn_messages_separator - echo -e "Downloading default configs from: ${italic}https://github.com/GameServerManagers/Game-Server-Configs${default}" + echo -e "Downloading default configs from: ${italic}https://github.com/xe1os/Game-Server-Configs${default}" echo -e "" fn_sleep_time_1 mkdir -p "${lgsmdir}/config-default/config-game" - githuburl="https://raw.githubusercontent.com/GameServerManagers/Game-Server-Configs/main" + githuburl="https://raw.githubusercontent.com/xe1os/Game-Server-Configs/main" for config in "${array_configs[@]}"; do # Downloads default configs from Game-Server-Configs repo to lgsm/config-default. fn_fetch_file "${githuburl}/${shortname}/${config}" "${remote_fileurl_backup}" "GitHub" "Bitbucket" "${lgsmdir}/config-default/config-game" "${config}" "nochmodx" "norun" "forcedl" "nohash" From bccbcd1c5106519bd8a1fcd85aaef01aeb165f58 Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:48:16 +0530 Subject: [PATCH 08/11] Add functions to manage gameinfo.gi file --- lgsm/modules/mods_core.sh | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/lgsm/modules/mods_core.sh b/lgsm/modules/mods_core.sh index bed0f9f49e..ed59277cbd 100755 --- a/lgsm/modules/mods_core.sh +++ b/lgsm/modules/mods_core.sh @@ -188,6 +188,11 @@ fn_mod_tidy_files_list() { sed -i "/^addons\/sourcemod\/scripting\/include\/dhooks.inc$/d" "${modsdir}/${modcommand}-files.txt" sed -i "/^addons\/sourcemod\/scripting\/include\/updater.inc$/d" "${modsdir}/${modcommand}-files.txt" fi + + # Remove specific mod paths from deletion list + if [ "${modcommand}" == "metamodsource2" ]; then + sed -i "/^addons\/gameinfo.gi$/d" "${modsdir}/${modcommand}-files.txt" + fi } ## Information Gathering. @@ -742,6 +747,41 @@ fn_mod_remove_amxmodx_file() { fi } +fn_mod_install_gameinfo_gi_file() { + if [ -f "${modinstalldir}/gameinfo.gi" ]; then + # modify the liblist.gam file to initialize Metamod + echo -en "modifying gameinfo.gi..." + sed -i "/Game_LowViolence/a \ \ \ \ \ \ \ \ \ \ \ Game\ \ \ \ csgo/addons/metamod" "${modinstalldir}/gameinfo.gi" + exitcode=$? + # if replacement back didn't happen, error out. + if [ "${exitcode}" != 0 ]; then + fn_script_log_fail "${logentry}" + fn_print_fail_eol_nl + else + fn_script_log_pass "${logentry}" + fn_print_ok_eol_nl + fi + fi +} + +fn_mod_remove_gameinfo_gi_file() { + if [ -f "${modinstalldir}/gameinfo.gi" ]; then + # modify the liblist.gam file to initialize Metamod + logentry="sed -i '/csgo\/addons\/metamod/d' /game/csgo/gameinfo.gi" + echo -en "Restoring gameinfo.gi..." + sed -i "/csgo\/addons\/metamod/d" "${modinstalldir}/gameinfo.gi" + exitcode=$? + # if replacement back didn't happen, error out. + if [ "${exitcode}" != 0 ]; then + fn_script_log_fail "${logentry}" + fn_print_fail_eol_nl + else + fn_script_log_pass "${logentry}" + fn_print_ok_eol_nl + fi + fi +} + ## Database initialisation. mods_list.sh From b1eaefbfafc971223308fa1d4718829f14c6a6bf Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:51:11 +0530 Subject: [PATCH 09/11] Add support for CS2 mods and update mod info --- lgsm/modules/mods_list.sh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/lgsm/modules/mods_list.sh b/lgsm/modules/mods_list.sh index b3f9877f19..e5b7288fc9 100755 --- a/lgsm/modules/mods_list.sh +++ b/lgsm/modules/mods_list.sh @@ -76,6 +76,16 @@ stripperversion="1.2.2-git141" stripperlatestfile="stripper-${stripperversion}-linux.tar.gz" stripperdownloadurl="http://www.bailopan.net/stripper/snapshots/1.2/${stripperlatestfile}" stripperurl="${stripperdownloadurl}" +# Metamod:Source 2 +metamodsource2version="2.0" +metamodsource2scrapeurl="https://mms.alliedmods.net/mmsdrop/${metamodsource2version}/mmsource-latest-linux" +metamodsource2latestfile=$(wget "${metamodsource2scrapeurl}" -q -O -) +metamodsource2downloadurl="https://www.metamodsource.net/latest.php?os=linux&version=${metamodsource2version}" +metamodsource2url="${metamodsource2downloadurl}" +# Counter Strike Sharp +cssharplastbuild=$(curl --connect-timeout 10 -sL https://api.github.com/repos/roflmuffin/CounterStrikeSharp/releases/latest | jq '.assets[] | select(.browser_download_url | contains("runtime") and contains("linux"))') +cssharplatestfile=$(echo "${cssharplastbuild}" | jq -r '.name') +cssharplatestlink=$(echo "${cssharplastbuild}" | jq -r '.browser_download_url') # CS:GO Mods get5lastbuild=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))') @@ -94,6 +104,12 @@ movementapilatestversion=$(curl --connect-timeout 3 -s https://api.github.com/re movementapilatestfile="MovementAPI-v${movementapilatestversion}.zip" movementapilatestlink="https://github.com/danzayau/MovementAPI/releases/download/${movementapilatestversion}/${movementapilatestfile}" +# CS2 Mods +simpleadminlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/daffyyyy/CS2-SimpleAdmin/releases/latest | jq -r '.assets[].browser_download_url') +matchzylatestversion=$(curl --connect-timeout 10 -s https://api.github.com/repos/xe1os/MatchZy/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/') +matchzylatestfile="MatchZy-${matchzylatestversion}.zip" +matchzylatestlink="https://github.com/xe1os/MatchZy/releases/download/${matchzylatestversion}/${matchzylatestfile}" + # Rust carbonrustapilatestfile="Carbon.Linux.Release.tar.gz" carbonrustlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/CarbonCommunity/Carbon.Core/releases/tags/production_build | jq -r '.assets[]|select(.name == "Carbon.Linux.Release.tar.gz") | .browser_download_url') @@ -167,6 +183,12 @@ mod_info_dhook=(MOD "dhook" "dhook" "https://forums.alliedmods.net/attachment.ph mod_info_movement=(MOD "movementapi" "movementapi" "${movementapilatestlink}" "${movementapilatestfile}" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/danzayau/MovementAPI" "Movement API ${movementapilatestversion} - Required for GOKZ") mod_info_cleaner=(MOD "cleaner" "cleaner" "https://github.com/e54385991/console-cleaner/archive/refs/heads/master.zip" "console-cleaner.zip" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/e54385991/console-cleaner" "Console Cleaner - Optional for GOKZ") +# CS2 Mods +mod_info_metamodsource2=(MOD "metamodsource2" "Metamod: Source 2 (dev build)" "${metamodsource2url}" "${metamodsource2latestfile}" "0" "LowercaseOff" "${systemdir}" "addons/metamod/metaplugins.ini;" "source2;" "GAMES" "NOTGAMES" "https://www.metamodsource.net" "Plugins Framework ported to Source 2") +mod_info_cssharp=(MOD "cssharp" "Counter Strike Sharp" "${cssharplatestlink}" "${cssharplatestfile}" "0" "LowercaseOff" "${systemdir}" "addons/counterstrikesharp/configs;" "source2;" "GAMES" "NOTGAMES" "https://docs.cssharp.dev/" "Plugins/mod framework (Requires Metamod: Source 2)") +mod_info_simpleadmin=(MOD "simpleadmin" "CS2-SimpleAdmin" "${simpleadminlatestlink}" "CS2-SimpleAdmin.zip" "0" "LowercaseOff" "${systemdir}/addons" "addons/counterstrikesharp/configs/plugins/CS2-SimpleAdmin;" "source2;" "GAMES" "NOTGAMES" "https://cs2-simpleadmin.daffyy.love/" "Manage your Counter-Strike 2 server by simple commands") +mod_info_matchzy=(MOD "matchzy" "MatchZy" "${matchzylatestlink}" "${matchzylatestfile}" "0" "LowercaseOff" "${systemdir}" "cfg/MatchZy;" "source2;" "GAMES" "NOTGAMES" "https://shobhit-pathak.github.io/MatchZy/" "Plugin for running and managing practice/pugs/scrims/matches") + # Garry's Mod Addons mod_info_ulib=(MOD "ulib" "ULib" "https://codeload.github.com/TeamUlysses/ulib/zip/master" "ulib-master.zip" "0" "LowercaseOff" "${systemdir}/addons" "OVERWRITE" "ENGINES" "Garry's Mod;" "NOTGAMES" "http://ulyssesmod.net" "Complete Framework") mod_info_ulx=(MOD "ulx" "ULX" "https://codeload.github.com/TeamUlysses/ulx/zip/master" "ulx-master.zip" "0" "LowercaseOff" "${systemdir}/addons" "OVERWRITE" "ENGINES" "Garry's Mod;" "NOTGAMES" "http://ulyssesmod.net" "Admin Panel (requires ULib)") @@ -211,4 +233,4 @@ mod_info_valheimplus=(MOD "valheimplus" "Valheim PLUS" "${valheimpluslatestlink} mod_info_bepinexvh=(MOD "bepinexvh" "BepInEx Valheim" "${bepinexvhlatestlink}" "denikson-BepInExPack_Valheim.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/" "Unity / XNA game patcher and plugin framework") # REQUIRED: Set all mods info into the global array -mods_global_array=("${mod_info_metamod[@]}" "${mod_info_base_amxx[@]}" "${mod_info_cs_amxx[@]}" "${mod_info_dod_amxx[@]}" "${mod_info_tfc_amxx[@]}" "${mod_info_ns_amxx[@]}" "${mod_info_ts_amxx[@]}" "${mod_info_metamodsource[@]}" "${mod_info_sourcemod[@]}" "${mod_info_steamworks[@]}" "${mod_info_gokz[@]}" "${mod_info_ttt[@]}" "${mod_info_get5[@]}" "${mod_info_prac[@]}" "${mod_info_pug[@]}" "${mod_info_dhook[@]}" "${mod_info_movement[@]}" "${mod_info_cleaner[@]}" "${mod_info_ulib[@]}" "${mod_info_ulx[@]}" "${mod_info_utime[@]}" "${mod_info_uclip[@]}" "${mod_info_acf[@]}" "${mod_info_acf_missiles[@]}" "${mod_info_acf_sweps[@]}" "${mod_info_advdupe2[@]}" "${mod_info_pac3[@]}" "${mod_info_wiremod[@]}" "${mod_info_wiremodextras[@]}" "${mod_info_darkrp[@]}" "${mod_info_darkrpmodification[@]}" "${mod_info_rustcarbon[@]}" "${mod_info_rustoxide[@]}" "${mod_info_hwoxide[@]}" "${mod_info_sdtdoxide[@]}" "${mod_info_advduplicator[@]}" "${mod_info_trackassemblytool[@]}" "${mod_info_physpropertiesadv[@]}" "${mod_info_controlsystemse2[@]}" "${mod_info_e2pistontiming[@]}" "${mod_info_propcannontool[@]}" "${mod_info_gearassemblytool[@]}" "${mod_info_spinnertool[@]}" "${mod_info_surfacefrictiontool[@]}" "${mod_info_magneticdipole[@]}" "${mod_info_environmentorganizer[@]}" "${mod_info_precision_alignment[@]}" "${mod_info_improved_stacker[@]}" "${mod_info_improved_weight[@]}" "${mod_info_improved_antinoclip[@]}" "${mod_info_laserstool[@]}" "${mod_info_valheimplus[@]}" "${mod_info_bepinexvh[@]}") +mods_global_array=("${mod_info_metamod[@]}" "${mod_info_base_amxx[@]}" "${mod_info_cs_amxx[@]}" "${mod_info_dod_amxx[@]}" "${mod_info_tfc_amxx[@]}" "${mod_info_ns_amxx[@]}" "${mod_info_ts_amxx[@]}" "${mod_info_metamodsource[@]}" "${mod_info_sourcemod[@]}" "${mod_info_steamworks[@]}" "${mod_info_gokz[@]}" "${mod_info_ttt[@]}" "${mod_info_get5[@]}" "${mod_info_prac[@]}" "${mod_info_pug[@]}" "${mod_info_dhook[@]}" "${mod_info_movement[@]}" "${mod_info_cleaner[@]}" "${mod_info_ulib[@]}" "${mod_info_ulx[@]}" "${mod_info_utime[@]}" "${mod_info_uclip[@]}" "${mod_info_acf[@]}" "${mod_info_acf_missiles[@]}" "${mod_info_acf_sweps[@]}" "${mod_info_advdupe2[@]}" "${mod_info_pac3[@]}" "${mod_info_wiremod[@]}" "${mod_info_wiremodextras[@]}" "${mod_info_darkrp[@]}" "${mod_info_darkrpmodification[@]}" "${mod_info_rustcarbon[@]}" "${mod_info_rustoxide[@]}" "${mod_info_hwoxide[@]}" "${mod_info_sdtdoxide[@]}" "${mod_info_advduplicator[@]}" "${mod_info_trackassemblytool[@]}" "${mod_info_physpropertiesadv[@]}" "${mod_info_controlsystemse2[@]}" "${mod_info_e2pistontiming[@]}" "${mod_info_propcannontool[@]}" "${mod_info_gearassemblytool[@]}" "${mod_info_spinnertool[@]}" "${mod_info_surfacefrictiontool[@]}" "${mod_info_magneticdipole[@]}" "${mod_info_environmentorganizer[@]}" "${mod_info_precision_alignment[@]}" "${mod_info_improved_stacker[@]}" "${mod_info_improved_weight[@]}" "${mod_info_improved_antinoclip[@]}" "${mod_info_laserstool[@]}" "${mod_info_valheimplus[@]}" "${mod_info_bepinexvh[@]}" "${mod_info_metamodsource2[@]}" "${mod_info_cssharp[@]}" "${mod_info_simpleadmin[@]}" "${mod_info_matchzy[@]}") From 98fe033ac0bf53ce7db3a992e519e142ee18aa7b Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Fri, 5 Jun 2026 22:52:02 +0530 Subject: [PATCH 10/11] Change GitHub user from GameServerManagers to xe1os --- linuxgsm.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linuxgsm.sh b/linuxgsm.sh index f664749e6d..59debb664a 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -53,7 +53,7 @@ userinput2="${2}" ## GitHub Branch Select # Allows for the use of different function files # from a different repo and/or branch. -[ -n "${LGSM_GITHUBUSER}" ] && githubuser="${LGSM_GITHUBUSER}" || githubuser="GameServerManagers" +[ -n "${LGSM_GITHUBUSER}" ] && githubuser="${LGSM_GITHUBUSER}" || githubuser="xe1os" [ -n "${LGSM_GITHUBREPO}" ] && githubrepo="${LGSM_GITHUBREPO}" || githubrepo="LinuxGSM" [ -n "${LGSM_GITHUBBRANCH}" ] && githubbranch="${LGSM_GITHUBBRANCH}" || githubbranch="master" @@ -88,7 +88,7 @@ fn_bootstrap_fetch_module() { github_file_url_dir="lgsm/modules" github_file_url_name="${modulefile}" # If master branch will currently running LinuxGSM version to prevent "version mixing". This is ignored if a fork. - if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "GameServerManagers" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then + if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "xe1os" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then remote_fileurl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${version}/${github_file_url_dir}/${github_file_url_name}" remote_fileurl_backup="https://bitbucket.org/${githubuser}/${githubrepo}/raw/${version}/${github_file_url_dir}/${github_file_url_name}" else @@ -221,7 +221,7 @@ fn_bootstrap_fetch_file_github() { github_file_url_dir="${1}" github_file_url_name="${2}" # By default modules will be downloaded from the version release to prevent potential version mixing. Only update-lgsm will allow an update. - if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "GameServerManagers" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then + if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "xe1os" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then remote_fileurl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${version}/${github_file_url_dir}/${github_file_url_name}" remote_fileurl_backup="https://bitbucket.org/${githubuser}/${githubrepo}/raw/${version}/${github_file_url_dir}/${github_file_url_name}" else From 733975faf4c69bd090dbfd893efd600e15425e15 Mon Sep 17 00:00:00 2001 From: xe1os <39219862+xe1os@users.noreply.github.com> Date: Sat, 6 Jun 2026 00:39:21 +0530 Subject: [PATCH 11/11] Change default GitHub branch from master to cs2server --- linuxgsm.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linuxgsm.sh b/linuxgsm.sh index 59debb664a..5ff670132d 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -55,7 +55,7 @@ userinput2="${2}" # from a different repo and/or branch. [ -n "${LGSM_GITHUBUSER}" ] && githubuser="${LGSM_GITHUBUSER}" || githubuser="xe1os" [ -n "${LGSM_GITHUBREPO}" ] && githubrepo="${LGSM_GITHUBREPO}" || githubrepo="LinuxGSM" -[ -n "${LGSM_GITHUBBRANCH}" ] && githubbranch="${LGSM_GITHUBBRANCH}" || githubbranch="master" +[ -n "${LGSM_GITHUBBRANCH}" ] && githubbranch="${LGSM_GITHUBBRANCH}" || githubbranch="cs2server" # Check that curl is installed before doing anything if [ ! "$(command -v curl 2> /dev/null)" ]; then @@ -88,7 +88,7 @@ fn_bootstrap_fetch_module() { github_file_url_dir="lgsm/modules" github_file_url_name="${modulefile}" # If master branch will currently running LinuxGSM version to prevent "version mixing". This is ignored if a fork. - if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "xe1os" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then + if [ "${githubbranch}" == "cs2server" ] && [ "${githubuser}" == "xe1os" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then remote_fileurl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${version}/${github_file_url_dir}/${github_file_url_name}" remote_fileurl_backup="https://bitbucket.org/${githubuser}/${githubrepo}/raw/${version}/${github_file_url_dir}/${github_file_url_name}" else @@ -221,7 +221,7 @@ fn_bootstrap_fetch_file_github() { github_file_url_dir="${1}" github_file_url_name="${2}" # By default modules will be downloaded from the version release to prevent potential version mixing. Only update-lgsm will allow an update. - if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "xe1os" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then + if [ "${githubbranch}" == "cs2server" ] && [ "${githubuser}" == "xe1os" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then remote_fileurl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${version}/${github_file_url_dir}/${github_file_url_name}" remote_fileurl_backup="https://bitbucket.org/${githubuser}/${githubrepo}/raw/${version}/${github_file_url_dir}/${github_file_url_name}" else