From 56b87ef23177a695c3e71a1971fca75818c6ae77 Mon Sep 17 00:00:00 2001 From: ttocszed00 Date: Thu, 18 Jun 2020 04:53:20 +0900 Subject: [PATCH 01/14] fix(details): fix if typo in starbound details (#2929) --- lgsm/functions/info_messages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index 063914497..eb0ed43cf 100644 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -1462,7 +1462,7 @@ fn_info_message_select_engine(){ fn_info_message_sof2 elif [ "${shortname}" == "sol" ]; then fn_info_message_soldat - elif [ "${shortname}" == "st" ]; then + elif [ "${shortname}" == "sb" ]; then fn_info_message_starbound elif [ "${shortname}" == "sbots" ]; then fn_info_message_sbots From 8ebeac900cf436ac6b43e66b630cdf9524a09bbb Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 17 Jun 2020 21:54:49 +0200 Subject: [PATCH 02/14] fix(av): fix post install for Avorion #2925 (#2928) --- lgsm/functions/fix_av.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/fix_av.sh b/lgsm/functions/fix_av.sh index bf9ff2b4b..3edf7862b 100644 --- a/lgsm/functions/fix_av.sh +++ b/lgsm/functions/fix_av.sh @@ -10,7 +10,7 @@ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/linux64" if [ "${postinstall}" == "1" ]; then fn_parms(){ - parms="--datapath ${avdatapath} --galaxy-name ${avgalaxy} --init-folders-only" + parms="--datapath ${avdatapath} --galaxy-name ${selfname} --init-folders-only" } fn_print_information "starting ${gamename} server to generate configs." From dc70753ead2e47106cc19deeffc6d69428d5ead3 Mon Sep 17 00:00:00 2001 From: Jimmy Maple <38733055+jimmyatSplunk@users.noreply.github.com> Date: Wed, 17 Jun 2020 16:08:41 -0400 Subject: [PATCH 03/14] fix(query): query_gamedig.sh tuning for correct player count (#2913) * fix(bug): gamedig not using correct JSON object Command to output the results for player count was looking at the wrong object in the tree. This change corrects it to the right objects. * feat(monitor): Include bot count in monitor output Update to include bot count in monitor output from Gamedig. * fix(messages): Fix to set proper component logging Fixed issue where messages from different actions weren't logging correctly due to using the wrong variable in when crafting the log message * Confirm commit for changes made Commit changes made after pull change submiited. * fix(command_backup): Correct path for exludedir variable The current implementation doesn't use the full file path to determine the existence of the backup directory in relation to the server which means the current stats just looks for the "lgsm/backup" directory. That may work if you're already in the root directory for the server but if you're scripting the backups via cron, you're not likely going to be invoking the backup from the root directory. * fix: query_gamedig.sh tuning for correct player count Reworked the jq flags to produce a count of players based on the length of the original JSON key used. However, I've found that while things like TF2 will produce the proper value, the Minecraft plugin will have an extra user online that is empty. See example below: "players": [ { "id": "81eeda65-9002-4f0d-9d3f-b4872e2a2042", "name": "iamjack1221" }, {} ] * correct else * space Co-authored-by: Daniel Gibbs --- lgsm/functions/query_gamedig.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh index 285cf0805..071645b49 100644 --- a/lgsm/functions/query_gamedig.sh +++ b/lgsm/functions/query_gamedig.sh @@ -22,7 +22,6 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; gamedigcmd=$(echo -e "gamedig --type \"${querytype}\" --host \"${ip}\" --port \"${queryport}\"|jq") gamedigraw=$(gamedig --type "${querytype}" --host "${ip}" --port "${queryport}") querystatus=$(echo "${gamedigraw}" | jq '.error|length') - fi # server name. @@ -32,10 +31,14 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; fi # numplayers. - gdplayers=$(echo "${gamedigraw}" | jq -re '.raw.vanilla.raw.players.online') + if [ "${querytype}" == "minecraft" ]; then + gdplayers=$(echo "${gamedigraw}" | jq -re '.players | length-1') + else + gdplayers=$(echo "${gamedigraw}" | jq -re '.players | length') + fi if [ "${gdplayers}" == "null" ]; then unset gdplayers - elif [ "${gdplayers}" == "[]" ]; then + elif [ "${gdplayers}" == "[]" ] || [ "${gdplayers}" == "-1" ]; then gdplayers=0 fi @@ -60,7 +63,7 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; fi # numbots. - gdbots=$(echo "${gamedigraw}" | jq -re '.raw.numbots') + gdbots=$(echo "${gamedigraw}" | jq -re '.bots | length') if [ "${gdbots}" == "null" ]||[ "${gdbots}" == "0" ]; then unset gdbots fi From f2f8063b1179133868987fdc9c028e36d7e654ff Mon Sep 17 00:00:00 2001 From: ttocszed00 Date: Thu, 18 Jun 2020 07:19:27 +0900 Subject: [PATCH 04/14] feat(new server): Battlefield: Vietnam (#2909) --- .../config-lgsm/bfvserver/_default.cfg | 157 ++++++++++++++++++ lgsm/data/serverlist.csv | 1 + lgsm/functions/check_deps.sh | 6 + lgsm/functions/core_getopt.sh | 2 +- lgsm/functions/info_config.sh | 30 ++++ lgsm/functions/info_messages.sh | 12 ++ lgsm/functions/install_config.sh | 7 + lgsm/functions/install_server_files.sh | 2 + 8 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 lgsm/config-default/config-lgsm/bfvserver/_default.cfg diff --git a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg new file mode 100644 index 000000000..d0b7215c5 --- /dev/null +++ b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg @@ -0,0 +1,157 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN! +# Copy settings from here and use them in either: +# common.cfg - applies settings to every instance. +# [instance].cfg - applies settings to a specific instance. + +#### Game Server Settings #### + +## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +fn_parms(){ +parms="+statusMonitor 1" +} + +#### LinuxGSM Settings #### + +## LinuxGSM Stats +# Send useful stats to LinuxGSM developers. +# https://docs.linuxgsm.com/configuration/linuxgsm-stats +# (on|off) +stats="off" + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" +postdays="7" +posttarget="https://termbin.com" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". +# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need +# any custom string in curl - simple ignore this parameter. +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Updating | https://docs.linuxgsm.com/commands/update +updateonstart="off" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors +ansi="on" + +#### Advanced Settings #### + +## Message Display Time | https://docs.linuxgsm.com/features/message-display-time +sleeptime="0.5" + +## Stop Mode | https://docs.linuxgsm.com/features/stop-mode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: GoldSrc +# 10: Avorion +stopmode="3" + +## Query mode +# 1: session only +# 2: gamedig + gsquery +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="1" +querytype="" + +## Game Server Details +# Do not edit +gamename="Battlefield: Vietnam" +engine="refractor" +glibc="2.2.4" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}" +executabledir="${systemdir}" +executable="./start.sh" +servercfgdir="${systemdir}/mods/bfvietnam/settings" +servercfg="serversettings.con" +servercfgdefault="serversettings.con" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${serverfiles}/mods/bfvietnam/logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${selfname}-script.log" +consolelog="${consolelogdir}/${selfname}-console.log" +alertlog="${lgsmlogdir}/${selfname}-alert.log" +postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index ac703ffe9..469ec6509 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -8,6 +8,7 @@ bb,bbserver,BrainBread bb2,bb2server,BrainBread 2 bd,bdserver,Base Defense bf1942,bf1942server,Battlefield 1942 +bfv,bfvserver,Battlefield: Vietnam bmdm,bmdmserver,Black Mesa: Deathmatch bo,boserver,Ballistic Overkill bs,bsserver,Blade Symphony diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index 52f651e1b..cb1720a20 100644 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -368,6 +368,9 @@ fn_deps_build_debian(){ # 7 Days to Die elif [ "${shortname}" == "sdtd" ]; then array_deps_required+=( telnet expect ) + # Battlefield: Vietnam + elif [ "${shortname}" == "bfv" ]; then + array_deps_required+=( libncurses5:i386 libstdc++5:i386 ) # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source elif [ "${shortname}" == "bf1942" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then if [ "${arch}" == "x86_64" ]; then @@ -480,6 +483,9 @@ fn_deps_build_redhat(){ # 7 Days to Die elif [ "${shortname}" == "sdtd" ]; then array_deps_required+=( telnet expect ) + # Battlefield: Vietnam + elif [ "${shortname}" == "bfv" ]; then + array_deps_required+=( compat-libstdc++-33.i686 glibc.i686 ) # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source elif [ "${shortname}" == "bf1942" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then array_deps_required+=( ncurses-libs.i686 ) diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index 1ddc15ce2..fe31f488f 100644 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -61,7 +61,7 @@ currentopt=( "${cmd_start[@]}" "${cmd_stop[@]}" "${cmd_restart[@]}" "${cmd_monit currentopt+=( "${cmd_update_linuxgsm[@]}" ) # Exclude noupdate games here. -if [ "${engine}" != "quake" ]&&[ "${engine}" != "idtech2" ]&&[ "${engine}" != "idtech3" ]&&[ "${engine}" != "iw2.0" ]&&[ "${engine}" != "iw3.0" ]&&[ "${shortname}" != "bf1942" ]&&[ "${shortname}" != "samp" ]; then +if [ "${engine}" != "quake" ]&&[ "${engine}" != "idtech2" ]&&[ "${engine}" != "idtech3" ]&&[ "${engine}" != "iw2.0" ]&&[ "${engine}" != "iw3.0" ]&&[ "${shortname}" != "bf1942" ]&&[ "${shortname}" != "bfv" ]&&[ "${shortname}" != "samp" ]; then currentopt+=( "${cmd_update[@]}" ) # force update for SteamCMD only or MTA. if [ "${appid}" ]||[ "${shortname}" == "mta" ]; then diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 743c657e0..d16180027 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -199,6 +199,33 @@ fn_info_config_bf1942(){ fi } +fn_info_config_bfv(){ + if [ ! -f "${servercfgfullpath}" ]; then + servername="${unavailable}" + serverpassword="${unavailable}" + maxplayers="${zero}" + port="${zero}" + queryport="${zero}" + else + + servername=$(grep "game.serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName//g' | tr -d '=\";,:' | xargs) + serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs) + maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') + port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') + queryport="23000" + + ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs) + ipsetinconfig=1 + ipinconfigvar="game.serverIP" + + # Not Set + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + maxplayers=${maxplayers:-"0"} + port=${port:-"0"} + fi +} + fn_info_config_chivalry(){ if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" @@ -1472,6 +1499,9 @@ elif [ "${shortname}" == "bt1944" ]; then # Battlefield: 1942 elif [ "${shortname}" == "bf1942" ]; then fn_info_config_bf1942 +# Battlefield: Vietnam +elif [ "${shortname}" == "bfv" ]; then + fn_info_config_bfv # Chivalry: Medieval Warfare elif [ "${shortname}" == "cmw" ]; then fn_info_config_chivalry diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index eb0ed43cf..0f416b573 100644 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -982,6 +982,16 @@ fn_info_message_bf1942(){ } | column -s $'\t' -t } +fn_info_message_bfv(){ + echo -e "netstat -atunp | grep bfv_linded" + echo -e "" + { + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" + echo -e "> Game\tINBOUND\t${port}\tudp" + echo -e "> Query\tINBOUND\t${queryport}\tudp" + } | column -s $'\t' -t +} + fn_info_message_risingworld(){ echo -e "netstat -atunp | grep java" echo -e "" @@ -1492,6 +1502,8 @@ fn_info_message_select_engine(){ fn_info_message_mumble elif [ "${shortname}" == "bf1942" ]; then fn_info_message_bf1942 + elif [ "${shortname}" == "bfv" ]; then + fn_info_message_bfv elif [ "${shortname}" == "rtcw" ]; then fn_info_message_rtcw elif [ "${shortname}" == "rust" ]; then diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index ced111afb..066ecc6d3 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -239,6 +239,13 @@ elif [ "${shortname}" == "bf1942" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "bfv" ]; then + gamedirname="BattlefieldVietnam" + array_configs+=( serversettings.con ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "bs" ]; then gamedirname="BladeSymphony" array_configs+=( server.cfg ) diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index 9593401ce..a7b9c544c 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -11,6 +11,8 @@ fn_install_server_files(){ remote_fileurl="http://linuxgsm.download/ActionHalfLife/action_halflife-1.0.tar.xz"; local_filedir="${tmpdir}"; local_filename="action_halflife-1.0.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="61d7b79fd714888b6d65944fdaafa94a" elif [ "${shortname}" == "bf1942" ]; then remote_fileurl="http://linuxgsm.download/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.xz"; local_filedir="${tmpdir}"; local_filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="4223bf4ed85f5162c24b2cba51249b9e" + elif [ "${shortname}" == "bfv" ];then + remote_fileurl="http://linuxgsm.download/BattlefieldVietnam/bfv_linded-v1.21-20041207_patch.tar.xz"; local_filedir="${tmpdir}"; local_filename="bfv_linded-v1.21-20041207_patch.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="e3b4962cdd9d41e23c6fed65101bccde" elif [ "${shortname}" == "bb" ]; then remote_fileurl="http://linuxgsm.download/BrainBread/brainbread-v1.2-linuxserver.tar.xz"; local_filedir="${tmpdir}"; local_filename="brainbread-v1.2-linuxserver.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="55f227183b736397806d5b6db6143f15" elif [ "${shortname}" == "cod" ]; then From 555030384737eaddb8b1a7f509c971c6dabf1872 Mon Sep 17 00:00:00 2001 From: ttocszed00 Date: Thu, 18 Jun 2020 18:48:47 +0900 Subject: [PATCH 05/14] feat(newserver): Memories of Mars (#2911) --- .../config-lgsm/momserver/_default.cfg | 171 ++++++++++++++++++ lgsm/data/serverlist.csv | 1 + lgsm/functions/info_config.sh | 17 ++ lgsm/functions/info_messages.sh | 12 ++ lgsm/functions/info_parms.sh | 8 + lgsm/functions/install_config.sh | 7 + 6 files changed, 216 insertions(+) create mode 100644 lgsm/config-default/config-lgsm/momserver/_default.cfg diff --git a/lgsm/config-default/config-lgsm/momserver/_default.cfg b/lgsm/config-default/config-lgsm/momserver/_default.cfg new file mode 100644 index 000000000..7e89d5b9f --- /dev/null +++ b/lgsm/config-default/config-lgsm/momserver/_default.cfg @@ -0,0 +1,171 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN! +# Copy settings from here and use them in either: +# common.cfg - applies settings to every instance. +# [instance].cfg - applies settings to a specific instance. + +#### Game Server Settings #### + +## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters +ip="0.0.0.0" +port="7777" +beaconport="15000" +maxplayers="32" + +## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +fn_parms(){ +parms="-port=${port} -beaconport=${beaconport} -MULTIHOME="${ip}" -maxplayers=${maxplayers}" +} + +#### LinuxGSM Settings #### + +## LinuxGSM Stats +# Send useful stats to LinuxGSM developers. +# https://docs.linuxgsm.com/configuration/linuxgsm-stats +# (on|off) +stats="off" + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" +postdays="7" +posttarget="https://termbin.com" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". +# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need +# any custom string in curl - simple ignore this parameter. +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Updating | https://docs.linuxgsm.com/commands/update +updateonstart="off" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors +ansi="on" + +#### Advanced Settings #### + +## Message Display Time | https://docs.linuxgsm.com/features/message-display-time +sleeptime="0.5" + +## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd +# Server appid +appid="897590" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="false" + +## Stop Mode | https://docs.linuxgsm.com/features/stop-mode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: GoldSrc +# 10: Avorion +stopmode="2" + +## Query mode +# 1: session only +# 2: gamedig + gsquery +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="1" +querytype="" + +## Game Server Details +# Do not edit +gamename="Memories of Mars" +engine="unreal4" +glibc="2.17" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}/Game" +executabledir="${systemdir}/Binaries/Linux" +executable="./MemoriesOfMarsServer" +servercfgdir="${serverfiles}" +servercfg="DedicatedServerConfig.cfg" +servercfgdefault="DedicatedServerConfig.cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${serverfiles}/Game/Saved/Logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${selfname}-script.log" +consolelog="${consolelogdir}/${selfname}-console.log" +alertlog="${lgsmlogdir}/${selfname}-alert.log" +postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 469ec6509..f294906bb 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -56,6 +56,7 @@ mc,mcserver,Minecraft mcb,mcbserver,Minecraft Bedrock mh,mhserver,MORDHAU mohaa,mohaaserver,Medal of Honor: Allied Assault +mom,momserver,Memories of Mars mta,mtaserver,Multi Theft Auto mumble,mumbleserver,Mumble nd,ndserver,Nuclear Dawn diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index d16180027..1e9992db6 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -484,6 +484,20 @@ fn_info_config_minecraft_bedrock(){ fi } +fn_info_config_mofm(){ + if [ ! -f "${servercfgfullpath}" ]; then + servername="${unavailable}" + serverpassword="${unavailable}" + else + servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/ServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Not Set + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + fi +} + fn_info_config_onset(){ if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" @@ -1541,6 +1555,9 @@ elif [ "${shortname}" == "kf2" ]; then # Medal of Honor: Allied Assault elif [ "${shortname}" == "mohaa" ]; then fn_info_config_mohaa +# Memories of Mars +elif [ "${shortname}" == "mofm" ]; then + fn_info_config_mofm # QuakeWorld elif [ "${shortname}" == "qw" ]; then fn_info_config_quakeworld diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index 0f416b573..843dc26a1 100644 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -871,6 +871,16 @@ fn_info_message_mohaa(){ } | column -s $'\t' -t } +fn_info_message_mom(){ + echo -e "netstat -atunp | grep MemoriesOfMar" + echo -e "" + { + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" + echo -e "> Game\tINBOUND\t${port}\tudp" + echo -e "> BeaconPort\tINBOUND\t${beaconport}\tudp" + } | column -s $'\t' -t +} + fn_info_message_mumble(){ echo -e "netstat -atunp | grep murmur" echo -e "" @@ -1446,6 +1456,8 @@ fn_info_message_select_engine(){ fn_info_message_minecraft_bedrock elif [ "${shortname}" == "onset" ]; then fn_info_message_onset + elif [ "${shortname}" == "mom" ]; then + fn_info_message_mom elif [ "${shortname}" == "pz" ]; then fn_info_message_projectzomboid elif [ "${shortname}" == "pstbs" ]; then diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh index 1a6a42bb8..f30d90020 100644 --- a/lgsm/functions/info_parms.sh +++ b/lgsm/functions/info_parms.sh @@ -85,6 +85,11 @@ fn_info_parms_mohaa(){ defaultmap=${defaultmap:-"NOT SET"} } +fn_info_parms_mom(){ + port=${port:-"7777"} + beaconport=${queryport:-"15000"} +} + fn_info_parms_mta(){ queryport=$((port + 123)) } @@ -245,6 +250,9 @@ elif [ "${shortname}" == "kf2" ]; then fn_info_parms_kf2 elif [ "${shortname}" == "mohaa" ]; then fn_info_parms_mohaa +#Memories of Mars +elif [ "${shortname}" == "mom" ]; then + fn_info_parms_mom # Project Zomboid elif [ "${shortname}" == "pz" ]; then fn_info_parms_projectzomboid diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 066ecc6d3..e57b2daac 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -570,6 +570,13 @@ elif [ "${shortname}" == "mta" ]; then fn_fetch_default_config fn_default_config_remote fn_list_config_locations +elif [ "${shotname}" == "mom" ];then + gamedirname="MemoriesofMars" + array_configs+=( DedicatedServerConfig.cfg) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "mumble" ]; then gamedirname="Mumble" array_configs+=( murmur.ini ) From a40bdf3b8064240ac3e185b3c450b77ef9e7a21a Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Thu, 18 Jun 2020 21:36:35 +0100 Subject: [PATCH 06/14] fix(bf1942server): alter query type to protocol-gamespy1 (#2932) --- lgsm/config-default/config-lgsm/bf1942server/_default.cfg | 2 +- lgsm/functions/info_config.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg index ebb977a92..04bcef9b3 100644 --- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg @@ -119,7 +119,7 @@ stopmode="2" # 4: gsquery # 5: tcp querymode="2" -querytype="protocol-valve" +querytype="protocol-gamespy1" ## Game Server Details # Do not edit diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 1e9992db6..a59f96d79 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -181,7 +181,7 @@ fn_info_config_bf1942(){ queryport="${zero}" else - servername=$(grep "game.serverName " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs) + servername=$(grep "game.serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs) serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs) maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') From 276419fff52d196d39d522b78311e3689f7dfd82 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 3 Jul 2020 22:19:15 +0100 Subject: [PATCH 07/14] feat(arkserver): add support for epic store players. (#2947) --- lgsm/config-default/config-lgsm/arkserver/_default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg index a657d6273..f7c3ad573 100644 --- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg @@ -19,7 +19,7 @@ maxplayers="70" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -parms="\"${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port} -automanagedmods\"" +parms="${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port} -automanagedmods -crossplay -PublicIPForEpic=${ip}" } #### LinuxGSM Settings #### From af4e07e9d41a39495916003d472d4ede2e31c43d Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 4 Jul 2020 16:20:17 +0100 Subject: [PATCH 08/14] feat(arkserver): add altsavedirectoryname to allow custom save location (#2948) --- lgsm/config-default/config-lgsm/arkserver/_default.cfg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg index f7c3ad573..11f29d17b 100644 --- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg @@ -15,11 +15,12 @@ queryport="27015" rconport="27020" # Default Map: TheIsland, Ragnarok, CrystalIsles, Aberration_P, ScorchedEarth_P defaultmap="TheIsland" +altsavedirectoryname="${defaultmap}" maxplayers="70" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -parms="${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port} -automanagedmods -crossplay -PublicIPForEpic=${ip}" +parms="${defaultmap}?AltSaveDirectoryName=${altsavedirectoryname}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port} -automanagedmods -crossplay -PublicIPForEpic=${ip}" } #### LinuxGSM Settings #### From bf4eb65ab3081304b5926a26389e2f3b69ffa9d6 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 4 Jul 2020 17:23:16 +0100 Subject: [PATCH 09/14] comment update --- lgsm/functions/check_deps.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index cb1720a20..c7d0ed06f 100644 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -339,7 +339,7 @@ fn_deps_build_debian(){ # LinuxGSM requirements. array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq tmux netcat ) - # All servers except ts3, mumble, GTA and minecraft servers require libstdc++6 and lib32gcc1. + # All servers except ts3, mumble, GTA and minecraft servers require lib32stdc++6 and lib32gcc1. if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${engine}" != "renderware" ]; then if [ "${arch}" == "x86_64" ]; then array_deps_required+=( lib32gcc1 lib32stdc++6 ) @@ -370,7 +370,7 @@ fn_deps_build_debian(){ array_deps_required+=( telnet expect ) # Battlefield: Vietnam elif [ "${shortname}" == "bfv" ]; then - array_deps_required+=( libncurses5:i386 libstdc++5:i386 ) + array_deps_required+=( libncurses5:i386 libstdc++5:i386 ) # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source elif [ "${shortname}" == "bf1942" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then if [ "${arch}" == "x86_64" ]; then @@ -485,7 +485,7 @@ fn_deps_build_redhat(){ array_deps_required+=( telnet expect ) # Battlefield: Vietnam elif [ "${shortname}" == "bfv" ]; then - array_deps_required+=( compat-libstdc++-33.i686 glibc.i686 ) + array_deps_required+=( compat-libstdc++-33.i686 glibc.i686 ) # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source elif [ "${shortname}" == "bf1942" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then array_deps_required+=( ncurses-libs.i686 ) From 7208626e878f6279164521b6b52d34dffbb9f2be Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 5 Jul 2020 15:30:28 +0100 Subject: [PATCH 10/14] fix(tf2server): remove libtcmalloc-minimal4:i386 and gperftools-libs.i686 (#2950) --- lgsm/functions/check_deps.sh | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index c7d0ed06f..9c6481803 100644 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -381,9 +381,6 @@ fn_deps_build_debian(){ # Brainbread 2, Don't Starve Together & Team Fortress 2 elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then array_deps_required+=( libcurl4-gnutls-dev:i386 ) - if [ "${shortname}" == "tf2" ]; then - array_deps_required+=( libtcmalloc-minimal4:i386 ) - fi # Call of Duty & Medal of Honor: Allied Assault elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then array_deps_required+=( libstdc++5:i386 ) @@ -492,9 +489,6 @@ fn_deps_build_redhat(){ # Brainbread 2, Don't Starve Together & Team Fortress 2 elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then array_deps_required+=( libcurl.i686 ) - if [ "${shortname}" == "tf2" ]; then - array_deps_required+=( gperftools-libs.i686 ) - fi # Call of Duty & Medal of Honor: Allied Assault elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then array_deps_required+=( compat-libstdc++-33.i686 ) From f6a907054f8c612514f228ecdf90622d23d08a3b Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 5 Jul 2020 22:12:40 +0100 Subject: [PATCH 11/14] feat(ut2k4server): update release to 3369.3 (#2952) --- lgsm/functions/install_server_files.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index a7b9c544c..ec5c60989 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -48,7 +48,7 @@ fn_install_server_files(){ elif [ "${shortname}" == "ts" ]; then remote_fileurl="http://linuxgsm.download/TheSpecialists/ts-3-linux-final.tar.xz"; local_filedir="${tmpdir}"; local_filename="ts-3-linux-final.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="3c66ecff6e3644f7ac88015732a0fb93" elif [ "${shortname}" == "ut2k4" ]; then - remote_fileurl="http://linuxgsm.download/UnrealTournament2004/ut2004-server-3369-2-ultimate-linux.tar.xz"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-2-ultimate-linux.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="8ebcb9b8f703905053d13a35c3af3e79" + remote_fileurl="http://linuxgsm.download/UnrealTournament2004/ut2004-server-3369-3-ultimate-linux.tar.xz"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-3-ultimate-linux.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="9fceaab68554749f4b45be66613b9a15" elif [ "${shortname}" == "ut99" ]; then remote_fileurl="http://linuxgsm.download/UnrealTournament99/ut99-server-451-ultimate-linux.tar.xz"; local_filedir="${tmpdir}"; local_filename="ut99-server-451-ultimate-linux.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="42c6839f8cb95907eeef71a1838aa1f7" elif [ "${shortname}" == "ut" ]; then From 1d57607a3f53c5cfd1df2f18c63692382dde578a Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 5 Jul 2020 22:13:13 +0100 Subject: [PATCH 12/14] fix(debian 11): change name of lib32gcc1 to lib32gcc-s1 for debian 11 (#2951) --- lgsm/functions/check_deps.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index 9c6481803..17a2c4ada 100644 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -184,8 +184,15 @@ if [ "${javacheck}" == "1" ]; then fi # Define required dependencies for SteamCMD. if [ "${appid}" ]; then - if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then - steamcmdfail=1 + # lib32gcc1 is now called lib32gcc-s1 in debian 11 + if [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; then + if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc-s1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then + steamcmdfail=1 + fi + else + if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then + steamcmdfail=1 + fi fi fi fi @@ -342,7 +349,12 @@ fn_deps_build_debian(){ # All servers except ts3, mumble, GTA and minecraft servers require lib32stdc++6 and lib32gcc1. if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${engine}" != "renderware" ]; then if [ "${arch}" == "x86_64" ]; then - array_deps_required+=( lib32gcc1 lib32stdc++6 ) + # lib32gcc1 is now called lib32gcc-s1 in debian 11 + if [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; then + array_deps_required+=( lib32gcc-s1 lib32stdc++6 ) + else + array_deps_required+=( lib32gcc1 lib32stdc++6 ) + fi else array_deps_required+=( lib32stdc++6 ) fi From 8462086922d570f8f19997330b366b2cfbe78291 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Wed, 8 Jul 2020 21:42:16 +0100 Subject: [PATCH 13/14] fix(info): gather external ip from ipify.org instead of ifconfig.co (#2953) --- lgsm/functions/info_distro.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh index 1e2a519f4..c50953cdc 100644 --- a/lgsm/functions/info_distro.sh +++ b/lgsm/functions/info_distro.sh @@ -228,7 +228,7 @@ netlink=$(ethtool "${netint}" 2>/dev/null| grep Speed | awk '{print $2}') # External IP address if [ -z "${extip}" ]; then - extip=$(curl -4 -m 3 ifconfig.co 2>/dev/null) + extip=$(curl -s https://api.ipify.org 2>/dev/null) exitcode=$? # Should ifconfig.co return an error will use last known IP. if [ ${exitcode} -eq 0 ]; then @@ -238,14 +238,14 @@ if [ -z "${extip}" ]; then if [ -f "${tmpdir}/extip.txt" ]; then extip=$(cat "${tmpdir}/extip.txt") else - echo -e "x.x.x.x" + fn_print_error_nl "Unable to get external IP" fi fi else if [ -f "${tmpdir}/extip.txt" ]; then extip=$(cat "${tmpdir}/extip.txt") else - echo -e "x.x.x.x" + fn_print_error_nl "Unable to get external IP" fi fi fi From a41f38801ebbf66dc68c6b1a3de12e3d8057b305 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Wed, 8 Jul 2020 21:49:29 +0100 Subject: [PATCH 14/14] fix: hard lock reference (#2956) --- lgsm/functions/command_monitor.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh index 3a333a578..691fd5f7c 100644 --- a/lgsm/functions/command_monitor.sh +++ b/lgsm/functions/command_monitor.sh @@ -107,7 +107,7 @@ for queryattempt in {1..5}; do fn_print_delay_eol_nl fn_script_log_info "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt} : DELAY" fn_script_log_info "Query bypassed: ${gameservername} started less than ${querydelay} minutes ago" - fn_script_log_info "Server started: $(date -d @$(cat lgsm/lock/bmdmserver.lock))" + fn_script_log_info "Server started: $(date -d @$(cat "${lockdir}/${selfname}.lock"))" fn_script_log_info "Current time: $(date)" monitorpass=1 core_exit.sh