From a2bea8d7915de2a9fb88d35dce2a1d696471fb28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20G=C5=82owacki?= <2972266+glowacki-dev@users.noreply.github.com> Date: Wed, 22 May 2024 23:16:33 +0200 Subject: [PATCH 01/31] feat(vhserver): enable crossplay support (#4544) * Install valheim dependencies for crossplay on Ubuntu * Setup minimal required dependencies for valheim crossplay * will set crossplay to default on and add instance id * add ubuntu 24.04 --------- Co-authored-by: Daniel Gibbs --- lgsm/config-default/config-lgsm/vhserver/_default.cfg | 6 ++---- lgsm/data/almalinux-8.csv | 2 +- lgsm/data/almalinux-9.csv | 2 +- lgsm/data/centos-7.csv | 2 +- lgsm/data/centos-8.csv | 2 +- lgsm/data/centos-9.csv | 2 +- lgsm/data/debian-10.csv | 2 +- lgsm/data/debian-11.csv | 2 +- lgsm/data/debian-12.csv | 2 +- lgsm/data/debian-9.csv | 2 +- lgsm/data/rhel-7.csv | 2 +- lgsm/data/rhel-8.csv | 2 +- lgsm/data/rhel-9.csv | 2 +- lgsm/data/rocky-8.csv | 2 +- lgsm/data/rocky-9.csv | 2 +- lgsm/data/ubuntu-16.04.csv | 2 +- lgsm/data/ubuntu-18.04.csv | 2 +- lgsm/data/ubuntu-20.04.csv | 2 +- lgsm/data/ubuntu-22.04.csv | 2 +- lgsm/data/ubuntu-23.04.csv | 2 +- lgsm/data/ubuntu-23.10.csv | 2 +- lgsm/data/ubuntu-24.04.csv | 2 +- 22 files changed, 23 insertions(+), 25 deletions(-) diff --git a/lgsm/config-default/config-lgsm/vhserver/_default.cfg b/lgsm/config-default/config-lgsm/vhserver/_default.cfg index 355c70824..8950435e8 100644 --- a/lgsm/config-default/config-lgsm/vhserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vhserver/_default.cfg @@ -21,9 +21,7 @@ saveinterval="1800" backups="4" backupshort="7200" backuplong="43200" -# If crossplay is empty, it's off. Fill with any text to make true -# Crossplay is currently not working on Linux dedicated servers, so for now the default is false (empty) -crossplay="" +instanceid="1" # INSTRUCTIONS FOR WORLD MODIFIERS (from Valheim Dedicated Server Manual.pdf located in serverfiles) # World modifiers can only be set in the start parameters and can be a combination of the following @@ -53,7 +51,7 @@ crossplay="" worldmodifiers="" ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters -startparameters="-name '${servername}' -password ${serverpassword} -port ${port} -world ${worldname} -public ${public} -savedir '${savedir}' -saveinterval ${saveinterval} -backups ${backups} -backupshort ${backupshort} -backuplong ${backuplong}${logFile:+ -logFile '${logFile}'}${crossplay:+ -crossplay}${worldmodifiers:+ ${worldmodifiers}}" +startparameters="-name '${servername}' -password ${serverpassword} -port ${port} -world ${worldname} -public ${public} -savedir '${savedir}' -saveinterval ${saveinterval} -backups ${backups} -backupshort ${backupshort} -backuplong ${backuplong} -crossplay -instanceid ${instanceid} ${logFile:+ -logFile '${logFile}'} ${worldmodifiers:+ ${worldmodifiers}}" #### LinuxGSM Settings #### diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index 4d6c05ca5..e1b0426b6 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-21-openjdk vs diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index 2cdd36575..22846b263 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-21-openjdk vs diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index df7422526..f583249fa 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-11-openjdk vs diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index 831bc38e9..82fab1912 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index 4d49ee66e..e9326e0d7 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index f5d63b026..f43907e44 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-11-jre vs diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 97f5b978d..e064d5b6c 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-11-jre vs diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index e54d9b12b..7964d24f9 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-17-jre vs diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index 87b6dad91..573b75b8c 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-8-jre vs diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 3ecff6183..9ff890dc6 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-11-openjdk vs diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index a378694b2..a6e67c2b3 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-21-openjdk vs diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index 2cdd36575..22846b263 100644 --- a/lgsm/data/rhel-9.csv +++ b/lgsm/data/rhel-9.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-21-openjdk vs diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index a378694b2..a6e67c2b3 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-21-openjdk vs diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index 2cdd36575..22846b263 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,glibc-devel +vh,glibc-devel,libatomic,pulseaudio-libs-devel vints,aspnetcore-runtime-7.0 vpmc,java-21-openjdk vs diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 41dbd0bc5..1f81cc6bd 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-8-jre vs diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index 469c66705..20e6bd819 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-11-jre vs diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 8d4cc6e52..69469c810 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-11-jre vs diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index 67d28b5e9..ab0823f15 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-21-jre vs diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index 1b50ed7ef..63597d987 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/lgsm/data/ubuntu-23.04.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-21-jre vs diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv index 1b50ed7ef..63597d987 100644 --- a/lgsm/data/ubuntu-23.10.csv +++ b/lgsm/data/ubuntu-23.10.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-21-jre vs diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv index 1b50ed7ef..63597d987 100644 --- a/lgsm/data/ubuntu-24.04.csv +++ b/lgsm/data/ubuntu-24.04.csv @@ -126,7 +126,7 @@ ut ut2k4 ut3 ut99 -vh,libc6-dev +vh,libc6-dev,libatomic1,libpulse-dev vints,aspnetcore-runtime-7.0 vpmc,openjdk-21-jre vs From 685cca9c58cf207324d538728727c01fab33cb0c Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Tue, 11 Jun 2024 16:18:53 +0100 Subject: [PATCH 02/31] feat: change curl default timeout to 3 seconds (#4592) adjusted to 3 seconds from 10 for a timeout --- lgsm/modules/alert_discord.sh | 7 ++++- lgsm/modules/alert_gotify.sh | 2 +- lgsm/modules/alert_ifttt.sh | 2 +- lgsm/modules/alert_pushbullet.sh | 2 +- lgsm/modules/alert_pushover.sh | 4 +-- lgsm/modules/alert_rocketchat.sh | 2 +- lgsm/modules/alert_slack.sh | 2 +- lgsm/modules/alert_telegram.sh | 2 +- lgsm/modules/command_update_linuxgsm.sh | 36 ++++++++++++------------- lgsm/modules/core_dl.sh | 2 +- lgsm/modules/core_github.sh | 2 +- lgsm/modules/info_game.sh | 36 ++++++++++++------------- lgsm/modules/mods_list.sh | 24 ++++++++--------- linuxgsm.sh | 2 +- 14 files changed, 65 insertions(+), 60 deletions(-) diff --git a/lgsm/modules/alert_discord.sh b/lgsm/modules/alert_discord.sh index 54cf8a348..2b2ecf21b 100644 --- a/lgsm/modules/alert_discord.sh +++ b/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}" diff --git a/lgsm/modules/alert_gotify.sh b/lgsm/modules/alert_gotify.sh index 2ab6e9eb7..8f1d31e91 100644 --- a/lgsm/modules/alert_gotify.sh +++ b/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" diff --git a/lgsm/modules/alert_ifttt.sh b/lgsm/modules/alert_ifttt.sh index 77932569b..cbd740ec5 100644 --- a/lgsm/modules/alert_ifttt.sh +++ b/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}" diff --git a/lgsm/modules/alert_pushbullet.sh b/lgsm/modules/alert_pushbullet.sh index dedd43268..5ed3853f6 100644 --- a/lgsm/modules/alert_pushbullet.sh +++ b/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}" diff --git a/lgsm/modules/alert_pushover.sh b/lgsm/modules/alert_pushover.sh index c436a4a91..22180d503 100644 --- a/lgsm/modules/alert_pushover.sh +++ b/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=" Server name
${servername}

Information
${alertmessage}

Game
${gamename}

Server IP
${alertip}:${port}

Hostname
${HOSTNAME}

Server Time
$(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=" Server name
${servername}

Information
${alertmessage}

Game
${gamename}

Server IP
${alertip}:${port}

Hostname
${HOSTNAME}

Server Time
$(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=" Server name
${servername}

Information
${alertmessage}

Game
${gamename}

Server IP
${alertip}:${port}

Hostname
${HOSTNAME}

More info
${alerturl}

Server Time
$(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=" Server name
${servername}

Information
${alertmessage}

Game
${gamename}

Server IP
${alertip}:${port}

Hostname
${HOSTNAME}

More info
${alerturl}

Server Time
$(date)" "https://api.pushover.net/1/messages.json" | grep errors) fi if [ -n "${pushoversend}" ]; then diff --git a/lgsm/modules/alert_rocketchat.sh b/lgsm/modules/alert_rocketchat.sh index 329111494..910722804 100644 --- a/lgsm/modules/alert_rocketchat.sh +++ b/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" diff --git a/lgsm/modules/alert_slack.sh b/lgsm/modules/alert_slack.sh index 728a564e0..b74f98dec 100644 --- a/lgsm/modules/alert_slack.sh +++ b/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" diff --git a/lgsm/modules/alert_telegram.sh b/lgsm/modules/alert_telegram.sh index 6f6426cb1..98e1a980b 100644 --- a/lgsm/modules/alert_telegram.sh +++ b/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}" diff --git a/lgsm/modules/command_update_linuxgsm.sh b/lgsm/modules/command_update_linuxgsm.sh index d20204187..43827a672 100644 --- a/lgsm/modules/command_update_linuxgsm.sh +++ b/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 diff --git a/lgsm/modules/core_dl.sh b/lgsm/modules/core_dl.sh index caca0fc58..89a63eb8b 100644 --- a/lgsm/modules/core_dl.sh +++ b/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="" diff --git a/lgsm/modules/core_github.sh b/lgsm/modules/core_github.sh index 7290f9bdf..402ee078c 100644 --- a/lgsm/modules/core_github.sh +++ b/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 diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 497a65f22..56ae055e4 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -2496,12 +2496,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" @@ -2514,12 +2514,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" @@ -2529,10 +2529,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 @@ -2559,11 +2559,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 diff --git a/lgsm/modules/mods_list.sh b/lgsm/modules/mods_list.sh index c13565004..ca320e468 100644 --- a/lgsm/modules/mods_list.sh +++ b/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) diff --git a/linuxgsm.sh b/linuxgsm.sh index 8db9a57c9..6639e341f 100755 --- a/linuxgsm.sh +++ b/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=$? From 88f8890229d7243c2bf391503d0f3a5aba4f99d6 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Thu, 13 Jun 2024 11:45:06 +0100 Subject: [PATCH 03/31] feat: deprecate Memories of Mars (#4593) --- lgsm/data/almalinux-8.csv | 1 - lgsm/data/almalinux-9.csv | 1 - lgsm/data/centos-7.csv | 1 - lgsm/data/centos-8.csv | 1 - lgsm/data/centos-9.csv | 1 - lgsm/data/debian-10.csv | 1 - lgsm/data/debian-11.csv | 1 - lgsm/data/debian-12.csv | 1 - lgsm/data/debian-9.csv | 1 - lgsm/data/rhel-7.csv | 1 - lgsm/data/rhel-8.csv | 1 - lgsm/data/rhel-9.csv | 1 - lgsm/data/rocky-8.csv | 1 - lgsm/data/rocky-9.csv | 1 - lgsm/data/serverlist.csv | 1 - lgsm/data/ubuntu-16.04.csv | 1 - lgsm/data/ubuntu-18.04.csv | 1 - lgsm/data/ubuntu-20.04.csv | 1 - lgsm/data/ubuntu-22.04.csv | 1 - lgsm/data/ubuntu-23.04.csv | 1 - lgsm/data/ubuntu-23.10.csv | 1 - lgsm/data/ubuntu-24.04.csv | 1 - lgsm/modules/info_game.sh | 20 -------------------- lgsm/modules/info_messages.sh | 10 ---------- lgsm/modules/install_config.sh | 6 ------ 25 files changed, 58 deletions(-) diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index e1b0426b6..ab8d75b6a 100644 --- a/lgsm/data/almalinux-8.csv +++ b/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 diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index 22846b263..e4fb83e3b 100644 --- a/lgsm/data/almalinux-9.csv +++ b/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 diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index f583249fa..0e04e3c74 100644 --- a/lgsm/data/centos-7.csv +++ b/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 diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index 82fab1912..c07bf66d0 100644 --- a/lgsm/data/centos-8.csv +++ b/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 diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index e9326e0d7..c919a160b 100644 --- a/lgsm/data/centos-9.csv +++ b/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 diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index f43907e44..1892d9f9f 100644 --- a/lgsm/data/debian-10.csv +++ b/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 diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index e064d5b6c..9a37307c0 100644 --- a/lgsm/data/debian-11.csv +++ b/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 diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index 7964d24f9..8835871ee 100644 --- a/lgsm/data/debian-12.csv +++ b/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 diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index 573b75b8c..c202924de 100644 --- a/lgsm/data/debian-9.csv +++ b/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 diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 9ff890dc6..0546d8eb1 100644 --- a/lgsm/data/rhel-7.csv +++ b/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 diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index a6e67c2b3..bbfb982f0 100644 --- a/lgsm/data/rhel-8.csv +++ b/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 diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index 22846b263..e4fb83e3b 100644 --- a/lgsm/data/rhel-9.csv +++ b/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 diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index a6e67c2b3..bbfb982f0 100644 --- a/lgsm/data/rocky-8.csv +++ b/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 diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index 22846b263..e4fb83e3b 100644 --- a/lgsm/data/rocky-9.csv +++ b/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 diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index ae270f965..23e126627 100644 --- a/lgsm/data/serverlist.csv +++ b/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 diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 1f81cc6bd..cf6a20220 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -70,7 +70,6 @@ mc,openjdk-8-jre mcb mh mohaa,libstdc++5:i386 -mom mta nd nec diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index 20e6bd819..6f7dcbe18 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/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 diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 69469c810..98ba275f9 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/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 diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index ab0823f15..9bc8f7ad1 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/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 diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index 63597d987..e6d0c2962 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/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 diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv index 63597d987..e6d0c2962 100644 --- a/lgsm/data/ubuntu-23.10.csv +++ b/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 diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv index 63597d987..e6d0c2962 100644 --- a/lgsm/data/ubuntu-24.04.csv +++ b/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 diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 56ae055e4..007187ab8 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -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: Default MTA Server @@ -2375,8 +2357,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 diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index a1e8f52ac..a5f25bc74 100644 --- a/lgsm/modules/info_messages.sh +++ b/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" @@ -1804,8 +1796,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 diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 9b3146770..eea590f9e 100644 --- a/lgsm/modules/install_config.sh +++ b/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) From 164f9507f84e9856408bef75411ef893f7d36cc0 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Thu, 13 Jun 2024 14:13:29 +0100 Subject: [PATCH 04/31] feat: add debian 13 --- lgsm/data/debian-13.csv | 137 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 lgsm/data/debian-13.csv diff --git a/lgsm/data/debian-13.csv b/lgsm/data/debian-13.csv new file mode 100644 index 000000000..6d16deb9f --- /dev/null +++ b/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 From 0e7314d26ae9914a8af003cac3a0dbdc85af98fa Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 15 Jun 2024 22:34:12 +0100 Subject: [PATCH 05/31] fix missing serverpassword detail (#4596) --- lgsm/modules/command_dev_parse_game_details.sh | 10 ++++------ lgsm/modules/info_game.sh | 6 +++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/lgsm/modules/command_dev_parse_game_details.sh b/lgsm/modules/command_dev_parse_game_details.sh index 4dcf33c2a..2bb01e436 100644 --- a/lgsm/modules/command_dev_parse_game_details.sh +++ b/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}" @@ -133,7 +131,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 @@ -144,9 +142,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. diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 007187ab8..f4caa5a7f 100644 --- a/lgsm/modules/info_game.sh +++ b/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"}" From 493a3a82fa8e5a9cf7796c0fb3a839ca2da49ca3 Mon Sep 17 00:00:00 2001 From: Thomas S Date: Sun, 16 Jun 2024 20:18:00 +0200 Subject: [PATCH 06/31] feat(newserver): soulmask (#4590) * feat: reference new smserver * feat: add default config * feat: add stop command using telnet * fix: remove duplicate unused telnetpassword var * feat: add soulmask to config & info functions * fix: remove ini config for now * fix: startparameter initialization fix * feat: remove pve fixed param in startparameters * fix: update default gamelogdir * fix: handle telnet response during stop process * add sm fix * add fix_sm.sh * add ss command * and * add memory requirements * adjust start parameters * remove telnetpassword * add backup interval a * comments * rename variables to telnetpassword * var name change --------- Co-authored-by: Daniel Gibbs --- .../config-lgsm/smserver/_default.cfg | 189 ++++++++++++++++++ .../config-lgsm/tfserver/_default.cfg | 2 +- .../config-lgsm/vhserver/_default.cfg | 5 +- lgsm/data/almalinux-8.csv | 1 + lgsm/data/almalinux-9.csv | 1 + lgsm/data/centos-7.csv | 1 + lgsm/data/centos-8.csv | 1 + lgsm/data/centos-9.csv | 1 + lgsm/data/debian-10.csv | 1 + lgsm/data/debian-11.csv | 1 + lgsm/data/debian-12.csv | 1 + lgsm/data/debian-9.csv | 1 + lgsm/data/rhel-7.csv | 1 + lgsm/data/rhel-8.csv | 1 + lgsm/data/rhel-9.csv | 1 + lgsm/data/rocky-8.csv | 1 + lgsm/data/rocky-9.csv | 1 + lgsm/data/serverlist.csv | 1 + lgsm/data/ubuntu-16.04.csv | 1 + lgsm/data/ubuntu-18.04.csv | 1 + lgsm/data/ubuntu-20.04.csv | 1 + lgsm/data/ubuntu-22.04.csv | 1 + lgsm/data/ubuntu-23.04.csv | 1 + lgsm/data/ubuntu-23.10.csv | 1 + lgsm/data/ubuntu-24.04.csv | 1 + lgsm/modules/check_system_requirements.sh | 4 +- .../modules/command_dev_parse_game_details.sh | 1 - lgsm/modules/command_dev_query_raw.sh | 2 +- lgsm/modules/command_stop.sh | 107 +++++++++- lgsm/modules/core_modules.sh | 5 + lgsm/modules/fix.sh | 2 +- lgsm/modules/fix_sm.sh | 10 + lgsm/modules/info_game.sh | 17 +- lgsm/modules/info_messages.sh | 32 ++- lgsm/modules/install_config.sh | 3 + 35 files changed, 381 insertions(+), 20 deletions(-) create mode 100644 lgsm/config-default/config-lgsm/smserver/_default.cfg create mode 100644 lgsm/modules/fix_sm.sh diff --git a/lgsm/config-default/config-lgsm/smserver/_default.cfg b/lgsm/config-default/config-lgsm/smserver/_default.cfg new file mode 100644 index 000000000..306179b9c --- /dev/null +++ b/lgsm/config-default/config-lgsm/smserver/_default.cfg @@ -0,0 +1,189 @@ +################################## +######## 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 #### + +## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters +servername="LinuxGSM" +serverpassword="" +adminpassword="" +port="8777" +queryport="27015" +telnetport="18888" +maxplayers="50" +backupinterval="15" # Backup interval in minutes. +defaultmap="Level01_Main" + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="WS ${defaultmap} -MultiHome=${ip} -Port=${port} -EchoPort=${telnetport} -QueryPort=${queryport} -SteamServerName='${servername}' -PSW='${serverpassword}' -adminpsw='${adminpassword}' -MaxPlayers=${maxplayers} -initbackup -backupinterval=${backupinterval} -UTF8Output -forcepassthrough -log" + +#### 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" + +# Alert on Start/Stop/Restart +statusalert="off" + +# 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="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# 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" +pushoveruserkey="userkey" + +# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat +rocketchatalert="off" +rocketchatwebhook="webhook" + +# 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) in "curlcustomstring". +# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all". +telegramapi="api.telegram.org" +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +telegramthreadid="" +telegramsilentnotification="false" +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="5" + +## 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="3017300" +steamcmdforcewindows="no" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +betapassword="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="true" + +## 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 +# 11: end +# 12: shutdown +# 13: soulmask +stopmode="13" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="2" +querytype="protocol-valve" + +## Console type +consoleverbose="yes" +consoleinteract="no" + +## Game Server Details +# Do not edit +gamename="Soulmask" +engine="unreal4" +glibc="2.17" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}/WS" +executabledir="${systemdir}/Binaries/Linux" +executable="./WSServer-Linux-Shipping" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log" +gamelogdir="${systemdir}/WS/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" + +## Log Parameters +logtimestamp="off" +logtimestampformat="%Y-%m-%d %H:%M:%S" diff --git a/lgsm/config-default/config-lgsm/tfserver/_default.cfg b/lgsm/config-default/config-lgsm/tfserver/_default.cfg index c6d9842b3..fbce96a44 100644 --- a/lgsm/config-default/config-lgsm/tfserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tfserver/_default.cfg @@ -25,7 +25,7 @@ greenhand="true" maxplayers="40" maxqueuesize="50" queuevalidtime="120" -saveinterval="300" +saveinterval="300" # Auto-save in seconds. serveradmins="" # Use 17-digit Steam IDs separated by commas to grant admin privileges to players. servername="LinuxGSM" serverpassword="" diff --git a/lgsm/config-default/config-lgsm/vhserver/_default.cfg b/lgsm/config-default/config-lgsm/vhserver/_default.cfg index 8950435e8..b027d0fca 100644 --- a/lgsm/config-default/config-lgsm/vhserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vhserver/_default.cfg @@ -10,14 +10,13 @@ ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters servername="LinuxGSM" -# Minimum password length is 5. -serverpassword="" +serverpassword="" # Minimum password length is 5. port="2456" worldname="${selfname}" public="1" savedir="$HOME/.config/unity3d/IronGate/Valheim" logFile="" -saveinterval="1800" +saveinterval="1800" # Auto-save in seconds. backups="4" backupshort="7200" backuplong="43200" diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index ab8d75b6a..204242144 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index e4fb83e3b..02f21426c 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index 0e04e3c74..a536c9c0f 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index c07bf66d0..d4d008fd4 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index c919a160b..574401733 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index 1892d9f9f..6b1a843bb 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -104,6 +104,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 9a37307c0..60a46f55d 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index 8835871ee..0fd50f2d7 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index c202924de..174bd8e16 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 0546d8eb1..8854649ad 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index bbfb982f0..7dd334f38 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index e4fb83e3b..02f21426c 100644 --- a/lgsm/data/rhel-9.csv +++ b/lgsm/data/rhel-9.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index bbfb982f0..7dd334f38 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index e4fb83e3b..02f21426c 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -105,6 +105,7 @@ scpslsm sdtd,telnet,expect,libxml2 sf sfc,ncurses-libs.i686 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 23e126627..7d2173321 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -104,6 +104,7 @@ scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod,ubuntu-22.04 sdtd,sdtdserver,7 Days to Die,ubuntu-22.04 sf,sfserver,Satisfactory,ubuntu-22.04 sfc,sfcserver,SourceForts Classic,ubuntu-22.04 +sm,smserver,Soulmask,ubuntu-22.04 sof2,sof2server,Soldier Of Fortune 2: Gold Edition,ubuntu-22.04 sol,solserver,Soldat,ubuntu-22.04 squad,squadserver,Squad,ubuntu-22.04 diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index cf6a20220..1f359ab9d 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index 6f7dcbe18..cccd53dc7 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 98ba275f9..4c0cae0a8 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index 9bc8f7ad1..b0f896fae 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index e6d0c2962..7ad90039b 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/lgsm/data/ubuntu-23.04.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv index e6d0c2962..7ad90039b 100644 --- a/lgsm/data/ubuntu-23.10.csv +++ b/lgsm/data/ubuntu-23.10.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv index e6d0c2962..7ad90039b 100644 --- a/lgsm/data/ubuntu-24.04.csv +++ b/lgsm/data/ubuntu-24.04.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad diff --git a/lgsm/modules/check_system_requirements.sh b/lgsm/modules/check_system_requirements.sh index 0214cdc1a..d25954427 100644 --- a/lgsm/modules/check_system_requirements.sh +++ b/lgsm/modules/check_system_requirements.sh @@ -9,7 +9,7 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" info_distro.sh -# RAM requirements in megabytes for each game or engine. +# RAM requirements in gigabytes for each game or engine. if [ "${shortname}" == "ark" ]; then ramrequirementgb="7" @@ -49,6 +49,8 @@ elif [ "${shortname}" == "sf" ]; then ramrequirementgb="12" elif [ "${shortname}" == "squad" ]; then ramrequirementgb="2" +elif [ "${shortname}" == "sm" ]; then + ramrequirementgb="10" elif [ "${shortname}" == "st" ]; then ramrequirementgb="1" elif [ "${shortname}" == "stn" ]; then diff --git a/lgsm/modules/command_dev_parse_game_details.sh b/lgsm/modules/command_dev_parse_game_details.sh index 2bb01e436..2e22aa7ae 100644 --- a/lgsm/modules/command_dev_parse_game_details.sh +++ b/lgsm/modules/command_dev_parse_game_details.sh @@ -112,7 +112,6 @@ declare -A server_details=( ['Steamworks Port']="${steamworksport}" ['Telnet Enabled']="${telnetenabled}" ['Telnet IP']="${telnetip}" - ['Telnet Password']="${telnetpass}" ['Telnet Password']="${telnetpassword}" ['Telnet Port']="${telnetport}" ['Tickrate']="${tickrate}" diff --git a/lgsm/modules/command_dev_query_raw.sh b/lgsm/modules/command_dev_query_raw.sh index ae49a1b85..39f4787d3 100644 --- a/lgsm/modules/command_dev_query_raw.sh +++ b/lgsm/modules/command_dev_query_raw.sh @@ -207,7 +207,7 @@ echo -e "" echo -e "${lightgreen}Gamedig Raw Output${default}" fn_messages_separator echo -e "" -if [ ! "$(command -v gamedig 2> /dev/null)" ] || [ ! -f "${lgsmdir}/node_modules/gamedig/bin/gamedig.js" ]; then +if [ ! "$(command -v gamedig 2> /dev/null)" ] && [ ! -f "${lgsmdir}/node_modules/gamedig/bin/gamedig.js" ]; then fn_print_failure_nl "gamedig not installed" fi if [ ! "$(command -v jq 2> /dev/null)" ]; then diff --git a/lgsm/modules/command_stop.sh b/lgsm/modules/command_stop.sh index 3d534317a..7783cc94f 100644 --- a/lgsm/modules/command_stop.sh +++ b/lgsm/modules/command_stop.sh @@ -96,8 +96,8 @@ fn_stop_graceful_goldsrc() { # telnet command for sdtd graceful shutdown. fn_stop_graceful_sdtd_telnet() { - if [ -z "${telnetpass}" ] || [ "${telnetpass}" == "NOT SET" ]; then - sdtd_telnet_shutdown=$(expect -c ' + if [ -z "${telnetpassword}" ] || [ "${telnetpassword}" == "NOT SET" ]; then + sdtdtelnetshutdown=$(expect -c ' proc abort {} { puts "Timeout or EOF\n" exit 1 @@ -111,14 +111,14 @@ fn_stop_graceful_sdtd_telnet() { puts "Completed.\n" ') else - sdtd_telnet_shutdown=$(expect -c ' + sdtdtelnetshutdown=$(expect -c ' proc abort {} { puts "Timeout or EOF\n" exit 1 } spawn telnet '"${telnetip}"' '"${telnetport}"' expect { - "password:" { send "'"${telnetpass}"'\r" } + "password:" { send "'"${telnetpassword}"'\r" } default abort } expect { @@ -143,8 +143,8 @@ fn_stop_graceful_sdtd() { fn_print_dots "Graceful: telnet: ${telnetip}:${telnetport}" fn_script_log_info "Graceful: telnet: ${telnetip}:${telnetport}" fn_stop_graceful_sdtd_telnet - completed=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Completed.") - refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF") + completed=$(echo -en "\n ${sdtdtelnetshutdown}" | grep "Completed.") + refused=$(echo -en "\n ${sdtdtelnetshutdown}" | grep "Timeout or EOF") if [ "${refused}" ]; then fn_print_error "Graceful: telnet: ${telnetip}:${telnetport} : " fn_print_fail_eol_nl @@ -159,7 +159,7 @@ fn_stop_graceful_sdtd() { if [ "${completed}" ]; then for seconds in {1..30}; do fn_stop_graceful_sdtd_telnet - refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF") + refused=$(echo -en "\n ${sdtdtelnetshutdown}" | grep "Timeout or EOF") if [ "${refused}" ]; then fn_print_ok "Graceful: telnet: ${telnetip}:${telnetport} : " fn_print_ok_eol_nl @@ -185,7 +185,7 @@ fn_stop_graceful_sdtd() { fi echo -en "\n" | tee -a "${lgsmlog}" echo -en "Telnet output:" | tee -a "${lgsmlog}" - echo -en "\n ${sdtd_telnet_shutdown}" | tee -a "${lgsmlog}" + echo -en "\n ${sdtdtelnetshutdown}" | tee -a "${lgsmlog}" echo -en "\n\n" | tee -a "${lgsmlog}" fi else @@ -195,6 +195,95 @@ fn_stop_graceful_sdtd() { fi } +# Attempts graceful shutdown of Soulmask using telnet. +fn_stop_graceful_sm() { + fn_print_dots "Graceful: telnet" + fn_script_log_info "Graceful: telnet" + if [ "${telnetenabled}" == "false" ]; then + fn_print_info_nl "Graceful: telnet: DISABLED: Enable in ${servercfg}" + elif [ "$(command -v expect 2> /dev/null)" ]; then + # Tries to shutdown with both localhost and server IP. + for telnetip in 127.0.0.1 ${ip}; do + fn_print_dots "Graceful: telnet: ${telnetip}:${telnetport}" + fn_script_log_info "Graceful: telnet: ${telnetip}:${telnetport}" + fn_stop_graceful_sm_telnet + completed=$(echo -en "\n ${smtelnetshutdown}" | grep "Completed.") + refused=$(echo -en "\n ${smtelnetshutdown}" | grep "Timeout or EOF") + if [ "${refused}" ]; then + fn_print_error "Graceful: telnet: ${telnetip}:${telnetport} : " + fn_print_fail_eol_nl + fn_script_log_error "Graceful: telnet: ${telnetip}:${telnetport} : FAIL" + elif [ "${completed}" ]; then + break + fi + done + + # If telnet shutdown was successful will use telnet again to check + # the connection has closed, confirming that the tmux session can now be killed. + if [ "${completed}" ]; then + for seconds in {1..30}; do + fn_stop_graceful_sm_telnet + refused=$(echo -en "\n ${smtelnetshutdown}" | grep "Timeout or EOF") + if [ "${refused}" ]; then + fn_print_ok "Graceful: telnet: ${telnetip}:${telnetport} : " + fn_print_ok_eol_nl + fn_script_log_pass "Graceful: telnet: ${telnetip}:${telnetport} : ${seconds} seconds" + if [ "${statusalert}" == "on" ] && [ "${firstcommandname}" == "STOP" ]; then + alert="stopped" + alert.sh + fi + break + fi + fn_sleep_time_1 + fn_print_dots "Graceful: telnet: ${seconds}" + done + # If telnet shutdown fails, show it and stop + else + if [ "${refused}" ]; then + fn_print_error "Graceful: telnet: " + fn_print_fail_eol_nl + fn_script_log_error "Graceful: telnet: ${telnetip}:${telnetport} : FAIL" + else + fn_print_error_nl "Graceful: telnet: Unknown error" + fn_script_log_error "Graceful: telnet: Unknown error" + fi + echo -en "\n" | tee -a "${lgsmlog}" + echo -en "Telnet output:" | tee -a "${lgsmlog}" + echo -en "\n ${smtelnetshutdown}" | tee -a "${lgsmlog}" + echo -en "\n\n" | tee -a "${lgsmlog}" + fi + else + fn_print_warn "Graceful: telnet: expect not installed: " + fn_print_fail_eol_nl + fn_script_log_warn "Graceful: telnet: expect not installed: FAIL" + fi +} + +# telnet command for soulmask graceful shutdown. +fn_stop_graceful_sm_telnet() { + smtelnetshutdown=$(expect -c ' + proc abort {} { + puts "Timeout or EOF\n" + exit 1 + } + spawn telnet '"${telnetip}"' '"${telnetport}"' + expect { + "Hello:" { send "saveworld 1\r" } + default abort + } + expect { + "the world is saved." { send "quit 1\r" } + default abort + } + expect { + "World is closing..." {} + default abort + } + expect { eof } + puts "Completed.\n" + ') +} + # Attempts graceful shutdown by sending /save /stop. fn_stop_graceful_avorion() { fn_print_dots "Graceful: /save /stop" @@ -253,6 +342,8 @@ fn_stop_graceful_select() { fn_stop_graceful_cmd "end" 30 elif [ "${stopmode}" == "12" ]; then fn_stop_graceful_cmd "shutdown" 30 + elif [ "${stopmode}" == "13" ]; then + fn_stop_graceful_sm fi } diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh index f083a4893..6a5bcc662 100644 --- a/lgsm/modules/core_modules.sh +++ b/lgsm/modules/core_modules.sh @@ -446,6 +446,11 @@ fix_sfc.sh() { fn_fetch_module } +fix_sm.sh() { + modulefile="${FUNCNAME[0]}" + fn_fetch_module +} + fix_st.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module diff --git a/lgsm/modules/fix.sh b/lgsm/modules/fix.sh index dbb8e3545..e6e00465d 100644 --- a/lgsm/modules/fix.sh +++ b/lgsm/modules/fix.sh @@ -52,7 +52,7 @@ fn_apply_fix() { fi } -apply_pre_start_fix=(arma3 armar ark av bt bo csgo cmw dst hw ins kf nmrih onset pvr ro rust rw samp sdtd sfc sof2 squad st tf2 terraria ts3 mcb mta unt vh wurm zmr) +apply_pre_start_fix=(arma3 armar ark av bt bo csgo cmw dst hw ins kf nmrih onset pvr ro rust rw samp sdtd sfc sm sof2 squad st tf2 terraria ts3 mcb mta unt vh wurm zmr) apply_post_install_fix=(av kf kf2 ro ut2k4 ut ut3) # validate registered fixes for safe development diff --git a/lgsm/modules/fix_sm.sh b/lgsm/modules/fix_sm.sh new file mode 100644 index 000000000..1d72a48bf --- /dev/null +++ b/lgsm/modules/fix_sm.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# LinuxGSM fix_sm.sh module +# Author: Daniel Gibbs +# Contributors: http://linuxgsm.com/contrib +# Website: https://linuxgsm.com +# Description: Resolves issues with Unturned. + +moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" + +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/linux64" diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index f4caa5a7f..0f38ea250 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -1970,7 +1970,7 @@ fn_info_game_sdtd() { telnetenabled="${telnetenabled:-"NOT SET"}" # Telnet IP will be localhost if no password is set # check_ip will set the IP first. This will overwrite it. - if [ -z "${telnetpass}" ]; then + if [ -z "${telnetpassword}" ]; then telnetip="127.0.0.1" fi telnetpass="${telnetpass:-"NOT SET"}" @@ -1988,6 +1988,19 @@ fn_info_game_sf() { beaconport="${beaconport:-"0"}" } +# Config Type: Parameters (with an ini) +fn_info_game_sm() { + servername="${servername:-"NOT SET"}" + adminpassword="${adminpassword:-"NOT SET"}" + port="${port:-"0"}" + queryport="${queryport:-"0"}" + maxplayers="${maxplayers:-"0"}" + # telnet config + telnetenabled=true + telnetip="127.0.0.1" + telnetport="${telnetport:-"0"}" +} + # Config Type: QuakeC # Comment: // or /* */ # Example: set sv_hostname "SERVERNAME" @@ -2407,6 +2420,8 @@ elif [ "${shortname}" == "sdtd" ]; then fn_info_game_sdtd elif [ "${shortname}" == "sf" ]; then fn_info_game_sf +elif [ "${shortname}" == "sm" ]; then + fn_info_game_sm elif [ "${shortname}" == "sof2" ]; then fn_info_game_sof2 elif [ "${shortname}" == "sol" ]; then diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index a5f25bc74..9bab0cbb7 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -30,8 +30,8 @@ fn_info_messages_password_strip() { httppassword="********" fi - if [ "${telnetpass}" ]; then - telnetpass="********" + if [ "${telnetpassword}" ]; then + telnetpassword="********" fi if [ "${wsapikey}" ]; then @@ -483,6 +483,11 @@ fn_info_messages_gameserver() { echo -e "${lightblue}Version Count:\t${default}${versioncount}" fi + # backupinterval (Soulmask) + if [ -n "${backupinterval}" ]; then + echo -e "${lightblue}Backup Interval:\t${default}${backupinterval}" + fi + # Listed on Master server if [ -n "${displaymasterserver}" ]; then if [ "${displaymasterserver}" == "true" ]; then @@ -702,6 +707,8 @@ fn_info_messages_ports() { portcommand="ss -tuplwn | grep java" elif [ "${shortname}" == "terraria" ]; then portcommand="ss -tuplwn | grep Main" + elif [ "${shortname}" == "sm" ]; then + portcommand="ss -tuplwn | grep WSServer-Linux" elif [ "${engine}" == "source" ]; then portcommand="ss -tuplwn | grep srcds_linux" elif [ "${engine}" == "goldsrc" ]; then @@ -1435,7 +1442,7 @@ fn_info_messages_sdtd() { { echo -e "${lightblue}Telnet enabled:\t${default}${telnetenabled}" echo -e "${lightblue}Telnet address:\t${default}${telnetip} ${telnetport}" - echo -e "${lightblue}Telnet password:\t${default}${telnetpass}" + echo -e "${lightblue}Telnet password:\t${default}${telnetpassword}" } | column -s $'\t' -t } @@ -1448,6 +1455,23 @@ fn_info_messages_sf() { } | column -s $'\t' -t } +fn_info_messages_sm() { + fn_info_messages_password_strip + { + fn_port "header" + fn_port "Game" port udp + fn_port "Query" queryport udp + fn_port "Telnet" telnetport tcp + } | column -s $'\t' -t + echo -e "" + echo -e "${bold}${lightgreen}${gamename} Telnet${default}" + fn_messages_separator + { + echo -e "${lightblue}Telnet enabled:\t${default}${telnetenabled}" + echo -e "${lightblue}Telnet address:\t${default}${telnetip} ${telnetport}" + } | column -s $'\t' -t +} + fn_info_messages_sof2() { { fn_port "header" @@ -1842,6 +1866,8 @@ fn_info_messages_select_engine() { fn_info_messages_sdtd elif [ "${shortname}" == "sf" ]; then fn_info_messages_sf + elif [ "${shortname}" == "sm" ]; then + fn_info_messages_sm elif [ "${shortname}" == "sof2" ]; then fn_info_messages_sof2 elif [ "${shortname}" == "sol" ]; then diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index eea590f9e..22843c7b0 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -695,6 +695,9 @@ elif [ "${shortname}" == "sf" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "sm" ]; then + fn_default_config_local + fn_list_config_locations elif [ "${shortname}" == "sol" ]; then array_configs+=(soldat.ini) fn_fetch_default_config From d86bec9acf931932721c52cafbedd29d80ea351c Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 11 Aug 2024 19:32:55 +0100 Subject: [PATCH 07/31] fix(mcb): timestamp disabled for MCB as breaks update check --- lgsm/modules/command_start.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lgsm/modules/command_start.sh b/lgsm/modules/command_start.sh index f38125a5e..cca044518 100644 --- a/lgsm/modules/command_start.sh +++ b/lgsm/modules/command_start.sh @@ -80,7 +80,8 @@ fn_start_tmux() { # Enable console logging. if [ "${consolelogging}" == "on" ] || [ -z "${consolelogging}" ]; then - if [ "${logtimestamp}" == "on" ]; then + # timestamp will break mcb update check. + if [ "${logtimestamp}" == "on" ] && [ "${shortname}" != "mcb" ]; then tmux -L "${socketname}" pipe-pane -o -t "${sessionname}" "exec bash -c \"cat | $addtimestamp\" >> '${consolelog}'" else tmux -L "${socketname}" pipe-pane -o -t "${sessionname}" "exec cat >> '${consolelog}'" From 182c6730725d2e6a6b3512ff82efe55515ce435c Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Mon, 12 Aug 2024 16:20:38 +0100 Subject: [PATCH 08/31] fix(samp): update samp url --- lgsm/modules/install_server_files.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index c5fe822ad..7ebac259f 100644 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -191,7 +191,7 @@ fn_install_server_files() { force="noforce" md5="581a333cc7eacda2f56d5a00fe11eafa" elif [ "${shortname}" == "samp" ]; then - remote_fileurl="https://files.sa-mp.com/samp037svr_R2-1.tar.gz" + remote_fileurl="https://files.samp-sc.com/samp037svr_R2-1.tar.gz" local_filedir="${tmpdir}" local_filename="samp037svr_R2-1.tar.gz" chmodx="nochmodx" run="norun" From e060865aefc510aeb75539302891072bfc0d81c2 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Mon, 12 Aug 2024 22:56:20 +0100 Subject: [PATCH 09/31] feat(dev): add nocache if dev-debug is enabled (#4597) --- lgsm/modules/command_update_linuxgsm.sh | 43 ++++++++++++++----------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/lgsm/modules/command_update_linuxgsm.sh b/lgsm/modules/command_update_linuxgsm.sh index 43827a672..4358b626c 100644 --- a/lgsm/modules/command_update_linuxgsm.sh +++ b/lgsm/modules/command_update_linuxgsm.sh @@ -15,14 +15,21 @@ check.sh info_distro.sh info_game.sh +# Prevent github from using a cached version of the file if dev-debug is enabled. +if [ -f "${rootdir}/.dev-debug" ]; then + nocache="-H \"Cache-Control: no-cache\" -H \"Pragma: no-cache\"" +fi + fn_script_log_info "Updating LinuxGSM" fn_print_dots "Selecting repo" fn_script_log_info "Selecting repo" # Select remotereponame -curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null + +curl ${nocache} --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null + if [ $? != "0" ]; then - curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null + curl curl ${nocache} --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 +46,9 @@ fi # Check linuxsm.sh echo -en "checking ${remotereponame} linuxgsm.sh...\c" if [ "${remotereponame}" == "GitHub" ]; then - curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null + curl ${nocache} --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null else - curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null + curl ${nocache} --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 +58,9 @@ if [ $? != "0" ]; then fi if [ "${remotereponame}" == "GitHub" ]; then - tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh")) + tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl ${nocache} --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh")) else - tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh")) + tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl ${nocache} --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh")) fi if [ "${tmp_script_diff}" != "" ]; then @@ -119,9 +126,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 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null + curl ${nocache} --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 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null + curl ${nocache} --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 +138,9 @@ if [ $? != "0" ]; then fi if [ "${remotereponame}" == "GitHub" ]; then - 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")) + config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl ${nocache} --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 3 -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 ${nocache} --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 +160,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 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null + curl ${nocache} --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null else - curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null + curl ${nocache} --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 +172,9 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then fi if [ "${remotereponame}" == "GitHub" ]; then - 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")) + config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl ${nocache} --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 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv")) + config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl ${nocache} --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv")) fi if [ "${config_file_diff}" != "" ]; then @@ -191,9 +198,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 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null + curl ${nocache} --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null else - curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null + curl ${nocache} --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 +217,9 @@ if [ -n "${modulesdir}" ]; then else # compare file if [ "${remotereponame}" == "GitHub" ]; then - module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}")) + module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl ${nocache} --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 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}")) + module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl ${nocache} --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}")) fi # results From 7ece812c8c7a97f1248148ab59526ab9f377830e Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Mon, 12 Aug 2024 23:04:48 +0100 Subject: [PATCH 10/31] refactor: refactor check_permissions.sh (#4626) Refactored the code in check_permissions.sh to improve readability and maintainability. Made changes to variable names for clarity and removed unnecessary comments. Also, refactored the fn_sys_perm_errors_detect function name for consistency. --- lgsm/modules/check_permissions.sh | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/lgsm/modules/check_permissions.sh b/lgsm/modules/check_permissions.sh index 31c64cd17..3ee404ba9 100644 --- a/lgsm/modules/check_permissions.sh +++ b/lgsm/modules/check_permissions.sh @@ -13,6 +13,11 @@ fn_check_ownership() { selfownissue=1 fi fi + if [ -d "${lgsmdir}" ]; then + if [ "$(find "${lgsmdir}" -not -user "$(whoami)" | wc -l)" -ne "0" ]; then + lgsmownissue=1 + fi + fi if [ -d "${modulesdir}" ]; then if [ "$(find "${modulesdir}" -not -name '*.swp' -not -user "$(whoami)" | wc -l)" -ne "0" ]; then funcownissue=1 @@ -23,18 +28,18 @@ fn_check_ownership() { filesownissue=1 fi fi - if [ "${selfownissue}" == "1" ] || [ "${funcownissue}" == "1" ] || [ "${filesownissue}" == "1" ]; then + if [ "${selfownissue}" == "1" ] || [ "${lgsmownissue}" == "1" ] || [ "${filesownissue}" == "1" ]; then fn_print_fail_nl "Ownership issues found" fn_script_log_fail "Ownership issues found" fn_print_information_nl "The current user ($(whoami)) does not have ownership of the following files:" fn_script_log_info "The current user ($(whoami)) does not have ownership of the following files:" { - echo -e "User\tGroup\tFile\n" + echo -en "User\tGroup\tFile:" if [ "${selfownissue}" == "1" ]; then find "${rootdir}/${selfname}" -not -user "$(whoami)" -printf "%u\t%g\t%p\n" fi - if [ "${funcownissue}" == "1" ]; then - find "${modulesdir}" -not -user "$(whoami)" -printf "%u\t%g\t%p\n" + if [ "${lgsmownissue}" == "1" ]; then + find "${lgsmdir}" -not -user "$(whoami)" -printf "%u\t%g\t%p\n" fi if [ "${filesownissue}" == "1" ]; then find "${serverfiles}" -not -user "$(whoami)" -printf "%u\t%g\t%p\n" @@ -53,15 +58,18 @@ fn_check_ownership() { } fn_check_permissions() { + # Check modules files are executable. if [ -d "${modulesdir}" ]; then - if [ "$(find "${modulesdir}" -type f -not -executable | wc -l)" -ne "0" ]; then + findnotexecutable="$(find "${modulesdir}" -type f -not -executable)" + findnotexecutablewc="$(echo "${findnotexecutable}" | wc -l)" + if [ "${findnotexecutablewc}" -ne "0" ]; then fn_print_fail_nl "Permissions issues found" fn_script_log_fail "Permissions issues found" fn_print_information_nl "The following files are not executable:" fn_script_log_info "The following files are not executable:" { - echo -e "File\n" - find "${modulesdir}" -type f -not -executable -printf "%p\n" + echo -en "File:" + echo -en "${findnotexecutable}" } | column -s $'\t' -t | tee -a "${lgsmlog}" if [ "${monitorflag}" == 1 ]; then alert="permissions" @@ -72,8 +80,8 @@ fn_check_permissions() { fi # Check rootdir permissions. - if [ "${rootdir}" ]; then - # Get permission numbers on directory under the form 775. + if [ -d "${rootdir}" ]; then + # Get permission numbers on directory should return 775. rootdirperm=$(stat -c %a "${rootdir}") # Grab the first and second digit for user and group permission. userrootdirperm="${rootdirperm:0:1}" @@ -92,6 +100,7 @@ fn_check_permissions() { core_exit.sh fi fi + # Check if executable is executable and attempt to fix it. # First get executable name. execname=$(basename "${executable}") @@ -141,7 +150,7 @@ fn_check_permissions() { fi } -## The following fn_sys_perm_* modules checks for permission errors in /sys directory. +## The following fn_sys_perm_* function checks for permission errors in /sys directory. # Checks for permission errors in /sys directory. fn_sys_perm_errors_detect() { From c8f36ff2afbc357335c309c61ddc473ecb6a6fdd Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Mon, 12 Aug 2024 23:06:35 +0100 Subject: [PATCH 11/31] add missing sm-icon.png --- lgsm/data/gameicons/sm-icon.png | Bin 0 -> 764 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lgsm/data/gameicons/sm-icon.png diff --git a/lgsm/data/gameicons/sm-icon.png b/lgsm/data/gameicons/sm-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7948e002d650275f90ef0ef1ea5db87b14bbdb2c GIT binary patch literal 764 zcmex=^lOiET&UP@Y7ModgWM?qOlT~kX_QeM|USHnP6LsJ7}2qQZ?I~NC+Fc+7w zhLo6;2Fc+60R}-11_cHMW=16jCP7AKLB{__7$g`Nm>C%vkO0uF>>NNDEdd55CMHH^ zW)?awse6$&vxPS{hr>B*US)IlIh@af9Iy-Gm`F1KPWF}x^LOO z#b;|>xhy@VoQ;gMeiZj`!usaT3*WArm{eR8aQsOE Date: Tue, 13 Aug 2024 23:02:26 +0100 Subject: [PATCH 12/31] fix permissions bug --- lgsm/modules/check_permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/modules/check_permissions.sh b/lgsm/modules/check_permissions.sh index 3ee404ba9..d2cd5890c 100644 --- a/lgsm/modules/check_permissions.sh +++ b/lgsm/modules/check_permissions.sh @@ -61,7 +61,7 @@ fn_check_permissions() { # Check modules files are executable. if [ -d "${modulesdir}" ]; then findnotexecutable="$(find "${modulesdir}" -type f -not -executable)" - findnotexecutablewc="$(echo "${findnotexecutable}" | wc -l)" + findnotexecutablewc="$(find "${modulesdir}" -type f -not -executable | wc -l)" if [ "${findnotexecutablewc}" -ne "0" ]; then fn_print_fail_nl "Permissions issues found" fn_script_log_fail "Permissions issues found" From eef84ba903da3a21b2a029636e3b758b8cd787ec Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Tue, 13 Aug 2024 23:17:34 +0100 Subject: [PATCH 13/31] feat: add ismygameserver.online to discord alerts --- lgsm/modules/alert_discord.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lgsm/modules/alert_discord.sh b/lgsm/modules/alert_discord.sh index 2b2ecf21b..c98bef765 100644 --- a/lgsm/modules/alert_discord.sh +++ b/lgsm/modules/alert_discord.sh @@ -51,6 +51,11 @@ jsoninfo=$( "name": "Hostname", "value": "${HOSTNAME}", "inline": true + }, + { + "name": "Is my Game Server Online?", + "value": "https://ismygameserver.online/${querytype}/${alertip}:${queryport}", + "inline": true }, { "name": "More info", From ce27b7301b6701db1b082c120eaab0f93f033d32 Mon Sep 17 00:00:00 2001 From: Stephan Schaffner Date: Wed, 28 Aug 2024 22:32:38 +0200 Subject: [PATCH 14/31] feat(newserver): add Xonotic (#4633) * Adding default_cfg and Distro Requirements * Adding Shellscripts for Xonotic * Fixing serverlist.csv * Fixing again serverlist.csv * Fixed Typo * Changing Shortname to XNT * Fixing missed _default.cfg change * Fixing _default.cfg * Updating Modules and Server installation * Updating paths and install script * Fixing install Scripts Issues * Update info_game.sh * Updating Game Info Curling * fix bug with npm download of gamedig on branches * styling fix * move to fix * typo * bug * add missing details * edit using config * add missing servercfgfullpath * bug * config settings update * update cp command based off warn message * fix dir * update dirs * fix exit code * fix dir install * remove -v * update settings * update info game * update config type * fix dir * update config parsing * change to remove config * add server.cfg * remove serverconfigdefault * add new default * move to use an updater * send key to update function * typo * change extract location * update directory location * filename fix * update dirs * fix extraction * creatre datadir if missing * consoleinteract yes * lint --------- Co-authored-by: Stephan Schaffner Co-authored-by: Daniel Gibbs --- .../config-lgsm/xntserver/_default.cfg | 171 +++++++++++++++++ lgsm/data/almalinux-8.csv | 1 + lgsm/data/almalinux-9.csv | 1 + lgsm/data/centos-7.csv | 1 + lgsm/data/centos-8.csv | 1 + lgsm/data/centos-9.csv | 1 + lgsm/data/debian-10.csv | 1 + lgsm/data/debian-11.csv | 1 + lgsm/data/debian-12.csv | 1 + lgsm/data/debian-13.csv | 1 + lgsm/data/debian-9.csv | 1 + lgsm/data/rhel-7.csv | 1 + lgsm/data/rhel-8.csv | 1 + lgsm/data/rhel-9.csv | 1 + lgsm/data/rocky-8.csv | 1 + lgsm/data/rocky-9.csv | 1 + lgsm/data/serverlist.csv | 1 + lgsm/data/ubuntu-16.04.csv | 1 + lgsm/data/ubuntu-18.04.csv | 1 + lgsm/data/ubuntu-20.04.csv | 1 + lgsm/data/ubuntu-22.04.csv | 1 + lgsm/data/ubuntu-23.04.csv | 1 + lgsm/data/ubuntu-23.10.csv | 1 + lgsm/data/ubuntu-24.04.csv | 1 + lgsm/modules/check_gamedig.sh | 4 +- lgsm/modules/command_update.sh | 2 + lgsm/modules/core_dl.sh | 5 +- lgsm/modules/core_modules.sh | 15 ++ lgsm/modules/fix.sh | 2 +- lgsm/modules/fix_xnt.sh | 13 ++ lgsm/modules/info_game.sh | 19 ++ lgsm/modules/info_messages.sh | 14 +- lgsm/modules/install_config.sh | 30 ++- lgsm/modules/install_server_files.sh | 86 ++++++--- lgsm/modules/update_xnt.sh | 173 ++++++++++++++++++ 35 files changed, 515 insertions(+), 42 deletions(-) create mode 100644 lgsm/config-default/config-lgsm/xntserver/_default.cfg create mode 100644 lgsm/modules/fix_xnt.sh create mode 100644 lgsm/modules/update_xnt.sh diff --git a/lgsm/config-default/config-lgsm/xntserver/_default.cfg b/lgsm/config-default/config-lgsm/xntserver/_default.cfg new file mode 100644 index 000000000..402e6188f --- /dev/null +++ b/lgsm/config-default/config-lgsm/xntserver/_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 #### + +## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="-userdir ${systemdir}/${selfname}" + +#### 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" + +# Alert on Start/Stop/Restart +statusalert="off" + +# 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="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# 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" +pushoveruserkey="userkey" + +# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat +rocketchatalert="off" +rocketchatwebhook="webhook" + +# 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) in "curlcustomstring". +# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all". +telegramapi="api.telegram.org" +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +telegramthreadid="" +telegramsilentnotification="false" +curlcustomstring="" + +## 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 +# 11: end +stopmode="2" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="3" +querytype="xonotic" + +## Console type +consoleverbose="yes" +consoleinteract="yes" + +## Game Server Details +# Do not edit +gamename="Xonotic" +engine="unreal3" +glibc="2.29" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}" +executabledir="${systemdir}" +executable="./xonotic-linux64-dedicated" +servercfgdir="${systemdir}/${selfname}/data" +servercfg="server.cfg" +servercfgdefault="${systemdir}/server.cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log" +gamelogdir="${logdir}/server" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +gamelog="${gamelogdir}/${selfname}-game.log" +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" +gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" + +## Log Parameters +logtimestamp="off" +logtimestampformat="%Y-%m-%d %H:%M:%S" diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index 204242144..d4d2456bd 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -134,5 +134,6 @@ wet wf wmc,java-21-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index 02f21426c..7dae6338e 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -134,5 +134,6 @@ wet wf wmc,java-21-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index a536c9c0f..266b358ba 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -134,5 +134,6 @@ wet wf wmc,java-11-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index d4d008fd4..bd5b72c33 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -134,5 +134,6 @@ wet wf wmc,java-17-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index 574401733..893f3698c 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -134,5 +134,6 @@ wet wf wmc,java-17-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index 6b1a843bb..6bfa1dae4 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-11-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 60a46f55d..5441a69b4 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-17-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index 0fd50f2d7..1c0a39930 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-17-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/debian-13.csv b/lgsm/data/debian-13.csv index 6d16deb9f..af262abb6 100644 --- a/lgsm/data/debian-13.csv +++ b/lgsm/data/debian-13.csv @@ -133,5 +133,6 @@ wet wf wmc,openjdk21-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index 174bd8e16..4e54ac241 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-8-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 8854649ad..7800136bb 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -134,5 +134,6 @@ wet wf wmc,java-11-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index 7dd334f38..f8bb1d492 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -134,5 +134,6 @@ wet wf wmc,java-21-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index 02f21426c..7dae6338e 100644 --- a/lgsm/data/rhel-9.csv +++ b/lgsm/data/rhel-9.csv @@ -134,5 +134,6 @@ wet wf wmc,java-21-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index 7dd334f38..f8bb1d492 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -134,5 +134,6 @@ wet wf wmc,java-21-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index 02f21426c..7dae6338e 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -134,5 +134,6 @@ wet wf wmc,java-21-openjdk wurm,xorg-x11-server-Xvfb +xnt zmr,ncurses-libs.i686 zps,ncurses-libs.i686 diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 7d2173321..8b408f84f 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -133,5 +133,6 @@ wet,wetserver,Wolfenstein: Enemy Territory,ubuntu-22.04 wf,wfserver,Warfork,ubuntu-22.04 wmc,wmcserver,WaterfallMC,ubuntu-22.04 wurm,wurmserver,Wurm Unlimited,ubuntu-22.04 +xnt,xntserver,Xonotic,ubuntu-22.04 zmr,zmrserver,Zombie Master: Reborn,ubuntu-22.04 zps,zpsserver,Zombie Panic! Source,ubuntu-22.04 diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 1f359ab9d..51f769c1a 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-8-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index cccd53dc7..7ca2d86c6 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-11-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 4c0cae0a8..f16d8b3be 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-21-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index b0f896fae..e84f4dddd 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-21-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index 7ad90039b..c0135abd7 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/lgsm/data/ubuntu-23.04.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-21-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv index 7ad90039b..c0135abd7 100644 --- a/lgsm/data/ubuntu-23.10.csv +++ b/lgsm/data/ubuntu-23.10.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-21-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv index 7ad90039b..c0135abd7 100644 --- a/lgsm/data/ubuntu-24.04.csv +++ b/lgsm/data/ubuntu-24.04.csv @@ -134,5 +134,6 @@ wet wf wmc,openjdk-21-jre wurm,xvfb +xnt zmr,libtinfo5:i386 zps,libtinfo5:i386 diff --git a/lgsm/modules/check_gamedig.sh b/lgsm/modules/check_gamedig.sh index 8abc0b759..61149d567 100644 --- a/lgsm/modules/check_gamedig.sh +++ b/lgsm/modules/check_gamedig.sh @@ -10,10 +10,10 @@ if [ "$(command -v node)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1) echo -e "${bold}${lightyellow}Installing Gamedig${default}" fn_script_log_info "Installing Gamedig" cd "${lgsmdir}" || exit - curl -L -o package.json "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${githubbranch}/package.json" + curl -L -o package.json "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/package.json" npm install elif [ "$(command -v node)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1)" -ge 16 ]; then cd "${lgsmdir}" || exit - curl -s -L -o package.json "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${githubbranch}/package.json" + curl -s -L -o package.json "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/package.json" npm update > /dev/null 2>&1 fi diff --git a/lgsm/modules/command_update.sh b/lgsm/modules/command_update.sh index e1fcec97f..a579cfe8e 100644 --- a/lgsm/modules/command_update.sh +++ b/lgsm/modules/command_update.sh @@ -33,6 +33,8 @@ elif [ "${shortname}" == "vints" ]; then update_vints.sh elif [ "${shortname}" == "ut99" ]; then update_ut99.sh +elif [ "${shortname}" == "xnt" ]; then + update_xnt.sh else update_steamcmd.sh fi diff --git a/lgsm/modules/core_dl.sh b/lgsm/modules/core_dl.sh index 89a63eb8b..908c90f38 100644 --- a/lgsm/modules/core_dl.sh +++ b/lgsm/modules/core_dl.sh @@ -251,7 +251,10 @@ fn_dl_extract() { fi elif [ "${mime}" == "application/zip" ]; then if [ -n "${extractsrc}" ]; then - extractcmd=$(unzip -qoj -d "${extractdest}" "${local_filedir}/${local_filename}" "${extractsrc}"/*) + temp_extractdir="${tmpdir}/Xonotic" + extractcmd=$(unzip -qo "${local_filedir}/${local_filename}" "${extractsrc}/*" -d "${temp_extractdir}") + find "${temp_extractdir}/${extractsrc}" -mindepth 1 -maxdepth 1 -exec mv -t "${extractdest}" {} + + rm -rf "${temp_extractdir}" else extractcmd=$(unzip -qo -d "${extractdest}" "${local_filedir}/${local_filename}") fi diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh index 3cf0cd8e6..dad8dddf5 100644 --- a/lgsm/modules/core_modules.sh +++ b/lgsm/modules/core_modules.sh @@ -531,6 +531,11 @@ fix_wurm.sh() { fn_fetch_module } +fix_xnt.sh() { + modulefile="${FUNCNAME[0]}" + fn_fetch_module +} + fix_zmr.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module @@ -695,6 +700,11 @@ update_ut99.sh() { fn_fetch_module } +update_xnt.sh() { + modulefile="${FUNCNAME[0]}" + fn_fetch_module +} + fn_update_modules.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module @@ -821,6 +831,11 @@ if [ ! -d "${lockdir}" ]; then mkdir -p "${lockdir}" fi +# Creates data dir if missing +if [ ! -d "${datadir}" ]; then + mkdir -p "${datadir}" +fi + # if $USER id missing set to whoami if [ -z "${USER}" ]; then USER="$(whoami)" diff --git a/lgsm/modules/fix.sh b/lgsm/modules/fix.sh index e6e00465d..6335659f1 100644 --- a/lgsm/modules/fix.sh +++ b/lgsm/modules/fix.sh @@ -52,7 +52,7 @@ fn_apply_fix() { fi } -apply_pre_start_fix=(arma3 armar ark av bt bo csgo cmw dst hw ins kf nmrih onset pvr ro rust rw samp sdtd sfc sm sof2 squad st tf2 terraria ts3 mcb mta unt vh wurm zmr) +apply_pre_start_fix=(arma3 armar ark av bt bo csgo cmw dst hw ins kf nmrih onset pvr ro rust rw samp sdtd sfc sm sof2 squad st tf2 terraria ts3 mcb mta unt vh wurm xnt zmr) apply_post_install_fix=(av kf kf2 ro ut2k4 ut ut3) # validate registered fixes for safe development diff --git a/lgsm/modules/fix_xnt.sh b/lgsm/modules/fix_xnt.sh new file mode 100644 index 000000000..218b99a66 --- /dev/null +++ b/lgsm/modules/fix_xnt.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# LinuxGSM fix_xnt.sh module +# Author: Daniel Gibbs +# Contributors: http://linuxgsm.com/contrib +# Website: https://linuxgsm.com +# Description: Install Xonotic Default Config + +moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" + +# Create the directory if it doesn't exist +if [ ! -d "${systemdir}/${selfname}/data" ]; then + mkdir -p "${systemdir}/${selfname}/data" +fi diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 0f38ea250..d56d4fbff 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -2242,6 +2242,23 @@ fn_info_game_wf() { servername="${servername:-"NOT SET"}" } +# Config Type: QuakeC +# Comment: // +# Filetype: cfg +fn_info_game_xnt() { + if [ -f "${servercfgfullpath}" ]; then + fn_info_game_keyvalue_pairs_space "maxplayers" "maxplayers" + fn_info_game_keyvalue_pairs_space "port" "port" + fn_info_game_keyvalue_pairs_space "rconpassword" "rcon_password" + fn_info_game_keyvalue_pairs_space "servername" "hostname" + fi + maxplayers="${maxplayers:-"8"}" + port="${port:-"0"}" + queryport="${port}" + rconpassword="${rconpassword:-"NOT SET"}" + servername="${servername:-"NOT SET"}" +} + fn_info_game_wmc() { if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" @@ -2476,6 +2493,8 @@ elif [ "${engine}" == "source" ] || [ "${engine}" == "goldsrc" ]; then fn_info_game_source elif [ "${engine}" == "unreal2" ]; then fn_info_game_unreal2 +elif [ "${shortname}" == "xnt" ]; then + fn_info_game_xnt fi # Public IP address diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 9bab0cbb7..0bc444e5e 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -668,7 +668,7 @@ fn_info_messages_ports_edit() { startparameterslocation="${red}UNKNOWN${default}" # engines/games that require editing in the config file. - local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "ct" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "nec" "pc" "pc2" "prism3d" "pz" "qw" "refractor" "renderware" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "wurm") + local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "ct" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "nec" "pc" "pc2" "prism3d" "pz" "qw" "refractor" "renderware" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "xnt" "wurm") for port_edit in "${ports_edit_array[@]}"; do if [ "${shortname}" == "ut3" ]; then startparameterslocation="${servercfgdir}/UTWeb.ini" @@ -1548,6 +1548,14 @@ fn_info_messages_st() { } | column -s $'\t' -t } +fn_info_messages_stn() { + { + fn_port "header" + fn_port "Game" port udp + fn_port "Query" queryport udp + } | column -s $'\t' -t +} + fn_info_messages_ti() { { fn_port "header" @@ -1728,7 +1736,7 @@ fn_info_messages_wurm() { } | column -s $'\t' -t } -fn_info_messages_stn() { +fn_info_messages_xnt() { { fn_port "header" fn_port "Game" port udp @@ -1914,6 +1922,8 @@ fn_info_messages_select_engine() { fn_info_messages_wf elif [ "${shortname}" == "wurm" ]; then fn_info_messages_wurm + elif [ "${shortname}" == "xnt" ]; then + fn_info_messages_xnt elif [ "${engine}" == "goldsrc" ]; then fn_info_messages_goldsrc elif [ "${engine}" == "prism3d" ]; then diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 22843c7b0..96ae70654 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -41,15 +41,15 @@ fn_default_config_remote() { fn_script_log_info "Copying ${servercfg} config file." if [ "${config}" == "${servercfgdefault}" ]; then mkdir -p "${servercfgdir}" - cp -nv "${lgsmdir}/config-default/config-game/${config}" "${servercfgfullpath}" + cp -v --update=none "${lgsmdir}/config-default/config-game/${config}" "${servercfgfullpath}" elif [ "${shortname}" == "arma3" ] && [ "${config}" == "${networkcfgdefault}" ]; then mkdir -p "${servercfgdir}" - cp -nv "${lgsmdir}/config-default/config-game/${config}" "${networkcfgfullpath}" + cp -v --update=none "${lgsmdir}/config-default/config-game/${config}" "${networkcfgfullpath}" elif [ "${shortname}" == "dst" ] && [ "${config}" == "${clustercfgdefault}" ]; then - cp -nv "${lgsmdir}/config-default/config-game/${clustercfgdefault}" "${clustercfgfullpath}" + cp -v --update=none "${lgsmdir}/config-default/config-game/${clustercfgdefault}" "${clustercfgfullpath}" else mkdir -p "${servercfgdir}" - cp -nv "${lgsmdir}/config-default/config-game/${config}" "${servercfgdir}/${config}" + cp -v --update=none "${lgsmdir}/config-default/config-game/${config}" "${servercfgdir}/${config}" fi done fn_sleep_time @@ -62,14 +62,21 @@ fn_default_config_local() { fn_messages_separator echo -e "Copying default configs." fn_check_cfgdir - echo -en "copying config file [ ${italic}${servercfgdefault}${default} ]" - cp -n "${servercfgdir}/${servercfgdefault}" "${servercfgfullpath}" + + # Check if the directory for ${servercfgfullpath} exists, if not, create it + if [ ! -d "$(dirname "${servercfgfullpath}")" ]; then + mkdir -p "$(dirname "${servercfgfullpath}")" + fi + + echo -en "copying config file [ ${italic}${servercfgdefault}${default} ]: " + cp --update=none "${servercfgdir}/${servercfgdefault}" "${servercfgfullpath}" + exitcode=$? if [ "${exitcode}" != 0 ]; then fn_print_fail_eol - fn_script_log_fail "copying config file [ ${servercfgdefault} ]" + fn_script_log_fail "copying config file [ ${servercfgdefault} ]: " else fn_print_ok_eol - fn_script_log_pass "copying config file [ ${servercfgdefault} ]" + fn_script_log_pass "copying config file [ ${servercfgdefault} ]: " fi } @@ -835,6 +842,13 @@ elif [ "${shortname}" == "wmc" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars + fn_list_config_locations +elif [ "${shortname}" == "xnt" ]; then + array_configs+=(server.cfg) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "wurm" ]; then array_configs+=(server.cfg) fn_fetch_default_config diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index 7ebac259f..57ce58ca7 100644 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -12,196 +12,224 @@ 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" + 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" + 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" + 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" + chmodx="nochmodx" + run="norun" force="noforce" md5="55f227183b736397806d5b6db6143f15" elif [ "${shortname}" == "cod" ]; then remote_fileurl="http://linuxgsm.download/CallOfDuty/cod-lnxded-1.5b-full.tar.xz" local_filedir="${tmpdir}" local_filename="cod-lnxded-1.5-large.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="ee0ad1ccbfa1fd27fde01a4a431a5c2f" elif [ "${shortname}" == "coduo" ]; then remote_fileurl="http://linuxgsm.download/CallOfDutyUnitedOffensive/coduo-lnxded-1.51b-full.tar.xz" local_filedir="${tmpdir}" local_filename="coduo-lnxded-1.51b-full.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="35cabccd67adcda44aaebc59405915b9" elif [ "${shortname}" == "cod2" ]; then remote_fileurl="http://linuxgsm.download/CallOfDuty2/cod2-lnxded-1.3-full.tar.xz" local_filedir="${tmpdir}" local_filename="cod2-lnxded-1.3-full.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="b8c4c611f01627dd43348e78478a3d41" elif [ "${shortname}" == "cod4" ]; then remote_fileurl="http://linuxgsm.download/CallOfDuty4/cod4x18_lnxded.tar.xz" local_filedir="${tmpdir}" local_filename="cod4x18_lnxded.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="d255b59b9756d7dbead67718208512ee" elif [ "${shortname}" == "codwaw" ]; then remote_fileurl="http://linuxgsm.download/CallOfDutyWorldAtWar/codwaw-lnxded-1.7-full.tar.xz" local_filedir="${tmpdir}" local_filename="codwaw-lnxded-1.7-full.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="2c6be1bb66ea631b9b2e7ae6216c6680" elif [ "${shortname}" == "etl" ]; then remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/etlegacy-v2.78.1-i386-et-260b.tar.xz" local_filedir="${tmpdir}" local_filename="etlegacy-v2.78.1-i386-et-260b.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="7c08b52cb09b30eadb98ea05ef780fc7" elif [ "${shortname}" == "mohaa" ]; then remote_fileurl="http://linuxgsm.download/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.xz" local_filedir="${tmpdir}" local_filename="moh_revival_v1.12_RC3.5.1.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="7c664538999252eeaf2b6d9949416480" elif [ "${shortname}" == "ns" ]; then remote_fileurl="http://linuxgsm.download/NaturalSelection/ns_dedicated_server_v32.tar.xz" local_filedir="${tmpdir}" local_filename="ns_dedicated_server_v32.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="23ec3cadd93d8bb1c475bad5b9cce370" elif [ "${shortname}" == "q2" ]; then remote_fileurl="http://linuxgsm.download/Quake2/quake2-3.20-glibc-i386-full-linux2.0.tar.xz" local_filedir="${tmpdir}" local_filename="quake2-3.20-glibc-i386-full-linux2.0.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="2908164a32d4808bb720f2161f6b0c82" elif [ "${shortname}" == "q3" ]; then remote_fileurl="http://linuxgsm.download/Quake3/quake3-1.32c-x86-full-linux.tar.xz" local_filedir="${tmpdir}" local_filename="quake3-1.32c-x86-full-linux.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="b0e26d8919fe9313fb9d8ded2360f3db" elif [ "${shortname}" == "q4" ]; then remote_fileurl="http://linuxgsm.download/Quake4/quake4-1.4.2-x86-linuxded.tar.xz" local_filedir="${tmpdir}" local_filename="quake4-1.4.2-x86-linuxded.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="afe30b44f23c8ae2ce6f0f464473d8ba" elif [ "${shortname}" == "qw" ]; then remote_fileurl="http://linuxgsm.download/QuakeWorld/nquake.server.linux.190506.full.tar.xz" local_filedir="${tmpdir}" local_filename="nquake.server.linux.190506.full.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="82055b7d973206c13a606db8ba288d03" elif [ "${shortname}" == "rtcw" ]; then remote_fileurl="http://linuxgsm.download/ReturnToCastleWolfenstein/iortcw-1.51c-x86_64-server-linux-20190507.tar.xz" local_filedir="${tmpdir}" local_filename="iortcw-1.51c-x86_64-server-linux-20190507.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="df6ff664d37dd0d22787848bdb3cac5f" elif [ "${shortname}" == "sfc" ]; then remote_fileurl="http://linuxgsm.download/SourceFortsClassic/SFClassic-1.0-RC7-fix.tar.xz" local_filedir="${tmpdir}" local_filename="SFClassic-1.0-RC7-fix.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="70077137185700e28fe6bbb6021d12bc" elif [ "${shortname}" == "sof2" ]; then remote_fileurl="http://linuxgsm.download/SoldierOfFortune2/sof2gold-1.03.tar.xz" local_filedir="${tmpdir}" local_filename="sof2gold-1.03.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="201e23bab04207d00ce813d001c483d9" 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" + chmodx="nochmodx" + run="norun" force="noforce" md5="3c66ecff6e3644f7ac88015732a0fb93" elif [ "${shortname}" == "ut2k4" ]; then 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" + chmodx="nochmodx" + run="norun" force="noforce" md5="9fceaab68554749f4b45be66613b9a15" elif [ "${shortname}" == "ut99" ]; then remote_fileurl="http://linuxgsm.download/UnrealTournament99/ut99-server-469b-ultimate-linux.tar.xz" local_filedir="${tmpdir}" local_filename="ut99-server-469b-ultimate-linux.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="dba3f1122a5e60ee45ece7422fcf78f5" elif [ "${shortname}" == "ut" ]; then remote_fileurl="http://linuxgsm.download/UnrealTournament/UnrealTournament-Server-XAN-3525360-Linux.tar.xz" local_filedir="${tmpdir}" local_filename="UnrealTournament-Server-XAN-3525360-Linux.tar.xz" - chmodx="noexecute" run="norun" + chmodx="noexecute" + run="norun" force="noforce" md5="41dd92015713a78211eaccf503b72393" elif [ "${shortname}" == "ut3" ]; then remote_fileurl="http://linuxgsm.download/UnrealTournament3/UT3-linux-server-2.1.tar.xz" local_filedir="${tmpdir}" local_filename="UT3-linux-server-2.1.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="8876cca61e3f83ea08db25208bde6ac6" elif [ "${shortname}" == "vs" ]; then remote_fileurl="http://linuxgsm.download/VampireSlayer/vs_l-6.0_full.tar.xz" local_filedir="${tmpdir}" local_filename="vs_l-6.0_full.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="b322f79e0abd31847493c52acf802667" elif [ "${shortname}" == "wet" ]; then remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/enemy-territory.260b.tar.xz" local_filedir="${tmpdir}" local_filename="enemy-territory.260b.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="581a333cc7eacda2f56d5a00fe11eafa" elif [ "${shortname}" == "samp" ]; then remote_fileurl="https://files.samp-sc.com/samp037svr_R2-1.tar.gz" local_filedir="${tmpdir}" local_filename="samp037svr_R2-1.tar.gz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="93705e165550c97484678236749198a4" elif [ "${shortname}" == "zmr" ]; then remote_fileurl="http://linuxgsm.download/ZombieMasterReborn/zombie_master_reborn_b6_1.tar.xz" local_filedir="${tmpdir}" local_filename="zombie_master_reborn_b6_1.tar.xz" - chmodx="nochmodx" run="norun" + chmodx="nochmodx" + run="norun" force="noforce" md5="0188ae86dbc9376f11ae3032dba2d665" else @@ -247,6 +275,8 @@ elif [ "${shortname}" == "vints" ]; then elif [ "${shortname}" == "ut99" ]; then fn_install_server_files update_ut99.sh +elif [ "${shortname}" == "xnt" ]; then + update_xnt.sh elif [ -z "${appid}" ] || [ "${shortname}" == "ahl" ] || [ "${shortname}" == "bb" ] || [ "${shortname}" == "q4" ] || [ "${shortname}" == "ns" ] || [ "${shortname}" == "sfc" ] || [ "${shortname}" == "ts" ] || [ "${shortname}" == "vs" ] || [ "${shortname}" == "zmr" ]; then if [ "${shortname}" == "ut" ]; then install_eula.sh diff --git a/lgsm/modules/update_xnt.sh b/lgsm/modules/update_xnt.sh new file mode 100644 index 000000000..d935e3989 --- /dev/null +++ b/lgsm/modules/update_xnt.sh @@ -0,0 +1,173 @@ +#!/bin/bash +# LinuxGSM command_ut99.sh module +# Author: Daniel Gibbs +# Contributors: http://linuxgsm.com/contrib +# Website: https://linuxgsm.com +# Description: Handles updating of Unreal Tournament 99 servers. + +module_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" + +fn_update_dl() { + # Download and extract files to serverfiles. + fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "nochmodx" "norun" "force" "${remotebuildhash}" + fn_dl_extract "${tmpdir}" "${remotebuildfilename}" "${serverfiles}" "Xonotic" + fn_clear_tmp +} + +fn_update_localbuild() { + # Gets local build info. + fn_print_dots "Checking local build: ${remotelocation}" + + # Send version command to Xonotic server. + tmux -L "${socketname}" send-keys -t "${sessionname}" "version\r" > /dev/null 2>&1 + fn_sleep_time_1 + + # Uses log file to get local build. + localbuild=$(grep "SVQC version: xonotic-v" "${consolelogdir}"/* 2> /dev/null | tail -1 | sed 's/.*SVQC version: \(xonotic-v[0-9.]*\).*/\1/' | tr -d '\000-\011\013-\037') + if [ -z "${localbuild}" ]; then + fn_print_error "Checking local build: ${remotelocation}: missing local build info" + fn_script_log_error "Missing local build info" + fn_script_log_error "Set localbuild to 0" + localbuild="0" + else + fn_print_ok "Checking local build: ${remotelocation}" + fn_script_log_pass "Checking local build" + fi +} + +fn_update_remotebuild() { + # Get remote build info. + apiurl="https://api.github.com/repos/xonotic/xonotic/tags" + remotebuildresponse=$(curl -s "${apiurl}") + remotebuildtag=$(echo "${remotebuildresponse}" | jq -r '.[0].name') + remotebuildfilename=$(echo "${remotebuildtag}" | tr -d 'v') + remotebuildfilename="${remotebuildfilename}.zip" + remotebuildurl="https://dl.xonotic.org/${remotebuildfilename}" + + remotebuildversion="${remotebuildtag}" + + if [ "${firstcommandname}" != "INSTALL" ]; then + fn_print_dots "Checking remote build: ${remotelocation}" + # Checks if remotebuildversion variable has been set. + if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then + fn_print_fail "Checking remote build: ${remotelocation}" + fn_script_log_fail "Checking remote build" + core_exit.sh + else + fn_print_ok "Checking remote build: ${remotelocation}" + fn_script_log_pass "Checking remote build" + fi + else + # Checks if remotebuild variable has been set. + if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then + fn_print_failure "Unable to get remote build" + fn_script_log_fail "Unable to get remote build" + core_exit.sh + fi + fi +} + +fn_update_compare() { + fn_print_dots "Checking for update: ${remotelocation}" + # Update has been found or force update. + if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then + # Create update lockfile. + date '+%s' > "${lockdir:?}/update.lock" + fn_print_ok_nl "Checking for update: ${remotelocation}" + echo -en "\n" + echo -e "Update available" + echo -e "* Local build: ${red}${localbuild}${default}" + echo -e "* Remote build: ${green}${remotebuildversion}${default}" + if [ -n "${branch}" ]; then + echo -e "* Branch: ${branch}" + fi + if [ -f "${rootdir}/.dev-debug" ]; then + echo -e "Remote build info" + echo -e "* apiurl: ${apiurl}" + echo -e "* remotebuildfilename: ${remotebuildfilename}" + echo -e "* remotebuildurl: ${remotebuildurl}" + echo -e "* remotebuildversion: ${remotebuildversion}" + fi + echo -en "\n" + fn_script_log_info "Update available" + fn_script_log_info "Local build: ${localbuild}" + fn_script_log_info "Remote build: ${remotebuildversion}" + if [ -n "${branch}" ]; then + fn_script_log_info "Branch: ${branch}" + fi + fn_script_log_info "${localbuild} > ${remotebuildversion}" + + if [ "${commandname}" == "UPDATE" ]; then + date +%s > "${lockdir}/last-updated.lock" + unset updateonstart + check_status.sh + # If server stopped. + if [ "${status}" == "0" ]; then + fn_update_dl + if [ "${localbuild}" == "0" ]; then + exitbypass=1 + command_start.sh + fn_firstcommand_reset + exitbypass=1 + fn_sleep_time_5 + command_stop.sh + fn_firstcommand_reset + fi + # If server started. + else + fn_print_restart_warning + exitbypass=1 + command_stop.sh + fn_firstcommand_reset + exitbypass=1 + fn_update_dl + exitbypass=1 + command_start.sh + fn_firstcommand_reset + fi + unset exitbypass + alert="update" + elif [ "${commandname}" == "CHECK-UPDATE" ]; then + alert="check-update" + fi + alert.sh + else + fn_print_ok_nl "Checking for update: ${remotelocation}" + echo -en "\n" + echo -e "No update available" + echo -e "* Local build: ${green}${localbuild}${default}" + echo -e "* Remote build: ${green}${remotebuildversion}${default}" + if [ -n "${branch}" ]; then + echo -e "* Branch: ${branch}" + fi + echo -en "\n" + fn_script_log_info "No update available" + fn_script_log_info "Local build: ${localbuild}" + fn_script_log_info "Remote build: ${remotebuildversion}" + if [ -n "${branch}" ]; then + fn_script_log_info "Branch: ${branch}" + fi + if [ -f "${rootdir}/.dev-debug" ]; then + echo -e "Remote build info" + echo -e "* apiurl: ${apiurl}" + echo -e "* remotebuildfilename: ${remotebuildfilename}" + echo -e "* remotebuildurl: ${remotebuildurl}" + echo -e "* remotebuildversion: ${remotebuildversion}" + fi + fi +} + +# The location where the builds are checked and downloaded. +remotelocation="github.com" + +if [ "${firstcommandname}" == "INSTALL" ]; then + fn_update_remotebuild + fn_update_dl +else + fn_print_dots "Checking for update" + fn_print_dots "Checking for update: ${remotelocation}" + fn_script_log_info "Checking for update: ${remotelocation}" + fn_update_localbuild + fn_update_remotebuild + fn_update_compare +fi From b4299ef1667318d05171a9a66aed2b232ca98d13 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Thu, 29 Aug 2024 14:45:49 +0100 Subject: [PATCH 15/31] feat: delete download of tar files when installed (#4458) this will clear the tmp directory when a server it downloaded --- lgsm/modules/install_server_files.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index 57ce58ca7..7d773ce9f 100644 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -238,6 +238,7 @@ fn_install_server_files() { fi fn_fetch_file "${remote_fileurl}" "" "" "" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}" fn_dl_extract "${local_filedir}" "${local_filename}" "${serverfiles}" + fn_clear_tmp } echo -e "" From 02223a5206da02d69b19f5d27f8a1bde70191810 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Thu, 29 Aug 2024 21:22:25 +0100 Subject: [PATCH 16/31] fix(restart): prevent restart from running if checks fail (4278) --- lgsm/modules/command_restart.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/lgsm/modules/command_restart.sh b/lgsm/modules/command_restart.sh index ed60a5555..457d1d17f 100644 --- a/lgsm/modules/command_restart.sh +++ b/lgsm/modules/command_restart.sh @@ -10,6 +10,7 @@ commandaction="Restarting" moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_firstcommand_set +check.sh info_game.sh exitbypass=1 command_stop.sh From d9d82a1a1230fb096dff5f1b0609bde397aa1806 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 1 Sep 2024 22:07:58 +0100 Subject: [PATCH 17/31] feat(permissions): Attempt to fix non executable files issue --- lgsm/modules/check_permissions.sh | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/lgsm/modules/check_permissions.sh b/lgsm/modules/check_permissions.sh index d2cd5890c..44c527bfb 100644 --- a/lgsm/modules/check_permissions.sh +++ b/lgsm/modules/check_permissions.sh @@ -71,11 +71,27 @@ fn_check_permissions() { echo -en "File:" echo -en "${findnotexecutable}" } | column -s $'\t' -t | tee -a "${lgsmlog}" - if [ "${monitorflag}" == 1 ]; then - alert="permissions" - alert.sh + + # Attempt to make the files executable + fn_print_information_nl "Attempting to fix permissions issues" + fn_script_log_info "Attempting to fix permissions issues" + echo "${findnotexecutable}" | xargs chmod +x + + # Re-check if there are still non-executable files + findnotexecutable="$(find "${modulesdir}" -type f -not -executable)" + findnotexecutablewc="$(find "${modulesdir}" -type f -not -executable | wc -l)" + if [ "${findnotexecutablewc}" -ne "0" ]; then + fn_print_fail_nl "Failed to resolve permissions issues" + fn_script_log_fail "Failed to resolve permissions issues" + if [ "${monitorflag}" == 1 ]; then + alert="permissions" + alert.sh + fi + core_exit.sh + else + fn_print_ok_nl "Permissions issues resolved" + fn_script_log_pass "Permissions issues resolved" fi - core_exit.sh fi fi From ee8d30f7060818ad430ac9e4b30e1d61369a5d21 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Mon, 16 Sep 2024 22:43:44 +0100 Subject: [PATCH 18/31] feat(ro): Migrate to using valve query by default --- .../config-lgsm/roserver/_default.cfg | 2 +- .../modules/command_dev_parse_game_details.sh | 8 ++--- lgsm/modules/core_messages.sh | 2 +- lgsm/modules/info_game.sh | 36 +++++++++---------- lgsm/modules/info_messages.sh | 19 +++++----- 5 files changed, 33 insertions(+), 34 deletions(-) diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg index c000f6181..0af49a0d4 100644 --- a/lgsm/config-default/config-lgsm/roserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg @@ -142,7 +142,7 @@ stopmode="2" # 4: gsquery # 5: tcp querymode="2" -querytype="protocol-unreal2" +querytype="protocol-valve" ## Console type consoleverbose="yes" diff --git a/lgsm/modules/command_dev_parse_game_details.sh b/lgsm/modules/command_dev_parse_game_details.sh index 2e22aa7ae..5938f817d 100644 --- a/lgsm/modules/command_dev_parse_game_details.sh +++ b/lgsm/modules/command_dev_parse_game_details.sh @@ -74,12 +74,12 @@ declare -A server_details=( ['Port IPv6']="${portipv6}" ['Port']="${port}" ['Query Enabled']="${queryenabled}" - ['Query HTTP Port']="${queryhttpport}" - ['Query HTTPS Port']="${queryhttpsport}" + ['Query HTTP Port']="${httpqueryport}" + ['Query HTTPS Port']="${httpsqueryport}" ['Query Mode']="${querymode}" - ['Query Port GS']="${queryportgs}" + ['Query Port GS']="${gamespyqueryport}" ['Query Port']="${queryport}" - ['Query SSH Port']="${querysshport}" + ['Query SSH Port']="${sshqueryport}" ['Queue Enabled']="${queueenabled}" ['Queue Port']="${queueport}" ['Random Map']="${randommap}" diff --git a/lgsm/modules/core_messages.sh b/lgsm/modules/core_messages.sh index 6488c02bc..52129dc4b 100644 --- a/lgsm/modules/core_messages.sh +++ b/lgsm/modules/core_messages.sh @@ -31,7 +31,7 @@ fn_ansi_loader() { darkgrey="\e[90m" lightgrey="\e[37m" white="\e[97m" - # erase to end of line. + # erase to end of line. creeol+="\033[K" fi } diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index d56d4fbff..5875627ca 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -496,7 +496,7 @@ fn_info_game_kf() { fn_info_game_ini "lanport" "LANServerPort" fn_info_game_ini "maxplayers" "MaxPlayers" fn_info_game_ini "port" "Port" - fn_info_game_ini "queryportgs" "QueryPort" + fn_info_game_ini "gamespyqueryport" "QueryPort" fn_info_game_ini "servername" "ServerName" fn_info_game_ini "serverpassword" "GamePassword" fi @@ -510,7 +510,7 @@ fn_info_game_kf() { maxplayers="${maxplayers:-"0"}" port="${port:-"0"}" queryport="$((port + 1))" - queryportgs="${queryportgs:-"0"}" + gamespyqueryport="${gamespyqueryport:-"0"}" servername="${servername:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}" steamport="28852" @@ -754,19 +754,19 @@ fn_info_game_ts3() { fn_info_game_ini "dbplugin" "dbplugin" fn_info_game_ini "fileport" "filetransfer_port" fn_info_game_ini "port" "default_voice_port" - fn_info_game_ini "queryhttpport" "query_http_port" - fn_info_game_ini "queryhttpsport" "query_https_port" + fn_info_game_ini "httpqueryport" "query_http_port" + fn_info_game_ini "httpsqueryport" "query_https_port" fn_info_game_ini "queryport" "query_port" - fn_info_game_ini "querysshport" "query_ssh_port" + fn_info_game_ini "sshqueryport" "query_ssh_port" fi configip="${configip:-"0.0.0.0"}" dbplugin="${dbplugin:-"NOT SET"}" fileport="${fileport:-"0"}" port="${port:-"0"}" - queryhttpport="${queryhttpport:-"0"}" - queryhttpsport="${queryhttpsport:-"0"}" + httpqueryport="${httpqueryport:-"0"}" + httpsqueryport="${httpsqueryport:-"0"}" queryport="${queryport:-"0"}" - querysshport="${querysshport:-"0"}" + sshqueryport="${sshqueryport:-"0"}" telnetport="${queryport}" } @@ -797,7 +797,7 @@ fn_info_game_ut99() { fn_info_game_ini "adminpassword" "AdminPassword" fn_info_game_ini "beaconport" "ServerBeaconPort" fn_info_game_ini "port" "Port" - fn_info_game_ini "queryportgs" "OldQueryPortNumber" + fn_info_game_ini "gamespyqueryport" "OldQueryPortNumber" fn_info_game_ini "servername" "ServerName" fn_info_game_ini "serverpassword" "GamePassword" fn_info_game_ini "httpenabled" "bEnabled" @@ -811,7 +811,7 @@ fn_info_game_ut99() { httpport="${httpport:-"0"}" port="${port:-"0"}" queryport="$((port + 1))" - queryportgs="${queryportgs:-"0"}" + gamespyqueryport="${gamespyqueryport:-"0"}" servername="${servername:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}" httpenabled="${httpenabled:-"0"}" @@ -857,7 +857,7 @@ fn_info_game_unreal2() { fn_info_game_ini "adminpassword" "AdminPassword" fn_info_game_ini "httpport" "ListenPort" fn_info_game_ini "port" "Port" - fn_info_game_ini "queryportgs" "OldQueryPortNumber" + fn_info_game_ini "gamespyqueryport" "OldQueryPortNumber" fn_info_game_ini "servername" "ServerName" fn_info_game_ini "serverpassword" "GamePassword" fn_info_game_ini "httpenabled" "bEnabled" @@ -868,7 +868,7 @@ fn_info_game_unreal2() { httpport="${httpport:-"0"}" port="${port:-"0"}" queryport="$((port + 1))" - queryportgs="${queryportgs:-"0"}" + gamespyqueryport="${gamespyqueryport:-"0"}" servername="${servername:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}" httpenabled="${httpenabled:-"0"}" @@ -902,7 +902,7 @@ fn_info_game_ut2k4() { fn_info_game_ini "httpport" "ListenPort" fn_info_game_ini "lanport" "LANServerPort" fn_info_game_ini "port" "Port" - fn_info_game_ini "queryportgs" "OldQueryPortNumber" + fn_info_game_ini "gamespyqueryport" "OldQueryPortNumber" fn_info_game_ini "servername" "ServerName" fn_info_game_ini "serverpassword" "GamePassword" fn_info_game_ini "httpenabled" "bEnabled" @@ -914,7 +914,7 @@ fn_info_game_ut2k4() { lanport="${lanport:-"0"}" port="${port:-"0"}" queryport="$((port + 1))" - queryportgs="${queryportgs:-"0"}" + gamespyqueryport="${gamespyqueryport:-"0"}" servername="${servername:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}" httpenabled="${httpenabled:-"0"}" @@ -1771,7 +1771,6 @@ fn_info_game_ro() { fn_info_game_ini "lanport" "LANServerPort" fn_info_game_ini "maxplayers" "MaxPlayers" fn_info_game_ini "port" "Port" - fn_info_game_ini "queryportgs" "QueryPort" fn_info_game_ini "servername" "ServerName" fn_info_game_ini "serverpassword" "GamePassword" fi @@ -1784,12 +1783,11 @@ fn_info_game_ro() { lanport="${lanport:-"0"}" maxplayers="${maxplayers:-"0"}" port="${port:-"0"}" - queryport="$((port + 1))" - queryportgs="${queryportgs:-"0"}" + queryport=$((28902 + (port - 7757))) # Valve Query Port servername="${servername:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}" - steamport="28902" - steamworksport="20610" + steamport="20610" + unreal2queryport="$((port + 1))" # Unreal2 Query Port } # Config Type: QuakeC diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 0bc444e5e..94c192361 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -832,7 +832,7 @@ fn_info_messages_armar() { { fn_port "header" fn_port "Game" port udp - fn_port "Steam Query" queryport udp + fn_port "Query" queryport udp fn_port "BattleEye" battleeyeport tcp } | column -s $'\t' -t } @@ -1130,7 +1130,7 @@ fn_info_messages_kf() { fn_port "header" fn_port "Game" port udp fn_port "Query" queryport udp - fn_port "Query (GameSpy)" queryportgs udp + fn_port "Query (GameSpy)" gamespyqueryport udp fn_port "Web Interface" httpport tcp fn_port "LAN" lanport udp fn_port "Steamworks P2P" steamworksport udp @@ -1343,11 +1343,12 @@ fn_info_messages_ro() { { fn_port "header" fn_port "Game" port udp - fn_port "Query" queryport udp + fn_port "Query - Steam" queryport udp + fn_port "Query - Unreal 2" unreal2queryport udp fn_port "Web Interface" httpport tcp fn_port "LAN" lanport udp - fn_port "Steamworks P2P" steamworksport udp fn_port "Steam" steamport udp + } | column -s $'\t' -t echo -e "" echo -e "${bold}${lightgreen}${servername} Web Interface${default}" @@ -1504,7 +1505,7 @@ fn_info_messages_source() { fn_port "Query" queryport tcp fn_port "RCON" rconport tcp fn_port "SourceTV" sourcetvport udp - # Will not show if unaviable + # Will not show if unavailable if [ "${steamport}" == "0" ] || [ -v "${steamport}" ]; then fn_port "Steam" steamport udp fi @@ -1570,9 +1571,9 @@ fn_info_messages_ts3() { fn_port "header" fn_port "Voice" port udp fn_port "Query" queryport tcp - fn_port "Query (SSH)" querysshport tcp - fn_port "Query (http)" queryhttpport tcp - fn_port "Query (https)" queryhttpsport tcp + fn_port "Query (SSH)" sshqueryport tcp + fn_port "Query (http)" httpqueryport tcp + fn_port "Query (https)" httpsqueryport tcp fn_port "File Transfer" fileport tcp fn_port "Telnet" telnetport tcp } | column -s $'\t' -t @@ -1618,7 +1619,7 @@ fn_info_messages_ut2k4() { fn_port "header" fn_port "Game" port udp fn_port "Query" queryport udp - fn_port "Query (GameSpy)" queryportgs udp + fn_port "Query (GameSpy)" gamespyqueryport udp fn_port "Web Interface" httpport tcp fn_port "LAN" lanport udp } | column -s $'\t' -t From 8032eca4b1ea17fb40efb7ada9617eafb4a5fd15 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 21 Sep 2024 23:22:07 +0100 Subject: [PATCH 19/31] feat(kf): Migrate to using valve query --- .../config-lgsm/kfserver/_default.cfg | 2 +- lgsm/modules/info_game.sh | 15 ++++++++++----- lgsm/modules/info_messages.sh | 6 +++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg index d9df57d3e..222ba9979 100644 --- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg @@ -146,7 +146,7 @@ stopmode="2" # 4: gsquery # 5: tcp querymode="2" -querytype="protocol-unreal2" +querytype="protocol-valve" ## Console type consoleverbose="yes" diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 5875627ca..8496f078f 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -496,12 +496,13 @@ fn_info_game_kf() { fn_info_game_ini "lanport" "LANServerPort" fn_info_game_ini "maxplayers" "MaxPlayers" fn_info_game_ini "port" "Port" - fn_info_game_ini "gamespyqueryport" "QueryPort" + fn_info_game_ini "gamespyqueryport" "OldQueryPortNumber" fn_info_game_ini "servername" "ServerName" fn_info_game_ini "serverpassword" "GamePassword" fi adminpassword="${adminpassword:-"NOT SET"}" defaultmap="${defaultmap:-"NOT SET"}" + gamespyqueryport="${gamespyqueryport:-"0"}" # Gamespy Query Port httpenabled="${httpenabled:-"NOT SET"}" httppassword="${adminpassword}" httpport="${httpport:-"0"}" @@ -509,12 +510,11 @@ fn_info_game_kf() { lanport="${lanport:-"0"}" maxplayers="${maxplayers:-"0"}" port="${port:-"0"}" - queryport="$((port + 1))" - gamespyqueryport="${gamespyqueryport:-"0"}" + queryport=$((28902 + (port - 7757))) # Valve Query Port servername="${servername:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}" - steamport="28852" - steamworksport="20560" + steamport="20610" + unreal2queryport="$((port + 1))" # Unreal2 Query Port } # Config Type: ini @@ -1761,6 +1761,11 @@ fn_info_game_qw() { servername="${servername:-"NOT SET"}" } +# Config Type: ini +# Parameters: true +# Comment: ; or # +# Example: ServerName=SERVERNAME +# Filetype: ini fn_info_game_ro() { if [ -f "${servercfgfullpath}" ]; then fn_info_game_ini "adminpassword" "AdminPassword" diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 94c192361..b3fb5f47d 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -1129,11 +1129,11 @@ fn_info_messages_kf() { { fn_port "header" fn_port "Game" port udp - fn_port "Query" queryport udp - fn_port "Query (GameSpy)" gamespyqueryport udp + fn_port "Query - Steam" queryport udp + fn_port "Query - Unreal 2" unreal2queryport udp + fn_port "Query - Gamespy" gamespyqueryport udp fn_port "Web Interface" httpport tcp fn_port "LAN" lanport udp - fn_port "Steamworks P2P" steamworksport udp fn_port "Steam" steamport udp } | column -s $'\t' -t echo -e "" From 93ecefbc42a81b9902ccfa8e66d3a6941d03c66d Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 21 Sep 2024 23:35:34 +0100 Subject: [PATCH 20/31] feat(ut2k4): Update details to match other unreal 2 servers --- lgsm/modules/info_messages.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index b3fb5f47d..7f40c8312 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -1618,8 +1618,8 @@ fn_info_messages_ut2k4() { { fn_port "header" fn_port "Game" port udp - fn_port "Query" queryport udp - fn_port "Query (GameSpy)" gamespyqueryport udp + fn_port "Query - Unreal 2" queryport udp + fn_port "Query - Gamespy" gamespyqueryport udp fn_port "Web Interface" httpport tcp fn_port "LAN" lanport udp } | column -s $'\t' -t From fdde2de54a0ab8ebe1cbcf31d99122376414c1fd Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 10:41:30 +0100 Subject: [PATCH 21/31] chore: update distro versions --- .github/ISSUE_TEMPLATE/bug_report.yml | 6 +----- .github/ISSUE_TEMPLATE/feature_request.yml | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 2b339d122..e9f2d000b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -30,17 +30,13 @@ body: label: Linux distro multiple: true options: + - Ubuntu 24.04 - Ubuntu 22.04 - Ubuntu 20.04 - - Ubuntu 18.04 - - Ubuntu 16.04 - Debian 12 - Debian 11 - - Debian 10 - - Debian 9 - RedHat 9 - RedHat 8 - - RedHat 7 - Other validations: required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 45aced3d1..f1a8ccaf6 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -30,17 +30,13 @@ body: label: Linux distro multiple: true options: + - Ubuntu 24.04 - Ubuntu 22.04 - Ubuntu 20.04 - - Ubuntu 18.04 - - Ubuntu 16.04 - Debian 12 - Debian 11 - - Debian 10 - - Debian 9 - RedHat 9 - RedHat 8 - - RedHat 7 - Other validations: required: false From f5369ca901ac68df8d32e51d2b256a9744e36750 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 10:44:41 +0100 Subject: [PATCH 22/31] fix: Change http to https in comment --- lgsm/modules/alert.sh | 2 +- lgsm/modules/alert_discord.sh | 2 +- lgsm/modules/alert_email.sh | 2 +- lgsm/modules/alert_gotify.sh | 2 +- lgsm/modules/alert_ifttt.sh | 2 +- lgsm/modules/alert_pushbullet.sh | 2 +- lgsm/modules/alert_pushover.sh | 2 +- lgsm/modules/alert_rocketchat.sh | 2 +- lgsm/modules/alert_slack.sh | 2 +- lgsm/modules/alert_telegram.sh | 2 +- lgsm/modules/check.sh | 2 +- lgsm/modules/check_config.sh | 2 +- lgsm/modules/check_deps.sh | 2 +- lgsm/modules/check_executable.sh | 2 +- lgsm/modules/check_gamedig.sh | 2 +- lgsm/modules/check_glibc.sh | 2 +- lgsm/modules/check_ip.sh | 2 +- lgsm/modules/check_last_update.sh | 2 +- lgsm/modules/check_logs.sh | 2 +- lgsm/modules/check_permissions.sh | 2 +- lgsm/modules/check_root.sh | 2 +- lgsm/modules/check_status.sh | 2 +- lgsm/modules/check_steamcmd.sh | 2 +- lgsm/modules/check_system_dir.sh | 2 +- lgsm/modules/check_system_requirements.sh | 2 +- lgsm/modules/check_tmuxception.sh | 2 +- lgsm/modules/check_version.sh | 2 +- lgsm/modules/command_backup.sh | 2 +- lgsm/modules/command_check_update.sh | 2 +- lgsm/modules/command_console.sh | 2 +- lgsm/modules/command_debug.sh | 2 +- lgsm/modules/command_details.sh | 2 +- lgsm/modules/command_dev_clear_modules.sh | 2 +- lgsm/modules/command_dev_debug.sh | 2 +- lgsm/modules/command_dev_detect_deps.sh | 2 +- lgsm/modules/command_dev_detect_glibc.sh | 2 +- lgsm/modules/command_dev_detect_ldd.sh | 2 +- .../command_dev_parse_distro_details.sh | 20 +++++++++---------- .../modules/command_dev_parse_game_details.sh | 2 +- lgsm/modules/command_dev_query_raw.sh | 2 +- lgsm/modules/command_fastdl.sh | 2 +- lgsm/modules/command_install.sh | 2 +- lgsm/modules/command_install_resources_mta.sh | 2 +- lgsm/modules/command_mods_install.sh | 2 +- lgsm/modules/command_mods_remove.sh | 2 +- lgsm/modules/command_mods_update.sh | 2 +- lgsm/modules/command_monitor.sh | 2 +- lgsm/modules/command_postdetails.sh | 2 +- lgsm/modules/command_restart.sh | 2 +- lgsm/modules/command_send.sh | 2 +- lgsm/modules/command_skeleton.sh | 2 +- lgsm/modules/command_sponsor.sh | 2 +- lgsm/modules/command_start.sh | 2 +- lgsm/modules/command_stop.sh | 2 +- lgsm/modules/command_test_alert.sh | 2 +- lgsm/modules/command_ts3_server_pass.sh | 2 +- lgsm/modules/command_update.sh | 2 +- lgsm/modules/command_update_linuxgsm.sh | 2 +- lgsm/modules/command_validate.sh | 2 +- lgsm/modules/command_wipe.sh | 2 +- lgsm/modules/compress_unreal2_maps.sh | 2 +- lgsm/modules/compress_ut99_maps.sh | 2 +- lgsm/modules/core_dl.sh | 2 +- lgsm/modules/core_exit.sh | 2 +- lgsm/modules/core_getopt.sh | 2 +- lgsm/modules/core_github.sh | 2 +- lgsm/modules/core_legacy.sh | 2 +- lgsm/modules/core_logs.sh | 2 +- lgsm/modules/core_messages.sh | 2 +- lgsm/modules/core_modules.sh | 2 +- lgsm/modules/core_steamcmd.sh | 2 +- lgsm/modules/core_trap.sh | 2 +- lgsm/modules/fix.sh | 2 +- lgsm/modules/fix_ark.sh | 2 +- lgsm/modules/fix_arma3.sh | 2 +- lgsm/modules/fix_armar.sh | 2 +- lgsm/modules/fix_av.sh | 2 +- lgsm/modules/fix_bo.sh | 2 +- lgsm/modules/fix_bt.sh | 2 +- lgsm/modules/fix_cmw.sh | 2 +- lgsm/modules/fix_csgo.sh | 2 +- lgsm/modules/fix_dst.sh | 2 +- lgsm/modules/fix_hw.sh | 2 +- lgsm/modules/fix_ins.sh | 2 +- lgsm/modules/fix_kf.sh | 2 +- lgsm/modules/fix_kf2.sh | 2 +- lgsm/modules/fix_mcb.sh | 2 +- lgsm/modules/fix_mta.sh | 2 +- lgsm/modules/fix_nmrih.sh | 2 +- lgsm/modules/fix_onset.sh | 2 +- lgsm/modules/fix_pvr.sh | 2 +- lgsm/modules/fix_ro.sh | 2 +- lgsm/modules/fix_rust.sh | 2 +- lgsm/modules/fix_rw.sh | 2 +- lgsm/modules/fix_samp.sh | 2 +- lgsm/modules/fix_sdtd.sh | 2 +- lgsm/modules/fix_sfc.sh | 2 +- lgsm/modules/fix_sm.sh | 2 +- lgsm/modules/fix_sof2.sh | 2 +- lgsm/modules/fix_squad.sh | 2 +- lgsm/modules/fix_st.sh | 2 +- lgsm/modules/fix_steamcmd.sh | 2 +- lgsm/modules/fix_terraria.sh | 2 +- lgsm/modules/fix_tf2.sh | 2 +- lgsm/modules/fix_ts3.sh | 2 +- lgsm/modules/fix_unt.sh | 2 +- lgsm/modules/fix_ut.sh | 2 +- lgsm/modules/fix_ut2k4.sh | 2 +- lgsm/modules/fix_ut3.sh | 2 +- lgsm/modules/fix_wurm.sh | 2 +- lgsm/modules/fix_xnt.sh | 2 +- lgsm/modules/fix_zmr.sh | 2 +- lgsm/modules/info_distro.sh | 6 +++--- lgsm/modules/info_game.sh | 2 +- lgsm/modules/info_messages.sh | 2 +- lgsm/modules/info_stats.sh | 2 +- lgsm/modules/install_complete.sh | 2 +- lgsm/modules/install_config.sh | 2 +- lgsm/modules/install_dst_token.sh | 2 +- lgsm/modules/install_eula.sh | 2 +- lgsm/modules/install_factorio_save.sh | 2 +- lgsm/modules/install_gslt.sh | 2 +- lgsm/modules/install_header.sh | 2 +- lgsm/modules/install_logs.sh | 2 +- lgsm/modules/install_mta_resources.sh | 2 +- lgsm/modules/install_retry.sh | 2 +- lgsm/modules/install_server_dir.sh | 2 +- lgsm/modules/install_server_files.sh | 2 +- lgsm/modules/install_squad_license.sh | 2 +- lgsm/modules/install_stats.sh | 2 +- lgsm/modules/install_steamcmd.sh | 2 +- lgsm/modules/install_ts3db.sh | 2 +- lgsm/modules/install_ut2k4_key.sh | 2 +- lgsm/modules/mods_core.sh | 2 +- lgsm/modules/mods_list.sh | 2 +- lgsm/modules/query_gamedig.sh | 2 +- lgsm/modules/query_gsquery.py | 2 +- lgsm/modules/update_fctr.sh | 2 +- lgsm/modules/update_jk2.sh | 2 +- lgsm/modules/update_mc.sh | 2 +- lgsm/modules/update_mcb.sh | 2 +- lgsm/modules/update_mta.sh | 2 +- lgsm/modules/update_pmc.sh | 2 +- lgsm/modules/update_steamcmd.sh | 2 +- lgsm/modules/update_ts3.sh | 2 +- lgsm/modules/update_ut99.sh | 2 +- lgsm/modules/update_vints.sh | 2 +- lgsm/modules/update_xnt.sh | 2 +- 148 files changed, 159 insertions(+), 159 deletions(-) diff --git a/lgsm/modules/alert.sh b/lgsm/modules/alert.sh index 40288d234..f2698e3b7 100644 --- a/lgsm/modules/alert.sh +++ b/lgsm/modules/alert.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Overall module for managing alerts. diff --git a/lgsm/modules/alert_discord.sh b/lgsm/modules/alert_discord.sh index c98bef765..a447c498a 100644 --- a/lgsm/modules/alert_discord.sh +++ b/lgsm/modules/alert_discord.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_discord.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends Discord alert. diff --git a/lgsm/modules/alert_email.sh b/lgsm/modules/alert_email.sh index 6833d9670..ca9db1bc4 100644 --- a/lgsm/modules/alert_email.sh +++ b/lgsm/modules/alert_email.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_email.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends email alert. diff --git a/lgsm/modules/alert_gotify.sh b/lgsm/modules/alert_gotify.sh index 8f1d31e91..724ff1d79 100644 --- a/lgsm/modules/alert_gotify.sh +++ b/lgsm/modules/alert_gotify.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_gotify.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends Gotify alert. diff --git a/lgsm/modules/alert_ifttt.sh b/lgsm/modules/alert_ifttt.sh index cbd740ec5..ca1c005d0 100644 --- a/lgsm/modules/alert_ifttt.sh +++ b/lgsm/modules/alert_ifttt.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_ifttt.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends IFTTT alert. diff --git a/lgsm/modules/alert_pushbullet.sh b/lgsm/modules/alert_pushbullet.sh index 5ed3853f6..4b96a1f9f 100644 --- a/lgsm/modules/alert_pushbullet.sh +++ b/lgsm/modules/alert_pushbullet.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_pushbullet.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends Pushbullet Messenger alert. diff --git a/lgsm/modules/alert_pushover.sh b/lgsm/modules/alert_pushover.sh index 22180d503..dc488026a 100644 --- a/lgsm/modules/alert_pushover.sh +++ b/lgsm/modules/alert_pushover.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_pushover.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends Pushover alert. diff --git a/lgsm/modules/alert_rocketchat.sh b/lgsm/modules/alert_rocketchat.sh index 910722804..bff2c6a0b 100644 --- a/lgsm/modules/alert_rocketchat.sh +++ b/lgsm/modules/alert_rocketchat.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_rocketchat.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends Rocketchat alert. diff --git a/lgsm/modules/alert_slack.sh b/lgsm/modules/alert_slack.sh index b74f98dec..58dc54772 100644 --- a/lgsm/modules/alert_slack.sh +++ b/lgsm/modules/alert_slack.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_slack.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends Slack alert. diff --git a/lgsm/modules/alert_telegram.sh b/lgsm/modules/alert_telegram.sh index 98e1a980b..2e719dba7 100644 --- a/lgsm/modules/alert_telegram.sh +++ b/lgsm/modules/alert_telegram.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM alert_telegram.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends Telegram Messenger alert. diff --git a/lgsm/modules/check.sh b/lgsm/modules/check.sh index 2a63df3f3..7601898a9 100644 --- a/lgsm/modules/check.sh +++ b/lgsm/modules/check.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Overall module for managing checks. # Runs checks that will either halt on or fix an issue. diff --git a/lgsm/modules/check_config.sh b/lgsm/modules/check_config.sh index d8bfb5008..24bc1c37f 100644 --- a/lgsm/modules/check_config.sh +++ b/lgsm/modules/check_config.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_config.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if the server config is missing and warns the user if needed. diff --git a/lgsm/modules/check_deps.sh b/lgsm/modules/check_deps.sh index df5cb9478..35145a11d 100644 --- a/lgsm/modules/check_deps.sh +++ b/lgsm/modules/check_deps.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_deps.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks and installs missing dependencies. diff --git a/lgsm/modules/check_executable.sh b/lgsm/modules/check_executable.sh index e7214ac33..5959c61aa 100644 --- a/lgsm/modules/check_executable.sh +++ b/lgsm/modules/check_executable.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_executable.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if server executable exists. diff --git a/lgsm/modules/check_gamedig.sh b/lgsm/modules/check_gamedig.sh index 61149d567..b1913cf87 100644 --- a/lgsm/modules/check_gamedig.sh +++ b/lgsm/modules/check_gamedig.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_gamedig.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Installs nodejs and gamedig diff --git a/lgsm/modules/check_glibc.sh b/lgsm/modules/check_glibc.sh index 9da491bce..8b3d00658 100644 --- a/lgsm/modules/check_glibc.sh +++ b/lgsm/modules/check_glibc.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_glibc.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if the server has the correct Glibc version. diff --git a/lgsm/modules/check_ip.sh b/lgsm/modules/check_ip.sh index bf0418f74..8f943c568 100644 --- a/lgsm/modules/check_ip.sh +++ b/lgsm/modules/check_ip.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_ip.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Automatically identifies the server interface IP. # If multiple interfaces are detected the user will need to manually set using ip="0.0.0.0". diff --git a/lgsm/modules/check_last_update.sh b/lgsm/modules/check_last_update.sh index 166d80a17..2686c6507 100644 --- a/lgsm/modules/check_last_update.sh +++ b/lgsm/modules/check_last_update.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_last_update.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks Lockfile to see when last update happened. # Will reboot server if instance not rebooted since update. diff --git a/lgsm/modules/check_logs.sh b/lgsm/modules/check_logs.sh index 036eea5e4..5e2d66c35 100644 --- a/lgsm/modules/check_logs.sh +++ b/lgsm/modules/check_logs.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_logs.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if log files exist. diff --git a/lgsm/modules/check_permissions.sh b/lgsm/modules/check_permissions.sh index 44c527bfb..9ed1bb65e 100644 --- a/lgsm/modules/check_permissions.sh +++ b/lgsm/modules/check_permissions.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_permissions.sh # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks ownership & permissions of scripts, files and directories. diff --git a/lgsm/modules/check_root.sh b/lgsm/modules/check_root.sh index 8fe20764c..47825ddc9 100644 --- a/lgsm/modules/check_root.sh +++ b/lgsm/modules/check_root.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_root.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if the user tried to run the script as root. diff --git a/lgsm/modules/check_status.sh b/lgsm/modules/check_status.sh index 906675e81..e017b89ec 100644 --- a/lgsm/modules/check_status.sh +++ b/lgsm/modules/check_status.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_status.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks the process status of the server. Either online or offline. diff --git a/lgsm/modules/check_steamcmd.sh b/lgsm/modules/check_steamcmd.sh index 5d14bb21f..0e7f5ce6c 100644 --- a/lgsm/modules/check_steamcmd.sh +++ b/lgsm/modules/check_steamcmd.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_steamcmd.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if SteamCMD is installed correctly. diff --git a/lgsm/modules/check_system_dir.sh b/lgsm/modules/check_system_dir.sh index 2f57511fb..2b646835d 100644 --- a/lgsm/modules/check_system_dir.sh +++ b/lgsm/modules/check_system_dir.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_system_dir.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if systemdir/serverfiles is accessible. diff --git a/lgsm/modules/check_system_requirements.sh b/lgsm/modules/check_system_requirements.sh index d25954427..a7314a0d8 100644 --- a/lgsm/modules/check_system_requirements.sh +++ b/lgsm/modules/check_system_requirements.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_system_requirements.sh # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks RAM requirements. diff --git a/lgsm/modules/check_tmuxception.sh b/lgsm/modules/check_tmuxception.sh index 8f1f94c73..fa0748c8b 100644 --- a/lgsm/modules/check_tmuxception.sh +++ b/lgsm/modules/check_tmuxception.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM check_config.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Checks if run from tmux or screen. diff --git a/lgsm/modules/check_version.sh b/lgsm/modules/check_version.sh index 5369fd832..b1e7f5584 100644 --- a/lgsm/modules/check_version.sh +++ b/lgsm/modules/check_version.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_version.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Will run update-lgsm if gameserver.sh and modules version does not match # this will allow gameserver.sh to update - useful for multi instance servers. diff --git a/lgsm/modules/command_backup.sh b/lgsm/modules/command_backup.sh index a3e1bbe7f..6bbc07f02 100644 --- a/lgsm/modules/command_backup.sh +++ b/lgsm/modules/command_backup.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_backup.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Creates a .tar.gz file in the backup directory. diff --git a/lgsm/modules/command_check_update.sh b/lgsm/modules/command_check_update.sh index 2e6855f7c..ee4c8ccb3 100644 --- a/lgsm/modules/command_check_update.sh +++ b/lgsm/modules/command_check_update.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_check_update.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of servers. diff --git a/lgsm/modules/command_console.sh b/lgsm/modules/command_console.sh index a5d49d7f2..aa17e839e 100644 --- a/lgsm/modules/command_console.sh +++ b/lgsm/modules/command_console.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_console.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Gives access to the server tmux console. diff --git a/lgsm/modules/command_debug.sh b/lgsm/modules/command_debug.sh index 2e6c0e2e2..b5f2dabac 100644 --- a/lgsm/modules/command_debug.sh +++ b/lgsm/modules/command_debug.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_debug.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Runs the server without tmux and directly from the terminal. diff --git a/lgsm/modules/command_details.sh b/lgsm/modules/command_details.sh index ad55b1241..2800e5123 100644 --- a/lgsm/modules/command_details.sh +++ b/lgsm/modules/command_details.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_details.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Displays server information. diff --git a/lgsm/modules/command_dev_clear_modules.sh b/lgsm/modules/command_dev_clear_modules.sh index bf19b2578..e2e80164f 100644 --- a/lgsm/modules/command_dev_clear_modules.sh +++ b/lgsm/modules/command_dev_clear_modules.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_clear_modules.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Deletes the contents of the modules dir. diff --git a/lgsm/modules/command_dev_debug.sh b/lgsm/modules/command_dev_debug.sh index eb0356985..3226fc186 100644 --- a/lgsm/modules/command_dev_debug.sh +++ b/lgsm/modules/command_dev_debug.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_debug.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Dev only: Enables debugging log to be saved to dev-debug.log. diff --git a/lgsm/modules/command_dev_detect_deps.sh b/lgsm/modules/command_dev_detect_deps.sh index 6215fb897..fead2c285 100644 --- a/lgsm/modules/command_dev_detect_deps.sh +++ b/lgsm/modules/command_dev_detect_deps.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_detect_deps.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Detects dependencies the server binary requires. diff --git a/lgsm/modules/command_dev_detect_glibc.sh b/lgsm/modules/command_dev_detect_glibc.sh index 214adc88e..6326cf5cb 100644 --- a/lgsm/modules/command_dev_detect_glibc.sh +++ b/lgsm/modules/command_dev_detect_glibc.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_detect_glibc.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Automatically detects the version of GLIBC that is required. # Can check a file or directory recursively. diff --git a/lgsm/modules/command_dev_detect_ldd.sh b/lgsm/modules/command_dev_detect_ldd.sh index af41bb522..9d0bf5148 100644 --- a/lgsm/modules/command_dev_detect_ldd.sh +++ b/lgsm/modules/command_dev_detect_ldd.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_detect_ldd.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Automatically detects required deps using ldd. # Can check a file or directory recursively. diff --git a/lgsm/modules/command_dev_parse_distro_details.sh b/lgsm/modules/command_dev_parse_distro_details.sh index ca2bfd9ed..f80c909ad 100644 --- a/lgsm/modules/command_dev_parse_distro_details.sh +++ b/lgsm/modules/command_dev_parse_distro_details.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_parse_distro_details.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Display parsed distro details. @@ -87,7 +87,7 @@ missing_details="" # Loop through the distro 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 @@ -97,18 +97,18 @@ done # Sort and output the available distro details. if [ -n "$available_details" ]; then - echo -e "" - echo -e "${bold}${lightgreen}Available Distro Details${default}" - fn_messages_separator - echo -e "${available_details}" | sort + echo -e "" + echo -e "${bold}${lightgreen}Available Distro Details${default}" + fn_messages_separator + echo -e "${available_details}" | sort fi # Sort and output the missing distro details. if [ -n "$missing_details" ]; then - echo -e "" - echo -e "${lightgreen}Missing or unsupported Distro Details${default}" - fn_messages_separator - echo -e "${missing_details}" | sort + echo -e "" + echo -e "${lightgreen}Missing or unsupported Distro Details${default}" + fn_messages_separator + echo -e "${missing_details}" | sort fi core_exit.sh diff --git a/lgsm/modules/command_dev_parse_game_details.sh b/lgsm/modules/command_dev_parse_game_details.sh index 5938f817d..87284904c 100644 --- a/lgsm/modules/command_dev_parse_game_details.sh +++ b/lgsm/modules/command_dev_parse_game_details.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_parse_game_details.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Display parsed gameserver details. diff --git a/lgsm/modules/command_dev_query_raw.sh b/lgsm/modules/command_dev_query_raw.sh index 39f4787d3..345298941 100644 --- a/lgsm/modules/command_dev_query_raw.sh +++ b/lgsm/modules/command_dev_query_raw.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_dev_query_raw.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Raw gamedig output of the server. diff --git a/lgsm/modules/command_fastdl.sh b/lgsm/modules/command_fastdl.sh index c1c667797..4e9378945 100644 --- a/lgsm/modules/command_fastdl.sh +++ b/lgsm/modules/command_fastdl.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_fastdl.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Creates a FastDL directory. diff --git a/lgsm/modules/command_install.sh b/lgsm/modules/command_install.sh index c3bf27c61..8dc9a77df 100644 --- a/lgsm/modules/command_install.sh +++ b/lgsm/modules/command_install.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_install.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Overall module for the installer. diff --git a/lgsm/modules/command_install_resources_mta.sh b/lgsm/modules/command_install_resources_mta.sh index 31a9165fd..aecda1452 100644 --- a/lgsm/modules/command_install_resources_mta.sh +++ b/lgsm/modules/command_install_resources_mta.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_install_resources_mta.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Installs the default resources for Multi Theft Auto. diff --git a/lgsm/modules/command_mods_install.sh b/lgsm/modules/command_mods_install.sh index 19de72ab0..d1b3fb67a 100644 --- a/lgsm/modules/command_mods_install.sh +++ b/lgsm/modules/command_mods_install.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_mods_install.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: List and installs available mods along with mods_list.sh and mods_core.sh. diff --git a/lgsm/modules/command_mods_remove.sh b/lgsm/modules/command_mods_remove.sh index 5f70ac389..412e07546 100644 --- a/lgsm/modules/command_mods_remove.sh +++ b/lgsm/modules/command_mods_remove.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_mods_uninstall.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Uninstall mods along with mods_list.sh and mods_core.sh. diff --git a/lgsm/modules/command_mods_update.sh b/lgsm/modules/command_mods_update.sh index cd5c3b03f..ca81dd947 100644 --- a/lgsm/modules/command_mods_update.sh +++ b/lgsm/modules/command_mods_update.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_mods_update.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Updates installed mods along with mods_list.sh and mods_core.sh. diff --git a/lgsm/modules/command_monitor.sh b/lgsm/modules/command_monitor.sh index e9baf71e5..a9691fb98 100644 --- a/lgsm/modules/command_monitor.sh +++ b/lgsm/modules/command_monitor.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_monitor.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Monitors server by checking for running processes # then passes to gamedig and gsquery. diff --git a/lgsm/modules/command_postdetails.sh b/lgsm/modules/command_postdetails.sh index 3bfed78ed..6626d51a7 100644 --- a/lgsm/modules/command_postdetails.sh +++ b/lgsm/modules/command_postdetails.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_postdetails.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Strips sensitive information out of Details output. diff --git a/lgsm/modules/command_restart.sh b/lgsm/modules/command_restart.sh index 457d1d17f..0a7f9b5f0 100644 --- a/lgsm/modules/command_restart.sh +++ b/lgsm/modules/command_restart.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_restart.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Restarts the server. diff --git a/lgsm/modules/command_send.sh b/lgsm/modules/command_send.sh index cf6a9f08a..e31452707 100644 --- a/lgsm/modules/command_send.sh +++ b/lgsm/modules/command_send.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_send.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Send command to the server tmux console. diff --git a/lgsm/modules/command_skeleton.sh b/lgsm/modules/command_skeleton.sh index 48a6bd187..ca32610e9 100644 --- a/lgsm/modules/command_skeleton.sh +++ b/lgsm/modules/command_skeleton.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_skeleton.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Creates an copy of a game servers directorys. diff --git a/lgsm/modules/command_sponsor.sh b/lgsm/modules/command_sponsor.sh index ea49a3099..e7aeeda95 100755 --- a/lgsm/modules/command_sponsor.sh +++ b/lgsm/modules/command_sponsor.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_sponsor.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Shows ways to sponsor. diff --git a/lgsm/modules/command_start.sh b/lgsm/modules/command_start.sh index cca044518..c2be7ed2f 100644 --- a/lgsm/modules/command_start.sh +++ b/lgsm/modules/command_start.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_start.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Starts the server. diff --git a/lgsm/modules/command_stop.sh b/lgsm/modules/command_stop.sh index 7783cc94f..84f5998cd 100644 --- a/lgsm/modules/command_stop.sh +++ b/lgsm/modules/command_stop.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_stop.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Stops the server. diff --git a/lgsm/modules/command_test_alert.sh b/lgsm/modules/command_test_alert.sh index 15f481391..becb365a3 100644 --- a/lgsm/modules/command_test_alert.sh +++ b/lgsm/modules/command_test_alert.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_test_alert.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Sends a test alert. diff --git a/lgsm/modules/command_ts3_server_pass.sh b/lgsm/modules/command_ts3_server_pass.sh index 0223a877c..807d025b7 100644 --- a/lgsm/modules/command_ts3_server_pass.sh +++ b/lgsm/modules/command_ts3_server_pass.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_ts3_server_pass.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Changes TS3 serveradmin password. diff --git a/lgsm/modules/command_update.sh b/lgsm/modules/command_update.sh index a579cfe8e..6bb30a4c8 100644 --- a/lgsm/modules/command_update.sh +++ b/lgsm/modules/command_update.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_update.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of servers. diff --git a/lgsm/modules/command_update_linuxgsm.sh b/lgsm/modules/command_update_linuxgsm.sh index 4358b626c..e6e5e711d 100644 --- a/lgsm/modules/command_update_linuxgsm.sh +++ b/lgsm/modules/command_update_linuxgsm.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_update_linuxgsm.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Deletes the modules dir to allow re-downloading of modules from GitHub. diff --git a/lgsm/modules/command_validate.sh b/lgsm/modules/command_validate.sh index d3511d7bb..e35749924 100644 --- a/lgsm/modules/command_validate.sh +++ b/lgsm/modules/command_validate.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_validate.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Runs a server validation. diff --git a/lgsm/modules/command_wipe.sh b/lgsm/modules/command_wipe.sh index 378dae0ec..daf9270e6 100644 --- a/lgsm/modules/command_wipe.sh +++ b/lgsm/modules/command_wipe.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_backup.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Wipes server data, useful after updates for some games like Rust. diff --git a/lgsm/modules/compress_unreal2_maps.sh b/lgsm/modules/compress_unreal2_maps.sh index f67ac7010..4469aca40 100644 --- a/lgsm/modules/compress_unreal2_maps.sh +++ b/lgsm/modules/compress_unreal2_maps.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM compress_unreal2_maps.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Compresses unreal maps. diff --git a/lgsm/modules/compress_ut99_maps.sh b/lgsm/modules/compress_ut99_maps.sh index 51bbd386a..23a93b3b7 100644 --- a/lgsm/modules/compress_ut99_maps.sh +++ b/lgsm/modules/compress_ut99_maps.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM compress_ut99_maps.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Compresses unreal maps. diff --git a/lgsm/modules/core_dl.sh b/lgsm/modules/core_dl.sh index 908c90f38..dde24d9da 100644 --- a/lgsm/modules/core_dl.sh +++ b/lgsm/modules/core_dl.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_dl.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Deals with all downloads for LinuxGSM. diff --git a/lgsm/modules/core_exit.sh b/lgsm/modules/core_exit.sh index 989a4c543..fd7645462 100644 --- a/lgsm/modules/core_exit.sh +++ b/lgsm/modules/core_exit.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_exit.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles exiting of LinuxGSM by running and reporting an exit code. diff --git a/lgsm/modules/core_getopt.sh b/lgsm/modules/core_getopt.sh index cd3e57cb5..688dcdc9c 100644 --- a/lgsm/modules/core_getopt.sh +++ b/lgsm/modules/core_getopt.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_getopt.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: getopt arguments. diff --git a/lgsm/modules/core_github.sh b/lgsm/modules/core_github.sh index 402ee078c..3b3a96c0f 100644 --- a/lgsm/modules/core_github.sh +++ b/lgsm/modules/core_github.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_github.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: core module file for updates via github diff --git a/lgsm/modules/core_legacy.sh b/lgsm/modules/core_legacy.sh index cf11e3a54..4c9a55c39 100644 --- a/lgsm/modules/core_legacy.sh +++ b/lgsm/modules/core_legacy.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_legacy.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Code for backwards compatability with older versions of LinuxGSM. diff --git a/lgsm/modules/core_logs.sh b/lgsm/modules/core_logs.sh index 3166041ae..7b435b563 100644 --- a/lgsm/modules/core_logs.sh +++ b/lgsm/modules/core_logs.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_logs.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Acts as a log rotator, removing old logs. diff --git a/lgsm/modules/core_messages.sh b/lgsm/modules/core_messages.sh index 52129dc4b..80ef293d8 100644 --- a/lgsm/modules/core_messages.sh +++ b/lgsm/modules/core_messages.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_messages.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Defines on-screen messages such as [ OK ] and how script logs look. diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh index abd9fe423..7726559cc 100644 --- a/lgsm/modules/core_modules.sh +++ b/lgsm/modules/core_modules.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_modules.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Defines all modules to allow download and execution of modules using fn_fetch_module. # This module is called first before any other module. Without this file other modules will not load. diff --git a/lgsm/modules/core_steamcmd.sh b/lgsm/modules/core_steamcmd.sh index 326fecf70..552ff1905 100644 --- a/lgsm/modules/core_steamcmd.sh +++ b/lgsm/modules/core_steamcmd.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_steamcmd.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Core modules for SteamCMD diff --git a/lgsm/modules/core_trap.sh b/lgsm/modules/core_trap.sh index ea6fce869..4b66b3937 100644 --- a/lgsm/modules/core_trap.sh +++ b/lgsm/modules/core_trap.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM core_trap.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles CTRL-C trap to give an exit code. diff --git a/lgsm/modules/fix.sh b/lgsm/modules/fix.sh index 6335659f1..f9628a335 100644 --- a/lgsm/modules/fix.sh +++ b/lgsm/modules/fix.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Overall module for managing fixes. # Runs modules that will fix an issue. diff --git a/lgsm/modules/fix_ark.sh b/lgsm/modules/fix_ark.sh index 03e53380f..366d137dd 100644 --- a/lgsm/modules/fix_ark.sh +++ b/lgsm/modules/fix_ark.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_ark.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with ARK: Survival Evolved. diff --git a/lgsm/modules/fix_arma3.sh b/lgsm/modules/fix_arma3.sh index b415b81d6..66f5ebe5d 100644 --- a/lgsm/modules/fix_arma3.sh +++ b/lgsm/modules/fix_arma3.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_arma3.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with ARMA3. diff --git a/lgsm/modules/fix_armar.sh b/lgsm/modules/fix_armar.sh index ae2c08f33..c2bb8fbdb 100755 --- a/lgsm/modules/fix_armar.sh +++ b/lgsm/modules/fix_armar.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_armar.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Arma Reforger. diff --git a/lgsm/modules/fix_av.sh b/lgsm/modules/fix_av.sh index bfff59af6..ea225810c 100644 --- a/lgsm/modules/fix_av.sh +++ b/lgsm/modules/fix_av.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_av.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Avorion. diff --git a/lgsm/modules/fix_bo.sh b/lgsm/modules/fix_bo.sh index 24e76874e..5d74f27de 100644 --- a/lgsm/modules/fix_bo.sh +++ b/lgsm/modules/fix_bo.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_hw.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Ballistic Overkill. diff --git a/lgsm/modules/fix_bt.sh b/lgsm/modules/fix_bt.sh index 4d837a1ba..51fc3d505 100755 --- a/lgsm/modules/fix_bt.sh +++ b/lgsm/modules/fix_bt.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_bt.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Barotrauma. diff --git a/lgsm/modules/fix_cmw.sh b/lgsm/modules/fix_cmw.sh index a57c6c8cb..413bfbc33 100644 --- a/lgsm/modules/fix_cmw.sh +++ b/lgsm/modules/fix_cmw.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_cmw.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Chivalry: Medieval Warfare. diff --git a/lgsm/modules/fix_csgo.sh b/lgsm/modules/fix_csgo.sh index ea858ee3c..8f5550ab5 100644 --- a/lgsm/modules/fix_csgo.sh +++ b/lgsm/modules/fix_csgo.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_csgo.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Counter-Strike: Global Offensive. diff --git a/lgsm/modules/fix_dst.sh b/lgsm/modules/fix_dst.sh index ff963d342..2848fa5bb 100644 --- a/lgsm/modules/fix_dst.sh +++ b/lgsm/modules/fix_dst.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_dst.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Don't Starve Together. diff --git a/lgsm/modules/fix_hw.sh b/lgsm/modules/fix_hw.sh index 0e70b7195..c7d209bb6 100644 --- a/lgsm/modules/fix_hw.sh +++ b/lgsm/modules/fix_hw.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_hw.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Hurtworld. diff --git a/lgsm/modules/fix_ins.sh b/lgsm/modules/fix_ins.sh index cc79e3685..1d1423c6b 100644 --- a/lgsm/modules/fix_ins.sh +++ b/lgsm/modules/fix_ins.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_ins.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Insurgency. diff --git a/lgsm/modules/fix_kf.sh b/lgsm/modules/fix_kf.sh index e38b5883a..00b99e06c 100644 --- a/lgsm/modules/fix_kf.sh +++ b/lgsm/modules/fix_kf.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_kf.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Killing Floor. diff --git a/lgsm/modules/fix_kf2.sh b/lgsm/modules/fix_kf2.sh index cb4707414..495e9d70e 100644 --- a/lgsm/modules/fix_kf2.sh +++ b/lgsm/modules/fix_kf2.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_kf2.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Killing Floor 2. diff --git a/lgsm/modules/fix_mcb.sh b/lgsm/modules/fix_mcb.sh index 1e95bb4a8..bc84d84e1 100644 --- a/lgsm/modules/fix_mcb.sh +++ b/lgsm/modules/fix_mcb.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_mcb.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves various issues with Minecraft Bedrock. diff --git a/lgsm/modules/fix_mta.sh b/lgsm/modules/fix_mta.sh index 4e533eb51..2fff69691 100644 --- a/lgsm/modules/fix_mta.sh +++ b/lgsm/modules/fix_mta.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_mta.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves various issues with Multi Theft Auto. diff --git a/lgsm/modules/fix_nmrih.sh b/lgsm/modules/fix_nmrih.sh index dfbb76d92..4eb76c24e 100644 --- a/lgsm/modules/fix_nmrih.sh +++ b/lgsm/modules/fix_nmrih.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_nmrih.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Create symlinks for renamed No More Room In Hell serverfiles. # Solution from Steam Community post: https://steamcommunity.com/app/224260/discussions/2/1732089092441769414/ diff --git a/lgsm/modules/fix_onset.sh b/lgsm/modules/fix_onset.sh index 7d644ef7b..6430e5d6b 100644 --- a/lgsm/modules/fix_onset.sh +++ b/lgsm/modules/fix_onset.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_onset.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves various issues with Onset. diff --git a/lgsm/modules/fix_pvr.sh b/lgsm/modules/fix_pvr.sh index 6d8727e33..e4409bc37 100644 --- a/lgsm/modules/fix_pvr.sh +++ b/lgsm/modules/fix_pvr.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_pvr.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves various issues with Pavlov VR. diff --git a/lgsm/modules/fix_ro.sh b/lgsm/modules/fix_ro.sh index 21663a9ea..8b9bee442 100644 --- a/lgsm/modules/fix_ro.sh +++ b/lgsm/modules/fix_ro.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_ro.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Red Orchestra: Ostfront 41-45. diff --git a/lgsm/modules/fix_rust.sh b/lgsm/modules/fix_rust.sh index 809b5b1df..af995a2fa 100644 --- a/lgsm/modules/fix_rust.sh +++ b/lgsm/modules/fix_rust.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_rust.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Rust. diff --git a/lgsm/modules/fix_rw.sh b/lgsm/modules/fix_rw.sh index 17acf4def..dee15dedb 100644 --- a/lgsm/modules/fix_rw.sh +++ b/lgsm/modules/fix_rw.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_rw.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Rising World. diff --git a/lgsm/modules/fix_samp.sh b/lgsm/modules/fix_samp.sh index 0b5d0ab22..e193485d7 100644 --- a/lgsm/modules/fix_samp.sh +++ b/lgsm/modules/fix_samp.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_sfc.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issue that the default rcon password is not changed. diff --git a/lgsm/modules/fix_sdtd.sh b/lgsm/modules/fix_sdtd.sh index 7988b0d67..2b4620687 100644 --- a/lgsm/modules/fix_sdtd.sh +++ b/lgsm/modules/fix_sdtd.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_sdtd.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with 7 Days to Die. diff --git a/lgsm/modules/fix_sfc.sh b/lgsm/modules/fix_sfc.sh index 308f74b24..70e5d0484 100644 --- a/lgsm/modules/fix_sfc.sh +++ b/lgsm/modules/fix_sfc.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_sfc.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Source Forts Classic. diff --git a/lgsm/modules/fix_sm.sh b/lgsm/modules/fix_sm.sh index 1d72a48bf..d75ca8c78 100644 --- a/lgsm/modules/fix_sm.sh +++ b/lgsm/modules/fix_sm.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_sm.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Unturned. diff --git a/lgsm/modules/fix_sof2.sh b/lgsm/modules/fix_sof2.sh index 4e5b13624..45e3b299c 100644 --- a/lgsm/modules/fix_sof2.sh +++ b/lgsm/modules/fix_sof2.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_rust.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Soldier of Fortune 2. diff --git a/lgsm/modules/fix_squad.sh b/lgsm/modules/fix_squad.sh index 2fec57f0e..b9ee76a8d 100644 --- a/lgsm/modules/fix_squad.sh +++ b/lgsm/modules/fix_squad.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_squad.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Squad. diff --git a/lgsm/modules/fix_st.sh b/lgsm/modules/fix_st.sh index 4d100c6fc..bbd9890bd 100644 --- a/lgsm/modules/fix_st.sh +++ b/lgsm/modules/fix_st.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_rust.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Stationeers. diff --git a/lgsm/modules/fix_steamcmd.sh b/lgsm/modules/fix_steamcmd.sh index 2a2076072..0ba5c85b2 100644 --- a/lgsm/modules/fix_steamcmd.sh +++ b/lgsm/modules/fix_steamcmd.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_steamcmd.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with SteamCMD. diff --git a/lgsm/modules/fix_terraria.sh b/lgsm/modules/fix_terraria.sh index dc734b6fd..0d45e257f 100644 --- a/lgsm/modules/fix_terraria.sh +++ b/lgsm/modules/fix_terraria.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_terraria.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Terraria. diff --git a/lgsm/modules/fix_tf2.sh b/lgsm/modules/fix_tf2.sh index fe7de8278..105026488 100644 --- a/lgsm/modules/fix_tf2.sh +++ b/lgsm/modules/fix_tf2.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_tf2.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Team Fortress 2. diff --git a/lgsm/modules/fix_ts3.sh b/lgsm/modules/fix_ts3.sh index 5c80aa15e..0f081cb37 100644 --- a/lgsm/modules/fix_ts3.sh +++ b/lgsm/modules/fix_ts3.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_ts3.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Teamspeak 3. diff --git a/lgsm/modules/fix_unt.sh b/lgsm/modules/fix_unt.sh index 9afdce337..dbe64ffd6 100644 --- a/lgsm/modules/fix_unt.sh +++ b/lgsm/modules/fix_unt.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_rust.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Unturned. diff --git a/lgsm/modules/fix_ut.sh b/lgsm/modules/fix_ut.sh index ded65ddad..3da5c068c 100644 --- a/lgsm/modules/fix_ut.sh +++ b/lgsm/modules/fix_ut.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_ut.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Unreal Tournament. diff --git a/lgsm/modules/fix_ut2k4.sh b/lgsm/modules/fix_ut2k4.sh index 5da1eee12..4b9d35011 100644 --- a/lgsm/modules/fix_ut2k4.sh +++ b/lgsm/modules/fix_ut2k4.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_ut2k4.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Unreal Tournament 2004. diff --git a/lgsm/modules/fix_ut3.sh b/lgsm/modules/fix_ut3.sh index 386833efc..aa5c5e464 100644 --- a/lgsm/modules/fix_ut3.sh +++ b/lgsm/modules/fix_ut3.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_ut2.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Unreal Tournament 3. diff --git a/lgsm/modules/fix_wurm.sh b/lgsm/modules/fix_wurm.sh index b6f5762f5..6f17ccd76 100644 --- a/lgsm/modules/fix_wurm.sh +++ b/lgsm/modules/fix_wurm.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_wurm.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Wurm Unlimited. diff --git a/lgsm/modules/fix_xnt.sh b/lgsm/modules/fix_xnt.sh index 218b99a66..44b51c5de 100644 --- a/lgsm/modules/fix_xnt.sh +++ b/lgsm/modules/fix_xnt.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_xnt.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Install Xonotic Default Config diff --git a/lgsm/modules/fix_zmr.sh b/lgsm/modules/fix_zmr.sh index a88d82f34..5b42eeccf 100644 --- a/lgsm/modules/fix_zmr.sh +++ b/lgsm/modules/fix_zmr.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM fix_sfc.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Resolves issues with Zombie Master: Reborn. diff --git a/lgsm/modules/info_distro.sh b/lgsm/modules/info_distro.sh index adcdb759b..0813554dc 100644 --- a/lgsm/modules/info_distro.sh +++ b/lgsm/modules/info_distro.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM info_distro.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Variables providing useful info on the Operating System such as disk and performace info. # Used for command_details.sh, command_debug.sh and alert.sh. @@ -29,8 +29,8 @@ kernel="$(uname -r)" # Kernel e.g. 2.6.32-042stab120.16 distro_info_array=(os-release lsb_release hostnamectl debian_version redhat-release) for distro_info in "${distro_info_array[@]}"; do if [ -f "/etc/os-release" ] && [ "${distro_info}" == "os-release" ]; then - distroname="$(grep "PRETTY_NAME" /etc/os-release | awk -F= '{gsub(/"/,"",$2);print $2}')" # e.g. Ubuntu 22.04.3 LTS - distroversion="$(grep "VERSION_ID" /etc/os-release | awk -F= '{gsub(/"/,"",$2);print $2}')" # e.g. 22.04 + distroname="$(grep "PRETTY_NAME" /etc/os-release | awk -F= '{gsub(/"/,"",$2);print $2}')" # e.g. Ubuntu 22.04.3 LTS + distroversion="$(grep "VERSION_ID" /etc/os-release | awk -F= '{gsub(/"/,"",$2);print $2}')" # e.g. 22.04 distroid="$(grep "ID=" /etc/os-release | grep -v _ID | awk -F= '{gsub(/"/,"",$2);print $2}')" # e.g. ubuntu distroidlike="$(grep "ID_LIKE=" /etc/os-release | grep -v _ID | awk -F= '{gsub(/"/,"",$2);print $2}')" # e.g. debian distrocodename="$(grep "VERSION_CODENAME" /etc/os-release | awk -F= '{gsub(/"/,"",$2);print $2}')" # e.g. jammy diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 8496f078f..a9d9834b0 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM info_game.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Gathers various game server information. # !Note: When adding variables to this script, ensure that they are also added to the command_dev_parse_game_details.sh script. diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 7f40c8312..ff4b5d870 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM info_messages.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Defines server info messages for details and alerts. diff --git a/lgsm/modules/info_stats.sh b/lgsm/modules/info_stats.sh index dcc247b59..c8a96552a 100644 --- a/lgsm/modules/info_stats.sh +++ b/lgsm/modules/info_stats.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM info_stats.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Collect optional Stats sent to LinuxGSM project. # Uses Google analytics. diff --git a/lgsm/modules/install_complete.sh b/lgsm/modules/install_complete.sh index 5a9873067..0ee01954a 100644 --- a/lgsm/modules/install_complete.sh +++ b/lgsm/modules/install_complete.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_complete.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Prints installation completion message and hints. diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 96ae70654..1517812c1 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_config.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Creates default server configs. diff --git a/lgsm/modules/install_dst_token.sh b/lgsm/modules/install_dst_token.sh index 89ec00a90..fd0b4727b 100644 --- a/lgsm/modules/install_dst_token.sh +++ b/lgsm/modules/install_dst_token.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_dst_token.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Configures Don't Starve Together cluster with given token. diff --git a/lgsm/modules/install_eula.sh b/lgsm/modules/install_eula.sh index 7f7f95f35..272ff205a 100644 --- a/lgsm/modules/install_eula.sh +++ b/lgsm/modules/install_eula.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_eula.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Gets user to accept the EULA. diff --git a/lgsm/modules/install_factorio_save.sh b/lgsm/modules/install_factorio_save.sh index 589a9d8ed..5dfb4758c 100644 --- a/lgsm/modules/install_factorio_save.sh +++ b/lgsm/modules/install_factorio_save.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_factorio_save.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Creates the initial save file for Factorio. diff --git a/lgsm/modules/install_gslt.sh b/lgsm/modules/install_gslt.sh index aa8d89d33..960b1e20c 100644 --- a/lgsm/modules/install_gslt.sh +++ b/lgsm/modules/install_gslt.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_gslt.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Configures GSLT. diff --git a/lgsm/modules/install_header.sh b/lgsm/modules/install_header.sh index a7f1f9ddb..8fad78d2c 100644 --- a/lgsm/modules/install_header.sh +++ b/lgsm/modules/install_header.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_header.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Prints installation header. diff --git a/lgsm/modules/install_logs.sh b/lgsm/modules/install_logs.sh index 294bc1e46..3e522a082 100644 --- a/lgsm/modules/install_logs.sh +++ b/lgsm/modules/install_logs.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_logs.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Creates log directories. diff --git a/lgsm/modules/install_mta_resources.sh b/lgsm/modules/install_mta_resources.sh index bafdbdbf1..f13c39abd 100644 --- a/lgsm/modules/install_mta_resources.sh +++ b/lgsm/modules/install_mta_resources.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_mta_resources.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Installs the libmysqlclient for database functions on the server and optionally installs default resources required to run the server. diff --git a/lgsm/modules/install_retry.sh b/lgsm/modules/install_retry.sh index 1fc4bf36a..71417a73f 100644 --- a/lgsm/modules/install_retry.sh +++ b/lgsm/modules/install_retry.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_retry.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Asks for installation retry after failure. diff --git a/lgsm/modules/install_server_dir.sh b/lgsm/modules/install_server_dir.sh index 0703e0c54..2922f397a 100644 --- a/lgsm/modules/install_server_dir.sh +++ b/lgsm/modules/install_server_dir.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_server_dir.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Creates the server directory. diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index 7d773ce9f..33043d8b6 100644 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_server_files.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Installs server files. diff --git a/lgsm/modules/install_squad_license.sh b/lgsm/modules/install_squad_license.sh index 28f4456a5..0bb71c4a8 100644 --- a/lgsm/modules/install_squad_license.sh +++ b/lgsm/modules/install_squad_license.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_squad_license.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Configures the Squad server's license. diff --git a/lgsm/modules/install_stats.sh b/lgsm/modules/install_stats.sh index 40a13434d..fa43c280f 100644 --- a/lgsm/modules/install_stats.sh +++ b/lgsm/modules/install_stats.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_stats.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Enabled LinuxGSM Stats. diff --git a/lgsm/modules/install_steamcmd.sh b/lgsm/modules/install_steamcmd.sh index 50599ebd5..475544a6a 100644 --- a/lgsm/modules/install_steamcmd.sh +++ b/lgsm/modules/install_steamcmd.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_steamcmd.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Downloads SteamCMD on install. diff --git a/lgsm/modules/install_ts3db.sh b/lgsm/modules/install_ts3db.sh index 464bd686a..c8f90a9cf 100644 --- a/lgsm/modules/install_ts3db.sh +++ b/lgsm/modules/install_ts3db.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_ts3db.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Installs the database server MariaDB for TeamSpeak 3. diff --git a/lgsm/modules/install_ut2k4_key.sh b/lgsm/modules/install_ut2k4_key.sh index 6fbd2a838..7ffbba20c 100644 --- a/lgsm/modules/install_ut2k4_key.sh +++ b/lgsm/modules/install_ut2k4_key.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM install_ut2k4_key.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Activates ut2k4 server with given key. diff --git a/lgsm/modules/mods_core.sh b/lgsm/modules/mods_core.sh index 1b85a95b3..aa24d903f 100644 --- a/lgsm/modules/mods_core.sh +++ b/lgsm/modules/mods_core.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_mods_install.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Core modules for mods list/install/update/remove diff --git a/lgsm/modules/mods_list.sh b/lgsm/modules/mods_list.sh index ca320e468..d6622d1b2 100644 --- a/lgsm/modules/mods_list.sh +++ b/lgsm/modules/mods_list.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM mods_list.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Lists and defines available mods for LinuxGSM supported servers; works along with mods_core.sh. # Usage: To add a mod, you need to add an array variable following the guide to set proper values; diff --git a/lgsm/modules/query_gamedig.sh b/lgsm/modules/query_gamedig.sh index efac18d45..f370fae97 100644 --- a/lgsm/modules/query_gamedig.sh +++ b/lgsm/modules/query_gamedig.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM query_gamedig.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Querys a gameserver using node-gamedig. # https://github.com/gamedig/node-gamedig diff --git a/lgsm/modules/query_gsquery.py b/lgsm/modules/query_gsquery.py index 788789f0a..ecdf8165c 100644 --- a/lgsm/modules/query_gsquery.py +++ b/lgsm/modules/query_gsquery.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # LinuxGSM query_gsquery.py module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Allows querying of various game servers. diff --git a/lgsm/modules/update_fctr.sh b/lgsm/modules/update_fctr.sh index 8fb78ede3..b64812319 100644 --- a/lgsm/modules/update_fctr.sh +++ b/lgsm/modules/update_fctr.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_fctr.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Factorio servers. diff --git a/lgsm/modules/update_jk2.sh b/lgsm/modules/update_jk2.sh index e2715c01c..ed4886a48 100644 --- a/lgsm/modules/update_jk2.sh +++ b/lgsm/modules/update_jk2.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_jk2.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Jedi Knight 2 servers. diff --git a/lgsm/modules/update_mc.sh b/lgsm/modules/update_mc.sh index 40038ddeb..6ece44da4 100644 --- a/lgsm/modules/update_mc.sh +++ b/lgsm/modules/update_mc.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_mc.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Minecraft: Java Edition servers. diff --git a/lgsm/modules/update_mcb.sh b/lgsm/modules/update_mcb.sh index 7bd273d66..55b3586fd 100644 --- a/lgsm/modules/update_mcb.sh +++ b/lgsm/modules/update_mcb.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_mcb.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Minecraft Bedrock servers. diff --git a/lgsm/modules/update_mta.sh b/lgsm/modules/update_mta.sh index c6f7dfcb0..b93dc9af1 100644 --- a/lgsm/modules/update_mta.sh +++ b/lgsm/modules/update_mta.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_mta.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Multi Theft Auto servers. diff --git a/lgsm/modules/update_pmc.sh b/lgsm/modules/update_pmc.sh index 5d44bee21..b3c7d0dc2 100644 --- a/lgsm/modules/update_pmc.sh +++ b/lgsm/modules/update_pmc.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_pmc.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of PaperMC and Waterfall servers. diff --git a/lgsm/modules/update_steamcmd.sh b/lgsm/modules/update_steamcmd.sh index 20a85ab93..ccc8d6b36 100644 --- a/lgsm/modules/update_steamcmd.sh +++ b/lgsm/modules/update_steamcmd.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_steamcmd.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating using SteamCMD. diff --git a/lgsm/modules/update_ts3.sh b/lgsm/modules/update_ts3.sh index 1fa77f428..30ddf2801 100644 --- a/lgsm/modules/update_ts3.sh +++ b/lgsm/modules/update_ts3.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_ts3.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Teamspeak 3 servers. diff --git a/lgsm/modules/update_ut99.sh b/lgsm/modules/update_ut99.sh index 6d0be1941..cb74ec3b7 100644 --- a/lgsm/modules/update_ut99.sh +++ b/lgsm/modules/update_ut99.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_ut99.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Unreal Tournament 99 servers. diff --git a/lgsm/modules/update_vints.sh b/lgsm/modules/update_vints.sh index 403917e0c..2f7f857a1 100644 --- a/lgsm/modules/update_vints.sh +++ b/lgsm/modules/update_vints.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM update_vints.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Vintage Story servers. diff --git a/lgsm/modules/update_xnt.sh b/lgsm/modules/update_xnt.sh index d935e3989..f2cdbe324 100644 --- a/lgsm/modules/update_xnt.sh +++ b/lgsm/modules/update_xnt.sh @@ -1,7 +1,7 @@ #!/bin/bash # LinuxGSM command_ut99.sh module # Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib +# Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com # Description: Handles updating of Unreal Tournament 99 servers. From 4446e79d78b655d79db4d9d0333753af391d00b3 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 21:58:44 +0100 Subject: [PATCH 23/31] feat(ut3): Update the UT3 archive to have OpenSpy fix (#4657) --- lgsm/config-default/config-lgsm/ut3server/_default.cfg | 4 ++-- lgsm/modules/install_server_files.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg index 1088d1f0c..22817e40c 100644 --- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg @@ -22,8 +22,8 @@ usesstats="false" shouldadvertise="true" pureserver="1" allowjoininprogress="true" -# Required: GameSpy Username and password -# https://docs.linuxgsm.com/game-servers/unreal-tournament-3#server-gamespy-login +# Required: OpenSpy Username and password +# https://docs.linuxgsm.com/game-servers/unreal-tournament-3#server-openspy-login gsusername="" gspassword="" diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index 33043d8b6..baa18aef7 100644 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -193,13 +193,13 @@ fn_install_server_files() { force="noforce" md5="41dd92015713a78211eaccf503b72393" elif [ "${shortname}" == "ut3" ]; then - remote_fileurl="http://linuxgsm.download/UnrealTournament3/UT3-linux-server-2.1.tar.xz" + remote_fileurl="http://linuxgsm.download/UnrealTournament3/UT3-linux-server-2.1-openspy.tar.xz" local_filedir="${tmpdir}" - local_filename="UT3-linux-server-2.1.tar.xz" + local_filename="UT3-linux-server-2.1-openspy.tar.xz" chmodx="nochmodx" run="norun" force="noforce" - md5="8876cca61e3f83ea08db25208bde6ac6" + md5="f60b745613a8676666eb6a2450cbdc8e" elif [ "${shortname}" == "vs" ]; then remote_fileurl="http://linuxgsm.download/VampireSlayer/vs_l-6.0_full.tar.xz" local_filedir="${tmpdir}" From 2651c31695896ee577aaa82e1eb3e76c8977fe6d Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 22:06:12 +0100 Subject: [PATCH 24/31] add xnt icon --- lgsm/data/gameicons/xnt-icon.png | Bin 0 -> 6828 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lgsm/data/gameicons/xnt-icon.png diff --git a/lgsm/data/gameicons/xnt-icon.png b/lgsm/data/gameicons/xnt-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f230eb407b9b936e571746c6ccf36baaacea2e3c GIT binary patch literal 6828 zcmeHLc{o(<`yUh`TP0blX-bIMhglj+mYD2IA&N0`FflXCjK;2%BqhWvOP17>5``p7 zs3g556h+C_8xm64mwtzOtM~eSuj_Zc*Y*4U*UWY1oO3^)`}5rQ=f0okI%i^RtW2dO zlq4V!h!n-l*bY2H7mpR9;4e2g_zQTt8|>i3v!n8%ejK(Z!xw<^g8Tp|5XkU^Kmt3M zHn!6DpeyG4*KCgz-b;wvS3$?W9E&zgFCS5bRhnk5_>eUzxnccT#WF3sn{9M=pw2U9 zi>WeNZG%6=s3^F%XHAoOQF>*P(!5xfwMcau@R!Gyr?PF%HqsH(=o2Y<*3Un~PvTCl z*!PgyH0P3cMe7AJKO}8ac(&LdK_6VIUQU#HjLP;}r6!ud#)K|!6g}|AWs?$tRge24 zch1>%!-e5NNT^VIsk78_?5Ai5MCd5P$jF9bWb}77U=A5!3A$$Y3{>je?CWH~D^iTY2yF_4^jO3Hu+{a6>!q z)xW4%@${44WdAywPg_MoVg5;j$4n}BkSiF28Iv(b^0#Q*@4tUWbYJ{b!cftl?2K4x zNix=(Zuj~A4v!lzYdK=Yi8-sD%0{o*og2DosOWA`Z1LW_8*RGNk|IG&)h7XIeaC6y z;#)Qu?vw%?+&39s-FYHr&2T+=juxj+L8Q6@D2`UPgnVM3*w-UnooP{n8h8y^k#aZR zS(@-b`|`AaR||Tj!|%kqBSZ^IN~=2{@AN2zw{AAcp~|FOU2kaz$&|eo+L^^`h*xQ_ zwpU+sXc9XkP(kq|zZBlCx;f!L1EF8O`j>Kdx9kc9jgZd1&Z=`&^C5!PE*XJ2r$Qoi zStr1PCZGt7cHfPJu)11;ExMx?{^^(4rFB#?j!@Tky0rZ0<23e<%y@shynMKclx zU4rm@bYV`GHc%rr2Y})bI0OoA6394+f$2#=$sD>T$RiG5stpf6%kI-&FwhKn7C%kZ1%7$z&pb_2BYM4uT}#1Nx61TnBKGBJBV!JAgw2 zOb!Ap-sWE^=(HdHegPccrF7^tB;X4$K`0lT75$GXO(~W(KRgyC@M19imb^f*|AFK& zJb#MykJuJRmeTn(5YYVx??2Fg=e`66QI?h@V>T^dF+7T~E^Kjr5}i$B&`C>|fCmll z;R#j(N6;q1ades|+ye{H;b=4#Pw?=-;&iZtU#KW7E|1Eh0gF^1If4Q5-~gO9P1{o& zt^??x;W(l;9!?~n=x_`k&<4=jcpVx6_X~wJhXHma)%Vw^7OChU6&g01h}FRoe}eV^94^?4i>zoA z;=3e^g&~3IfYMSII~62Y@&L0T8F2tAkIivlvwd}8i$OsbJ%0>af(wdH4!C_eEe7=aW&^h_a3@6m*b2Yv1;+Z{ z{Cuy&e{%{b^!FtHO5fjd{g&%rDe$krzq{+VT>naee+B;CUH@-#N&I}70$AV^5FdP1 zits;N016suW%$&Iph~(h=5IRPY^VWv{+?)Fw%H@#%?<1e8S%UQ}wBI$YDO zc<*_WXLdsgW1oeOw-iG;gJckNlwe80SddeXQqoI}PFg}~AGYYMyG}PR0-V_{J7rva zD4N5a$rAxj2RE*Q3BS#$!d4UcBdOf*>aNMmuIccINaSq(v>k_9>!Q{Zo$WfloUaI@JOB2o8<@O;$!YkJ+@*%h0iN@ zl0BvrHayx}QPCQ}Wmb+dHhr}gdRv))G$in~oZiCgqPI4m@mCxX<^2OU_#)fn6`(tw zBxJ}QI_6jAzIQ0^jQ{ZPD{ejf~{tN zZL*L_Q>z)N4$1Joe?ld&@BU<%yi7GLa;W~;!q_u6%n^gO{i-KxcV@ND6{~HC;0=vf zRCmqZjqNhod*q?R8u|fJ$TV?{;E#>Xg&c6uF{G^A z8kdYAm1*nywUb#%#O?mhQ8#H+LNXuh2f76goj0gWW}=TFE8lLxlPJo{8r$zzOe0h)_%8+ z(DDSqXRm}aJ?)Lj%NU!JPUTqwt^;zReR0AQt;zo8nXzB>rZ(}D0sk9UvyMGm|2%ni z`cjARoJU4!n`fFezR3UcOv{(RF00nA-sMfPS+?b^f$qa1Ln$K~8V&sFG5u=K>`QW~ z$1RNJ84yz9N)e80jLiDYfSClQ}KCRZ4A6uEJ$4nd?_V^;Uf(NX;C}b&b1l zd~1e7!CpiWHY3U_U0H8s==cC&qzV)0`ZHZv%^evdcjVGKIugWv{@~_pDUT0Sv2Xku zy8BRF&<1H0)>gd)PZvwY1a%xg`sIG*Eg5Z74bdV_8tW+P1(t?(hR>o7vPP9R-MXw^ zpGl~)RE4RXYG~vOt9}-4bu_(8z!b%gp&l)iyji{~TJR9J{5GQ2e)s2fH&;~#Uk3!j zUx%DtJPrv87kzPFLxMfl#~Dx=ES)lWwWai&LEXKRYU?jNxR>-;(jl7ECGMT~vCe(4 zoRwkEx^0T-jp6UF6UX!N9p4hCUUY;ig&3-kr_rUolEZmfS$`S(=nHnCmCP~g zC{**PM4fGlo7coOH#bujIUJ@un&K%}wSbw|XCAqCzenv77--;x5KlKhUDDl}J*0+`=Lv%_DPXo4_h6@C;2d$FT%^zl)s_4CCZL!vJz%y>nJxYC%|-w6 zf~^!yJug+E)f%|)pjy}(OPZ>$U8!NCO_YJRGPC zFhEnc8C+&4^5mR(X;{qWlwO_-V?>K*L+sk|be&nUd%5vaiOU>BlWS11EobG$Iky~lP@mU?U{v}Bh1tC?K_30v0Cab&8ueRk}+my znvb5>OY$UdvMsfoy!j>LF9q|LYl7BKxrz#Mau`a6E0zgU3C-A8r|U&0;$)=Hq`Mh_ zB;JBTb1oe@@L|+@P}7yO{Y;yBjQ8=oCzN=6h!MXVhuc*tdas$lIQvZcmPuJyCgsM{ zEnR&zqnM9pNr+1^gHkrGwni`|j~1niehtH4_$6P6MGCwFBSr9>kA4GXgAFDZdvWU* z1c6%0B2|U2x!Kd#U-EZJ;~sP(auJ$HByEbL*~~8ccky z7w2IAsV`V3A+pUT!wJ@ysJy05(Z=~YMCYr>Ikkn=K4n?mO#T@QMlLPkel_8Uw(j0) znL+V3ZJy4H>N5(JMpU)iE&eBB$HD)D`mlr|$HdX*>pkW!ZpIvzdR%INq^|Nrvwg&I z&GnaRtP(+d0O;2T`hS^?Csnt{vR_?g%K(kaBmMm(eRtSrgRbH`Q(C(} zMA(WuPPRWDxSchc=j2$Ssoj#$%=;LE4Pcd#9bQ+&=Fg>nTp`X5kIn7360&i*AzC`3 zD!|<}s>;}2lEowI6d$Y$JKgutnH)4SpF3M6A2Aae+Uy9USxbx)o%Oz|UTkQaEcO@{ z%eq|29Cq{alIU`o<)6QxJJfR9-$bgFKivIVa#Gl4Y%-b<{#L=2MbdG}^C1OPgx7c* zJD=KkZjNs~9fo9>zlbU%k1a1!fd4hHrGbLa`wb5^oa#R3Xw`V)rpoN#oz$QUPaZ@c95a<6=aCxu6PeXb3ru!h+{P;{ zF7?q9k6F*&`92}%+HxyGsK(9ximUFHTNw4LF+`<+?z?1-~_(XY<^8WLQq~;}4ul@zW;P+Q-wM^(SR6OjY9B zrrQn>(UrsRdJV>zK7S~91@B`4YU6W}!jNO4VshmS)AM67r>$;&xj7yc=QHvePp&N& z&80h+jA~H7R+rNt6PmUvCaZ1#JQ+~6-t5$ViANW9Z>66%d#Ry+sAWBE7k9!(Q21xU rzK%hSSF7yyyA?f+rKgm!(if^VBG7_in%y|~+zFwWSQ!@>x<~#Gf2SZ= literal 0 HcmV?d00001 From 6849815acd53de6216bed470215f5de7cdce89e6 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 22:10:40 +0100 Subject: [PATCH 25/31] add missing sm --- lgsm/data/debian-13.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/lgsm/data/debian-13.csv b/lgsm/data/debian-13.csv index af262abb6..5ddb19405 100644 --- a/lgsm/data/debian-13.csv +++ b/lgsm/data/debian-13.csv @@ -105,6 +105,7 @@ scpslsm,mono-complete sdtd,telnet,expect,libxml2-utils sf sfc,libtinfo5:i386 +sm,telnet,expect sof2 sol squad From 5ebeb1379b9c5a9340fb70c04fa9c558dc324abc Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 22:12:50 +0100 Subject: [PATCH 26/31] remove mom icon --- lgsm/data/gameicons/mom-icon.png | Bin 3025 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lgsm/data/gameicons/mom-icon.png diff --git a/lgsm/data/gameicons/mom-icon.png b/lgsm/data/gameicons/mom-icon.png deleted file mode 100644 index 317b6010a9e19865cb56eb507aef10d03ce9ece6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3025 zcmV;?3oi7DP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY4%h$y4%h()NRg%h000McNliru=L!%J3Lm#W z;+y~g3cyK3K~zY`1;J^IT=zi$@c;4d_vT%5?Hqf}uGhOhcJ0(hoThP2jGLxSgVI1l zA%Sm20xE&}p;YhzA&P{6N+2~VNr|XbTNM#bDx$_}qPWevwqtwkt=Hbed(H05&OP(q zn|Gi5e(>9$pUE&rD+C^;NcKPk&?SW!#V83lnhR{7VVIaC`kp1Q02Qw1w8|@T5{Pv2WUn3sZrpDZJfRyw z5EF(uND`Yuz!(go(CzvOqa|&xE-`ju=ul)hghGcLxTfCgN*tj|JdGiPXh;i9%Of%= z0_5(?6w+0X0+6; z+pVZvF6%%SlytA=77CIv+~t*tFo`Hjzx%WIPrdT{hZ>vjul(zmU;m2&S7t^3`sIK3 z4t50Fba}?Y6cKRn^0&XpV-lz^DZT%aKmr{Dk1_!tj=@P}t>-R^h(1|SYPx}H+f zsJXTL{tx?4ZpIN<-uR>d1w~;7>$e~N>?#0}2eiHYEru;tE`HS=DIA_$XwV~m=obWh;#PQG`0N|~?_tWb2tMg}`yZ+9PD_?#!vTfBw0Mpa2yz!5J^d~JZ6ilE7 zaJ#oYE}lH~m;W|CSpgQbo4cRA{SS?Yw<_5~zTWI#c=5k}dGGOoQ0=*2Ss;+-=%i+q zb448nvrnJ>^?zP|=X>Af3IN-PA1S+8J_)VhvwMGk;dy`a9*``lxKJofBF=m7``h-yM#he(|Xn-jGioJM!8$Nt(X$-*3fC>_r31b?}!CsU`%bdi$d^{Tm4E)B4h-cpER{gUwa+DJW4A{)+J(6lA@3o36{Z;4?}_=J(`Iy9^*2) z0aknA(spN?#u-UWlMI=ncm#{3V#q+&33cDwUN?TUxJHtCN=m=|!J}fP^vvn`;Xp@8 zgf)URKpYQUk(P}xpm=J8W(n4kp~5g?c0abM61)pDg#$G_VY9x!N3iofKTjU51SYv4@Quo zNRh((kyCX%*w)W3jEQ`DbEpY?=E~1MURtkh>^8P+WATIQkL$+8oFin$e}2mdeeKk7 za41WW!2&TU#ymkYC|quCGfW9|K{f1zp)o1YD(q6wf6V8$9i~+`Mn||}Rv~2O_Tq!B zYHxk523Bfe2w0vCg1{A$muJei>kiw+d^0NwlA&+N-@wOF_5ye8N1=k*5(q^>z)*n1QC@(b)&0eqGbQqK zg8#YaXJeVnK#o`mm1KMKzUw8JI?6=?6E*C>qVmmyhR9Gbi6BKdzV*g8F245aD?fSr z&Gp9z6BC8d*D!z-hKfW*v5zsdB1j_kL{67zCm)A@enFl1+H3D!r*N57x>`R?3k4^d`>-g zW*)$>J1~!*IDL2V#>XFj%u*~t5QE+z41CY?C`=$v`>idHi<*)o^GCl>d8)K))LOUh z5SDAqD1`${yS4=qIUR2` z?S+A7o6vXM7{;AAIjRcBC20A5oRhCDx2}A!2P@|Pd)>K>SzDztX-gZ<&zv?q(Bco2CZa!jX}$>bG* z!@g5d<%Rjmk?C1pqL4~e%2R2OIW%{6=F~a;U|`d5ePz}5Fqh&&XVD3GCiuwlN0Ls&rJs?yhl- ze{f97s)C&27>WpN3&)9N40~;jhz-B1^^HNx=rtR=-R^emb|Ryecv^@^E^xZL2iJa6 zt=9%eB}#~p&k!)sAPfl_V~)JKwEoe0_1UKn5hj`PLZ)xTAb`6&Eyt||i1A{)*BFka z^7{`PZGWjCswhraRmv;Mcu5{=`u=|X#%lGEp4b2_4UN&Xz%-)KtW0F&{Z1oV3Df2F+eQvhbRJ64ALwa2VsJ6*AF>~g^`2fuI2@?ByubQS&=1RYjq9+1W`DhOR<0~0GP5&7BV~)Vu~?6-)Go<081iH$3e?t z{~yfTzVn^T7qS2V03~!qSaf7zbY(hYa%Ew3WdJfTGBYhPFfB1QR53R?FgZFiH7hVM zIxsLqYPRzL001R)MObuXVRU6WZEs|0W_bWIFfubOF)%GLHdHY;IxsmpGc_wPFgh?W TH8&1V00000NkvXXu0mjfy342o From e9f6836aa15ea5cb0d6633ae7b5a25191ec3ff54 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 22 Sep 2024 22:14:11 +0100 Subject: [PATCH 27/31] build(deps): bump actions/add-to-project from 1.0.1 to 1.0.2 (#4603) Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/actions/add-to-project/releases) - [Commits](https://github.com/actions/add-to-project/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: actions/add-to-project dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/add-to-project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml index fb092b649..e0b06990f 100644 --- a/.github/workflows/add-to-project.yml +++ b/.github/workflows/add-to-project.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Add to Project - uses: actions/add-to-project@v1.0.1 + uses: actions/add-to-project@v1.0.2 with: project-url: https://github.com/orgs/GameServerManagers/projects/11 github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} From 608a2fb3c33e65387840c7c66d06f830fe87975d Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 22:26:36 +0100 Subject: [PATCH 28/31] Release v24.3.0 --- lgsm/modules/core_modules.sh | 2 +- linuxgsm.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh index 7726559cc..10f6e0990 100644 --- a/lgsm/modules/core_modules.sh +++ b/lgsm/modules/core_modules.sh @@ -8,7 +8,7 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -modulesversion="v24.2.4" +modulesversion="v24.3.0" # Core diff --git a/linuxgsm.sh b/linuxgsm.sh index 0bb918c0d..8c83cdc58 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -24,7 +24,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v24.2.4" +version="v24.3.0" shortname="core" gameservername="core" commandname="CORE" From 3fadfac2d18b2785b86c9e39df7a1cb2bccb3dfc Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 22:32:57 +0100 Subject: [PATCH 29/31] remove code that is not ready --- lgsm/modules/alert_discord.sh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/lgsm/modules/alert_discord.sh b/lgsm/modules/alert_discord.sh index a447c498a..93eda8d5b 100644 --- a/lgsm/modules/alert_discord.sh +++ b/lgsm/modules/alert_discord.sh @@ -51,11 +51,6 @@ jsoninfo=$( "name": "Hostname", "value": "${HOSTNAME}", "inline": true - }, - { - "name": "Is my Game Server Online?", - "value": "https://ismygameserver.online/${querytype}/${alertip}:${queryport}", - "inline": true }, { "name": "More info", @@ -123,11 +118,6 @@ 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)", From d2bb7d1af654e828af7c6b2c698a86b992ac9754 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 22:38:01 +0100 Subject: [PATCH 30/31] fix: add check for npm --- lgsm/modules/check_gamedig.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/check_gamedig.sh b/lgsm/modules/check_gamedig.sh index b1913cf87..70aeea41b 100644 --- a/lgsm/modules/check_gamedig.sh +++ b/lgsm/modules/check_gamedig.sh @@ -5,14 +5,14 @@ # Website: https://linuxgsm.com # Description: Installs nodejs and gamedig -if [ "$(command -v node)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1)" -ge 16 ] && [ ! -f "${lgsmdir}/node_modules/gamedig/bin/gamedig.js" ]; then +if [ "$(command -v node)" ] && [ "$(command -v npm)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1)" -ge 16 ] && [ ! -f "${lgsmdir}/node_modules/gamedig/bin/gamedig.js" ]; then echo -e "" echo -e "${bold}${lightyellow}Installing Gamedig${default}" fn_script_log_info "Installing Gamedig" cd "${lgsmdir}" || exit curl -L -o package.json "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/package.json" npm install -elif [ "$(command -v node)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1)" -ge 16 ]; then +elif [ "$(command -v node)" ] && [ "$(command -v npm)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1)" -ge 16 ]; then cd "${lgsmdir}" || exit curl -s -L -o package.json "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/package.json" npm update > /dev/null 2>&1 From b510672e251f0fe03dd899b217eed8d85ec4dee6 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 22 Sep 2024 22:50:37 +0100 Subject: [PATCH 31/31] revert cp change --- lgsm/modules/install_config.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 1517812c1..f4005c6f8 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -41,15 +41,15 @@ fn_default_config_remote() { fn_script_log_info "Copying ${servercfg} config file." if [ "${config}" == "${servercfgdefault}" ]; then mkdir -p "${servercfgdir}" - cp -v --update=none "${lgsmdir}/config-default/config-game/${config}" "${servercfgfullpath}" + cp -nv "${lgsmdir}/config-default/config-game/${config}" "${servercfgfullpath}" elif [ "${shortname}" == "arma3" ] && [ "${config}" == "${networkcfgdefault}" ]; then mkdir -p "${servercfgdir}" - cp -v --update=none "${lgsmdir}/config-default/config-game/${config}" "${networkcfgfullpath}" + cp -nv "${lgsmdir}/config-default/config-game/${config}" "${networkcfgfullpath}" elif [ "${shortname}" == "dst" ] && [ "${config}" == "${clustercfgdefault}" ]; then - cp -v --update=none "${lgsmdir}/config-default/config-game/${clustercfgdefault}" "${clustercfgfullpath}" + cp -nv "${lgsmdir}/config-default/config-game/${clustercfgdefault}" "${clustercfgfullpath}" else mkdir -p "${servercfgdir}" - cp -v --update=none "${lgsmdir}/config-default/config-game/${config}" "${servercfgdir}/${config}" + cp -nv "${lgsmdir}/config-default/config-game/${config}" "${servercfgdir}/${config}" fi done fn_sleep_time