Browse Source

Merge branch 'develop' into 4587-add_soulmask_server

pull/4590/head
Daniel Gibbs 1 year ago
parent
commit
07921cbdc3
No known key found for this signature in database GPG Key ID: 2076B128385E8C55
  1. 1
      lgsm/data/almalinux-8.csv
  2. 1
      lgsm/data/almalinux-9.csv
  3. 1
      lgsm/data/centos-7.csv
  4. 1
      lgsm/data/centos-8.csv
  5. 1
      lgsm/data/centos-9.csv
  6. 1
      lgsm/data/debian-10.csv
  7. 1
      lgsm/data/debian-11.csv
  8. 1
      lgsm/data/debian-12.csv
  9. 137
      lgsm/data/debian-13.csv
  10. 1
      lgsm/data/debian-9.csv
  11. 1
      lgsm/data/rhel-7.csv
  12. 1
      lgsm/data/rhel-8.csv
  13. 1
      lgsm/data/rhel-9.csv
  14. 1
      lgsm/data/rocky-8.csv
  15. 1
      lgsm/data/rocky-9.csv
  16. 1
      lgsm/data/serverlist.csv
  17. 1
      lgsm/data/ubuntu-16.04.csv
  18. 1
      lgsm/data/ubuntu-18.04.csv
  19. 1
      lgsm/data/ubuntu-20.04.csv
  20. 1
      lgsm/data/ubuntu-22.04.csv
  21. 1
      lgsm/data/ubuntu-23.04.csv
  22. 1
      lgsm/data/ubuntu-23.10.csv
  23. 1
      lgsm/data/ubuntu-24.04.csv
  24. 7
      lgsm/modules/alert_discord.sh
  25. 2
      lgsm/modules/alert_gotify.sh
  26. 2
      lgsm/modules/alert_ifttt.sh
  27. 2
      lgsm/modules/alert_pushbullet.sh
  28. 4
      lgsm/modules/alert_pushover.sh
  29. 2
      lgsm/modules/alert_rocketchat.sh
  30. 2
      lgsm/modules/alert_slack.sh
  31. 2
      lgsm/modules/alert_telegram.sh
  32. 10
      lgsm/modules/command_dev_parse_game_details.sh
  33. 36
      lgsm/modules/command_update_linuxgsm.sh
  34. 2
      lgsm/modules/core_dl.sh
  35. 2
      lgsm/modules/core_github.sh
  36. 62
      lgsm/modules/info_game.sh
  37. 10
      lgsm/modules/info_messages.sh
  38. 6
      lgsm/modules/install_config.sh
  39. 24
      lgsm/modules/mods_list.sh
  40. 2
      linuxgsm.sh

1
lgsm/data/almalinux-8.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/almalinux-9.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/centos-7.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/centos-8.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/centos-9.csv

@ -69,7 +69,6 @@ mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/debian-10.csv

@ -68,7 +68,6 @@ mc,openjdk-11-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 4.

1
lgsm/data/debian-11.csv

@ -69,7 +69,6 @@ mc,openjdk-17-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/debian-12.csv

@ -69,7 +69,6 @@ mc,openjdk-17-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

137
lgsm/data/debian-13.csv

@ -0,0 +1,137 @@
all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc-s1,lib32stdc++6,netcat-openbsd,pigz,python3,tar,tmux,unzip,util-linux,uuid-runtime,wget,xz-utils
steamcmd,lib32gcc-s1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd
ac
ahl
ahl2
ark
arma3
armar,libcurl4
ats
av
bb
bb2,libcurl4-gnutls-dev:i386
bd
bf1942,libncurses5:i386,libtinfo5:i386
bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix,libxml2-utils
btl
cc
ck,xvfb,libxi6
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
cod4
coduo,libstdc++5:i386
codwaw
col
cs
cs2
cscz
csgo
css,libtinfo5:i386
ct
dab
dayz
dmc
dod
dodr
dods
doi
dst,libcurl4-gnutls-dev:i386
dys
eco,libgdiplus
em
etl
ets2
fctr
fof
gmod,libtinfo5:i386
hcu
hl2dm
hldm
hldms
hw,lib32z1
hz
ins
inss
ios
jc2
jc3
jk2
kf
kf2
l4d
l4d2
mc,openjdk-22-jre
mcb
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
nd
nec
nmrih,libtinfo5:i386
ns
ns2,speex,libtbb12
ns2c,speex:i386,libtbb12
ohd
onset,libmariadb-dev
opfor
pc
pc2
pmc,openjdk-22-jre
ps,libgconf-2-4
pvkii
pvr,libc++1
pw
pz,openjdk-22-jre,rng-tools5
q2
q3
q4
ql
qw
ricochet
ro
rtcw
rust,lib32z1
rw,openjdk-22-jre
samp
sb
sbots
scpsl,mono-complete
scpslsm,mono-complete
sdtd,telnet,expect,libxml2-utils
sf
sfc,libtinfo5:i386
sof2
sol
squad
st,libxml2-utils
stn
sven,libssl3:i386,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
ts
ts3
tu
tw
unt
ut
ut2k4
ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,aspnetcore-runtime-7.0
vpmc,openjdk-21-jre
vs
wet
wf
wmc,openjdk21-jre
wurm,xvfb
zmr,libtinfo5:i386
zps,libtinfo5:i386
Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/debian-9.csv

