Skip to content
36 changes: 32 additions & 4 deletions lgsm/config-default/config-lgsm/cs2server/_default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions lgsm/modules/command_mods_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions lgsm/modules/command_mods_remove.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
4 changes: 2 additions & 2 deletions lgsm/modules/core_getopt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
8 changes: 6 additions & 2 deletions lgsm/modules/info_game.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion lgsm/modules/info_messages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
4 changes: 2 additions & 2 deletions lgsm/modules/install_config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
40 changes: 40 additions & 0 deletions lgsm/modules/mods_core.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down
24 changes: 23 additions & 1 deletion lgsm/modules/mods_list.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"))')
Expand All @@ -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')
Expand Down Expand Up @@ -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)")
Expand Down Expand Up @@ -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[@]}")
8 changes: 4 additions & 4 deletions linuxgsm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ 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"
[ -n "${LGSM_GITHUBBRANCH}" ] && githubbranch="${LGSM_GITHUBBRANCH}" || githubbranch="cs2server"

# Check that curl is installed before doing anything
if [ ! "$(command -v curl 2> /dev/null)" ]; then
Expand Down Expand Up @@ -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}" == "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
Expand Down Expand Up @@ -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}" == "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
Expand Down