From 0068857b9363fb86e55a0f3d64c54ca93e6032c1 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 26 Mar 2021 23:54:04 +0000 Subject: [PATCH 1/8] fix(arma3): increase glibc requirement to 2.27 (#3408) --- lgsm/config-default/config-lgsm/arma3server/_default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg index d7da37cf1f..7b338811a1 100644 --- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg @@ -166,7 +166,7 @@ consoleinteract="no" # Do not edit gamename="ARMA 3" engine="realvirtuality" -glibc="2.13" +glibc="2.27" #### Directories #### # Edit with care From 4c9ea848a03ea137c8106431794773db4c73bde5 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 26 Mar 2021 23:56:50 +0000 Subject: [PATCH 2/8] fix(alert): correct discord avatar from png to jpg (#3410) --- lgsm/functions/alert_discord.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/functions/alert_discord.sh b/lgsm/functions/alert_discord.sh index b8467eecc8..1d047b60b7 100755 --- a/lgsm/functions/alert_discord.sh +++ b/lgsm/functions/alert_discord.sh @@ -15,13 +15,13 @@ fi json=$(cat < Date: Sat, 27 Mar 2021 00:05:47 +0000 Subject: [PATCH 3/8] fix(rust): increase rust query delay (#3412) 5 mins is not enough for some servers to load and query to become available --- lgsm/config-default/config-lgsm/rustserver/_default.cfg | 2 +- lgsm/functions/check_deps.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg index 424cafabf1..5d4808dc78 100644 --- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg @@ -108,7 +108,7 @@ logdays="7" ## Monitor | https://docs.linuxgsm.com/commands/monitor # Query delay time -querydelay="5" +querydelay="10" ## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors ansi="on" diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index 94e48e672b..50109b2f64 100755 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -350,7 +350,7 @@ fn_deps_build_debian(){ if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${shortname}" != "pmc" ]&&[ "${shortname}" != "wmc" ]&&[ "${engine}" != "renderware" ]; then if [ "${arch}" == "x86_64" ]; then # lib32gcc1 is now called lib32gcc-s1 in debian 11 - if { [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; }|| { [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "20.10" ]; } ||{ [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "20.10" ]; }; then + if { [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; }||{ [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "20.10" ]; }||{ [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "20.10" ]; }; then array_deps_required+=( lib32gcc-s1 lib32stdc++6 ) else array_deps_required+=( lib32gcc1 lib32stdc++6 ) From 631c22a1ee63e7c5287f88d0edce4b36b123093d Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 27 Mar 2021 00:10:08 +0000 Subject: [PATCH 4/8] feat(mcbserver): gamedig is now supported (#3389) Make sure gamedig is updated --- lgsm/config-default/config-lgsm/mcbserver/_default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg index abad7f61cb..d5ad3b59f3 100644 --- a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg @@ -122,7 +122,7 @@ stopmode="5" # 3: gamedig # 4: gsquery # 5: tcp -querymode="4" +querymode="2" querytype="minecraftbe" ## Console type From 5a5a12525bd6cc346da7aceb787642293d774bf0 Mon Sep 17 00:00:00 2001 From: jobhh Date: Sun, 28 Mar 2021 22:44:20 +0200 Subject: [PATCH 5/8] feat(etl): update ET: Legacy to 2.77.1 (#3417) --- 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 bf0233177c..b6b9f5240f 100755 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -27,7 +27,7 @@ fn_install_server_files(){ elif [ "${shortname}" == "codwaw" ]; then remote_fileurl="http://linuxgsm.download/CallOfDutyWorldAtWar/codwaw-lnxded-1.7-full.tar.xz"; local_filedir="${tmpdir}"; local_filename="codwaw-lnxded-1.7-full.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="2c6be1bb66ea631b9b2e7ae6216c6680" elif [ "${shortname}" == "etl" ]; then - remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/etlegacy-v2.77-i386-et-260b.tar.xz"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.77-i386-et-260b.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="7f301708f5bb1272c243f9e2d1b735dc" + remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/etlegacy-v2.77.1-i386-et-260b.tar.xz"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.77.1-i386-et-260b.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="cc307a9232abd3999be499b42d8e4ea8" elif [ "${shortname}" == "mohaa" ]; then remote_fileurl="http://linuxgsm.download/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.xz"; local_filedir="${tmpdir}"; local_filename="moh_revival_v1.12_RC3.5.1.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="7c664538999252eeaf2b6d9949416480" elif [ "${shortname}" == "ns" ]; then From 53fdf7c7058d3f990792691340d2adc398301ee5 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 28 Mar 2021 21:46:36 +0100 Subject: [PATCH 6/8] fix(rust): resolve rust seed not loading to server (#3407) --- lgsm/functions/command_debug.sh | 2 ++ lgsm/functions/command_start.sh | 1 + lgsm/functions/core_legacy.sh | 3 ++- lgsm/functions/info_messages.sh | 19 +++++++++++++++++-- linuxgsm.sh | 3 +-- 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh index 7925e3ff96..aac203ac9d 100755 --- a/lgsm/functions/command_debug.sh +++ b/lgsm/functions/command_debug.sh @@ -67,6 +67,8 @@ fi if [ "${serverpassword}" ]; then echo -e "${lightblue}Server password:\t${default}${serverpassword}" fi + +fn_reload_startparameters echo -e "${lightblue}Start parameters:${default}" if [ "${engine}" == "source" ]||[ "${engine}" == "goldsrc" ]; then echo -e "${executable} ${startparameters} -debug" diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index e06a0e3e53..caa9333201 100755 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -71,6 +71,7 @@ fn_start_tmux(){ date '+%s' > "${lockdir}/${selfname}.lock" echo "${version}" >> "${lockdir}/${selfname}.lock" echo "${port}" >> "${lockdir}/${selfname}.lock" + fn_reload_startparameters cd "${executabledir}" || exit tmux new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${sessionname}" "${preexecutable} ${executable} ${startparameters}" 2> "${lgsmlogdir}/.${selfname}-tmux-error.tmp" diff --git a/lgsm/functions/core_legacy.sh b/lgsm/functions/core_legacy.sh index e28cb74573..811acfbba0 100755 --- a/lgsm/functions/core_legacy.sh +++ b/lgsm/functions/core_legacy.sh @@ -79,5 +79,6 @@ if [ -z "${wsstartmap}" ]; then fi fn_parms(){ -parms="${startparameters}" + fn_reload_startparameters + parms="${startparameters}" } diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index e42236aa89..7ff432079b 100755 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -347,7 +347,7 @@ fn_info_message_gameserver(){ fi if [ -n "${defaultscenario}" ]; then - # Current scenario + # Current scenario (Insurgency: Sandstorm) if [ -n "${gdgamemode}" ]; then echo -e "${lightblue}Current scenario:\t${default}${gdgamemode}" fi @@ -425,7 +425,22 @@ fn_info_message_gameserver(){ # Save interval (Rust) if [ -n "${saveinterval}" ]; then - echo -e "${lightblue}ASE:\t${default}${saveinterval} s" + echo -e "${lightblue}Save interval:\t${default}${saveinterval}s" + fi + + # Seed (Rust) + if [ -n "${seed}" ]; then + echo -e "${lightblue}Seed:\t${default}${seed}" + fi + + # Salt (Rust) + if [ -n "${salt}" ]; then + echo -e "${lightblue}Salt:\t${default}${salt}" + fi + + # World Size (Rust) + if [ -n "${worldsize}" ]; then + echo -e "${lightblue}World size:\t${default}${worldsize}m" fi # Random map rotation mode (Squad and Post Scriptum) diff --git a/linuxgsm.sh b/linuxgsm.sh index 08bb0975f2..ea29b72a62 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -478,7 +478,7 @@ else elif grep -qE "^[[:blank:]]*preexecutable=" "${configdirserver}/_default.cfg"; then eval preexecutable="$(sed -nr 's/^ *preexecutable=(.*)$/\1/p' "${configdirserver}/_default.cfg")" fi - + # For legacy configs that still use parms= 15.03.21 if grep -qE "^[[:blank:]]*parms=" "${configdirserver}/secrets-${selfname}.cfg"; then eval parms="$(sed -nr 's/^ *parms=(.*)$/\1/p' "${configdirserver}/secrets-${selfname}.cfg")" @@ -497,7 +497,6 @@ else fi } - fn_reload_startparameters # Load the linuxgsm.sh in to tmpdir. If missing download it. if [ ! -f "${tmpdir}/linuxgsm.sh" ]; then fn_fetch_file_github "" "linuxgsm.sh" "${tmpdir}" "chmodx" "norun" "noforcedl" "nomd5" From 669e2c9227b3a58051ee715469448dfd2fc39b90 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 28 Mar 2021 22:25:02 +0100 Subject: [PATCH 7/8] Release v21.2.3 --- lgsm/functions/core_functions.sh | 2 +- linuxgsm.sh | 2 +- tests/tests_fctrserver.sh | 2 +- tests/tests_jc2server.sh | 2 +- tests/tests_mcserver.sh | 2 +- tests/tests_ts3server.sh | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh index 89b0ef0faf..ec1a98531a 100755 --- a/lgsm/functions/core_functions.sh +++ b/lgsm/functions/core_functions.sh @@ -8,7 +8,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -modulesversion="v21.2.2" +modulesversion="v21.2.3" # Core diff --git a/linuxgsm.sh b/linuxgsm.sh index ea29b72a62..c4df710378 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v21.2.2" +version="v21.2.3" shortname="core" gameservername="core" commandname="CORE" diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh index c4a716aa95..f31d4ac964 100644 --- a/tests/tests_fctrserver.sh +++ b/tests/tests_fctrserver.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v21.2.2" +version="v21.2.3" shortname="fctr" gameservername="fctrserver" commandname="CORE" diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh index ff1eec5472..7203ac0d28 100644 --- a/tests/tests_jc2server.sh +++ b/tests/tests_jc2server.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v21.2.2" +version="v21.2.3" shortname="jc2" gameservername="jc2server" commandname="CORE" diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh index ce24f3df04..4207328391 100644 --- a/tests/tests_mcserver.sh +++ b/tests/tests_mcserver.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v21.2.2" +version="v21.2.3" shortname="mc" gameservername="mcserver" commandname="CORE" diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh index d867b41ac5..afc68811a5 100644 --- a/tests/tests_ts3server.sh +++ b/tests/tests_ts3server.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v21.2.2" +version="v21.2.3" shortname="ts3" gameservername="ts3server" commandname="CORE" From 079ec1e8d4d2e96f590620d9e26e853af52bf616 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Tue, 6 Apr 2021 10:54:44 +0100 Subject: [PATCH 8/8] feat(wipe): resolve random seed and simplify wipe (#3420) merge merge merge merge merge merge MERGE merge merge merge merge message about Rust+ data merge merge merge merge merge mertge merge merge merge merge merge merge --- .../config-lgsm/rustserver/_default.cfg | 8 +- lgsm/data/bo_header.jpg | Bin 0 -> 19790 bytes lgsm/data/rust_header.jpg | Bin 0 -> 117845 bytes lgsm/functions/command_wipe.sh | 267 +++++++----------- lgsm/functions/core_getopt.sh | 6 +- lgsm/functions/core_messages.sh | 22 ++ lgsm/functions/fix_rust.sh | 10 + lgsm/functions/info_messages.sh | 6 + lgsm/functions/info_parms.sh | 15 +- lgsm/functions/install_modules.sh | 20 -- lgsm/functions/query_gamedig.sh | 8 +- lgsm/functions/update_papermc.sh | 2 +- 12 files changed, 169 insertions(+), 195 deletions(-) create mode 100644 lgsm/data/bo_header.jpg create mode 100644 lgsm/data/rust_header.jpg delete mode 100755 lgsm/functions/install_modules.sh diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg index 5d4808dc78..a29d763745 100644 --- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg @@ -16,16 +16,18 @@ appport=28082 rconpassword="CHANGE_ME" rconweb="1" # Value is: 1 for the Facepunch web panel, Rustadmin desktop and Rustadmin Online; 0 for RCON tools like Rusty. servername="Rust" -gamemode="vanilla" # values: vanilla, softcore ( Doc: https://wiki.facepunch.com/rust/server-gamemodes ) -maxplayers="50" +gamemode="vanilla" # Values: vanilla, softcore ( Doc: https://wiki.facepunch.com/rust/server-gamemodes ) +serverlevel="Procedural Map" # Values: Procedural Map, Barren, HapisIsland, SavasIsland +customlevelurl="" # Custom level url seed="" # range: 1-2147483647, used to reproduce a procedural map. salt="" # range: unknown, used to recover a known setting from an existing map. +maxplayers="50" worldsize="3000" # default: 3000, range: 1000-6000, map size in meters. saveinterval="300" # Auto-save in seconds. tickrate="30" # default: 30, range: 15-100. ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters -startparameters="-batchmode +app.listenip ${ip} +app.port ${appport} +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" +server.gamemode ${gamemode} +server.seed ${seed} +server.salt ${salt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile" +startparameters="-batchmode +app.listenip ${ip} +app.port ${appport} +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" +server.gamemode ${gamemode} +server.level \"${serverlevel}\" +server.seed ${seed} +server.salt ${salt} +server.levelurl ${customlevelurl} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile" #### LinuxGSM Settings #### diff --git a/lgsm/data/bo_header.jpg b/lgsm/data/bo_header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d63ee5c3da594ffd9b7d71080bccd535ba662795 GIT binary patch literal 19790 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 literal 0 HcmV?d00001 diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh index 63cb830fba..d2d05defcb 100755 --- a/lgsm/functions/command_wipe.sh +++ b/lgsm/functions/command_wipe.sh @@ -12,9 +12,9 @@ fn_firstcommand_set # Provides an exit code upon error. fn_wipe_exit_code(){ - ((exitcode=$?)) + exitcode=$? if [ "${exitcode}" != 0 ]; then - fn_script_log_fatal "${currentaction}" + fn_print_fail_eol_nl core_exit.sh else fn_print_ok_eol_nl @@ -22,209 +22,160 @@ fn_wipe_exit_code(){ } # Removes files to wipe server. -fn_wipe_server_files(){ - fn_print_start_nl "Wiping server" - fn_script_log_info "Wiping server" - # Wipe procedural map. - if [ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.map")" ]; then - echo -en "removing procedural map proceduralmap.*.map file(s)..." - fn_sleep_time - fn_script_log_info "Removing procedural map file(s): ${serveridentitydir}/proceduralmap.*.map" - find "${serveridentitydir:?}" -type f -name "proceduralmap.*.map" -delete | tee -a "${lgsmlog}" - fn_wipe_exit_code - fn_sleep_time - else - echo -e "no procedural map file to remove" - fn_sleep_time - fn_script_log_pass "No procedural map file to remove" - fi - # Wipe Barren map. - if [ -n "$(find "${serveridentitydir}" -type f -name "barren*.map")" ]; then - echo -en "removing barren map barren*.map file(s)..." - fn_sleep_time - fn_script_log_info "Removing map file(s): ${serveridentitydir}/barren*.map" - find "${serveridentitydir:?}" -type f -name "barren*.map" -delete | tee -a "${lgsmlog}" - fn_wipe_exit_code - fn_sleep_time - else - echo -e "no barren map file to remove" - fn_sleep_time - fn_script_log_pass "No barren map file to remove" - fi - # Wipe custom map. - if [ -n "$(find "${serveridentitydir}" -type f -name "*.map")" ]; then - echo -en "removing custom map file(s)..." - fn_sleep_time - fn_script_log_info "Removing map file(s): ${serveridentitydir}/*.map" - find "${serveridentitydir:?}" -type f -name "*.map" -delete | tee -a "${lgsmlog}" - fn_wipe_exit_code - fn_sleep_time - else - echo -e "no map file to remove" - fn_sleep_time - fn_script_log_pass "No map file to remove" - fi - # Wipe custom map save. - if [ -n "$(find "${serveridentitydir}" -type f -name "*.sav*")" ]; then - echo -en "removing map save *.sav* file(s)..." - fn_sleep_time - fn_script_log_info "Removing map save(s): ${serveridentitydir}/*.sav*" - find "${serveridentitydir:?}" -type f -name "*.sav*" -delete | tee -a "${lgsmlog}" - fn_wipe_exit_code - fn_sleep_time - else - echo -e "no map save to remove" - fn_sleep_time - fn_script_log_pass "No map save to remove." - fi - # Wipe user dir, might be a legacy thing, maybe to be removed. - if [ -d "${serveridentitydir}/user" ]; then - echo -en "removing user directory..." - fn_sleep_time - fn_script_log_info "removing user directory: ${serveridentitydir}/user" - rm -rf "${serveridentitydir:?}/user" - fn_wipe_exit_code - fn_sleep_time - # We do not print additional information if there is nothing to remove since this might be obsolete. - fi - # Wipe storage dir, might be a legacy thing, maybe to be removed. - if [ -d "${serveridentitydir}/storage" ]; then - echo -en "removing storage directory..." - fn_sleep_time - fn_script_log_info "removing storage directory: ${serveridentitydir}/storage" - rm -rf "${serveridentitydir:?}/storage" - fn_wipe_exit_code - fn_sleep_time - # We do not print additional information if there is nothing to remove since this might be obsolete. - fi - # Wipe sv.files. - if [ -n "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then - echo -en "removing server misc srv.files*.db file(s)..." - fn_sleep_time - fn_script_log_info "Removing server misc files: ${serveridentitydir}/sv.files.*.db" - find "${serveridentitydir:?}" -type f -name "sv.files.*.db" -delete | tee -a "${lgsmlog}" - fn_wipe_exit_code - fn_sleep_time - # No further information if not found because it should I could not get this file showing up. - fi - # Wipe player death files. - if [ -n "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]; then - echo -en "removing player deaths player.deaths.*.db file(s)..." - fn_sleep_time - fn_script_log_info "Removing player death files: ${serveridentitydir}/player.deaths.*.db" - find "${serveridentitydir:?}" -type f -name "player.deaths.*.db" -delete | tee -a "${lgsmlog}" - fn_wipe_exit_code - fn_sleep_time - else - echo -e "no player death to remove" - fn_sleep_time - fn_script_log_pass "No player death to remove" - fi - # Wipe player states files - if [ -n "$(find "${serveridentitydir}" -type f -name "player.states.*.db")" ]; then - echo -en "removing player states player.states.*.db file(s)..." - fn_sleep_time - fn_script_log_info "Removing player states: ${serveridentitydir}/player.states.*.db" - find "${serveridentitydir:?}" -type f -name "player.states.*.db" -delete | tee -a "${lgsmlog}" - fn_wipe_exit_code - fn_sleep_time - else - echo -e "no player states to remove" - fn_sleep_time - fn_script_log_pass "No player states to remove" - fi - # Wipe blueprints only if full-wipe command was used. - if [ "${fullwipe}" == "1" ]; then - if [ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then - echo -en "removing blueprints player.blueprints.*.db file(s)..." +fn_wipe_files(){ + fn_print_start_nl "${wipetype}" + fn_script_log_info "${wipetype}" + + # Remove Map files + if [ -n "${serverwipe}" ]||[ -n "${mapwipe}" ]; then + if [ -n "$(find "${serveridentitydir}" -type f -name "*.map")" ]; then + echo -en "removing .map file(s)..." + fn_script_log_info "removing *.map file(s)" fn_sleep_time - fn_script_log_info "Removing blueprint file(s): ${serveridentitydir}/player.blueprints.*.db" - find "${serveridentitydir:?}" -type f -name "player.blueprints.*.db" -delete | tee -a "${lgsmlog}" + find "${serveridentitydir:?}" -type f -name "*.map" -printf "%f\n" >> "${lgsmlog}" + find "${serveridentitydir:?}" -type f -name "*.map" -delete | tee -a "${lgsmlog}" fn_wipe_exit_code + else + echo -e "no .map file(s) to remove" + fn_sleep_time + fn_script_log_pass "no .map file(s) to remove" + fi + fi + # Remove Save files. + if [ -n "${serverwipe}" ]||[ -n "${mapwipe}" ]; then + if [ -n "$(find "${serveridentitydir}" -type f -name "*.sav*")" ]; then + echo -en "removing .sav file(s)..." + fn_script_log_info "removing .sav file(s)" fn_sleep_time + find "${serveridentitydir:?}" -type f -name "*.sav*" -printf "%f\n" >> "${lgsmlog}" + find "${serveridentitydir:?}" -type f -name "*.sav*" -delete + fn_wipe_exit_code else - echo -e "no blueprint file to remove" + echo -e "no .sav file(s) to remove" + fn_script_log_pass "no .sav file(s) to remove" fn_sleep_time - fn_script_log_pass "No blueprint file to remove" fi - elif [ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then - echo -e "keeping blueprints" - fn_sleep_time - fn_script_log_info "Keeping blueprints" - else - echo -e "no blueprints found" - fn_sleep_time - fn_script_log_pass "No blueprints found" fi - # Wipe some logs that might be there. - if [ -n "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then - echo -en "removing log files..." - fn_sleep_time - fn_script_log_info "Removing log files: ${serveridentitydir}/Log.*.txt" - find "${serveridentitydir:?}" -type f -name "Log.*.txt" -delete - fn_wipe_exit_code - fn_sleep_time - # We do not print additional information if there are no logs to remove. + # Remove db files for full wipe. + # Excluding player.tokens.db for Rust+. + if [ -n "${serverwipe}" ]; then + if [ -n "$(find "${serveridentitydir}" -type f ! -name 'player.tokens.db' -name "*.db")" ]; then + echo -en "removing .db file(s)..." + fn_script_log_info "removing .db file(s)" + fn_sleep_time + find "${serveridentitydir:?}" -type f ! -name 'player.tokens.db' -name "*.db" -printf "%f\n" >> "${lgsmlog}" + find "${serveridentitydir:?}" -type f ! -name 'player.tokens.db' -name "*.db" -delete + fn_wipe_exit_code + else + echo -e "no .db file(s) to remove" + fn_sleep_time + fn_script_log_pass "no .db file(s) to remove" + fi fi } -fn_stop_warning(){ - fn_print_warn "this game server will be stopped during wipe" - fn_script_log_warn "this game server will be stopped during wipe" +fn_map_wipe_warning(){ + fn_print_warn "Map wipe will reset the map data and keep blueprint data" + fn_script_log_warn "Map wipe will reset the map data and keep blueprint data" totalseconds=3 for seconds in {3..1}; do - fn_print_warn "this game server will be stopped during wipe: ${totalseconds}" + fn_print_warn "Map wipe will reset the map data and keep blueprint data: ${totalseconds}" totalseconds=$((totalseconds - 1)) sleep 1 if [ "${seconds}" == "0" ]; then break fi done - fn_print_warn_nl "this game server will be stopped during wipe" + fn_print_warn_nl "Map wipe will reset the map data and keep blueprint data" } -fn_wipe_warning(){ - fn_print_warn "wipe is about to start" - fn_script_log_warn "wipe is about to start" +fn_full_wipe_warning(){ + fn_print_warn "Server wipe will reset the map data and remove blueprint data" + fn_script_log_warn "Server wipe will reset the map data and remove blueprint data" totalseconds=3 for seconds in {3..1}; do - fn_print_warn "wipe is about to start: ${totalseconds}" + fn_print_warn "Server wipe will reset the map data and remove blueprint data: ${totalseconds}" totalseconds=$((totalseconds - 1)) sleep 1 if [ "${seconds}" == "0" ]; then break fi done - fn_print_warn "wipe is about to start" + fn_print_warn_nl "Server wipe will reset the map data and remove blueprint data" } -# Will change the seed everytime the wipe command is run if the seed in config is not set. +# Will change the seed if the seed is not defined by the user. fn_wipe_random_seed(){ - shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt" + if [ -f "${datadir}/${selfname}-seed.txt" ]&&[ -n "${randomseed}" ]; then + shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt" + seed=$(cat "${datadir}/${selfname}-seed.txt") + randomseed=1 + echo -en "generating new random seed (${cyan}${seed}${default})..." + fn_script_log_pass "generating new random seed (${cyan}${seed}${default})" + fn_sleep_time + fn_print_ok_eol_nl + fi +} + +# A summary of what wipe is going to do. +fn_wipe_details(){ + fn_print_information_nl "Wipe does not remove Rust+ data." + echo -en "* Wipe map data: " + if [ -n "${serverwipe}" ]||[ -n "${mapwipe}" ]; then + fn_print_yes_eol_nl + else + fn_print_no_eol_nl + fi + + echo -en "* Wipe blueprint data: " + if [ -n "${serverwipe}" ]; then + fn_print_yes_eol_nl + else + fn_print_no_eol_nl + fi + + echo -en "* Change Procedural Map seed: " + if [ -n "${randomseed}" ]; then + fn_print_yes_eol_nl + else + fn_print_no_eol_nl + fi } fn_print_dots "" check.sh +fix_rust.sh # Check if there is something to wipe. -if [ -d "${serveridentitydir}/storage" ]||[ -d "${serveridentitydir}/user" ]||[ -n "$(find "${serveridentitydir}" -type f -name "*.sav*")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then - fn_wipe_warning +if [ -n "$(find "${serveridentitydir}" -type f -name "*.map")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "*.sav*")" ]&&[ -n "$(find "${serveridentitydir}" -type f ! -name 'player.tokens.db' -name "*.db")" ]; then + if [ -n "${serverwipe}" ]; then + wipetype="Full wipe" + fn_full_wipe_warning + fn_wipe_details + elif [ -n "${mapwipe}" ]; then + wipetype="Map wipe" + fn_map_wipe_warning + fn_wipe_details + fi check_status.sh if [ "${status}" != "0" ]; then - fn_stop_warning + fn_print_restart_warning exitbypass=1 command_stop.sh fn_firstcommand_reset - fn_wipe_server_files + fn_wipe_files + fn_wipe_random_seed + fn_print_complete_nl "${wipetype}" + fn_script_log_pass "${wipetype}" exitbypass=1 command_start.sh fn_firstcommand_reset else - fn_wipe_server_files + fn_wipe_files + fn_wipe_random_seed + fn_print_complete_nl "${wipetype}" + fn_script_log_pass "${wipetype}" fi - fn_print_complete_nl "Wiping ${selfname}" - fn_script_log_pass "Wiping ${selfname}" - fn_wipe_random_seed else fn_print_ok_nl "Wipe not required" fn_script_log_pass "Wipe not required" diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index 904bad37d1..ea3c84f6d9 100755 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -40,8 +40,8 @@ cmd_mods_update=( "mu;mods-update" "command_mods_update.sh" "Update installed mo # Server specific. cmd_change_password=( "pw;change-password" "command_ts3_server_pass.sh" "Change TS3 serveradmin password." ) cmd_install_default_resources=( "ir;install-default-resources" "command_install_resources_mta.sh" "Install the MTA default resources." ) -cmd_wipe=( "w;wipe;wi" "command_wipe.sh" "Map assets are wiped and blueprints are kept." ) -cmd_full_wipe=( "fw;full-wipe;wa;wipeall" "fullwipe=1; command_wipe.sh" "Map assets and blueprints are wiped." ) +cmd_fullwipe=( "fw;full-wipe;wa;wipeall" "serverwipe=1; command_wipe.sh" "Reset the map and remove blueprint data." ) +cmd_mapwipe=( "mw;map-wipe;w;wipe;wi" "mapwipe=1; command_wipe.sh" "Reset the map and keep blueprint data." ) cmd_map_compressor_u99=( "mc;map-compressor" "compress_ut99_maps.sh" "Compresses all ${gamename} server maps." ) cmd_map_compressor_u2=( "mc;map-compressor" "compress_unreal2_maps.sh" "Compresses all ${gamename} server maps." ) cmd_install_cdkey=( "cd;server-cd-key" "install_ut2k4_key.sh" "Add your server cd key." ) @@ -105,7 +105,7 @@ fi # Unreal exclusive. if [ "${shortname}" == "rust" ]; then - currentopt+=( "${cmd_wipe[@]}" "${cmd_full_wipe[@]}" ) + currentopt+=( "${cmd_fullwipe[@]}" "${cmd_mapwipe[@]}" ) fi if [ "${engine}" == "unreal2" ]; then if [ "${shortname}" == "ut2k4" ]; then diff --git a/lgsm/functions/core_messages.sh b/lgsm/functions/core_messages.sh index 8dfca66615..463f833c2e 100755 --- a/lgsm/functions/core_messages.sh +++ b/lgsm/functions/core_messages.sh @@ -375,6 +375,28 @@ fn_prompt_message(){ # On-Screen End of Line ################################## +# YES +fn_print_yes_eol(){ + echo -en "${cyan}YES${default}" + fn_sleep_time +} + +fn_print_yes_eol_nl(){ + echo -e "${cyan}YES${default}" + fn_sleep_time +} + +# NO +fn_print_no_eol(){ + echo -en "${red}NO${default}" + fn_sleep_time +} + +fn_print_no_eol_nl(){ + echo -e "${red}NO${default}" + fn_sleep_time +} + # OK fn_print_ok_eol(){ echo -en "${green}OK${default}" diff --git a/lgsm/functions/fix_rust.sh b/lgsm/functions/fix_rust.sh index 1e62898df0..4488377a38 100755 --- a/lgsm/functions/fix_rust.sh +++ b/lgsm/functions/fix_rust.sh @@ -9,3 +9,13 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" # Fixes: [Raknet] Server Shutting Down (Shutting Down). export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/RustDedicated_Data/Plugins/x86_64" + +# Part of random seed feature. +# If seed is not defined by user generate a seed file. +if [ -z "${seed}" ]; then + if [ ! -f "${datadir}/${selfname}-seed.txt" ]; then + shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt" + fi + seed="$(cat "${datadir}/${selfname}-seed.txt")" + randomseed=1 +fi diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index 7ff432079b..391964c2a6 100755 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -262,6 +262,11 @@ fn_info_message_gameserver(){ echo -e "${lightblue}Beta Password:\t${default}${betapassword}" fi + # Server Version + if [ -n "${gdversion}" ]; then + echo -e "${lightblue}Server Version:\t${default}${gdversion}" + fi + # Server ip echo -e "${lightblue}Server IP:\t${default}${ip}:${port}" @@ -1141,6 +1146,7 @@ fn_info_message_rust(){ echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/Query\tINBOUND\t${port}\tudp" echo -e "> RCON\tINBOUND\t${rconport}\ttcp" + echo -e "> App\tINBOUND\t${appport}\ttcp" } | column -s $'\t' -t } diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh index f2496ce5de..47148f4b3c 100755 --- a/lgsm/functions/info_parms.sh +++ b/lgsm/functions/info_parms.sh @@ -135,19 +135,16 @@ fn_info_parms_rust(){ servername=${servername:-"NOT SET"} port=${port:-"0"} queryport=${port:-"0"} + appport=${appport:-"0"} rconport=${rconport:-"0"} + gamemode=${gamemode:-"NOT SET"} + maxplayers=${maxplayers:-"0"} rconpassword=${rconpassword:-"NOT SET"} rconweb=${rconweb:-"NOT SET"} - maxplayers=${maxplayers:-"0"} - saveinterval=${saveinterval:-"0"} tickrate=${tickrate:-"0"} - # Part of random seed feature. - if [ -z "${seed}" ]; then - if [ ! -f "${datadir}/${selfname}-seed.txt" ]; then - shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt" - fi - seed=$(cat "${datadir}/${selfname}-seed.txt") - fi + saveinterval=${saveinterval:-"0"} + serverlevel=${serverlevel:-"NOT SET"} + worldsize=${worldsize:-"0"} } fn_info_parms_samp(){ diff --git a/lgsm/functions/install_modules.sh b/lgsm/functions/install_modules.sh deleted file mode 100755 index af1050a949..0000000000 --- a/lgsm/functions/install_modules.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# LinuxGSM install_modules.sh module -# Author: Daniel Gibbs -# Contributors: http://linuxgsm.com/contrib -# Website: https://linuxgsm.com -# Description: Downloads all modules on install. - -functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" - -echo -e "" -echo -e "${lightyellow}Downloading LinuxGSM Modules${default}" -echo -e "=================================" - -fn_fetch_file "https://github.com/GameServerManagers/LinuxGSM/archive/master.tar.gz" "${tmpdir}" "master.tar.gz" "nochmodx" "norun" "noforce" "nohash" -fn_dl_extract "${tmpdir}" "master.tar.gz" "${tmpdir}" -cp "${tmpdir}/LinuxGSM-master/lgsm/functions"/*.sh "${functionsdir}" -cp "${tmpdir}/LinuxGSM-master/lgsm/functions"/*.py "${functionsdir}" -chmod +x "${functionsdir}"/* -command_update_linuxgsm.sh -fn_firstcommand_reset diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh index 4d479a4c03..123d8c86c8 100755 --- a/lgsm/functions/query_gamedig.sh +++ b/lgsm/functions/query_gamedig.sh @@ -46,7 +46,7 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; # maxplayers. gdmaxplayers=$(echo "${gamedigraw}" | jq -re '.maxplayers') if [ "${gdmaxplayers}" == "null" ]; then - unset maxplayers + unset gdmaxplayers elif [ "${gdmaxplayers}" == "[]" ]; then gdmaxplayers=0 fi @@ -68,5 +68,11 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; if [ "${gdbots}" == "null" ]||[ "${gdbots}" == "0" ]; then unset gdbots fi + + # server version. + gdversion=$(echo "${gamedigraw}" | jq -re '.raw.version') + if [ "${gdversion}" == "null" ]||[ "${gdversion}" == "0" ]; then + unset gdversion + fi fi fi diff --git a/lgsm/functions/update_papermc.sh b/lgsm/functions/update_papermc.sh index ae512c0ba9..2e669d93db 100644 --- a/lgsm/functions/update_papermc.sh +++ b/lgsm/functions/update_papermc.sh @@ -74,7 +74,7 @@ fn_update_papermc_remotebuild(){ fn_update_papermc_compare(){ fn_print_dots "Checking for update: ${remotelocation}" sleep 0.5 - if [ "${localbuild}" != "${remotebuild}" ]||[ "${forceupdate}" == "1" ]; then + if [ "${localbuild}" != "${remotebuild}" ]||[ "${forceupdate}" == "1" ]; then fn_print_ok_nl "Checking for update: ${remotelocation}" echo -en "\n" echo -e "Update available for version ${paperversion}"