@ -69,7 +69,6 @@ mc,openjdk-8-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/rhel-7.csv

@ -70,7 +70,6 @@ mc,java-11-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/rhel-8.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/rhel-9.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/rocky-8.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/rocky-9.csv

@ -69,7 +69,6 @@ mc,java-21-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs,libxml2
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/serverlist.csv

@ -68,7 +68,6 @@ mc,mcserver,Minecraft,ubuntu-22.04
mcb,mcbserver,Minecraft Bedrock,ubuntu-22.04
mh,mhserver,MORDHAU,ubuntu-22.04
mohaa,mohaaserver,Medal of Honor: Allied Assault,ubuntu-22.04
mom,momserver,Memories of Mars,ubuntu-22.04
mta,mtaserver,Multi Theft Auto,ubuntu-22.04
nd,ndserver,Nuclear Dawn,ubuntu-22.04
nec,necserver,Necesse,ubuntu-22.04

Can't render this file because it has a wrong number of fields in line 47.

1
lgsm/data/ubuntu-16.04.csv

@ -70,7 +70,6 @@ mc,openjdk-8-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/ubuntu-18.04.csv

@ -70,7 +70,6 @@ mc,openjdk-11-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/ubuntu-20.04.csv

@ -69,7 +69,6 @@ mc,openjdk-21-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/ubuntu-22.04.csv

@ -69,7 +69,6 @@ mc,openjdk-21-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/ubuntu-23.04.csv

@ -69,7 +69,6 @@ mc,openjdk-21-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/ubuntu-23.10.csv

@ -69,7 +69,6 @@ mc,openjdk-21-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/ubuntu-24.04.csv

@ -69,7 +69,6 @@ mc,openjdk-21-jre
mcb
mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5,libxml2-utils
nd
nec

Can't render this file because it has a wrong number of fields in line 2.

7
lgsm/modules/alert_discord.sh

