From bce3cc7ea0761b7edf47ed63874e50764afeccb7 Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Tue, 30 Aug 2016 02:43:06 -0400 Subject: [PATCH 01/75] adding Quake 2 --- Quake2/q2server | 142 +++++++++++++++++++++++++ lgsm/functions/command_install.sh | 2 +- lgsm/functions/install_server_files.sh | 2 + 3 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 Quake2/q2server diff --git a/Quake2/q2server b/Quake2/q2server new file mode 100644 index 000000000..8f84aa6c3 --- /dev/null +++ b/Quake2/q2server @@ -0,0 +1,142 @@ +#!/bin/bash +# Quake 2 +# Server Management Script +# Author: Daniel Gibbs +# Website: https://gameservermanagers.com +if [ -f ".dev-debug" ]; then + exec 5>dev-debug.log + BASH_XTRACEFD="5" + set -x +fi + +version="210516" + +#### Variables #### + +# Notification Alerts +# (on|off) + +# Email +emailalert="off" +email="email@example.com" + +# Pushbullet +# https://www.pushbullet.com/#settings +pushbulletalert="off" +pushbullettoken="accesstoken" + +# Start Variables +defaultmap="q2dm1" +ip="0.0.0.0" +port="27910" + +fn_parms(){ +parms="+set dedicated 1 +set ip ${ip} +set port ${port} +exec ${servercfg} +set deathmatch 1 +map ${defaultmap}" +} + +#### Advanced Variables #### + +# Github Branch Select +# Allows for the use of different function files +# from a different repo and/or branch. +githubuser="GameServerManagers" +githubrepo="LinuxGSM" +githubbranch="master" + +# Server Details +servicename="quake2-server" +gamename="Quake2" +engine="idtech2" + +# Directories +rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" +selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" +lockselfname=".${servicename}.lock" +lgsmdir="${rootdir}/lgsm" +functionsdir="${lgsmdir}/functions" +libdir="${lgsmdir}/lib" +filesdir="${rootdir}/serverfiles" +systemdir="${filesdir}/baseq2" +executabledir="${systemdir}" +executable="./quake2" +servercfg="${servicename}.cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" +backupdir="${rootdir}/backups" + +# Logging +logdays="7" +gamelogdir="${filesdir}/Logs" +scriptlogdir="${rootdir}/log/script" +consolelogdir="${rootdir}/log/console" +consolelogging="on" + +scriptlog="${scriptlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +emaillog="${scriptlogdir}/${servicename}-email.log" + +scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" + +##### Script ##### +# Do not edit + +# Fetches core_dl for file downloads +fn_fetch_core_dl(){ +github_file_url_dir="lgsm/functions" +github_file_url_name="${functionfile}" +filedir="${functionsdir}" +filename="${github_file_url_name}" +githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" +# If the file is missing, then download +if [ ! -f "${filedir}/${filename}" ]; then + if [ ! -d "${filedir}" ]; then + mkdir -p "${filedir}" + fi + echo -e " fetching ${filename}...\c" + # Check curl exists and use available path + curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" + for curlcmd in ${curlpaths} + do + if [ -x "${curlcmd}" ]; then + break + fi + done + # If curl exists download file + if [ "$(basename ${curlcmd})" == "curl" ]; then + curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) + if [ $? -ne 0 ]; then + echo -e "\e[0;31mFAIL\e[0m\n" + echo "${curlfetch}" + echo -e "${githuburl}\n" + exit 1 + else + echo -e "\e[0;32mOK\e[0m" + fi + else + echo -e "\e[0;31mFAIL\e[0m\n" + echo "Curl is not installed!" + echo -e "" + exit 1 + fi + chmod +x "${filedir}/${filename}" +fi +source "${filedir}/${filename}" +} + +core_dl.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_functions.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_dl.sh +core_functions.sh + +getopt=$1 +core_getopt.sh diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh index b4beceed4..6db74e805 100644 --- a/lgsm/functions/command_install.sh +++ b/lgsm/functions/command_install.sh @@ -18,7 +18,7 @@ check_deps.sh if [ "${gamename}" == "Unreal Tournament 2004" ]; then install_server_files.sh install_ut2k4_key.sh -elif [ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then +elif [ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then installer=1 install_server_files.sh elif [ -n "${appid}" ]; then diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index 4c5f33f0d..74d0793e6 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -23,6 +23,8 @@ fn_install_server_files(){ fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3045522-Linux.zip"; filedir="${lgsmdir}/tmp"; filename="UnrealTournament-Server-XAN-3045522-Linux.zip"; executecmd="noexecute" run="norun"; force="noforce"; md5="553fed5645a9fc623e92563049bf79f6" elif [ "${gamename}" == "GoldenEye: Source" ]; then fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="976cebc812cd8af01c272e97835e77ce" + elif [ "${gamename}" == "Quake 2" ]; then + fileurl="https://s3.amazonaws.com/linuxgsm/quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="0b8c7e2d51f40b56b328c69e986e7c5f" fi fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" fn_dl_extract "${filedir}" "${filename}" "${filesdir}" From 652721c37fc516855233c89e7ab9c5a48efa7d25 Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Tue, 30 Aug 2016 02:45:34 -0400 Subject: [PATCH 02/75] fix --- Quake2/q2server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Quake2/q2server b/Quake2/q2server index 8f84aa6c3..0d0d6a823 100644 --- a/Quake2/q2server +++ b/Quake2/q2server @@ -45,7 +45,7 @@ githubbranch="master" # Server Details servicename="quake2-server" -gamename="Quake2" +gamename="Quake 2" engine="idtech2" # Directories From aedf5a9881f6fb6074cb77b0317e7d6ee424df3a Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Tue, 30 Aug 2016 02:50:11 -0400 Subject: [PATCH 03/75] folder fix --- Quake2/q2server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Quake2/q2server b/Quake2/q2server index 0d0d6a823..da38e6780 100644 --- a/Quake2/q2server +++ b/Quake2/q2server @@ -57,7 +57,7 @@ functionsdir="${lgsmdir}/functions" libdir="${lgsmdir}/lib" filesdir="${rootdir}/serverfiles" systemdir="${filesdir}/baseq2" -executabledir="${systemdir}" +executabledir="${filesdir}" executable="./quake2" servercfg="${servicename}.cfg" servercfgfullpath="${servercfgdir}/${servercfg}" From c1bb94b8097d5c6768c843120543f086e1dcaf55 Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Tue, 30 Aug 2016 03:03:04 -0400 Subject: [PATCH 04/75] fix --- Quake2/q2server | 1 + lgsm/functions/info_glibc.sh | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Quake2/q2server b/Quake2/q2server index da38e6780..c548d6ecb 100644 --- a/Quake2/q2server +++ b/Quake2/q2server @@ -60,6 +60,7 @@ systemdir="${filesdir}/baseq2" executabledir="${filesdir}" executable="./quake2" servercfg="${servicename}.cfg" +servercfgdir="${systemdir}" servercfgfullpath="${servercfgdir}/${servercfg}" backupdir="${rootdir}/backups" diff --git a/lgsm/functions/info_glibc.sh b/lgsm/functions/info_glibc.sh index 40ed32cde..fa461b621 100644 --- a/lgsm/functions/info_glibc.sh +++ b/lgsm/functions/info_glibc.sh @@ -98,6 +98,9 @@ elif [ "${gamename}" == "TeamSpeak 3" ]; then elif [ "${gamename}" == "Mumble" ]; then glibcrequired="NOT REQUIRED" glibcfix="no" +elif [ "${engine}" == "idtech2" ]; then + glibcrequired="2.0" + glibcfix="no" elif [ "${engine}" == "idtech3" ]; then glibcrequired="2.0" glibcfix="no" From a97f7e96ed47286059218b0fbc966a80b33d44a3 Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Tue, 30 Aug 2016 03:10:13 -0400 Subject: [PATCH 05/75] adding Quake2 default config --- Quake2/cfg/lgsm-default.cfg | 15 +++++++++++++++ Quake2/q2server | 1 + lgsm/functions/install_config.sh | 6 ++++++ 3 files changed, 22 insertions(+) create mode 100644 Quake2/cfg/lgsm-default.cfg diff --git a/Quake2/cfg/lgsm-default.cfg b/Quake2/cfg/lgsm-default.cfg new file mode 100644 index 000000000..d59e3505f --- /dev/null +++ b/Quake2/cfg/lgsm-default.cfg @@ -0,0 +1,15 @@ +set hostname "<hostname>" +set rcon_password "<rconpassword>" +set location "The Internet" +set website "https://gameservermanagers.com/" +set deathmatch 1 +set maxclients 8 +set timelimit 30 +set fraglimit 30 + +map q2dm1 + +// to advertise your server to a public "master server" add something +// like this: +//set public 1 +//setmaster master.q2servers.com diff --git a/Quake2/q2server b/Quake2/q2server index c548d6ecb..c4ed1f481 100644 --- a/Quake2/q2server +++ b/Quake2/q2server @@ -62,6 +62,7 @@ executable="./quake2" servercfg="${servicename}.cfg" servercfgdir="${systemdir}" servercfgfullpath="${servercfgdir}/${servercfg}" +servercfgdefault="${servercfgdir}/lgsm-default.cfg" backupdir="${rootdir}/backups" # Logging diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 1aafd1602..1a1d76b00 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -383,6 +383,12 @@ elif [ "${gamename}" == "Project Zomboid" ]; then wget -N /dev/null ${githuburl}/ProjectZomboid/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq sleep 1 fn_defaultconfig +elif [ "${gamename}" == "Quake 2" ]; then + echo -e "downloading lgsm-default.cfg...\c" + wget -N /dev/null ${githuburl}/Quake2/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq + sleep 1 + fn_defaultconfig + fn_userinputconfig elif [ "${gamename}" == "Quake Live" ]; then echo -e "downloading lgsm-default.cfg...\c" wget -N /dev/null ${githuburl}/QuakeLive/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq From 2a413f411a30f2f0ae382e4f57d3a5cdc35f1d64 Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 00:50:05 -0400 Subject: [PATCH 06/75] adding QuakeWorld (nQuake) --- QuakeWorld/cfg/lgsm-default.cfg | 26 +++++ QuakeWorld/qwserver.sh | 143 +++++++++++++++++++++++++ lgsm/functions/command_install.sh | 2 +- lgsm/functions/install_server_files.sh | 2 + 4 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 QuakeWorld/cfg/lgsm-default.cfg create mode 100644 QuakeWorld/qwserver.sh diff --git a/QuakeWorld/cfg/lgsm-default.cfg b/QuakeWorld/cfg/lgsm-default.cfg new file mode 100644 index 000000000..e3da2497b --- /dev/null +++ b/QuakeWorld/cfg/lgsm-default.cfg @@ -0,0 +1,26 @@ +// server info +hostname "<hostname>" // server name shown in server browsers +rcon_password "<rconpassword>" +sv_admininfo "lgsm <lgsm@example.com>" // admin name shown in server browsers + +// motd (max 15 rows) - this is the welcome message displayed when you connect to a server +set k_motd1 "<hostname>" +set k_motd2 " " +set k_motd3 "Available game modes:" +set k_motd4 "1on1, 2on2, 4on4, 10on10, ffa, ctf" +//set k_motd5 "line 5" // etc.. + +set k_motd_time "5" // time motd is displayed in seconds + + +// edit the lines below if you want different gamemodes on this port +// matchless mode +set k_matchless 0 // run ktx as a regular match server or as a matchless (ffa) server (0 = regular, 1 = matchless) +set k_use_matchless_dir 1 // use configs/usermodes/matchless instead of [...]/ffa (0 = no, 1 = yes) + +// free modes +set k_defmode 2on2 // default mode on server +set k_allowed_free_modes 255 // allowed free modes (bit mask): + // 1=1on1, 2=2on2, 4=3on3, 8=4on4, 16=10on10, 32=ffa 64=ctf 128=hoonymode +set k_defmap dm4 // server homemap. server will change to this when last player leaves the server +set k_mode 2 // server mode (1 = duel, 2 = team, 3 = ffa, 4 = ctf) diff --git a/QuakeWorld/qwserver.sh b/QuakeWorld/qwserver.sh new file mode 100644 index 000000000..2ccf69536 --- /dev/null +++ b/QuakeWorld/qwserver.sh @@ -0,0 +1,143 @@ +#!/bin/bash +# Quake World (nQuake) +# Server Management Script +# Author: Daniel Gibbs +# Website: https://gameservermanagers.com +if [ -f ".dev-debug" ]; then + exec 5>dev-debug.log + BASH_XTRACEFD="5" + set -x +fi + +version="210516" + +#### Variables #### + +# Notification Alerts +# (on|off) + +# Email +emailalert="off" +email="email@example.com" + +# Pushbullet +# https://www.pushbullet.com/#settings +pushbulletalert="off" +pushbullettoken="accesstoken" + +# Start Variables +ip="0.0.0.0" +port="27500" + +fn_parms(){ +parms="-port ${port} -game ktx +exec ${servercfg}" +} + +#### Advanced Variables #### + +# Github Branch Select +# Allows for the use of different function files +# from a different repo and/or branch. +githubuser="GameServerManagers" +githubrepo="LinuxGSM" +githubbranch="master" + +# Server Details +servicename="quakeworld-server" +gamename="QuakeWorld" +engine="quake" + +# Directories +rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" +selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" +lockselfname=".${servicename}.lock" +lgsmdir="${rootdir}/lgsm" +functionsdir="${lgsmdir}/functions" +libdir="${lgsmdir}/lib" +filesdir="${rootdir}/serverfiles" +systemdir="${filesdir}/ktx" +executabledir="${filesdir}" +executable="./mvdsv" +servercfg="${servicename}.cfg" +servercfgdir="${systemdir}" +servercfgfullpath="${servercfgdir}/${servercfg}" +servercfgdefault="${servercfgdir}/lgsm-default.cfg" +backupdir="${rootdir}/backups" + +# Logging +logdays="7" +gamelogdir="${filesdir}/Logs" +scriptlogdir="${rootdir}/log/script" +consolelogdir="${rootdir}/log/console" +consolelogging="on" + +scriptlog="${scriptlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +emaillog="${scriptlogdir}/${servicename}-email.log" + +scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" + +##### Script ##### +# Do not edit + +# Fetches core_dl for file downloads +fn_fetch_core_dl(){ +github_file_url_dir="lgsm/functions" +github_file_url_name="${functionfile}" +filedir="${functionsdir}" +filename="${github_file_url_name}" +githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" +# If the file is missing, then download +if [ ! -f "${filedir}/${filename}" ]; then + if [ ! -d "${filedir}" ]; then + mkdir -p "${filedir}" + fi + echo -e " fetching ${filename}...\c" + # Check curl exists and use available path + curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" + for curlcmd in ${curlpaths} + do + if [ -x "${curlcmd}" ]; then + break + fi + done + # If curl exists download file + if [ "$(basename ${curlcmd})" == "curl" ]; then + curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) + if [ $? -ne 0 ]; then + echo -e "\e[0;31mFAIL\e[0m\n" + echo "${curlfetch}" + echo -e "${githuburl}\n" + exit 1 + else + echo -e "\e[0;32mOK\e[0m" + fi + else + echo -e "\e[0;31mFAIL\e[0m\n" + echo "Curl is not installed!" + echo -e "" + exit 1 + fi + chmod +x "${filedir}/${filename}" +fi +source "${filedir}/${filename}" +} + +core_dl.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_functions.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_dl.sh +core_functions.sh + +getopt=$1 +core_getopt.sh \ No newline at end of file diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh index bcfe36fd2..bdd9038f7 100644 --- a/lgsm/functions/command_install.sh +++ b/lgsm/functions/command_install.sh @@ -18,7 +18,7 @@ check_deps.sh if [ "${gamename}" == "Unreal Tournament 2004" ]; then install_server_files.sh install_ut2k4_key.sh -elif [ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then +elif [ "${gamename}" == "QuakeWorld" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then installer=1 install_server_files.sh elif [ -n "${appid}" ]; then diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index 78057b680..7b46b4d15 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -23,6 +23,8 @@ fn_install_server_files(){ fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3045522-Linux.zip"; filedir="${lgsmdir}/tmp"; filename="UnrealTournament-Server-XAN-3045522-Linux.zip"; executecmd="noexecute" run="norun"; force="noforce"; md5="553fed5645a9fc623e92563049bf79f6" elif [ "${gamename}" == "GoldenEye: Source" ]; then fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="254533d4643ad2fe6f1f3ecc4f6b5e5f" + elif [ "${gamename}" == "QuakeWorld" ]; then + fileurl="https://s3.amazonaws.com/linuxgsm/nquake.server.linux.083116.full.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="nquake.server.linux.083116.full.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="75a409cf08d808f075e4dacdc7b21b78" fi fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" fn_dl_extract "${filedir}" "${filename}" "${filesdir}" From b207aeb74c72a5f01b26ac7e7a7033223d0be4ea Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 00:57:55 -0400 Subject: [PATCH 07/75] add config --- lgsm/functions/install_config.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 5a856f8e6..a5b30da18 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -389,6 +389,12 @@ elif [ "${gamename}" == "Quake Live" ]; then sleep 1 fn_defaultconfig fn_userinputconfig +elif [ "${gamename}" == "QuakeWorld" ]; then + echo -e "downloading lgsm-default.cfg...\c" + wget -N /dev/null ${githuburl}/QuakeWOrld/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq + sleep 1 + fn_defaultconfig + fn_userinputconfig elif [ "${gamename}" == "Red Orchestra: Ostfront 41-45" ]; then fn_unreal2config elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then From 1cd76f5ec6904b091c509aefa09b258ab0ed338d Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 00:58:10 -0400 Subject: [PATCH 08/75] remove script extension --- QuakeWorld/{qwserver.sh => qwserver} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename QuakeWorld/{qwserver.sh => qwserver} (100%) diff --git a/QuakeWorld/qwserver.sh b/QuakeWorld/qwserver similarity index 100% rename from QuakeWorld/qwserver.sh rename to QuakeWorld/qwserver From 7b2d298d7a05bde48117131e9802952d1c4175ae Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 00:59:14 -0400 Subject: [PATCH 09/75] add glib check --- lgsm/functions/info_glibc.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lgsm/functions/info_glibc.sh b/lgsm/functions/info_glibc.sh index 9bc71172d..f83d44f97 100644 --- a/lgsm/functions/info_glibc.sh +++ b/lgsm/functions/info_glibc.sh @@ -74,6 +74,9 @@ elif [ "${engine}" == "spark" ]; then elif [ "${engine}" == "starbound" ]; then glibcrequired="2.12" glibcfix="no" +elif [ "${engine}" == "quake" ]; then + glibcrequired="2.0" + glibcfix="no" elif [ "${engine}" == "terraria" ]; then glibcrequired="2.7" glibcfix="no" From ef4768823c87883b04fe6ac0a4cbfdac34723b6f Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 01:02:32 -0400 Subject: [PATCH 10/75] url fix --- lgsm/functions/install_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index a5b30da18..d9ed2c308 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -391,7 +391,7 @@ elif [ "${gamename}" == "Quake Live" ]; then fn_userinputconfig elif [ "${gamename}" == "QuakeWorld" ]; then echo -e "downloading lgsm-default.cfg...\c" - wget -N /dev/null ${githuburl}/QuakeWOrld/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq + wget -N /dev/null ${githuburl}/QuakeWorld/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq sleep 1 fn_defaultconfig fn_userinputconfig From 4c963d69ce7a7f3c9062f6125a6060c805af912a Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 01:11:50 -0400 Subject: [PATCH 11/75] filename fix --- QuakeWorld/qwserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuakeWorld/qwserver b/QuakeWorld/qwserver index 2ccf69536..7a43b4b56 100644 --- a/QuakeWorld/qwserver +++ b/QuakeWorld/qwserver @@ -43,7 +43,7 @@ githubrepo="LinuxGSM" githubbranch="master" # Server Details -servicename="quakeworld-server" +servicename="quakeworld_server" gamename="QuakeWorld" engine="quake" From e037977b7cc8a44094b2b8fa9f542586cd0a35dd Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 02:17:59 -0400 Subject: [PATCH 12/75] adding Quake 3: Team Arena --- Quake3/cfg/lgsm-default.cfg | 36 +++++++ Quake3/q3server | 143 +++++++++++++++++++++++++ lgsm/functions/command_install.sh | 2 +- lgsm/functions/install_config.sh | 6 ++ lgsm/functions/install_server_files.sh | 2 + 5 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 Quake3/cfg/lgsm-default.cfg create mode 100644 Quake3/q3server diff --git a/Quake3/cfg/lgsm-default.cfg b/Quake3/cfg/lgsm-default.cfg new file mode 100644 index 000000000..fddb8347e --- /dev/null +++ b/Quake3/cfg/lgsm-default.cfg @@ -0,0 +1,36 @@ +set sv_hostname "<hostname>" +set sv_maxclients 10 +set g_motd "LGSM Quake3 Server" +set g_forcerespawn 15 +set rconpassword "<rconpassword>" +set g_gametype 1 +set fraglimit 50 +set timelimit 20 + +//Here's the map-cycle. When fraglimit or timelimit is reached, the map is automatically changed. +//Otherwise it would just play the same map again. +set m1 "map q3dm1; set nextmap vstr m2" +set m2 "map q3dm2; set nextmap vstr m3" +set m3 "map q3dm3; set nextmap vstr m4" +set m4 "map q3tourney1; set nextmap vstr m5" +set m5 "map q3dm4; set nextmap vstr m6" +set m6 "map q3dm5; set nextmap vstr m7" +set m7 "map q3dm6; set nextmap vstr m8" +set m8 "map q3tourney2; set nextmap vstr m9" +set m9 "map q3dm7; set nextmap vstr m10" +set m10 "map q3dm8; set nextmap vstr m11" +set m11 "map q3dm9; set nextmap vstr m12" +set m12 "map q3tourney3; set nextmap vstr m13" +set m13 "map q3dm10; set nextmap vstr m14" +set m14 "map q3dm11; set nextmap vstr m15" +set m15 "map q3dm12; set nextmap vstr m16" +set m16 "map q3tourney4; set nextmap vstr m17" +set m17 "map q3dm13; set nextmap vstr m18" +set m18 "map q3dm14; set nextmap vstr m19" +set m19 "map q3dm15; set nextmap vstr m20" +set m20 "map q3tourney5; set nextmap vstr m21" +set m21 "map q3dm16; set nextmap vstr m22" +set m22 "map q3dm17; set nextmap vstr m23" +set m23 "map q3dm18; set nextmap vstr m24" +set m24 "map q3dm19; set nextmap vstr m25" +set m25 "map q3tourney6; set nextmap vstr m1" \ No newline at end of file diff --git a/Quake3/q3server b/Quake3/q3server new file mode 100644 index 000000000..d247fa69b --- /dev/null +++ b/Quake3/q3server @@ -0,0 +1,143 @@ +#!/bin/bash +# Quake 3: Team Arena +# Server Management Script +# Author: Daniel Gibbs +# Website: https://gameservermanagers.com +if [ -f ".dev-debug" ]; then + exec 5>dev-debug.log + BASH_XTRACEFD="5" + set -x +fi + +version="210516" + +#### Variables #### + +# Notification Alerts +# (on|off) + +# Email +emailalert="off" +email="email@example.com" + +# Pushbullet +# https://www.pushbullet.com/#settings +pushbulletalert="off" +pushbullettoken="accesstoken" + +# Start Variables +ip="0.0.0.0" +port="27960" + +fn_parms(){ +parms="+set sv_punkbuster 1 +set fs_basepath ${filesdir} +set dedicated 1 +set com_hunkMegs 32 +set net_ip ${ip} +set net_port ${port} +exec ${servercfg}" +} + +#### Advanced Variables #### + +# Github Branch Select +# Allows for the use of different function files +# from a different repo and/or branch. +githubuser="GameServerManagers" +githubrepo="LinuxGSM" +githubbranch="master" + +# Server Details +servicename="quake3-server" +gamename="Quake 3: Team Arena" +engine="idtech3" + +# Directories +rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" +selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" +lockselfname=".${servicename}.lock" +lgsmdir="${rootdir}/lgsm" +functionsdir="${lgsmdir}/functions" +libdir="${lgsmdir}/lib" +filesdir="${rootdir}/serverfiles" +systemdir="${filesdir}/baseq3" +executabledir="${filesdir}" +executable="./q3ded" +servercfg="${servicename}.cfg" +servercfgdir="${systemdir}" +servercfgfullpath="${servercfgdir}/${servercfg}" +servercfgdefault="${servercfgdir}/lgsm-default.cfg" +backupdir="${rootdir}/backups" + +# Logging +logdays="7" +gamelogdir="${filesdir}/Logs" +scriptlogdir="${rootdir}/log/script" +consolelogdir="${rootdir}/log/console" +consolelogging="on" + +scriptlog="${scriptlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +emaillog="${scriptlogdir}/${servicename}-email.log" + +scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" + +##### Script ##### +# Do not edit + +# Fetches core_dl for file downloads +fn_fetch_core_dl(){ +github_file_url_dir="lgsm/functions" +github_file_url_name="${functionfile}" +filedir="${functionsdir}" +filename="${github_file_url_name}" +githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" +# If the file is missing, then download +if [ ! -f "${filedir}/${filename}" ]; then + if [ ! -d "${filedir}" ]; then + mkdir -p "${filedir}" + fi + echo -e " fetching ${filename}...\c" + # Check curl exists and use available path + curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" + for curlcmd in ${curlpaths} + do + if [ -x "${curlcmd}" ]; then + break + fi + done + # If curl exists download file + if [ "$(basename ${curlcmd})" == "curl" ]; then + curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) + if [ $? -ne 0 ]; then + echo -e "\e[0;31mFAIL\e[0m\n" + echo "${curlfetch}" + echo -e "${githuburl}\n" + exit 1 + else + echo -e "\e[0;32mOK\e[0m" + fi + else + echo -e "\e[0;31mFAIL\e[0m\n" + echo "Curl is not installed!" + echo -e "" + exit 1 + fi + chmod +x "${filedir}/${filename}" +fi +source "${filedir}/${filename}" +} + +core_dl.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_functions.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_dl.sh +core_functions.sh + +getopt=$1 +core_getopt.sh \ No newline at end of file diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh index bcfe36fd2..32ef1a4e6 100644 --- a/lgsm/functions/command_install.sh +++ b/lgsm/functions/command_install.sh @@ -18,7 +18,7 @@ check_deps.sh if [ "${gamename}" == "Unreal Tournament 2004" ]; then install_server_files.sh install_ut2k4_key.sh -elif [ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then +elif [ "${gamename}" == "Quake 3: Team Arena" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then installer=1 install_server_files.sh elif [ -n "${appid}" ]; then diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 5a856f8e6..3e712e30a 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -383,6 +383,12 @@ elif [ "${gamename}" == "Project Zomboid" ]; then wget -N /dev/null ${githuburl}/ProjectZomboid/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq sleep 1 fn_defaultconfig +elif [ "${gamename}" == "Quake 3: Team Arena" ]; then + echo -e "downloading lgsm-default.cfg...\c" + wget -N /dev/null ${githuburl}/Quake3/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq + sleep 1 + fn_defaultconfig + fn_userinputconfig elif [ "${gamename}" == "Quake Live" ]; then echo -e "downloading lgsm-default.cfg...\c" wget -N /dev/null ${githuburl}/QuakeLive/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index 78057b680..38dc70b5a 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -23,6 +23,8 @@ fn_install_server_files(){ fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3045522-Linux.zip"; filedir="${lgsmdir}/tmp"; filename="UnrealTournament-Server-XAN-3045522-Linux.zip"; executecmd="noexecute" run="norun"; force="noforce"; md5="553fed5645a9fc623e92563049bf79f6" elif [ "${gamename}" == "GoldenEye: Source" ]; then fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="254533d4643ad2fe6f1f3ecc4f6b5e5f" + elif [ "${gamename}" == "Quake 3: Team Arena" ]; then + fileurl="https://s3.amazonaws.com/linuxgsm/quake3-1.32b-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32b-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="8fe61809ade4f9cce24e520043afe91b" fi fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" fn_dl_extract "${filedir}" "${filename}" "${filesdir}" From 3781817d46236cf1e422e31201ff524a3ca2a89b Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 02:50:42 -0400 Subject: [PATCH 13/75] update --- Quake3/cfg/lgsm-default.cfg | 4 ++-- Quake3/q3server | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Quake3/cfg/lgsm-default.cfg b/Quake3/cfg/lgsm-default.cfg index fddb8347e..b392ecad2 100644 --- a/Quake3/cfg/lgsm-default.cfg +++ b/Quake3/cfg/lgsm-default.cfg @@ -1,9 +1,9 @@ set sv_hostname "<hostname>" -set sv_maxclients 10 +set sv_maxclients 16 set g_motd "LGSM Quake3 Server" set g_forcerespawn 15 set rconpassword "<rconpassword>" -set g_gametype 1 +set g_gametype 0 - Sets the type of game. 0 - Free for all, 1 - Tournament, 2 - Free for all(again), 3 - Team Deathmatch, 4 - Capture the Flag set fraglimit 50 set timelimit 20 diff --git a/Quake3/q3server b/Quake3/q3server index d247fa69b..4e722b08e 100644 --- a/Quake3/q3server +++ b/Quake3/q3server @@ -26,11 +26,12 @@ pushbulletalert="off" pushbullettoken="accesstoken" # Start Variables +defaultmap="q3dm17" ip="0.0.0.0" port="27960" fn_parms(){ -parms="+set sv_punkbuster 1 +set fs_basepath ${filesdir} +set dedicated 1 +set com_hunkMegs 32 +set net_ip ${ip} +set net_port ${port} +exec ${servercfg}" +parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set com_hunkMegs 32 +set net_ip ${ip} +set net_port ${port} +exec ${servercfg} +map ${defaultmap}" } #### Advanced Variables #### From f4ca76dfe086b4240aefd66bc49f60afc5d1e4eb Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Wed, 31 Aug 2016 03:07:56 -0400 Subject: [PATCH 14/75] config fix --- Quake3/cfg/lgsm-default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Quake3/cfg/lgsm-default.cfg b/Quake3/cfg/lgsm-default.cfg index b392ecad2..caccea760 100644 --- a/Quake3/cfg/lgsm-default.cfg +++ b/Quake3/cfg/lgsm-default.cfg @@ -3,7 +3,7 @@ set sv_maxclients 16 set g_motd "LGSM Quake3 Server" set g_forcerespawn 15 set rconpassword "<rconpassword>" -set g_gametype 0 - Sets the type of game. 0 - Free for all, 1 - Tournament, 2 - Free for all(again), 3 - Team Deathmatch, 4 - Capture the Flag +set g_gametype 0 //- Sets the type of game. 0 - Free for all, 1 - Tournament, 2 - Free for all(again), 3 - Team Deathmatch, 4 - Capture the Flag set fraglimit 50 set timelimit 20 From e98e5af66e624c923cbf0a1cb00de503d463ad7e Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Tue, 18 Oct 2016 13:36:57 +0200 Subject: [PATCH 15/75] Check if executable is executable Attempt to fix it if not Needs testing Fixes #591 --- lgsm/functions/check_permissions.sh | 41 +++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index 3b5e52005..a7112238c 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -74,12 +74,49 @@ fn_check_permissions(){ if [ "${userrootdirperm}" != "7" ] && [ "${grouprootdirperm}" != "7" ]; then fn_print_fail_nl "Permissions issues found" fn_script_log_fatal "Permissions issues found" - fn_print_information_nl "The following directorys does not have the correct permissions:" - fn_script_log_info "The following directorys does not have the correct permissions:" + fn_print_information_nl "The following directory does not have the correct permissions:" + fn_script_log_info "The following directory does not have the correct permissions:" + fn_script_log_info "${rootdir}" ls -l "${rootdir}" core_exit.sh fi fi + # Check if executable is executable and attempt to fix it + if [ -f "${executabledir}/${executable}" ]; then + # Get permission numbers on file under the form 775 + execperm="$(stat -c %a "${executabledir}/${executable}")" + # Grab the first and second digit for user and group permission + userexecperm="${execperm:0:1}" + groupexecperm="${execperm:1:1}" + # Check for invalid user permission + if [ "${userexecperm}" == "0" ] || [ "${userexecperm}" == "2" ] || [ "${userexecperm}" == "4" ] || [ "${userexecperm}" == "6" ]; then + # If user permission is invalid, then check for invalid group permissions + if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ] || [ "${groupexecperm}" == "6" ]; then + # If permission issues are found + fn_print_warning "Permissions issue found" + fn_script_log_warn "Permissions issue found" + fn_print_information_nl "The following file is not executable:" + ls -l "${executabledir}/${executable}" + fn_script_log_info "The following file is not executable:" + fn_script_log_info "${executabledir}/${executable}" + fn_print_information_nl "Applying chmod u+x,g+x ${executabledir}/${executable}" + fn_script_log_info "Applying chmod u+x,g+x ${execperm}" + # Make the executable executable + chmod u+x,g+x "${executabledir}/${executable}" + # Second check to see if it's been successfully applied + if [ "${userexecperm}" == "0" ] || [ "${userexecperm}" == "2" ] || [ "${userexecperm}" == "4" ] || [ "${userexecperm}" == "6" ]; then + if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ] || [ "${groupexecperm}" == "6" ]; then + # If errors are still found + fn_print_fail_nl "The following file could not be set executable:" + ls -l "${executabledir}/${executable}" + fn_script_log_warn "The following file could not be set executable:" + fn_script_log_info "${executabledir}/${executable}" + core_exit.sh + fi + fi + fi + fi + fi } fn_check_ownership From f0306dbcc41d1b548e93ddd244060309c9472c3d Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Tue, 18 Oct 2016 14:18:14 +0200 Subject: [PATCH 16/75] stripping ./ from executable --- lgsm/functions/check_permissions.sh | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index a7112238c..7cb88ac51 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -82,9 +82,11 @@ fn_check_permissions(){ fi fi # Check if executable is executable and attempt to fix it - if [ -f "${executabledir}/${executable}" ]; then + # First get executable name + execname="$(echo "${executable}" | awk -F "/" '{ print $2 }')" + if [ -f "${executabledir}/${execname}" ]; then # Get permission numbers on file under the form 775 - execperm="$(stat -c %a "${executabledir}/${executable}")" + execperm="$(stat -c %a "${executabledir}/${execname}")" # Grab the first and second digit for user and group permission userexecperm="${execperm:0:1}" groupexecperm="${execperm:1:1}" @@ -93,24 +95,24 @@ fn_check_permissions(){ # If user permission is invalid, then check for invalid group permissions if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ] || [ "${groupexecperm}" == "6" ]; then # If permission issues are found - fn_print_warning "Permissions issue found" + fn_print_warn "Permissions issue found" fn_script_log_warn "Permissions issue found" fn_print_information_nl "The following file is not executable:" - ls -l "${executabledir}/${executable}" + ls -l "${executabledir}/${execname}" fn_script_log_info "The following file is not executable:" - fn_script_log_info "${executabledir}/${executable}" - fn_print_information_nl "Applying chmod u+x,g+x ${executabledir}/${executable}" + fn_script_log_info "${executabledir}/${execname}" + fn_print_information_nl "Applying chmod u+x,g+x ${executabledir}/${execname}" fn_script_log_info "Applying chmod u+x,g+x ${execperm}" # Make the executable executable - chmod u+x,g+x "${executabledir}/${executable}" + chmod u+x,g+x "${executabledir}/${execname}" # Second check to see if it's been successfully applied if [ "${userexecperm}" == "0" ] || [ "${userexecperm}" == "2" ] || [ "${userexecperm}" == "4" ] || [ "${userexecperm}" == "6" ]; then if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ] || [ "${groupexecperm}" == "6" ]; then # If errors are still found fn_print_fail_nl "The following file could not be set executable:" - ls -l "${executabledir}/${executable}" + ls -l "${executabledir}/${execname}" fn_script_log_warn "The following file could not be set executable:" - fn_script_log_info "${executabledir}/${executable}" + fn_script_log_info "${executabledir}/${execname}" core_exit.sh fi fi From 3484854959bb69d2745d85cb916728e0413e0071 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Tue, 18 Oct 2016 14:22:08 +0200 Subject: [PATCH 17/75] refresh values for second check --- lgsm/functions/check_permissions.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index 7cb88ac51..a853a22df 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -106,6 +106,11 @@ fn_check_permissions(){ # Make the executable executable chmod u+x,g+x "${executabledir}/${execname}" # Second check to see if it's been successfully applied + # Get permission numbers on file under the form 775 + execperm="$(stat -c %a "${executabledir}/${execname}")" + # Grab the first and second digit for user and group permission + userexecperm="${execperm:0:1}" + groupexecperm="${execperm:1:1}" if [ "${userexecperm}" == "0" ] || [ "${userexecperm}" == "2" ] || [ "${userexecperm}" == "4" ] || [ "${userexecperm}" == "6" ]; then if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ] || [ "${groupexecperm}" == "6" ]; then # If errors are still found From a36e646bf7d9d28c0558fca1062d4f4db8c65e10 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Tue, 18 Oct 2016 14:25:48 +0200 Subject: [PATCH 18/75] new line, now nice output --- lgsm/functions/check_permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index a853a22df..946ddd301 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -95,7 +95,7 @@ fn_check_permissions(){ # If user permission is invalid, then check for invalid group permissions if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ] || [ "${groupexecperm}" == "6" ]; then # If permission issues are found - fn_print_warn "Permissions issue found" + fn_print_warn_nl "Permissions issue found" fn_script_log_warn "Permissions issue found" fn_print_information_nl "The following file is not executable:" ls -l "${executabledir}/${execname}" From c2bd0cffb532127da623ef5c0479df79511506ab Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Tue, 18 Oct 2016 14:34:47 +0200 Subject: [PATCH 19/75] fixed mumble port using awk instead of sed --- lgsm/functions/info_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index e3dac532f..825df0a84 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -320,7 +320,7 @@ fn_info_config_mumble(){ queryport="${port}" servername="Mumble" else - port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + port=$(grep "port=" "${servercfgfullpath}" | awk -F "=" '{ print $2 }' ) queryport="${port}" # Not Set From c43ac02250d1675a8a7368a69a4aa53abaed9aff Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Tue, 18 Oct 2016 14:42:55 +0200 Subject: [PATCH 20/75] first fix attempt for mumble ip --- lgsm/functions/info_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 825df0a84..7ea395dc0 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -328,7 +328,7 @@ fn_info_config_mumble(){ queryport=${queryport:-"64738"} servername="Mumble Port ${port}" - ip=$(cat "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/voice_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ip=$(cat "${servercfgfullpath}" | grep "host=" | awk -F "=" { print $2 }' ) ipsetinconfig=1 ipinconfigvar="voice_ip" fi From 745254777ac830f9cb41edee58bb73ca569a3261 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Tue, 18 Oct 2016 18:16:39 +0200 Subject: [PATCH 21/75] more elegant execname --- lgsm/functions/check_permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index 946ddd301..d085b5ef3 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -83,7 +83,7 @@ fn_check_permissions(){ fi # Check if executable is executable and attempt to fix it # First get executable name - execname="$(echo "${executable}" | awk -F "/" '{ print $2 }')" + execname="$(basename "${executable}" if [ -f "${executabledir}/${execname}" ]; then # Get permission numbers on file under the form 775 execperm="$(stat -c %a "${executabledir}/${execname}")" From 05ee12038ce7faa9275a099dda8e5ce5c67d04df Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Tue, 18 Oct 2016 22:13:54 +0100 Subject: [PATCH 22/75] fixed ip for mumble #1130 --- lgsm/functions/info_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 7ea395dc0..dc7486c85 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -320,7 +320,7 @@ fn_info_config_mumble(){ queryport="${port}" servername="Mumble" else - port=$(grep "port=" "${servercfgfullpath}" | awk -F "=" '{ print $2 }' ) + port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') queryport="${port}" # Not Set @@ -328,7 +328,7 @@ fn_info_config_mumble(){ queryport=${queryport:-"64738"} servername="Mumble Port ${port}" - ip=$(cat "${servercfgfullpath}" | grep "host=" | awk -F "=" { print $2 }' ) + ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') ipsetinconfig=1 ipinconfigvar="voice_ip" fi From e370cdd4b45c1dce2deec46ac44421bbcfe7e3f8 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 18:23:33 +0200 Subject: [PATCH 23/75] ordering & matching changes --- lgsm/functions/info_config.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index dc7486c85..66e23134e 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -321,14 +321,12 @@ fn_info_config_mumble(){ servername="Mumble" else port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - queryport="${port}" - + ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') # Not Set port=${port:-"64738"} queryport=${queryport:-"64738"} servername="Mumble Port ${port}" - - ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + # Misc variables ipsetinconfig=1 ipinconfigvar="voice_ip" fi From 2653e003eaadbeed5aa2a963b7f5b7547bfa4b26 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 18:28:47 +0200 Subject: [PATCH 24/75] Ordering, spacing and comments --- lgsm/functions/info_config.sh | 41 ++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 66e23134e..0bc4b945b 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -26,14 +26,15 @@ fn_info_config_avalanche(){ serverpassword=$(grep "Password" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') slots=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') port=$(grep "BindPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') - + ip=$(grep "BindIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/BindIP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + # Not Set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} port=${port:-"0"} - - ip=$(grep "BindIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/BindIP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Misc Variables ipsetinconfig=1 ipinconfigvar="BindIP" fi @@ -53,14 +54,15 @@ fn_info_config_bf1942(){ slots=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') queryport="22000" - + ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs) + # Not Set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} port=${port:-"0"} - - ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs) + + # Misc Variables ipsetinconfig=1 ipinconfigvar="game.serverIP" fi @@ -111,7 +113,8 @@ fn_info_config_minecraft(){ port=$(grep "server-port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') gamemode=$(grep "gamemode" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') gameworld=$(grep "level-name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/level-name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - + ip=$(grep "server-ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/server-ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + # Not Set servername=${servername:-"NOT SET"} rconpassword=${rconpassword:-"NOT SET"} @@ -120,8 +123,8 @@ fn_info_config_minecraft(){ port=${port:-"NOT SET"} gamemode=${gamemode:-"NOT SET"} gameworld=${gameworld:-"NOT SET"} - - ip=$(grep "server-ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/server-ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Misc Variables ipsetinconfig=1 ipinconfigvar="server-ip" fi @@ -164,14 +167,15 @@ fn_info_config_quakelive(){ servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') serverpassword=$(grep "g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') slots=$(grep "sv_maxClients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') # Not Set rconpassword=${rconpassword:-"NOT SET"} servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} - - ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Misc Variables ipsetinconfig=1 ipinconfigvar="set net_ip" fi @@ -190,7 +194,7 @@ fn_info_config_wolfensteinenemyterritory(){ servername=$(grep "set sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') serverpassword=$(grep "set g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') slots=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]') - + ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') # Not Set rconpassword=${rconpassword:-"NOT SET"} @@ -198,8 +202,8 @@ fn_info_config_wolfensteinenemyterritory(){ serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} port=${port:-"27960"} - - ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Misc Variables ipsetinconfig=1 ipinconfigvar="set net_ip" fi @@ -302,13 +306,14 @@ fn_info_config_teamspeak3(){ port=$(grep "default_voice_port" "${servercfgfullpath}" | tr -cd '[:digit:]') queryport=$(grep "query_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') fileport=$(grep "filetransfer_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') - + ip=$(grep "voice_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/voice_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + # Not Set port=${port:-"9987"} queryport=${queryport:-"10011"} fileport=${fileport:-"30033"} - - ip=$(grep "voice_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/voice_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Misc Variables ipsetinconfig=1 ipinconfigvar="voice_ip" fi @@ -322,10 +327,12 @@ fn_info_config_mumble(){ else port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + # Not Set port=${port:-"64738"} queryport=${queryport:-"64738"} servername="Mumble Port ${port}" + # Misc variables ipsetinconfig=1 ipinconfigvar="voice_ip" From 4b4477199df02aed84f61a46aaf23d5894f159c5 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 18:31:33 +0200 Subject: [PATCH 25/75] closing ) is better after opening --- lgsm/functions/check_permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index d085b5ef3..e8aa53d8a 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -83,7 +83,7 @@ fn_check_permissions(){ fi # Check if executable is executable and attempt to fix it # First get executable name - execname="$(basename "${executable}" + execname="$(basename "${executable})" if [ -f "${executabledir}/${execname}" ]; then # Get permission numbers on file under the form 775 execperm="$(stat -c %a "${executabledir}/${execname}")" From 3aa5242cc564cc877513aee6826d48bf807386bf Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 18:34:07 +0200 Subject: [PATCH 26/75] syntax --- lgsm/functions/check_permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index e8aa53d8a..0822c160e 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -83,7 +83,7 @@ fn_check_permissions(){ fi # Check if executable is executable and attempt to fix it # First get executable name - execname="$(basename "${executable})" + execname="$(basename "${executable}")" if [ -f "${executabledir}/${execname}" ]; then # Get permission numbers on file under the form 775 execperm="$(stat -c %a "${executabledir}/${execname}")" From 60d4e9c84eccc0e918299976d700c15bd1deae81 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 19:05:26 +0200 Subject: [PATCH 27/75] Using awk for now fixes #1130 --- lgsm/functions/info_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 0bc4b945b..00949c73f 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -325,8 +325,8 @@ fn_info_config_mumble(){ queryport="${port}" servername="Mumble" else - port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + port=$(grep "port=" "${servercfgfullpath}" | awk -F "=" '{ print $2 }' ) + ip=$(grep "host=" "${servercfgfullpath}" | awk -F "=" '{ print $2 }' ) # Not Set port=${port:-"64738"} From dcebda85ca7e90c67c2d3e52afd7e272584a7137 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 19:31:49 +0200 Subject: [PATCH 28/75] mumble has a config file --- lgsm/functions/install_config.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 6cd4a7dc4..310399cca 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -270,7 +270,11 @@ elif [ "${gamename}" == "No More Room in Hell" ]; then fn_default_config_remote fn_set_config_vars elif [ "${gamename}" == "Mumble" ]; then - : + gamedirname="Mumble" + array_configs+=( murmur.ini ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars elif [ "${gamename}" == "Natural Selection 2" ]; then : elif [ "${gamename}" == "NS2: Combat" ]; then From 475fdc0523a75ce2c0042e37190cddba853fa751 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 19:58:03 +0200 Subject: [PATCH 29/75] mumble has a console Related #1136 --- lgsm/functions/core_getopt.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index e23ad3111..8c8801a29 100644 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -300,6 +300,8 @@ case "${getopt}" in command_backup.sh;; dev|dev-debug) command_dev_debug.sh;; + c|console) + command_console.sh;; i|install) command_install.sh;; dd|detect-deps) @@ -329,6 +331,7 @@ case "${getopt}" in echo -e "${blue}details\t${default}dt |Displays useful information about the server." echo -e "${blue}postdetails\t${default}pd |Post stripped details to pastebin (for support)" echo -e "${blue}backup\t${default}b |Create archive of the server." + echo -e "${blue}debug\t${default}d |See the output of the server directly to your terminal." echo -e "${blue}install\t${default}i |Install the server." } | column -s $'\t' -t esac From 36c49850d16cb9bdea5912c04a74b887537cecd4 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 20:22:02 +0200 Subject: [PATCH 30/75] port is a variable Partially fixes #1136 dev hardcoded stuff was still being in code --- lgsm/functions/check_status.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/check_status.sh b/lgsm/functions/check_status.sh index f68fd9a52..08017c301 100644 --- a/lgsm/functions/check_status.sh +++ b/lgsm/functions/check_status.sh @@ -23,7 +23,7 @@ if [ "${gamename}" == "TeamSpeak 3" ]; then elif [ "${gamename}" == "Mumble" ]; then # 1: Server is listening # 0: Server is not listening, considered closed - mumblepid=$(netstat -nap 2>/dev/null | grep udp | grep 64738 | grep murmur | awk '{ print $6 }' | awk -F'/' '{ print $1 }') + mumblepid=$(netstat -nap 2>/dev/null | grep udp | grep ${port} | grep murmur | awk '{ print $6 }' | awk -F'/' '{ print $1 }') if [ -z "${mumblepid}" ]; then status=0 else From 8c0f2b967cc969d2b11f80d1cf0a5e487c7581d9 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 20:27:23 +0200 Subject: [PATCH 31/75] get info_config.sh to run #1136 needed to get the port --- lgsm/functions/check_status.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lgsm/functions/check_status.sh b/lgsm/functions/check_status.sh index 08017c301..4a8a381b4 100644 --- a/lgsm/functions/check_status.sh +++ b/lgsm/functions/check_status.sh @@ -21,6 +21,8 @@ if [ "${gamename}" == "TeamSpeak 3" ]; then fi elif [ "${gamename}" == "Mumble" ]; then + # Get config info + info_config.sh # 1: Server is listening # 0: Server is not listening, considered closed mumblepid=$(netstat -nap 2>/dev/null | grep udp | grep ${port} | grep murmur | awk '{ print $6 }' | awk -F'/' '{ print $1 }') From 452d014ae05dbb1b152d46a53e64fda1c6120e3b Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 20:28:53 +0200 Subject: [PATCH 32/75] Fixes #1136 --- lgsm/functions/command_stop.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh index 08464b405..489013e3d 100644 --- a/lgsm/functions/command_stop.sh +++ b/lgsm/functions/command_stop.sh @@ -245,8 +245,10 @@ fn_stop_teamspeak3(){ } fn_stop_mumble(){ + # Get needed port info + info_config.sh fn_print_dots "Stopping ${servername}" - mumblepid=$(netstat -nap 2>/dev/null | grep udp | grep 64738 | grep murmur | awk '{ print $6 }' | awk -F'/' '{ print $1 }') + mumblepid=$(netstat -nap 2>/dev/null | grep udp | grep "${port}" | grep murmur | awk '{ print $6 }' | awk -F'/' '{ print $1 }') kill ${mumblepid} sleep 1 check_status.sh From 6c7ceb2fddc6924adfa2b5e9abb84174b5605656 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 21:22:11 +0200 Subject: [PATCH 33/75] cfg=servicename to prevent overwrite on update servercfg="${servicename}.ini" --- Mumble/mumbleserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mumble/mumbleserver b/Mumble/mumbleserver index 4057d2825..9e2b022ec 100644 --- a/Mumble/mumbleserver +++ b/Mumble/mumbleserver @@ -59,7 +59,7 @@ filesdir="${rootdir}/serverfiles" systemdir="${filesdir}" executabledir="${filesdir}" executable="./murmur.x86" -servercfg="murmur.ini" +servercfg="${servicename}.ini" servercfgdefault="murmur.ini" servercfgdir="${filesdir}" servercfgfullpath="${servercfgdir}/${servercfg}" From ebbe3f5a61ef96efc0270baabc33b322d52a965f Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 21:45:02 +0200 Subject: [PATCH 34/75] Don't start from tmux or screen --- lgsm/functions/command_start.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index f7f324bf1..cb444ab5c 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -9,6 +9,23 @@ local commandname="START" local commandaction="Starting" local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" +fn_check_is_in_tmux(){ + if [ -n "${TMUX}" ];then + fn_print_fail_nl "Can't start a tmux session inside of a tmux session." + fn_script_log_fail "Can't start a tmux session inside of a tmux session." + fn_print_information_nl "LGSM already runs the server inside of a tmux session." + core_exit.sh + fi +} +fn_check_is_in_screen(){ + if [ "$TERM" = "screen" ];then + fn_print_fail_nl "Can't start a tmux session inside of a screen session." + fn_script_log_fail "Can't start a tmux session inside of a screen session." + fn_print_information_nl "LGSM already runs the server inside of a tmux session." + core_exit.sh + fi +} + fn_start_teamspeak3(){ if [ ! -e "${servercfgfullpath}" ]; then fn_print_warn_nl "${servercfgfullpath} is missing" @@ -165,6 +182,8 @@ fn_start_tmux(){ fn_print_dots "${servername}" sleep 1 +fn_check_is_in_tmux +fn_check_is_in_screen check.sh fix.sh info_config.sh From bea59e9cd101f5130aeaf9f45d7da5a351fda275 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 21:46:49 +0200 Subject: [PATCH 35/75] right script log Fixes #1117 --- lgsm/functions/command_start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index cb444ab5c..9f5aa295a 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -12,7 +12,7 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" fn_check_is_in_tmux(){ if [ -n "${TMUX}" ];then fn_print_fail_nl "Can't start a tmux session inside of a tmux session." - fn_script_log_fail "Can't start a tmux session inside of a tmux session." + fn_script_log_fatal "Can't start a tmux session inside of a tmux session." fn_print_information_nl "LGSM already runs the server inside of a tmux session." core_exit.sh fi From 2d86a9734072f3523956cf79df8cbbe0895e7777 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Wed, 19 Oct 2016 21:48:29 +0200 Subject: [PATCH 36/75] fn_script_log_fatal & message --- lgsm/functions/command_start.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index 9f5aa295a..f3a6afdc2 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -13,15 +13,15 @@ fn_check_is_in_tmux(){ if [ -n "${TMUX}" ];then fn_print_fail_nl "Can't start a tmux session inside of a tmux session." fn_script_log_fatal "Can't start a tmux session inside of a tmux session." - fn_print_information_nl "LGSM already runs the server inside of a tmux session." + fn_print_information_nl "LGSM already runs the server inside of a tmux session whenever it's possible." core_exit.sh fi } fn_check_is_in_screen(){ if [ "$TERM" = "screen" ];then fn_print_fail_nl "Can't start a tmux session inside of a screen session." - fn_script_log_fail "Can't start a tmux session inside of a screen session." - fn_print_information_nl "LGSM already runs the server inside of a tmux session." + fn_script_log_fatal "Can't start a tmux session inside of a screen session." + fn_print_information_nl "LGSM already runs the server inside of a tmux session whenever it's possible." core_exit.sh fi } From 83fdf38410660d618be4e8d7cf31a46be7b0cd8d Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Wed, 19 Oct 2016 22:47:39 +0100 Subject: [PATCH 37/75] Tidy up --- lgsm/functions/info_config.sh | 56 +++++++++++++++++------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index dc7486c85..d5f283404 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -27,15 +27,15 @@ fn_info_config_avalanche(){ slots=$(grep "MaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') port=$(grep "BindPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') + ip=$(grep "BindIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/BindIP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ipsetinconfig=1 + ipinconfigvar="BindIP" + # Not Set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} port=${port:-"0"} - - ip=$(grep "BindIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/BindIP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - ipsetinconfig=1 - ipinconfigvar="BindIP" fi } @@ -54,15 +54,15 @@ fn_info_config_bf1942(){ port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]') queryport="22000" + ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs) + ipsetinconfig=1 + ipinconfigvar="game.serverIP" + # Not Set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} port=${port:-"0"} - - ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs) - ipsetinconfig=1 - ipinconfigvar="game.serverIP" fi } @@ -112,6 +112,10 @@ fn_info_config_minecraft(){ gamemode=$(grep "gamemode" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') gameworld=$(grep "level-name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/level-name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ip=$(grep "server-ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/server-ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ipsetinconfig=1 + ipinconfigvar="server-ip" + # Not Set servername=${servername:-"NOT SET"} rconpassword=${rconpassword:-"NOT SET"} @@ -121,9 +125,6 @@ fn_info_config_minecraft(){ gamemode=${gamemode:-"NOT SET"} gameworld=${gameworld:-"NOT SET"} - ip=$(grep "server-ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/server-ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - ipsetinconfig=1 - ipinconfigvar="server-ip" fi } @@ -165,15 +166,15 @@ fn_info_config_quakelive(){ serverpassword=$(grep "g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') slots=$(grep "sv_maxClients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ipsetinconfig=1 + ipinconfigvar="set net_ip" + # Not Set rconpassword=${rconpassword:-"NOT SET"} servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} - - ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - ipsetinconfig=1 - ipinconfigvar="set net_ip" fi } @@ -191,6 +192,9 @@ fn_info_config_wolfensteinenemyterritory(){ serverpassword=$(grep "set g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') slots=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]') + ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ipsetinconfig=1 + ipinconfigvar="set net_ip" # Not Set rconpassword=${rconpassword:-"NOT SET"} @@ -198,10 +202,6 @@ fn_info_config_wolfensteinenemyterritory(){ serverpassword=${serverpassword:-"NOT SET"} slots=${slots:-"0"} port=${port:-"27960"} - - ip=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - ipsetinconfig=1 - ipinconfigvar="set net_ip" fi } @@ -303,14 +303,14 @@ fn_info_config_teamspeak3(){ queryport=$(grep "query_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') fileport=$(grep "filetransfer_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + ip=$(grep "voice_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/voice_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ipsetinconfig=1 + ipinconfigvar="voice_ip" + # Not Set port=${port:-"9987"} queryport=${queryport:-"10011"} fileport=${fileport:-"30033"} - - ip=$(grep "voice_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/voice_ip//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - ipsetinconfig=1 - ipinconfigvar="voice_ip" fi } @@ -323,14 +323,14 @@ fn_info_config_mumble(){ port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') queryport="${port}" + ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ipsetinconfig=1 + ipinconfigvar="voice_ip" + # Not Set port=${port:-"64738"} queryport=${queryport:-"64738"} servername="Mumble Port ${port}" - - ip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - ipsetinconfig=1 - ipinconfigvar="voice_ip" fi } @@ -515,4 +515,4 @@ elif [ "${gamename}" == "7 Days To Die" ]; then fn_info_config_sdtd elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then fn_info_config_wolfensteinenemyterritory -fi +fi \ No newline at end of file From 703bd28f2df67331352aa45dbdb9898a6b10aeb3 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Wed, 19 Oct 2016 23:03:37 +0100 Subject: [PATCH 38/75] tmuxception --- lgsm/functions/command_start.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index f3a6afdc2..fdb4dcfc5 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -11,17 +11,21 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" fn_check_is_in_tmux(){ if [ -n "${TMUX}" ];then - fn_print_fail_nl "Can't start a tmux session inside of a tmux session." - fn_script_log_fatal "Can't start a tmux session inside of a tmux session." - fn_print_information_nl "LGSM already runs the server inside of a tmux session whenever it's possible." + fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a tmux session." + fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a tmux session." + fn_print_information_nl "LGSM creates a tmux session when starting the server." + echo "It is not possible to run a tmux session inside another tmux session" + echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception" core_exit.sh fi } fn_check_is_in_screen(){ - if [ "$TERM" = "screen" ];then - fn_print_fail_nl "Can't start a tmux session inside of a screen session." - fn_script_log_fatal "Can't start a tmux session inside of a screen session." - fn_print_information_nl "LGSM already runs the server inside of a tmux session whenever it's possible." + if [ "$TERM" == "screen" ];then + fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a screen session." + fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a screen session." + fn_print_information_nl "LGSM creates a tmux session when starting the server." + echo "It is not possible to run a tmux session inside screen session" + echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception" core_exit.sh fi } From 1a01ece469047fc2c7f657f994a033c63434b85d Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Thu, 20 Oct 2016 00:15:52 +0200 Subject: [PATCH 39/75] Introducing the tmuxception ! --- lgsm/functions/check_tmuxception.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lgsm/functions/check_tmuxception.sh diff --git a/lgsm/functions/check_tmuxception.sh b/lgsm/functions/check_tmuxception.sh new file mode 100644 index 000000000..4dfbd2a16 --- /dev/null +++ b/lgsm/functions/check_tmuxception.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# LGSM check_config.sh function +# Author: Daniel Gibbs +# Contributor: UltimateByte +# Website: https://gameservermanagers.com +# Description: Checks if run from tmux or screen + +local commandname="check" + +fn_check_is_in_tmux(){ + if [ -n "${TMUX}" ];then + fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a tmux session." + fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a tmux session." + fn_print_information_nl "LGSM creates a tmux session when starting the server." + echo "It is not possible to run a tmux session inside another tmux session" + echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception" + core_exit.sh + fi +} +fn_check_is_in_screen(){ + if [ "$TERM" == "screen" ];then + fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a screen session." + fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a screen session." + fn_print_information_nl "LGSM creates a tmux session when starting the server." + echo "It is not possible to run a tmux session inside screen session" + echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception" + core_exit.sh + fi +} From 6fec42b7c18eba1862c8c6d0fba0067dbbd6cc23 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Thu, 20 Oct 2016 00:16:44 +0200 Subject: [PATCH 40/75] tmuxception moved to check_tmuxception.sh --- lgsm/functions/command_start.sh | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index fdb4dcfc5..f7f324bf1 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -9,27 +9,6 @@ local commandname="START" local commandaction="Starting" local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" -fn_check_is_in_tmux(){ - if [ -n "${TMUX}" ];then - fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a tmux session." - fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a tmux session." - fn_print_information_nl "LGSM creates a tmux session when starting the server." - echo "It is not possible to run a tmux session inside another tmux session" - echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception" - core_exit.sh - fi -} -fn_check_is_in_screen(){ - if [ "$TERM" == "screen" ];then - fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a screen session." - fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a screen session." - fn_print_information_nl "LGSM creates a tmux session when starting the server." - echo "It is not possible to run a tmux session inside screen session" - echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception" - core_exit.sh - fi -} - fn_start_teamspeak3(){ if [ ! -e "${servercfgfullpath}" ]; then fn_print_warn_nl "${servercfgfullpath} is missing" @@ -186,8 +165,6 @@ fn_start_tmux(){ fn_print_dots "${servername}" sleep 1 -fn_check_is_in_tmux -fn_check_is_in_screen check.sh fix.sh info_config.sh From 4ff780a194eac279f289ebda640cdfb7f177c716 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Thu, 20 Oct 2016 00:29:23 +0200 Subject: [PATCH 41/75] welcome tmuxception fixes #1117 --- lgsm/functions/check.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/lgsm/functions/check.sh b/lgsm/functions/check.sh index 751652c2f..25fead75b 100644 --- a/lgsm/functions/check.sh +++ b/lgsm/functions/check.sh @@ -11,6 +11,7 @@ local commandname="CHECK" # check.sh selects which checks to run by using arrays check_root.sh +check_tmuxception.sh check_permissions.sh if [ "${function_selfname}" != "command_install.sh" ]&&[ "${function_selfname}" != "command_update_functions.sh" ]; then From 8702431d33f6493d5989dcea6adcb0ea07a383e0 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Thu, 20 Oct 2016 00:32:51 +0200 Subject: [PATCH 42/75] Fixes #1117 --- lgsm/functions/core_functions.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh index 987ffcde9..5a38a1183 100644 --- a/lgsm/functions/core_functions.sh +++ b/lgsm/functions/core_functions.sh @@ -116,7 +116,7 @@ fn_fetch_core_dl } -# Command +# Commands command_console.sh(){ functionfile="${FUNCNAME}" @@ -263,6 +263,11 @@ functionfile="${FUNCNAME}" fn_fetch_function } +check_tmuxception.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + # Compress @@ -299,6 +304,7 @@ functionfile="${FUNCNAME}" fn_fetch_function } + # Fix fix.sh(){ From 4aa8544dfadeed74c1aaf62f8fe7809cf8db6d95 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Wed, 19 Oct 2016 23:32:53 +0100 Subject: [PATCH 43/75] Its called folders in Windows & directorys in Linux --- lgsm/functions/check_permissions.sh | 4 ++-- lgsm/functions/command_fastdl.sh | 24 ++++++++++++------------ lgsm/functions/core_getopt.sh | 2 +- lgsm/functions/install_config.sh | 4 ++-- lgsm/functions/logs.sh | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index 0822c160e..a99bb0b7b 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -3,7 +3,7 @@ # Author: Daniel Gibbs # Contributor: UltimateByte # Website: https://gameservermanagers.com -# Description: Checks ownership & permissions of scripts, files and folders. +# Description: Checks ownership & permissions of scripts, files and directorys. local commandname="CHECK" local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" @@ -66,7 +66,7 @@ fn_check_permissions(){ # Check rootdir permissions if [ -n "${rootdir}" ]; then - # Get permission numbers on folder under the form 775 + # Get permission numbers on directory under the form 775 rootdirperm="$(stat -c %a "${rootdir}")" # Grab the first and second digit for user and group permission userrootdirperm="${rootdirperm:0:1}" diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh index f2728ea74..4afe3ba60 100644 --- a/lgsm/functions/command_fastdl.sh +++ b/lgsm/functions/command_fastdl.sh @@ -3,7 +3,7 @@ # Author: Daniel Gibbs # Contributor: UltimateByte # Website: https://gameservermanagers.com -# Description: Creates a FastDL folder. +# Description: Creates a FastDL directory. local commandname="FASTDL" local commandaction="FastDL" @@ -52,7 +52,7 @@ fn_fastdl_init(){ done fn_script_log "Initiating FastDL creation" - # Check and create folders + # Check and create directorys if [ ! -d "${webdir}" ]; then echo "" fn_print_info "Creating FastDL directories" @@ -67,7 +67,7 @@ fn_fastdl_init(){ echo -en "\n" fi if [ ! -d "${fastdldir}" ]; then - # No folder, won't ask for removing old ones + # No directory, won't ask for removing old ones newfastdl=1 fn_print_dots "Creating fastdl directory" sleep 0.5 @@ -88,7 +88,7 @@ fn_fastdl_config(){ fn_script_log "Configuration" sleep 2 echo -en "\n" - # Prompt for clearing old files if folder was already here + # Prompt for clearing old files if directory was already here if [ -n "${newfastdl}" ] && [ "${newfastdl}" == "0" ]; then fn_print_dots while true; do @@ -133,12 +133,12 @@ fn_fastdl_gmod_config(){ fn_clear_old_fastdl(){ # Clearing old FastDL if user answered yes if [ "${clearoldfastdl}" == "on" ]; then - fn_print_info "Clearing existing FastDL folder" - fn_script_log "Clearing existing FastDL folder" + fn_print_info "Clearing existing FastDL directory" + fn_script_log "Clearing existing FastDL directory" sleep 0.5 rm -R "${fastdldir:?}"/* - fn_print_ok "Old FastDL folder cleared" - fn_script_log "Old FastDL folder cleared" + fn_print_ok "Old FastDL directory cleared" + fn_script_log "Old FastDL directory cleared" sleep 1 echo -en "\n" fi @@ -152,7 +152,7 @@ fn_gmod_fastdl(){ sleep 1 echo -en "\n" - # No choice to cd to the directory, as find can't then display relative folder + # No choice to cd to the directory, as find can't then display relative directory cd "${systemdir}" # Map Files @@ -221,7 +221,7 @@ fn_gmod_fastdl(){ # Going back to rootdir in order to prevent mistakes cd "${rootdir}" - # Correct addons folder structure for FastDL + # Correct addons directory structure for FastDL if [ -d "${fastdldir}/addons" ]; then fn_print_info "Adjusting addons' file structure" fn_script_log "Adjusting addon's file structure" @@ -233,7 +233,7 @@ fn_gmod_fastdl(){ echo -en "\n" fi - # Correct content that may be into a lua folder by mistake like some darkrpmodification addons + # Correct content that may be into a lua directory by mistake like some darkrpmodification addons if [ -d "${fastdldir}/lua" ]; then fn_print_dots "Typical DarkRP shit detected, fixing" sleep 2 @@ -244,7 +244,7 @@ fn_gmod_fastdl(){ fi } -# Generate lua file that will force download any file into the FastDL folder +# Generate lua file that will force download any file into the FastDL directory fn_lua_fastdl(){ # Remove lua file if luaressource is turned off and file exists echo "" diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index 8c8801a29..217650dbc 100644 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -408,7 +408,7 @@ case "${getopt}" in echo -e "${blue}debug\t${default}d |See the output of the server directly to your terminal." echo -e "${blue}install\t${default}i |Install the server." echo -e "${blue}auto-install\t${default}ai |Install the server, without prompts." - echo -e "${blue}fastdl\t${default}fd |Generates or update a FastDL folder for your server." + echo -e "${blue}fastdl\t${default}fd |Generates or update a FastDL directory for your server." } | column -s $'\t' -t esac } diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 310399cca..5c241aec5 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -39,8 +39,8 @@ fn_set_config_vars(){ # Checks if cfg dir exists, creates it if it doesn't fn_check_cfgdir(){ if [ ! -d "${servercfgdir}" ]; then - echo "creating ${servercfgdir} config folder." - fn_script_log_info "creating ${servercfgdir} config folder." + echo "creating ${servercfgdir} config directory." + fn_script_log_info "creating ${servercfgdir} config directory." mkdir -pv "${servercfgdir}" fi } diff --git a/lgsm/functions/logs.sh b/lgsm/functions/logs.sh index b31bdc102..4bf9ab903 100644 --- a/lgsm/functions/logs.sh +++ b/lgsm/functions/logs.sh @@ -15,7 +15,7 @@ if [ -n "${consolelog}" ]; then fi fi -# For games not displaying a console, and having logs into their game folder +# For games not displaying a console, and having logs into their game directory if [ "${function_selfname}" == "command_start.sh" ] && [ -n "${gamelogfile}" ]; then if [ -n "$(find "${systemdir}" -name "gamelog*.log")" ]; then fn_print_info "Moving game logs to ${gamelogdir}" @@ -86,7 +86,7 @@ if [ $(find "${scriptlogdir}"/ -type f -mtime +"${logdays}"|wc -l) -ne "0" ]; th find "${legacyserverlogdir}"/ -type f -mtime +"${logdays}"| tee >> "${scriptlog}" legacycount=$(find "${legacyserverlogdir}"/ -type f -mtime +"${logdays}"|wc -l) find "${legacyserverlogdir}"/ -mtime +"${logdays}" -type f -exec rm -f {} \; - # Remove folder if empty + # Remove directory if empty if [ ! "$(ls -A "${legacyserverlogdir}")" ]; then rm -rf "${legacyserverlogdir}" fi From f3b128a0022cb3e578e90a34d20e9e837d5fa990 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Wed, 19 Oct 2016 23:35:08 +0100 Subject: [PATCH 44/75] Bad spelling: directories not directorys --- lgsm/functions/check_permissions.sh | 2 +- lgsm/functions/command_fastdl.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index a99bb0b7b..1411e649c 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -3,7 +3,7 @@ # Author: Daniel Gibbs # Contributor: UltimateByte # Website: https://gameservermanagers.com -# Description: Checks ownership & permissions of scripts, files and directorys. +# Description: Checks ownership & permissions of scripts, files and directories. local commandname="CHECK" local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh index 4afe3ba60..c66834b98 100644 --- a/lgsm/functions/command_fastdl.sh +++ b/lgsm/functions/command_fastdl.sh @@ -52,7 +52,7 @@ fn_fastdl_init(){ done fn_script_log "Initiating FastDL creation" - # Check and create directorys + # Check and create directories if [ ! -d "${webdir}" ]; then echo "" fn_print_info "Creating FastDL directories" From b7b2d6e3788319f03075a7c39e96668be5253f31 Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Thu, 20 Oct 2016 00:38:07 +0200 Subject: [PATCH 45/75] run the tmuxception #1117 --- lgsm/functions/check_tmuxception.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lgsm/functions/check_tmuxception.sh b/lgsm/functions/check_tmuxception.sh index 4dfbd2a16..d23fd88a4 100644 --- a/lgsm/functions/check_tmuxception.sh +++ b/lgsm/functions/check_tmuxception.sh @@ -27,3 +27,6 @@ fn_check_is_in_screen(){ core_exit.sh fi } + +fn_check_is_in_tmux +fn_check_is_in_screen From 25499860b7b886a75552ca13fedba8e76d19b39e Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Thu, 20 Oct 2016 00:40:50 +0200 Subject: [PATCH 46/75] check_tmux.sh has moved to check_deps.sh Script doesn't exist anymore --- lgsm/functions/core_functions.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh index 5a38a1183..9456f0955 100644 --- a/lgsm/functions/core_functions.sh +++ b/lgsm/functions/core_functions.sh @@ -258,11 +258,6 @@ functionfile="${FUNCNAME}" fn_fetch_function } -check_tmux.sh(){ -functionfile="${FUNCNAME}" -fn_fetch_function -} - check_tmuxception.sh(){ functionfile="${FUNCNAME}" fn_fetch_function From 5c5ad3ea03d90ceac0dc53717d749f5ccefc47aa Mon Sep 17 00:00:00 2001 From: UltimateByte <robin.labadie@gmail.com> Date: Thu, 20 Oct 2016 00:43:05 +0200 Subject: [PATCH 47/75] fix_ut99.sh has moved in another function --- lgsm/functions/core_functions.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh index 9456f0955..f5ba4ce9e 100644 --- a/lgsm/functions/core_functions.sh +++ b/lgsm/functions/core_functions.sh @@ -544,11 +544,6 @@ functionfile="${FUNCNAME}" fn_fetch_function } -fix_ut99.sh(){ -functionfile="${FUNCNAME}" -fn_fetch_function -} - # Calls the global Ctrl-C trap core_trap.sh From 3ed59a5dfa0a023e12d9922b01db6996cd7885a8 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 20:24:56 +0100 Subject: [PATCH 48/75] Natural Selection 2 requires 1GB ram minimum --- lgsm/functions/check_system_requirements.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lgsm/functions/check_system_requirements.sh b/lgsm/functions/check_system_requirements.sh index a46c3d0e3..3040a8406 100644 --- a/lgsm/functions/check_system_requirements.sh +++ b/lgsm/functions/check_system_requirements.sh @@ -14,14 +14,13 @@ info_distro.sh if [ "${gamename}" == "Rust" ]; then ramrequirementmb="4000" ramrequirementgb="4" -fi - -if [ "${gamename}" == "ARMA 3" ]; then +elif [ "${gamename}" == "ARMA 3" ]; then ramrequirementmb="1000" ramrequirementgb="1" -fi - -if [ "${gamename}" == "Minecraft" ]; then +elif [ "${gamename}" == "Minecraft" ]; then + ramrequirementmb="1000" + ramrequirementgb="1" +elif [ "${gamename}" == "Natural Selection 2" ]||[ "${gamename}" == "NS2: Combat" ]; then ramrequirementmb="1000" ramrequirementgb="1" fi From 11f4a303565671d57446905966d4b0ce2d2f2896 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 20:30:08 +0100 Subject: [PATCH 49/75] added servercfgfullpath dir check for NS2 --- lgsm/functions/command_details.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index 2ae4632f0..f488f3ea8 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -227,6 +227,8 @@ fn_details_script(){ if [ -n "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then echo -e "${blue}Config file:\t${default}${servercfgfullpath}" + elif [ -d "${servercfgfullpath}" ]; then + echo -e "${blue}Config dir:\t${default}${servercfgfullpath}" else echo -e "${blue}Config file:\t${default}${red}${servercfgfullpath}${default} (${red}FILE MISSING${default})" fi From e808d04b035d43067530ef9fc2047759e26741b4 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 20:55:22 +0100 Subject: [PATCH 50/75] tab --- lgsm/functions/command_details.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index f488f3ea8..9cf79be84 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -428,7 +428,7 @@ fn_details_source(){ echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" echo -e "> Game/RCON\tINBOUND\t${port}\ttcp/udp" if [ -n "${sourcetvport}" ]; then - echo -e "> SourceTV\tINBOUND\t${sourcetvport}\tudp" + echo -e "> SourceTV\tINBOUND\t${sourcetvport}\tudp" fi echo -e "< Client\tOUTBOUND\t${clientport}\tudp" } | column -s $'\t' -t From d202f0d7964229de39ccc1d20ca630f8c37b61c4 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 20:57:08 +0100 Subject: [PATCH 51/75] added spark --- lgsm/functions/info_parms.sh | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh index 7be827c7b..7cfdd8b8b 100644 --- a/lgsm/functions/info_parms.sh +++ b/lgsm/functions/info_parms.sh @@ -26,17 +26,6 @@ fn_info_config_quakelive(){ rconpassword=${rconpassword:-"NOT SET"} } -fn_info_config_realvirtuality(){ - port=$(grep "^serverport=" "${servercfgfullpath}" | tr -cd '[:digit:]') - queryport=$(grep "^steamqueryport=" "${servercfgfullpath}" | tr -cd '[:digit:]') - masterport=$(grep "^steamport=" "${servercfgfullpath}" | tr -cd '[:digit:]') - - # Not Set - port=${port:-"2302"} - queryport=${queryport:-"2303"} - masterport=${masterport:-"2304"} -} - fn_info_config_source(){ defaultmap=${defaultmap:-"NOT SET"} maxplayers=${maxplayers:-"0"} @@ -44,6 +33,16 @@ fn_info_config_source(){ clientport=${clientport:-"0"} } +fn_info_config_spark(){ + # Not Set + port=${port:-"0"} + queryport=$((port + 1)) + maxplayers=${maxplayers:-"0"} + webadminuser=${webadminuser:-"NOT SET"} + webadminpass=${webadminpass:-"NOT SET"} + webadminport=${webadminport:-"0"} +} + fn_info_config_teeworlds(){ if [ ! -f "${servercfgfullpath}" ]; then servername="unnamed server" @@ -139,6 +138,9 @@ elif [ "${engine}" == "seriousengine35" ]; then # Source Engine Games elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then fn_info_config_source +# Spark +elif [ "${engine}" == "spark" ]; then + fn_info_config_spark # Teeworlds elif [ "${engine}" == "teeworlds" ]; then fn_info_config_teeworlds From bde812f8baa459525e5988fd7af0a157436c2f1e Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 21:45:00 +0100 Subject: [PATCH 52/75] Renamed to Quake 3 --- Quake3/q3server | 4 ++-- lgsm/functions/command_install.sh | 2 +- lgsm/functions/install_server_files.sh | 8 ++------ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Quake3/q3server b/Quake3/q3server index 4e722b08e..5e4b69c28 100644 --- a/Quake3/q3server +++ b/Quake3/q3server @@ -1,5 +1,5 @@ #!/bin/bash -# Quake 3: Team Arena +# Quake 3 # Server Management Script # Author: Daniel Gibbs # Website: https://gameservermanagers.com @@ -45,7 +45,7 @@ githubbranch="master" # Server Details servicename="quake3-server" -gamename="Quake 3: Team Arena" +gamename="Quake 3" engine="idtech3" # Directories diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh index 23a20defd..99f8d696f 100644 --- a/lgsm/functions/command_install.sh +++ b/lgsm/functions/command_install.sh @@ -18,7 +18,7 @@ check_deps.sh if [ "${gamename}" == "Unreal Tournament 2004" ]; then install_server_files.sh install_ut2k4_key.sh -elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Quake 3: Team Arena" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Mumble" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then +elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Quake 3" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Mumble" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then installer=1 install_server_files.sh elif [ -n "${appid}" ]; then diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index d4bc66d12..1a23ef6e5 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -22,13 +22,9 @@ fn_install_server_files(){ elif [ "${gamename}" == "Unreal Tournament" ]; then fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3045522-Linux.zip"; filedir="${tmpdir}"; filename="UnrealTournament-Server-XAN-3045522-Linux.zip"; executecmd="noexecute" run="norun"; force="noforce"; md5="553fed5645a9fc623e92563049bf79f6" elif [ "${gamename}" == "GoldenEye: Source" ]; then -<<<<<<< HEAD - fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="254533d4643ad2fe6f1f3ecc4f6b5e5f" - elif [ "${gamename}" == "Quake 3: Team Arena" ]; then - fileurl="https://s3.amazonaws.com/linuxgsm/quake3-1.32b-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32b-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="8fe61809ade4f9cce24e520043afe91b" -======= fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${tmpdir}"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="ea227a150300abe346e757380325f84c" ->>>>>>> refs/remotes/origin/master + elif [ "${gamename}" == "Quake 3" ]; then + fileurl="http://files.gameservermanagers.com/Quake3/quake3-1.32b-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32b-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="8fe61809ade4f9cce24e520043afe91b" fi fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" fn_dl_extract "${filedir}" "${filename}" "${filesdir}" From 64643b3dd6e0e3da70fa730c008acf1867b2876b Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 22:02:49 +0100 Subject: [PATCH 53/75] Glibc version for Quake 3 --- lgsm/functions/info_glibc.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lgsm/functions/info_glibc.sh b/lgsm/functions/info_glibc.sh index 655402584..b61fe21d8 100644 --- a/lgsm/functions/info_glibc.sh +++ b/lgsm/functions/info_glibc.sh @@ -41,6 +41,9 @@ elif [ "${gamename}" == "Mumble" ]; then elif [ "${gamename}" == "No More Room in Hell" ]; then glibcrequired="2.15" glibcfix="yes" +elif [ "${gamename}" == "Quake 3" ]; then + glibcrequired="2.1" + glibcfix="no" elif [ "${gamename}" == "Quake Live" ]; then glibcrequired="2.15" glibcfix="no" From a4dcf379ee0e3764d072dce1eff1fdf8f50b3d38 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 22:23:07 +0100 Subject: [PATCH 54/75] Renamed to Quake 3: Arena --- Quake3/q3server | 4 ++-- lgsm/functions/command_install.sh | 2 +- lgsm/functions/info_glibc.sh | 2 +- lgsm/functions/install_server_files.sh | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Quake3/q3server b/Quake3/q3server index 5e4b69c28..8aff1501e 100644 --- a/Quake3/q3server +++ b/Quake3/q3server @@ -1,5 +1,5 @@ #!/bin/bash -# Quake 3 +# Quake 3: Arena # Server Management Script # Author: Daniel Gibbs # Website: https://gameservermanagers.com @@ -45,7 +45,7 @@ githubbranch="master" # Server Details servicename="quake3-server" -gamename="Quake 3" +gamename="Quake 3: Arena" engine="idtech3" # Directories diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh index 99f8d696f..2a2037daf 100644 --- a/lgsm/functions/command_install.sh +++ b/lgsm/functions/command_install.sh @@ -18,7 +18,7 @@ check_deps.sh if [ "${gamename}" == "Unreal Tournament 2004" ]; then install_server_files.sh install_ut2k4_key.sh -elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Quake 3" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Mumble" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then +elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Mumble" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then installer=1 install_server_files.sh elif [ -n "${appid}" ]; then diff --git a/lgsm/functions/info_glibc.sh b/lgsm/functions/info_glibc.sh index b61fe21d8..c1d7cb1cf 100644 --- a/lgsm/functions/info_glibc.sh +++ b/lgsm/functions/info_glibc.sh @@ -41,7 +41,7 @@ elif [ "${gamename}" == "Mumble" ]; then elif [ "${gamename}" == "No More Room in Hell" ]; then glibcrequired="2.15" glibcfix="yes" -elif [ "${gamename}" == "Quake 3" ]; then +elif [ "${gamename}" == "Quake 3: Arena" ]; then glibcrequired="2.1" glibcfix="no" elif [ "${gamename}" == "Quake Live" ]; then diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index 1a23ef6e5..e14a0521a 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -23,7 +23,7 @@ fn_install_server_files(){ fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3045522-Linux.zip"; filedir="${tmpdir}"; filename="UnrealTournament-Server-XAN-3045522-Linux.zip"; executecmd="noexecute" run="norun"; force="noforce"; md5="553fed5645a9fc623e92563049bf79f6" elif [ "${gamename}" == "GoldenEye: Source" ]; then fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${tmpdir}"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="ea227a150300abe346e757380325f84c" - elif [ "${gamename}" == "Quake 3" ]; then + elif [ "${gamename}" == "Quake 3: Arena" ]; then fileurl="http://files.gameservermanagers.com/Quake3/quake3-1.32b-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32b-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="8fe61809ade4f9cce24e520043afe91b" fi fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" From ba8d4a1c9eb222e4d7551fe716e7246305feb763 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 22:23:22 +0100 Subject: [PATCH 55/75] added Quake 3 Arena Config --- lgsm/functions/install_config.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 13db1215b..e61496414 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -291,6 +291,12 @@ elif [ "${gamename}" == "Project Zomboid" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars +elif [ "${gamename}" == "Quake 3: Arena" ]; then + gamedirname="QuakeLive" + array_configs+=( server.cfg ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars elif [ "${gamename}" == "Quake Live" ]; then gamedirname="QuakeLive" array_configs+=( server.cfg ) From 6bee0b423cbbbb52283c51878a2808740590044f Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 22:24:30 +0100 Subject: [PATCH 56/75] Added quake 3 arena details --- lgsm/functions/command_details.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index 9cf79be84..fe37083df 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -386,6 +386,15 @@ fn_details_refractor(){ } | column -s $'\t' -t } +fn_details_quake3(){ + echo -e "netstat -atunp | grep q3ded" + echo -e "" + { + echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "> Game\tINBOUND\t${port}\tudp" + } | column -s $'\t' -t +} + fn_details_quakelive(){ echo -e "netstat -atunp | grep qzeroded" echo -e "" @@ -665,6 +674,8 @@ fn_display_details() { fn_details_ark elif [ "${gamename}" == "Hurtworld" ]; then fn_details_hurtworld + elif [ "${gamename}" == "Quake 3: Arena" ]; then + fn_details_quake3 elif [ "${gamename}" == "Quake Live" ]; then fn_details_quakelive elif [ "${gamename}" == "TeamSpeak 3" ]; then From 61d846b985d055e6de421d3cfa3c12eab15c3031 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 23:07:02 +0100 Subject: [PATCH 57/75] Updated config info --- Quake3/q3server | 3 ++- lgsm/functions/install_config.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Quake3/q3server b/Quake3/q3server index 8aff1501e..6c2e4d844 100644 --- a/Quake3/q3server +++ b/Quake3/q3server @@ -55,14 +55,15 @@ lockselfname=".${servicename}.lock" lgsmdir="${rootdir}/lgsm" functionsdir="${lgsmdir}/functions" libdir="${lgsmdir}/lib" +tmpdir="${lgsmdir}/tmp" filesdir="${rootdir}/serverfiles" systemdir="${filesdir}/baseq3" executabledir="${filesdir}" executable="./q3ded" servercfg="${servicename}.cfg" +servercfgdefault="server.cfg" servercfgdir="${systemdir}" servercfgfullpath="${servercfgdir}/${servercfg}" -servercfgdefault="${servercfgdir}/lgsm-default.cfg" backupdir="${rootdir}/backups" # Logging diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index e61496414..d3828a5eb 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -292,7 +292,7 @@ elif [ "${gamename}" == "Project Zomboid" ]; then fn_default_config_remote fn_set_config_vars elif [ "${gamename}" == "Quake 3: Arena" ]; then - gamedirname="QuakeLive" + gamedirname="Quake3Arena" array_configs+=( server.cfg ) fn_fetch_default_config fn_default_config_remote From 7c157a8edc1235a7049488bb2a2a68993949e01d Mon Sep 17 00:00:00 2001 From: Alexander Hurd <hurdad@gmail.com> Date: Fri, 21 Oct 2016 07:31:29 -0400 Subject: [PATCH 58/75] updating to quake3-1.32c --- lgsm/functions/install_server_files.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index e14a0521a..0bcdcc90c 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -24,7 +24,7 @@ fn_install_server_files(){ elif [ "${gamename}" == "GoldenEye: Source" ]; then fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${tmpdir}"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="ea227a150300abe346e757380325f84c" elif [ "${gamename}" == "Quake 3: Arena" ]; then - fileurl="http://files.gameservermanagers.com/Quake3/quake3-1.32b-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32b-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="8fe61809ade4f9cce24e520043afe91b" + fileurl="https://s3.amazonaws.com/linuxgsm/quake3-1.32c-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32c-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306" fi fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" fn_dl_extract "${filedir}" "${filename}" "${filesdir}" From 31ff13993c12629d3a09b8676e49cda16dd81ebc Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Thu, 20 Oct 2016 23:43:10 +0100 Subject: [PATCH 59/75] Added Quake 3 --- lgsm/functions/info_config.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index d5f283404..846dec349 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -154,6 +154,26 @@ fn_info_config_projectzomboid(){ fi } +fn_info_config_quake3(){ + if [ ! -f "${servercfgfullpath}" ]; then + rconpassword="${unavailable}" + servername="${unavailable}" + serverpassword="${unavailable}" + slots="${zero}" + else + rconpassword=$(grep "zmq_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set zmq_rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + serverpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rconpassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + slots=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + + # Not Set + rconpassword=${rconpassword:-"NOT SET"} + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + slots=${slots:-"0"} + fi +} + fn_info_config_quakelive(){ if [ ! -f "${servercfgfullpath}" ]; then rconpassword="${unavailable}" @@ -475,6 +495,9 @@ elif [ "${gamename}" == "Battlefield: 1942" ]; then # Dont Starve Together elif [ "${engine}" == "dontstarve" ]; then fn_info_config_dontstarve +# Quake 3 +elif [ "${gamename}" == "Quake 3: Arena" ]; then + fn_info_config_quake3 # Quake Live elif [ "${gamename}" == "Quake Live" ]; then fn_info_config_quakelive From ea0c6973fb17863888de4440b70bbc53418f1c21 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Fri, 21 Oct 2016 14:44:11 +0100 Subject: [PATCH 60/75] Updated Quake 3 location --- lgsm/functions/install_server_files.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index 0bcdcc90c..d9f6cad5c 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -24,7 +24,7 @@ fn_install_server_files(){ elif [ "${gamename}" == "GoldenEye: Source" ]; then fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${tmpdir}"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="ea227a150300abe346e757380325f84c" elif [ "${gamename}" == "Quake 3: Arena" ]; then - fileurl="https://s3.amazonaws.com/linuxgsm/quake3-1.32c-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32c-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306" + fileurl="http://files.gameservermanagers.com/Quake3/quake3-1.32c-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32c-x86-full-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306" fi fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" fn_dl_extract "${filedir}" "${filename}" "${filesdir}" From b3f8b29a06f57ba70a752adffabaf40d84484e3f Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Fri, 21 Oct 2016 15:11:38 +0100 Subject: [PATCH 61/75] Added Quake 3 to correct getopt --- lgsm/functions/core_getopt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index 217650dbc..da5a0d710 100644 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -622,7 +622,7 @@ case "${getopt}" in if [ "${gamename}" == "Mumble" ]; then fn_getopt_mumble -elif [ "${gamename}" == "Battlefield: 1942" ]|| [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then +elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then fn_getopt_generic_no_update elif [ "${engine}" == "lwjgl2" ]; then fn_getopt_minecraft From c3f671f23709396cf07908b940ad5f49d9d6ccd8 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Fri, 21 Oct 2016 15:30:26 +0100 Subject: [PATCH 62/75] Updated version numbers --- ARKSurvivalEvolved/arkserver | 2 +- Arma3/arma3server | 2 +- Battlefield1942/bf1942server | 2 +- BlackMesa/bmdmserver | 2 +- BladeSymphony/bsserver | 2 +- BrainBread2/bb2server | 2 +- CodenameCURE/ccserver | 2 +- CounterStrike/csserver | 2 +- CounterStrikeConditionZero/csczserver | 2 +- CounterStrikeGlobalOffensive/csgoserver | 2 +- CounterStrikeSource/cssserver | 2 +- DayOfDefeat/dodserver | 2 +- DayOfDefeatSource/dodsserver | 2 +- DayOfInfamy/doiserver | 2 +- DeathmatchClassic/dmcserver | 2 +- DontStarveTogether/dstserver | 2 +- DoubleActionBoogaloo/dabserver | 2 +- EmpiresMod/emserver | 2 +- FistfulOfFrags/fofserver | 2 +- GarrysMod/gmodserver | 2 +- GoldenEyeSource/gesserver | 2 +- HalfLife2Deathmatch/hl2dmserver | 2 +- HalfLifeDeathmatch/hldmserver | 2 +- HalfLifeDeathmatchSource/hldmsserver | 2 +- Hurtworld/hwserver | 2 +- Insurgency/insserver | 2 +- JustCause2/jc2server | 2 +- KillingFloor/kfserver | 2 +- Left4Dead/l4dserver | 2 +- Left4Dead2/l4d2server | 2 +- Minecraft/mcserver | 68 ++++++++++++------------- Mumble/mumbleserver | 2 +- NS2Combat/ns2cserver | 2 +- NaturalSelection2/ns2server | 2 +- NoMoreRoomInHell/nmrihserver | 2 +- OpposingForce/opforserver | 2 +- PiratesVikingandKnightsII/pvkiiserver | 2 +- ProjectZomboid/pzserver | 2 +- QuakeLive/qlserver | 2 +- RedOrchestra/roserver | 2 +- Ricochet/ricochetserver | 2 +- Rust/rustserver | 2 +- SeriousSam3BFE/ss3sserver | 2 +- Starbound/sbserver | 2 +- SvenCoop/svenserver | 2 +- TeamFortress2/tf2server | 2 +- TeamFortressClassic/tfcserver | 2 +- TeamSpeak3/ts3server | 2 +- Teeworlds/twserver | 2 +- Terraria/terrariaserver | 2 +- UnrealTournament/utserver | 2 +- UnrealTournament2004/ut2k4server | 2 +- UnrealTournament3/ut3server | 2 +- UnrealTournament99/ut99server | 2 +- WolfensteinEnemyTerritory/wetserver | 2 +- lgsm/functions/fn_functions | 2 +- lgsm/functions/fn_getopt | 2 +- lgsm/functions/fn_update_functions | 2 +- 58 files changed, 91 insertions(+), 91 deletions(-) diff --git a/ARKSurvivalEvolved/arkserver b/ARKSurvivalEvolved/arkserver index efba11b51..bcabf3e27 100644 --- a/ARKSurvivalEvolved/arkserver +++ b/ARKSurvivalEvolved/arkserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/Arma3/arma3server b/Arma3/arma3server index 62a760104..82484e3e4 100644 --- a/Arma3/arma3server +++ b/Arma3/arma3server @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/Battlefield1942/bf1942server b/Battlefield1942/bf1942server index 14995f4cf..5aca78b93 100644 --- a/Battlefield1942/bf1942server +++ b/Battlefield1942/bf1942server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/BlackMesa/bmdmserver b/BlackMesa/bmdmserver index 91fe6bb56..5026662a4 100644 --- a/BlackMesa/bmdmserver +++ b/BlackMesa/bmdmserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/BladeSymphony/bsserver b/BladeSymphony/bsserver index e5e071271..946e6c2d9 100644 --- a/BladeSymphony/bsserver +++ b/BladeSymphony/bsserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/BrainBread2/bb2server b/BrainBread2/bb2server index 8ff2d159c..8348aafd2 100644 --- a/BrainBread2/bb2server +++ b/BrainBread2/bb2server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/CodenameCURE/ccserver b/CodenameCURE/ccserver index 3473eed80..3f08a563f 100644 --- a/CodenameCURE/ccserver +++ b/CodenameCURE/ccserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/CounterStrike/csserver b/CounterStrike/csserver index e2cdde7fc..ae04a04d6 100644 --- a/CounterStrike/csserver +++ b/CounterStrike/csserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="060816" +version="211016" #### Variables #### diff --git a/CounterStrikeConditionZero/csczserver b/CounterStrikeConditionZero/csczserver index 895ec1583..fb6971bbc 100644 --- a/CounterStrikeConditionZero/csczserver +++ b/CounterStrikeConditionZero/csczserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/CounterStrikeGlobalOffensive/csgoserver b/CounterStrikeGlobalOffensive/csgoserver index 87425d00a..b5e93a15e 100755 --- a/CounterStrikeGlobalOffensive/csgoserver +++ b/CounterStrikeGlobalOffensive/csgoserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/CounterStrikeSource/cssserver b/CounterStrikeSource/cssserver index e6994789e..8faed4600 100644 --- a/CounterStrikeSource/cssserver +++ b/CounterStrikeSource/cssserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/DayOfDefeat/dodserver b/DayOfDefeat/dodserver index f6cd2b34e..092374517 100644 --- a/DayOfDefeat/dodserver +++ b/DayOfDefeat/dodserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/DayOfDefeatSource/dodsserver b/DayOfDefeatSource/dodsserver index 342ccc97a..f147c480d 100644 --- a/DayOfDefeatSource/dodsserver +++ b/DayOfDefeatSource/dodsserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/DayOfInfamy/doiserver b/DayOfInfamy/doiserver index 7440b369f..c5baebe29 100644 --- a/DayOfInfamy/doiserver +++ b/DayOfInfamy/doiserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/DeathmatchClassic/dmcserver b/DeathmatchClassic/dmcserver index b987c9685..8c90086d0 100644 --- a/DeathmatchClassic/dmcserver +++ b/DeathmatchClassic/dmcserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/DontStarveTogether/dstserver b/DontStarveTogether/dstserver index e96d304b8..2b6805c38 100644 --- a/DontStarveTogether/dstserver +++ b/DontStarveTogether/dstserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/DoubleActionBoogaloo/dabserver b/DoubleActionBoogaloo/dabserver index 4b8b531e9..ad9232079 100644 --- a/DoubleActionBoogaloo/dabserver +++ b/DoubleActionBoogaloo/dabserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/EmpiresMod/emserver b/EmpiresMod/emserver index 20e28b2d4..4251c1093 100644 --- a/EmpiresMod/emserver +++ b/EmpiresMod/emserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/FistfulOfFrags/fofserver b/FistfulOfFrags/fofserver index 8a9fa69c5..d96a076c0 100644 --- a/FistfulOfFrags/fofserver +++ b/FistfulOfFrags/fofserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/GarrysMod/gmodserver b/GarrysMod/gmodserver index edc225016..571600dc7 100644 --- a/GarrysMod/gmodserver +++ b/GarrysMod/gmodserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/GoldenEyeSource/gesserver b/GoldenEyeSource/gesserver index 081362d2a..9b53028ae 100644 --- a/GoldenEyeSource/gesserver +++ b/GoldenEyeSource/gesserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="300816" +version="211016" #### Variables #### diff --git a/HalfLife2Deathmatch/hl2dmserver b/HalfLife2Deathmatch/hl2dmserver index ff324c434..3e3ac1001 100644 --- a/HalfLife2Deathmatch/hl2dmserver +++ b/HalfLife2Deathmatch/hl2dmserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/HalfLifeDeathmatch/hldmserver b/HalfLifeDeathmatch/hldmserver index 2716a27e9..bbdcd7d2f 100644 --- a/HalfLifeDeathmatch/hldmserver +++ b/HalfLifeDeathmatch/hldmserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/HalfLifeDeathmatchSource/hldmsserver b/HalfLifeDeathmatchSource/hldmsserver index 0a45df162..b51756a58 100644 --- a/HalfLifeDeathmatchSource/hldmsserver +++ b/HalfLifeDeathmatchSource/hldmsserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/Hurtworld/hwserver b/Hurtworld/hwserver index 2e28481b6..90c88c882 100644 --- a/Hurtworld/hwserver +++ b/Hurtworld/hwserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/Insurgency/insserver b/Insurgency/insserver index ba49fb494..bf25a1e16 100644 --- a/Insurgency/insserver +++ b/Insurgency/insserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="161001" +version="211016" #### Variables #### diff --git a/JustCause2/jc2server b/JustCause2/jc2server index af5e1e0af..069d8d5cd 100644 --- a/JustCause2/jc2server +++ b/JustCause2/jc2server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/KillingFloor/kfserver b/KillingFloor/kfserver index 09ad60899..43fb5a3bf 100644 --- a/KillingFloor/kfserver +++ b/KillingFloor/kfserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/Left4Dead/l4dserver b/Left4Dead/l4dserver index d05cd9a79..937d5eb3a 100644 --- a/Left4Dead/l4dserver +++ b/Left4Dead/l4dserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/Left4Dead2/l4d2server b/Left4Dead2/l4d2server index bddcaae9e..3a26a1442 100644 --- a/Left4Dead2/l4d2server +++ b/Left4Dead2/l4d2server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/Minecraft/mcserver b/Minecraft/mcserver index 6317fb9bc..859d1f9dd 100644 --- a/Minecraft/mcserver +++ b/Minecraft/mcserver @@ -4,12 +4,12 @@ # Author: Daniel Gibbs # Website: https://gameservermanagers.com if [ -f ".dev-debug" ]; then - exec 5>dev-debug.log - BASH_XTRACEFD="5" - set -x + exec 5>dev-debug.log + BASH_XTRACEFD="5" + set -x fi -version="210816" +version="211016" #### Variables #### @@ -91,36 +91,36 @@ filename="${github_file_url_name}" githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" # If the file is missing, then download if [ ! -f "${filedir}/${filename}" ]; then - if [ ! -d "${filedir}" ]; then - mkdir -p "${filedir}" - fi - echo -e " fetching ${filename}...\c" - # Check curl exists and use available path - curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" - for curlcmd in ${curlpaths} - do - if [ -x "${curlcmd}" ]; then - break - fi - done - # If curl exists download file - if [ "$(basename ${curlcmd})" == "curl" ]; then - curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) - if [ $? -ne 0 ]; then - echo -e "\e[0;31mFAIL\e[0m\n" - echo "${curlfetch}" - echo -e "${githuburl}\n" - exit 1 - else - echo -e "\e[0;32mOK\e[0m" - fi - else - echo -e "\e[0;31mFAIL\e[0m\n" - echo "Curl is not installed!" - echo -e "" - exit 1 - fi - chmod +x "${filedir}/${filename}" + if [ ! -d "${filedir}" ]; then + mkdir -p "${filedir}" + fi + echo -e " fetching ${filename}...\c" + # Check curl exists and use available path + curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" + for curlcmd in ${curlpaths} + do + if [ -x "${curlcmd}" ]; then + break + fi + done + # If curl exists download file + if [ "$(basename ${curlcmd})" == "curl" ]; then + curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) + if [ $? -ne 0 ]; then + echo -e "\e[0;31mFAIL\e[0m\n" + echo "${curlfetch}" + echo -e "${githuburl}\n" + exit 1 + else + echo -e "\e[0;32mOK\e[0m" + fi + else + echo -e "\e[0;31mFAIL\e[0m\n" + echo "Curl is not installed!" + echo -e "" + exit 1 + fi + chmod +x "${filedir}/${filename}" fi source "${filedir}/${filename}" } diff --git a/Mumble/mumbleserver b/Mumble/mumbleserver index 9e2b022ec..7decb653e 100644 --- a/Mumble/mumbleserver +++ b/Mumble/mumbleserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="290716" +version="211016" #### Variables #### diff --git a/NS2Combat/ns2cserver b/NS2Combat/ns2cserver index 4dbc1e276..923858313 100644 --- a/NS2Combat/ns2cserver +++ b/NS2Combat/ns2cserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/NaturalSelection2/ns2server b/NaturalSelection2/ns2server index 54b6ed226..76ca3ae37 100644 --- a/NaturalSelection2/ns2server +++ b/NaturalSelection2/ns2server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210916" +version="211016" #### Variables #### diff --git a/NoMoreRoomInHell/nmrihserver b/NoMoreRoomInHell/nmrihserver index be02bfc0e..abdba83e3 100644 --- a/NoMoreRoomInHell/nmrihserver +++ b/NoMoreRoomInHell/nmrihserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/OpposingForce/opforserver b/OpposingForce/opforserver index 5013110e2..913248223 100644 --- a/OpposingForce/opforserver +++ b/OpposingForce/opforserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/PiratesVikingandKnightsII/pvkiiserver b/PiratesVikingandKnightsII/pvkiiserver index 5074af33e..870cd4e50 100644 --- a/PiratesVikingandKnightsII/pvkiiserver +++ b/PiratesVikingandKnightsII/pvkiiserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/ProjectZomboid/pzserver b/ProjectZomboid/pzserver index 143c382c6..d0af5d50f 100644 --- a/ProjectZomboid/pzserver +++ b/ProjectZomboid/pzserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/QuakeLive/qlserver b/QuakeLive/qlserver index accf6aadf..ed96114f4 100755 --- a/QuakeLive/qlserver +++ b/QuakeLive/qlserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/RedOrchestra/roserver b/RedOrchestra/roserver index 66b85d98e..6d4082ec6 100644 --- a/RedOrchestra/roserver +++ b/RedOrchestra/roserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/Ricochet/ricochetserver b/Ricochet/ricochetserver index ff5862808..c80e188e9 100644 --- a/Ricochet/ricochetserver +++ b/Ricochet/ricochetserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/Rust/rustserver b/Rust/rustserver index 6e5f8f76a..9196c1ec0 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/SeriousSam3BFE/ss3sserver b/SeriousSam3BFE/ss3sserver index 35b78d831..21dfeb281 100644 --- a/SeriousSam3BFE/ss3sserver +++ b/SeriousSam3BFE/ss3sserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/Starbound/sbserver b/Starbound/sbserver index 197d93ee3..5b572669d 100644 --- a/Starbound/sbserver +++ b/Starbound/sbserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/SvenCoop/svenserver b/SvenCoop/svenserver index c89ffb88d..59b9c750e 100644 --- a/SvenCoop/svenserver +++ b/SvenCoop/svenserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/TeamFortress2/tf2server b/TeamFortress2/tf2server index 972e60903..b16193239 100644 --- a/TeamFortress2/tf2server +++ b/TeamFortress2/tf2server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### diff --git a/TeamFortressClassic/tfcserver b/TeamFortressClassic/tfcserver index 4a9496d35..cf754b700 100644 --- a/TeamFortressClassic/tfcserver +++ b/TeamFortressClassic/tfcserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/TeamSpeak3/ts3server b/TeamSpeak3/ts3server index 2c0af6bd5..527b7324e 100644 --- a/TeamSpeak3/ts3server +++ b/TeamSpeak3/ts3server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="290716" +version="211016" #### Variables #### diff --git a/Teeworlds/twserver b/Teeworlds/twserver index 8ab31bbcb..a16daae1e 100644 --- a/Teeworlds/twserver +++ b/Teeworlds/twserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/Terraria/terrariaserver b/Terraria/terrariaserver index fba75083f..7811110cf 100644 --- a/Terraria/terrariaserver +++ b/Terraria/terrariaserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/UnrealTournament/utserver b/UnrealTournament/utserver index a5ff70a61..ff84f9979 100644 --- a/UnrealTournament/utserver +++ b/UnrealTournament/utserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/UnrealTournament2004/ut2k4server b/UnrealTournament2004/ut2k4server index 3c82b7e7b..3c6b76cc6 100644 --- a/UnrealTournament2004/ut2k4server +++ b/UnrealTournament2004/ut2k4server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/UnrealTournament3/ut3server b/UnrealTournament3/ut3server index 780da1fb8..5788b40ef 100644 --- a/UnrealTournament3/ut3server +++ b/UnrealTournament3/ut3server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/UnrealTournament99/ut99server b/UnrealTournament99/ut99server index 771882279..652ac3772 100644 --- a/UnrealTournament99/ut99server +++ b/UnrealTournament99/ut99server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/WolfensteinEnemyTerritory/wetserver b/WolfensteinEnemyTerritory/wetserver index 35642cdd6..f400c20e6 100644 --- a/WolfensteinEnemyTerritory/wetserver +++ b/WolfensteinEnemyTerritory/wetserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210516" +version="211016" #### Variables #### diff --git a/lgsm/functions/fn_functions b/lgsm/functions/fn_functions index 0d024beb1..758af3dbc 100644 --- a/lgsm/functions/fn_functions +++ b/lgsm/functions/fn_functions @@ -2,7 +2,7 @@ # LGSM fn_functions function # Author: Daniel Gibbs # Website: https://gameservermanagers.com -lgsm_version="210516" +lgsm_version="211016" # Description: Redirects to new core_functions.sh diff --git a/lgsm/functions/fn_getopt b/lgsm/functions/fn_getopt index cec7b51b4..0302cf1d5 100644 --- a/lgsm/functions/fn_getopt +++ b/lgsm/functions/fn_getopt @@ -2,7 +2,7 @@ # LGSM fn_getopt function # Author: Daniel Gibbs # Website: https://gameservermanagers.com -lgsm_version="210516" +lgsm_version="211016" # Description: Redirect to new core_getopt.sh diff --git a/lgsm/functions/fn_update_functions b/lgsm/functions/fn_update_functions index 7c3be31e6..a424d3352 100644 --- a/lgsm/functions/fn_update_functions +++ b/lgsm/functions/fn_update_functions @@ -2,7 +2,7 @@ # LGSM fn_update_functions function # Author: Daniel Gibbs # Website: https://gameservermanagers.com -lgsm_version="210516" +lgsm_version="211016" # Description: LEGACY FUNCTION Deletes the functions dir to allow re-downloading of functions from GitHub. From 9cd4095122aac437d3a2fa1c3fd67eb430ff6988 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Fri, 21 Oct 2016 15:30:34 +0100 Subject: [PATCH 63/75] updated version numbers --- 7DaysToDie/sdtdserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7DaysToDie/sdtdserver b/7DaysToDie/sdtdserver index 07f7d555d..7ec533282 100644 --- a/7DaysToDie/sdtdserver +++ b/7DaysToDie/sdtdserver @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="160916" +version="211016" #### Variables #### From 530fcd2686c4b783454f3bc3f109ad1975f16cc2 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Fri, 21 Oct 2016 15:54:04 +0100 Subject: [PATCH 64/75] Removing very old functions for legacy code If you havnt updated your scripts by now you really need to. --- functions/command_update_functions.sh | 38 -------------- functions/core_functions.sh | 72 --------------------------- functions/core_getopt.sh | 14 ------ functions/fn_functions | 15 ------ functions/fn_getopt | 14 ------ functions/fn_update_functions | 15 ------ functions/update_functions.sh | 15 ------ 7 files changed, 183 deletions(-) delete mode 100644 functions/command_update_functions.sh delete mode 100644 functions/core_functions.sh delete mode 100644 functions/core_getopt.sh delete mode 100644 functions/fn_functions delete mode 100644 functions/fn_getopt delete mode 100644 functions/fn_update_functions delete mode 100644 functions/update_functions.sh diff --git a/functions/command_update_functions.sh b/functions/command_update_functions.sh deleted file mode 100644 index 0c35eb1f0..000000000 --- a/functions/command_update_functions.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -# LGSM command_update_functions.sh function -# Author: Daniel Gibbs -# Website: https://gameservermanagers.com -lgsm_version="210516" - -# Description: Deletes the functions dir to allow re-downloading of functions from GitHub. - -local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" -check.sh -fn_print_dots "Updating functions" -fn_script_log "Updating functions" -sleep 1 -echo -ne "\n" - -# Removed legecy functions dir -if [ -n "${rootdir}" ]; then - if [ -d "${rootdir}/functions/" ]; then - rm -rfv "${rootdir}/functions/" - exitcode=$? - fi -fi - -if [ -n "${functionsdir}" ]; then - if [ -d "${functionsdir}" ]; then - rm -rfv "${functionsdir}/"* - exitcode=$? - fi -fi - -if [ "${exitcode}" == "0" ]; then - fn_print_ok "Updating functions" - fn_script_log "Success! Updating functions" -else - fn_print_fail "Updating functions" - fn_script_log "Failure! Updating functions" -fi -echo -ne "\n" \ No newline at end of file diff --git a/functions/core_functions.sh b/functions/core_functions.sh deleted file mode 100644 index 287a50897..000000000 --- a/functions/core_functions.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -# LGSM core_functions.sh function -# Author: Daniel Gibbs -# Website: https://gameservermanagers.com -lgsm_version="210516" - -# Description: REDIRECT FUNCTION to new location for core_functions.sh - -# fn_fetch_core_dl also placed here to allow legecy servers to still download core functions -if [ -z "${lgsmdir}" ]; then - lgsmdir="${rootdir}/lgsm" - functionsdir="${lgsmdir}/functions" - libdir="${lgsmdir}/lib" -fi - -fn_fetch_core_dl(){ -if [ -z "${githubuser}" ]; then - githubuser="GameServerManagers" -fi -if [ -z "${githubrepo}" ]; then - githubrepo="LinuxGSM" -fi -if [ -z "${githubbranch}" ]; then - githubbranch="master" -fi -github_file_url_dir="lgsm/functions" -github_file_url_name="${functionfile}" -filedir="${functionsdir}" -filename="${github_file_url_name}" -githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" -# If the file is missing, then download -if [ ! -f "${filedir}/${filename}" ]; then - if [ ! -d "${filedir}" ]; then - mkdir -p "${filedir}" - fi - echo -e " fetching ${filename}...\c" - # Check curl exists and use available path - curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" - for curlcmd in ${curlpaths} - do - if [ -x "${curlcmd}" ]; then - break - fi - done - # If curl exists download file - if [ "$(basename ${curlcmd})" == "curl" ]; then - curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) - if [ $? -ne 0 ]; then - echo -e "${red}FAIL${default}\n" - echo "${curlfetch}" - echo -e "${githuburl}\n" - exit 1 - else - echo -e "${green}OK${default}" - fi - else - echo -e "${red}FAIL${default}\n" - echo "Curl is not installed!" - echo -e "" - exit 1 - fi - chmod +x "${filedir}/${filename}" -fi -source "${filedir}/${filename}" -} - -core_functions.sh(){ -functionfile="${FUNCNAME}" -fn_fetch_core_dl -} - -core_functions.sh diff --git a/functions/core_getopt.sh b/functions/core_getopt.sh deleted file mode 100644 index f6032fae6..000000000 --- a/functions/core_getopt.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -# LGSM core_getopt.sh function -# Author: Daniel Gibbs -# Website: https://gameservermanagers.com -lgsm_version="210516" - -# Description: REDIRECT FUNCTION to new location for core_getopt.sh - -core_getopt.sh(){ -functionfile="${FUNCNAME}" -fn_fetch_core_dl -} - -core_getopt.sh \ No newline at end of file diff --git a/functions/fn_functions b/functions/fn_functions deleted file mode 100644 index 2ae012923..000000000 --- a/functions/fn_functions +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -# LGSM fn_functions function -# Author: Daniel Gibbs -# Website: https://gameservermanagers.com -lgsm_version="210516" - -# Description: REDIRECT FUNCTION to new core_functions.sh - -core_functions.sh(){ -# Functions are defined in core_functions.sh. -functionfile="${FUNCNAME}" -fn_runfunction -} - -core_functions.sh \ No newline at end of file diff --git a/functions/fn_getopt b/functions/fn_getopt deleted file mode 100644 index 0b0e3713d..000000000 --- a/functions/fn_getopt +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -# LGSM fn_getopt.sh function -# Author: Daniel Gibbs -# Website: https://gameservermanagers.com -lgsm_version="210516" - -# Description: REDIRECT FUNCTION to new core_getopt.sh - -core_getopt.sh(){ -functionfile="${FUNCNAME}" -fn_fetch_core_dl -} - -core_getopt.sh \ No newline at end of file diff --git a/functions/fn_update_functions b/functions/fn_update_functions deleted file mode 100644 index 5513d5d20..000000000 --- a/functions/fn_update_functions +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -# LGSM fn_update_functions function -# Author: Daniel Gibbs -# Website: https://gameservermanagers.com -lgsm_version="210516" - -# Description: REDIRECT FUNCTION to new command_update_functions.sh - -command_update_functions.sh(){ -functionfile="${FUNCNAME}" -fn_runfunction -} - -command_update_functions.sh - diff --git a/functions/update_functions.sh b/functions/update_functions.sh deleted file mode 100644 index 5513d5d20..000000000 --- a/functions/update_functions.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -# LGSM fn_update_functions function -# Author: Daniel Gibbs -# Website: https://gameservermanagers.com -lgsm_version="210516" - -# Description: REDIRECT FUNCTION to new command_update_functions.sh - -command_update_functions.sh(){ -functionfile="${FUNCNAME}" -fn_runfunction -} - -command_update_functions.sh - From 639dcb4dbeed6084715b298c4f86fb1e7748c844 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Fri, 21 Oct 2016 16:04:39 +0100 Subject: [PATCH 65/75] Removed appmanifest files as no longer required --- appmanifest/appmanifest_10.acf | 22 -------------------- appmanifest/appmanifest_70.acf | 22 -------------------- appmanifest/appmanifest_90.acf | 28 ------------------------- appmanifest/czero/appmanifest_90.acf | 31 ---------------------------- appmanifest/dod/appmanifest_90.acf | 31 ---------------------------- appmanifest/tfc/appmanifest_90.acf | 31 ---------------------------- 6 files changed, 165 deletions(-) delete mode 100644 appmanifest/appmanifest_10.acf delete mode 100644 appmanifest/appmanifest_70.acf delete mode 100644 appmanifest/appmanifest_90.acf delete mode 100644 appmanifest/czero/appmanifest_90.acf delete mode 100644 appmanifest/dod/appmanifest_90.acf delete mode 100644 appmanifest/tfc/appmanifest_90.acf diff --git a/appmanifest/appmanifest_10.acf b/appmanifest/appmanifest_10.acf deleted file mode 100644 index 9217b6129..000000000 --- a/appmanifest/appmanifest_10.acf +++ /dev/null @@ -1,22 +0,0 @@ -"AppState" -{ - "AppID" "10" - "Universe" "1" - "StateFlags" "1090" - "installdir" "Half-Life" - "LastUpdated" "0" - "UpdateResult" "0" - "SizeOnDisk" "0" - "buildid" "0" - "LastOwner" "0" - "BytesToDownload" "0" - "BytesDownloaded" "0" - "AutoUpdateBehavior" "0" - "AllowOtherDownloadsWhileRunning" "0" - "UserConfig" - { - } - "MountedDepots" - { - } -} diff --git a/appmanifest/appmanifest_70.acf b/appmanifest/appmanifest_70.acf deleted file mode 100644 index e5d6f2807..000000000 --- a/appmanifest/appmanifest_70.acf +++ /dev/null @@ -1,22 +0,0 @@ -"AppState" -{ - "AppID" "70" - "Universe" "1" - "StateFlags" "1090" - "installdir" "Half-Life" - "LastUpdated" "0" - "UpdateResult" "0" - "SizeOnDisk" "0" - "buildid" "0" - "LastOwner" "0" - "BytesToDownload" "0" - "BytesDownloaded" "0" - "AutoUpdateBehavior" "0" - "AllowOtherDownloadsWhileRunning" "0" - "UserConfig" - { - } - "MountedDepots" - { - } -} diff --git a/appmanifest/appmanifest_90.acf b/appmanifest/appmanifest_90.acf deleted file mode 100644 index 7de939d34..000000000 --- a/appmanifest/appmanifest_90.acf +++ /dev/null @@ -1,28 +0,0 @@ -"AppState" -{ - "AppID" "90" - "Universe" "1" - "StateFlags" "1026" - "installdir" "Half-Life" - "LastUpdated" "0" - "UpdateResult" "0" - "SizeOnDisk" "0" - "buildid" "0" - "LastOwner" "0" - "BytesToDownload" "0" - "BytesDownloaded" "0" - "AutoUpdateBehavior" "0" - "AllowOtherDownloadsWhileRunning" "0" - "UserConfig" - { - } - "MountedDepots" - { - } - "SharedDepots" - { - "1" "70" - "11" "10" - "71" "70" - } -} diff --git a/appmanifest/czero/appmanifest_90.acf b/appmanifest/czero/appmanifest_90.acf deleted file mode 100644 index 2373e5421..000000000 --- a/appmanifest/czero/appmanifest_90.acf +++ /dev/null @@ -1,31 +0,0 @@ -"AppState" -{ - "appid" "90" - "Universe" "1" - "StateFlags" "4" - "installdir" "Half-Life" - "LastUpdated" "1390662869" - "UpdateResult" "0" - "SizeOnDisk" "41586625" - "buildid" "63549" - "LastOwner" "76561199609699388" - "BytesToDownload" "224501136" - "BytesDownloaded" "224501136" - "AutoUpdateBehavior" "0" - "AllowOtherDownloadsWhileRunning" "0" - "UserConfig" - { - "mod" "czero" - } - "MountedDepots" - { - "4" "3196956435784640171" - } - "SharedDepots" - { - "1" "70" - "11" "10" - "71" "70" - "81" "80" - } -} diff --git a/appmanifest/dod/appmanifest_90.acf b/appmanifest/dod/appmanifest_90.acf deleted file mode 100644 index 704e4d1f0..000000000 --- a/appmanifest/dod/appmanifest_90.acf +++ /dev/null @@ -1,31 +0,0 @@ -"AppState" -{ - "AppID" "90" - "Universe" "1" - "StateFlags" "1030" - "installdir" "Half-Life" - "LastUpdated" "1390652241" - "UpdateResult" "0" - "SizeOnDisk" "41586625" - "buildid" "63549" - "LastOwner" "76561201453793332" - "BytesToDownload" "236411088" - "BytesDownloaded" "0" - "AutoUpdateBehavior" "0" - "AllowOtherDownloadsWhileRunning" "0" - "UserConfig" - { - "mod" "dod" - } - "MountedDepots" - { - "4" "3196956435784640171" - } - "SharedDepots" - { - "1" "70" - "11" "10" - "71" "70" - "31" "30" - } -} diff --git a/appmanifest/tfc/appmanifest_90.acf b/appmanifest/tfc/appmanifest_90.acf deleted file mode 100644 index aa3f4e2a9..000000000 --- a/appmanifest/tfc/appmanifest_90.acf +++ /dev/null @@ -1,31 +0,0 @@ -"AppState" -{ - "AppID" "90" - "Universe" "1" - "StateFlags" "4" - "installdir" "Half-Life" - "LastUpdated" "1390765182" - "UpdateResult" "0" - "SizeOnDisk" "41586625" - "buildid" "63549" - "LastOwner" "76561198445953036" - "BytesToDownload" "62362560" - "BytesDownloaded" "0" - "AutoUpdateBehavior" "0" - "AllowOtherDownloadsWhileRunning" "0" - "UserConfig" - { - "mod" "tfc" - } - "MountedDepots" - { - "4" "3196956435784640171" - } - "SharedDepots" - { - "1" "70" - "11" "10" - "71" "70" - "21" "20" - } -} From cf83b889e4630f8bb97e925d6479e5739603b200 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sat, 22 Oct 2016 00:00:09 +0100 Subject: [PATCH 66/75] Updated directories --- QuakeWorld/qwserver | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/QuakeWorld/qwserver b/QuakeWorld/qwserver index 7a43b4b56..78449e81f 100644 --- a/QuakeWorld/qwserver +++ b/QuakeWorld/qwserver @@ -54,14 +54,15 @@ lockselfname=".${servicename}.lock" lgsmdir="${rootdir}/lgsm" functionsdir="${lgsmdir}/functions" libdir="${lgsmdir}/lib" +tmpdir="${lgsmdir}/tmp" filesdir="${rootdir}/serverfiles" systemdir="${filesdir}/ktx" executabledir="${filesdir}" executable="./mvdsv" servercfg="${servicename}.cfg" +servercfgdefault="server.cfg" servercfgdir="${systemdir}" servercfgfullpath="${servercfgdir}/${servercfg}" -servercfgdefault="${servercfgdir}/lgsm-default.cfg" backupdir="${rootdir}/backups" # Logging From f1722339950a685d25488305ddeddd95951546e4 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sat, 22 Oct 2016 12:05:33 +0100 Subject: [PATCH 67/75] Added quake 2 details --- lgsm/functions/command_details.sh | 11 +++++++++++ lgsm/functions/info_config.sh | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index fe37083df..126dbe3b3 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -386,6 +386,15 @@ fn_details_refractor(){ } | column -s $'\t' -t } +fn_details_quake2(){ + echo -e "netstat -atunp | grep quake2" + echo -e "" + { + echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "> Game\tINBOUND\t${port}\tudp" + } | column -s $'\t' -t +} + fn_details_quake3(){ echo -e "netstat -atunp | grep q3ded" echo -e "" @@ -674,6 +683,8 @@ fn_display_details() { fn_details_ark elif [ "${gamename}" == "Hurtworld" ]; then fn_details_hurtworld + elif [ "${gamename}" == "Quake 2" ]; then + fn_details_quake2 elif [ "${gamename}" == "Quake 3: Arena" ]; then fn_details_quake3 elif [ "${gamename}" == "Quake Live" ]; then diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 846dec349..948e15201 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -154,6 +154,24 @@ fn_info_config_projectzomboid(){ fi } +fn_info_config_quake2(){ + if [ ! -f "${servercfgfullpath}" ]; then + rconpassword="${unavailable}" + servername="${unavailable}" + serverpassword="${unavailable}" + slots="${zero}" + else + rconpassword=$(grep "rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + slots=$(grep "maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + + # Not Set + rconpassword=${rconpassword:-"NOT SET"} + servername=${servername:-"NOT SET"} + slots=${slots:-"0"} + fi +} + fn_info_config_quake3(){ if [ ! -f "${servercfgfullpath}" ]; then rconpassword="${unavailable}" From a0b6c9dc03d1829a29d06b512f35f80a81f84d40 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sat, 22 Oct 2016 12:14:26 +0100 Subject: [PATCH 68/75] Added missing if statements --- lgsm/functions/command_details.sh | 2 +- lgsm/functions/info_config.sh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index 126dbe3b3..af30b9a27 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -292,7 +292,7 @@ fn_details_ports(){ parmslocation="${red}UNKNOWN${default}" # engines that require editing in the config file - local ports_edit_array=( "avalanche" "dontstarve" "idtech3" "lwjgl2" "projectzomboid" "idtech3_ql" "refractor" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" ) + local ports_edit_array=( "avalanche" "dontstarve" "idtech2" "idtech3" "lwjgl2" "projectzomboid" "idtech3_ql" "refractor" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" ) for port_edit in "${ports_edit_array[@]}" do if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 948e15201..7982ebd69 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -513,6 +513,9 @@ elif [ "${gamename}" == "Battlefield: 1942" ]; then # Dont Starve Together elif [ "${engine}" == "dontstarve" ]; then fn_info_config_dontstarve +# Quake 2 +elif [ "${gamename}" == "Quake 2" ]; then + fn_info_config_quake2 # Quake 3 elif [ "${gamename}" == "Quake 3: Arena" ]; then fn_info_config_quake3 From f7fb1b70637fb669cc1275be24c615569f384458 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sat, 22 Oct 2016 15:39:58 +0100 Subject: [PATCH 69/75] Added Quake 2 to fn_getopt_generic_no_update --- lgsm/functions/core_getopt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index da5a0d710..49acff39a 100644 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -622,7 +622,7 @@ case "${getopt}" in if [ "${gamename}" == "Mumble" ]; then fn_getopt_mumble -elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then +elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then fn_getopt_generic_no_update elif [ "${engine}" == "lwjgl2" ]; then fn_getopt_minecraft From 3029c9b25882261c14db14d3611ece8fc0b3c769 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sun, 23 Oct 2016 15:20:56 +0100 Subject: [PATCH 70/75] GLIBC not required for Quake 2 --- lgsm/functions/info_glibc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/info_glibc.sh b/lgsm/functions/info_glibc.sh index f7f333d63..27e5d6e58 100644 --- a/lgsm/functions/info_glibc.sh +++ b/lgsm/functions/info_glibc.sh @@ -42,7 +42,7 @@ elif [ "${gamename}" == "No More Room in Hell" ]; then glibcrequired="2.15" glibcfix="yes" elif [ "${gamename}" == "Quake 2" ]; then - glibcrequired="2.0" + glibcrequired="NOT REQUIRED" glibcfix="no" elif [ "${gamename}" == "Quake 3: Arena" ]; then glibcrequired="2.1" From 345f3456accf2351d8800da893fe251eaa890d27 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sun, 23 Oct 2016 21:18:38 +0100 Subject: [PATCH 71/75] removed # --- lgsm/functions/command_dev_detect_glibc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh index ce27d4875..7703fba34 100644 --- a/lgsm/functions/command_dev_detect_glibc.sh +++ b/lgsm/functions/command_dev_detect_glibc.sh @@ -37,4 +37,4 @@ while IFS= read -r -d $'\0' line; do done echo "" cat "${tmpdir}/detect_glibc.tmp"|sort|uniq|sort -r --version-sort -#rm "${tmpdir}/detect_glibc.tmp" \ No newline at end of file +rm "${tmpdir}/detect_glibc.tmp" \ No newline at end of file From ca7af8f155a55196f182efe2240e719dfa408707 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sun, 23 Oct 2016 21:23:33 +0100 Subject: [PATCH 72/75] added quake engine --- lgsm/functions/gsquery.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/gsquery.py b/lgsm/functions/gsquery.py index a242c89bb..cd46717cd 100644 --- a/lgsm/functions/gsquery.py +++ b/lgsm/functions/gsquery.py @@ -26,6 +26,8 @@ class GameServer: self.query_prompt_string = b'\xff\xff\xff\xffstatus\x00' elif self.option.engine == 'idtech3': self.query_prompt_string = b'\xff\xff\xff\xffgetstatus' + elif self.option.engine == 'quake': + self.query_prompt_string = b'\xff\xff\xff\xffstatus\x00' elif self.option.engine == 'quakelive': self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0' elif self.option.engine == 'realvirtuality': @@ -111,7 +113,7 @@ if __name__ == '__main__': action='store', dest='engine', default=False, - help='Engine type: avalanche, goldsource, idtech2, idtech3, idtech3_ql, realvirtuality, quakelive, refractor, spark, source, unity3d, unreal, unreal2.' + help='Engine type: avalanche, goldsource, idtech2, idtech3, realvirtuality, quake, quakelive, refractor, spark, source, unity3d, unreal, unreal2.' ) parser.add_option( '-v', '--verbose', From 41c9ec3ba7e165e3eadbf572362f5522cd3e4589 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sun, 23 Oct 2016 21:24:26 +0100 Subject: [PATCH 73/75] added quake engine to gsquery --- lgsm/functions/command_monitor.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh index 33b86e55d..b11015e40 100644 --- a/lgsm/functions/command_monitor.sh +++ b/lgsm/functions/command_monitor.sh @@ -79,7 +79,7 @@ fn_monitor_tmux(){ fn_print_ok_eol_nl fn_script_log_pass "Checking session: OK" # runs gsquery check on game with specific engines. - local allowed_engines_array=( avalanche goldsource idtech3 idtech3_ql refractor realvirtuality source spark unity3d unreal unreal2 ) + local allowed_engines_array=( avalanche goldsource idtech3 idtech3_ql quake refractor realvirtuality source spark unity3d unreal unreal2 ) for allowed_engine in "${allowed_engines_array[@]}" do if [ "${allowed_engine}" == "${engine}" ]; then From 5de3226e008b639e51b2fe52729722479b606361 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sun, 23 Oct 2016 22:18:04 +0100 Subject: [PATCH 74/75] Added QuakeWorld --- lgsm/functions/command_details.sh | 13 ++++++++++++- lgsm/functions/core_getopt.sh | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index af30b9a27..7b8812f97 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -292,7 +292,7 @@ fn_details_ports(){ parmslocation="${red}UNKNOWN${default}" # engines that require editing in the config file - local ports_edit_array=( "avalanche" "dontstarve" "idtech2" "idtech3" "lwjgl2" "projectzomboid" "idtech3_ql" "refractor" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" ) + local ports_edit_array=( "avalanche" "dontstarve" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "projectzomboid" "quake" "refractor" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" ) for port_edit in "${ports_edit_array[@]}" do if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then @@ -404,6 +404,15 @@ fn_details_quake3(){ } | column -s $'\t' -t } +fn_details_quake(){ + echo -e "netstat -atunp | grep mvdsv" + echo -e "" + { + echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "> Game\tINBOUND\t${port}\tudp" + } | column -s $'\t' -t +} + fn_details_quakelive(){ echo -e "netstat -atunp | grep qzeroded" echo -e "" @@ -683,6 +692,8 @@ fn_display_details() { fn_details_ark elif [ "${gamename}" == "Hurtworld" ]; then fn_details_hurtworld + elif [ "${gamename}" == "QuakeWorld" ]; then + fn_details_quake elif [ "${gamename}" == "Quake 2" ]; then fn_details_quake2 elif [ "${gamename}" == "Quake 3: Arena" ]; then diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index 49acff39a..d07f82d04 100644 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -622,7 +622,7 @@ case "${getopt}" in if [ "${gamename}" == "Mumble" ]; then fn_getopt_mumble -elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then +elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "QuakeWorld" ]||[ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then fn_getopt_generic_no_update elif [ "${engine}" == "lwjgl2" ]; then fn_getopt_minecraft From ec4e1907205a2f6f0d5e6ce9103866b87bb8b4f1 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs <me@danielgibbs.co.uk> Date: Sun, 23 Oct 2016 22:41:22 +0100 Subject: [PATCH 75/75] added check to see if updateonstart var exists --- lgsm/functions/command_details.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index 7b8812f97..22f8e2a5f 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -218,7 +218,9 @@ fn_details_script(){ echo -e "${blue}Pushbullet alert:\t${default}${pushbulletalert}" # Update on start - echo -e "${blue}Update on start:\t${default}${updateonstart}" + if [ -n "${updateonstart}" ]; then + echo -e "${blue}Update on start:\t${default}${updateonstart}" + fi # Script location echo -e "${blue}Location:\t${default}${rootdir}"