@ -118,6 +118,11 @@ jsonnoinfo=$(
"value": "${HOSTNAME}",
"inline": true
},
{
"name": "Is my Game Server Online?",
"value": "https://ismygameserver.online/${querytype}/${alertip}:${queryport}",
"inline": true
},
{
"name": "Server Time",
"value": "$(date)",
@ -142,7 +147,7 @@ else
json="${jsoninfo}"
fi
discordsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${discordwebhook}")
discordsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${discordwebhook}")
if [ -n "${discordsend}" ]; then
fn_print_fail_nl "Sending Discord alert: ${discordsend}"

2
lgsm/modules/alert_gotify.sh

@ -34,7 +34,7 @@ else
fi
fn_print_dots "Sending Gotify alert"
gotifysend=$(curl --connect-timeout 10 -sSL "${gotifywebhook}/message"?token="${gotifytoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)")
gotifysend=$(curl --connect-timeout 3 -sSL "${gotifywebhook}/message"?token="${gotifytoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)")
if [ -n "${gotifysend}" ]; then
fn_print_ok_nl "Sending Gotify alert"

2
lgsm/modules/alert_ifttt.sh

@ -34,7 +34,7 @@ else
fi
fn_print_dots "Sending IFTTT alert"
iftttsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://maker.ifttt.com/trigger/${iftttevent}/with/key/${ifttttoken}" | grep "Bad Request")
iftttsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://maker.ifttt.com/trigger/${iftttevent}/with/key/${ifttttoken}" | grep "Bad Request")
if [ -n "${iftttsend}" ]; then
fn_print_fail_nl "Sending IFTTT alert: ${pushbulletsend}"

2
lgsm/modules/alert_pushbullet.sh

@ -36,7 +36,7 @@ else
fi
fn_print_dots "Sending Pushbullet alert"
pushbulletsend=$(curl --connect-timeout 10 -sSL -H "Access-Token: ${pushbullettoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://api.pushbullet.com/v2/pushes" | grep "error_code")
pushbulletsend=$(curl --connect-timeout 3 -sSL -H "Access-Token: ${pushbullettoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://api.pushbullet.com/v2/pushes" | grep "error_code")
if [ -n "${pushbulletsend}" ]; then
fn_print_fail_nl "Sending Pushbullet alert: ${pushbulletsend}"

4
lgsm/modules/alert_pushover.sh

@ -23,9 +23,9 @@ else
fi
if [ -z "${alerturl}" ]; then
pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
pushoversend=$(curl --connect-timeout 3 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
else
pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a><br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
pushoversend=$(curl --connect-timeout 3 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a><br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
fi
if [ -n "${pushoversend}" ]; then

2
lgsm/modules/alert_rocketchat.sh

@ -123,7 +123,7 @@ else
fi
fn_print_dots "Sending Rocketchat alert"
rocketchatsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${rocketchatwebhook}")
rocketchatsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${rocketchatwebhook}")
if [ -n "${rocketchatsend}" ]; then
fn_print_ok_nl "Sending Rocketchat alert"

2
lgsm/modules/alert_slack.sh

@ -182,7 +182,7 @@ fi
fn_print_dots "Sending Slack alert"
slacksend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${slackwebhook}")
slacksend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${slackwebhook}")
if [ "${slacksend}" == "ok" ]; then
fn_print_ok_nl "Sending Slack alert"

2
lgsm/modules/alert_telegram.sh

@ -40,7 +40,7 @@ else
fi
fn_print_dots "Sending Telegram alert"
telegramsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" ${curlcustomstring} "https://${telegramapi}/bot${telegramtoken}/sendMessage" | grep "error_code")
telegramsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" ${curlcustomstring} "https://${telegramapi}/bot${telegramtoken}/sendMessage" | grep "error_code")
if [ -n "${telegramsend}" ]; then
fn_print_fail_nl "Sending Telegram alert: ${telegramsend}"

10
lgsm/modules/command_dev_parse_game_details.sh

@ -70,7 +70,6 @@ declare -A server_details=(
['Max Players']="${maxplayers}"
['Mod Server Port']="${modserverport}"
['OldQueryPortNumber']="${oldqueryportnumber}"
['Password']="${password}"
['Port 401']="${port401}"
['Port IPv6']="${portipv6}"
['Port']="${port}"
@ -85,7 +84,6 @@ declare -A server_details=(
['Queue Port']="${queueport}"
['Random Map']="${randommap}"
['Raw Port']="${rawport}"
['RC Password']="${rcpassword}"
['RCON Enabled']="${rconenabled}"
['RCON Password']="${rconpassword}"
['RCON Port']="${rconport}"
@ -132,7 +130,7 @@ missing_details=""
# Loop through the server details and store them.
for key in "${!server_details[@]}"; do
value=${server_details[$key]}
value=${server_details[$key]}
if [ -n "$value" ]; then
available_details+="${lightblue}${key}: ${default}${value}\n"
else
@ -143,9 +141,9 @@ done
# Sort and output the available distro details.
if [ -n "$available_details" ]; then
echo -e ""
echo -e "${bold}${lightgreen}Available Gameserver Details${default}"
fn_messages_separator
echo -e "${available_details}" | sort
echo -e "${bold}${lightgreen}Available Gameserver Details${default}"
fn_messages_separator
echo -e "${available_details}" | sort
fi
# Output the missing server details if there are any.

36
lgsm/modules/command_update_linuxgsm.sh

@ -20,9 +20,9 @@ fn_script_log_info "Updating LinuxGSM"
fn_print_dots "Selecting repo"
fn_script_log_info "Selecting repo"
# Select remotereponame
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
if [ $? != "0" ]; then
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
if [ $? != "0" ]; then
fn_print_fail_nl "Selecting repo: Unable to to access GitHub or Bitbucket repositories"
fn_script_log_fail "Selecting repo: Unable to to access GitHub or Bitbucket repositories"
@ -39,9 +39,9 @@ fi
# Check linuxsm.sh
echo -en "checking ${remotereponame} linuxgsm.sh...\c"
if [ "${remotereponame}" == "GitHub" ]; then
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
else
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
fi
if [ $? != "0" ]; then
fn_print_fail_eol_nl
@ -51,9 +51,9 @@ if [ $? != "0" ]; then
fi
if [ "${remotereponame}" == "GitHub" ]; then
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
else
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh"))
tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh"))
fi
if [ "${tmp_script_diff}" != "" ]; then
@ -119,9 +119,9 @@ fi
echo -en "checking ${remotereponame} config _default.cfg...\c"
fn_script_log_info "Checking ${remotereponame} config _default.cfg"
if [ "${remotereponame}" == "GitHub" ]; then
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
else
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
fi
if [ $? != "0" ]; then
fn_print_fail_eol_nl
@ -131,9 +131,9 @@ if [ $? != "0" ]; then
fi
if [ "${remotereponame}" == "GitHub" ]; then
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
else
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
fi
if [ "${config_file_diff}" != "" ]; then
@ -153,9 +153,9 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
echo -en "checking ${remotereponame} config ${distroid}-${distroversioncsv}.csv...\c"
fn_script_log_info "Checking ${remotereponame} ${distroid}-${distroversioncsv}.csv"
if [ "${remotereponame}" == "GitHub" ]; then
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
else
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
fi
if [ $? != "0" ]; then
fn_print_fail_eol_nl
@ -165,9 +165,9 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
fi
if [ "${remotereponame}" == "GitHub" ]; then
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
else
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
fi
if [ "${config_file_diff}" != "" ]; then
@ -191,9 +191,9 @@ if [ -n "${modulesdir}" ]; then
echo -en "checking ${remotereponame} module ${modulefile}...\c"
github_file_url_dir="lgsm/modules"
if [ "${remotereponame}" == "GitHub" ]; then
curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
else
curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
fi
if [ $? != 0 ]; then
fn_print_error_eol_nl
@ -210,9 +210,9 @@ if [ -n "${modulesdir}" ]; then
else
# compare file
if [ "${remotereponame}" == "GitHub" ]; then
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}"))
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}"))
else
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}"))
module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}"))
fi
# results

2
lgsm/modules/core_dl.sh

@ -390,7 +390,7 @@ fn_fetch_file() {
fi
# Trap will remove part downloaded files if canceled.
trap fn_fetch_trap INT
curlcmd=(curl --connect-timeout 10 --fail -L -o "${local_filedir}/${local_filename}" --retry 2)
curlcmd=(curl --connect-timeout 3 --fail -L -o "${local_filedir}/${local_filename}" --retry 2)
# if is large file show progress, else be silent
local exitcode=""

2
lgsm/modules/core_github.sh

@ -23,7 +23,7 @@ fn_github_get_latest_release_version() {
local githubreleaserepo="${2}"
local githublatestreleaseurl="${github_api}/repos/${githubreleaseuser}/${githubreleaserepo}/releases/latest"
githubreleaseversion=$(curl -s --connect-timeout 10 "${githublatestreleaseurl}" | jq '.tag_name')
githubreleaseversion=$(curl -s --connect-timeout 3 "${githublatestreleaseurl}" | jq '.tag_name')
# error if no version is there
if [ -z "${githubreleaseversion}" ]; then

62
lgsm/modules/info_game.sh

@ -1160,7 +1160,7 @@ fn_info_game_col() {
maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
queryport="${port:-"0"}"
rcpassword="${rconpassword:-"NOT SET"}"
rconpassword="${rconpassword:-"NOT SET"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
steamport="${steamport:-"0"}"
@ -1174,11 +1174,11 @@ fn_info_game_cs2() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_valve_keyvalues "servername" "hostname"
fn_info_game_valve_keyvalues "defaultmap" "map"
fn_info_game_valve_keyvalues "password" "sv_password"
fn_info_game_valve_keyvalues "serverpassword" "sv_password"
fi
defaultmap="${defaultmap:-"NOT SET"}"
maxplayers="${maxplayers:-"0"}"
password="${password:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
port="${port:-"0"}"
queryport="${port:-"0"}"
servername="${servername:-"NOT SET"}"
@ -1510,24 +1510,6 @@ fn_info_game_mohaa() {
serverpassword="${serverpassword:-"NOT SET"}"
}
# Config Type: json
# Parameters: true
# Comment: // or /* */
fn_info_game_mom() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_json "defaultmap" ".MapName"
fn_info_game_json "maxplayers" ".MaxPlayers"
fn_info_game_json "servername" ".ServerName"
fn_info_game_json "serverpassword" ".ServerPassword"
fi
beaconport="${beaconport:-"0"}"
defaultmap="${defaultmap:-"NOT SET"}"
maxplayers="${maxplayers:-"0"}"
port="${port:-"0"}"
servername="${servername:-"NOT SET"}"
serverpassword="${serverpassword:-"NOT SET"}"
}
# Config Type: xml
# Comment: <!-- -->
# Example: <servername>Default MTA Server</servername>
@ -2394,8 +2376,6 @@ elif [ "${shortname}" == "mh" ]; then
fn_info_game_mh
elif [ "${shortname}" == "mohaa" ]; then
fn_info_game_mohaa
elif [ "${shortname}" == "mom" ]; then
fn_info_game_mom
elif [ "${shortname}" == "mta" ]; then
fn_info_game_mta
elif [ "${shortname}" == "nec" ]; then
@ -2517,12 +2497,12 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
if [ "${exitcode}" -eq 0 ]; then
fn_script_log_pass "Queried ${apiurl} for public IP address"
# Parse and reformat the response
publicip="$(echo "${ipresponse}" | jq -r '.query')"
country="$(echo "${ipresponse}" | jq -r '.country')"
countrycode="$(echo "${ipresponse}" | jq -r '.countryCode')"
# Construct a universal JSON format
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
# Parse and reformat the response
publicip="$(echo "${ipresponse}" | jq -r '.query')"
country="$(echo "${ipresponse}" | jq -r '.country')"
countrycode="$(echo "${ipresponse}" | jq -r '.countryCode')"
# Construct a universal JSON format
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
else
# Fallback to myip.wtf if the initial request failed or timed out
apiurl="https://myip.wtf/json"
@ -2535,12 +2515,12 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
if [ "${exitcode}" -eq 0 ]; then
fn_script_log_pass "Queried ${apiurl} for public IP address"
# Parse and reformat the response from myip.wtf
publicip="$(echo "${ipresponse}" | jq -r '.YourFuckingIPAddress')"
country="$(echo "${ipresponse}" | jq -r '.YourFuckingCountry')"
countrycode="$(echo "${ipresponse}" | jq -r '.YourFuckingCountryCode')"
# Construct a universal JSON format
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
# Parse and reformat the response from myip.wtf
publicip="$(echo "${ipresponse}" | jq -r '.YourFuckingIPAddress')"
country="$(echo "${ipresponse}" | jq -r '.YourFuckingCountry')"
countrycode="$(echo "${ipresponse}" | jq -r '.YourFuckingCountryCode')"
# Construct a universal JSON format
echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
else
fn_script_log_error "Unable to get public IP address"
publicip="NOT SET"
@ -2550,10 +2530,10 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
fi
else
# Cached IP is still valid
fn_script_log_pass "Using cached IP as public IP address"
publicip="$(jq -r '.ip' "${tmpdir}/publicip.json")"
country="$(jq -r '.country' "${tmpdir}/publicip.json")"
countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
fn_script_log_pass "Using cached IP as public IP address"
publicip="$(jq -r '.ip' "${tmpdir}/publicip.json")"
country="$(jq -r '.country' "${tmpdir}/publicip.json")"
countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
fi
# Alert IP address
@ -2580,11 +2560,11 @@ if [ -z "${displaymasterserver}" ]; then
if [ -n "${ip}" ] && [ -n "${port}" ]; then
if [ "${steammaster}" == "true" ] || [ "${commandname}" == "DEV-QUERY-RAW" ]; then
# Query external IP first as most liky to succeed.
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${publicip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
masterserver="$(curl --connect-timeout 3 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${publicip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
if [ "${masterserver}" == "0" ]; then
# Loop though server IP addresses if external IP fails.
for queryip in "${queryips[@]}"; do
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
masterserver="$(curl --connect-timeout 3 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
done
fi
if [ "${masterserver}" == "0" ]; then

10
lgsm/modules/info_messages.sh

@ -1192,14 +1192,6 @@ fn_info_messages_mohaa() {
} | column -s $'\t' -t
}
fn_info_messages_mom() {
{
fn_port "header"
fn_port "Game" port udp
fn_port "Beacon" beaconport udp
} | column -s $'\t' -t
}
fn_info_messages_mta() {
{
fn_port "header"
@ -1821,8 +1813,6 @@ fn_info_messages_select_engine() {
fn_info_messages_mh
elif [ "${shortname}" == "mohaa" ]; then
fn_info_messages_mohaa
elif [ "${shortname}" == "mom" ]; then
fn_info_messages_mom
elif [ "${shortname}" == "mta" ]; then
fn_info_messages_mta
elif [ "${shortname}" == "nec" ]; then

6
lgsm/modules/install_config.sh

@ -589,12 +589,6 @@ elif [ "${shortname}" == "mta" ]; then
fn_fetch_default_config
fn_default_config_remote
fn_list_config_locations
elif [ "${shotname}" == "mom" ]; then
array_configs+=(DedicatedServerConfig.cfg)
fn_fetch_default_config
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
elif [ "${shortname}" == "pvr" ]; then
fn_check_cfgdir
array_configs+=(Game.ini)

24
lgsm/modules/mods_list.sh

@ -68,7 +68,7 @@ sourcemoddownloadurl="https://www.sourcemod.net/latest.php?os=linux&version=${so
sourcemodurl="${sourcemoddownloadurl}"
# Steamworks
steamworksscrapeurl="https://users.alliedmods.net/~kyles/builds/SteamWorks"
steamworkslatestfile=$(curl --connect-timeout 10 -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)
steamworkslatestfile=$(curl --connect-timeout 3 -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)
steamworksdownloadurl="${steamworksscrapeurl}/${steamworkslatestfile}"
steamworksurl="${steamworksdownloadurl}"
# Stripper:Source
@ -78,34 +78,34 @@ stripperdownloadurl="http://www.bailopan.net/stripper/snapshots/1.2/${stripperla
stripperurl="${stripperdownloadurl}"
# CS:GO Mods
get5lastbuild=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))')
get5lastbuild=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))')
get5latestfile=$(echo -e "${get5lastbuild}" | jq -r '.name')
get5latestfilelink=$(echo -e "${get5lastbuild}" | jq -r '.browser_download_url')
csgopracticelatest=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/csgo-practice-mode/releases/latest | jq '.assets[]')
csgopracticelatest=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/csgo-practice-mode/releases/latest | jq '.assets[]')
csgopracticelatestfile=$(echo -e "${csgopracticelatest}" | jq -r '.name')
csgopracticelatestlink=$(echo -e "${csgopracticelatest}" | jq -r '.browser_download_url')
csgopuglatest=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/csgo-pug-setup/releases/latest | jq '.assets[]')
csgopuglatest=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/csgo-pug-setup/releases/latest | jq '.assets[]')
csgopuglatestfile=$(echo -e "${csgopuglatest}" | jq -r '.name')
csgopuglatestlink=$(echo -e "${csgopuglatest}" | jq -r '.browser_download_url')
gokzlatestversion=$(curl --connect-timeout 10 -s https://api.github.com/repos/KZGlobalTeam/gokz/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
gokzlatestversion=$(curl --connect-timeout 3 -s https://api.github.com/repos/KZGlobalTeam/gokz/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
gokzlatestfile="GOKZ-v${gokzlatestversion}.zip"
gokzlatestlink="https://github.com/KZGlobalTeam/gokz/releases/download/${gokzlatestversion}/${gokzlatestfile}"
movementapilatestversion=$(curl --connect-timeout 10 -s https://api.github.com/repos/danzayau/MovementAPI/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
movementapilatestversion=$(curl --connect-timeout 3 -s https://api.github.com/repos/danzayau/MovementAPI/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
movementapilatestfile="MovementAPI-v${movementapilatestversion}.zip"
movementapilatestlink="https://github.com/danzayau/MovementAPI/releases/download/${movementapilatestversion}/${movementapilatestfile}"
# Rust
carbonrustapilatestfile="Carbon.Linux.Release.tar.gz"
carbonrustlatestlink=$(curl --connect-timeout 10 -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')
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')
# Oxide
oxiderustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
oxidehurtworldlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
oxidesdtdlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
oxiderustlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
oxidehurtworldlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
oxidesdtdlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
# Valheim Plus
valheimpluslatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
valheimpluslatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
# Valheim BepInEx
bepinexvhlatestlink=$(curl --connect-timeout 10 -sL "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
bepinexvhlatestlink=$(curl --connect-timeout 3 -sL "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
# Define mods information (required)

2
linuxgsm.sh

@ -111,7 +111,7 @@ fn_bootstrap_fetch_file() {
# Larger files show a progress bar.
echo -en "fetching ${fileurl_name} ${local_filename}...\c"
curlcmd=$(curl --connect-timeout 10 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
curlcmd=$(curl --connect-timeout 3 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
local exitcode=$?

Loading…
Cancel
Save