diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg new file mode 100644 index 000000000..5e7e435ca --- /dev/null +++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg @@ -0,0 +1,121 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT WILL BE OVERWRITTEN! +# Copy settings from here and use them in either +# common.cfg - applies settings to every instance +# [instance].cfg - applies settings to a specific instance + +#### Server Settings #### + +## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters +fn_parms(){ + # Note Parameters are editing in the game server config file. + source "${servercfgfullpath}" + parms="ADMINPWD=\"$ADMINPWD\" EPICSETTINGS=\"$EPICSETTINGS\" EXTERNALPORT=\"$EXTERNALPORT\" HOMESERVER=\"$HOMESERVER\" HOMEKINGDOM=\"$HOMEKINGDOM\" LOGINSERVER=\"$LOGINSERVER\" MAXPLAYERS=\"$MAXPLAYERS\" QUERYPORT=\"$QUERYPORT\" SERVERNAME=\"$SERVERNAME\" SERVERPASSWORD=\"$SERVERPASSWORD\" START=\"$START\" IP=\"$IP\"" +} + +#### LinuxGSM Settings #### + +## Notification Alerts +# (on|off) + +# More info | https://github.com/GameServerManagers/LinuxGSM/wiki/Alerts#more-info +postalert="off" +postdays="7" +posttarget="https://hastebin.com" + +# Discord Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/IFTTT +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Telegram +# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". +# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need +# any custom string in curl - simple ignore this parameter. +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging +consolelogging="on" +logdays="7" + +#### LinuxGSM Advanced Settings #### + +# ANSI Colors +ansi="on" + +## SteamCMD Settings +# Server appid +appid="402370" +# Steam App Branch Select +# Allows to opt into the various Steam app branches. Default branch is "". +# Example: "-beta latest_experimental" +branch="" + +## LinuxGSM Server Details +# Do not edit +gamename="Wurm Unlimited" +engine="wurm" + +#### Directories #### +# Edit with care + +## Server Specific Directories +systemdir="${serverfiles}" +executabledir="${systemdir}" +executable="xvfb-run ./WurmServerLauncher" +servercfg="${servicename}.cfg" +servercfgdefault="server.cfg" +servercfgdir="${systemdir}" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${rootdir}/backups" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${serverfiles}/Logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +alertlog="${lgsmlogdir}/${servicename}-alert.log" +postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 962cd77b6..12bb0532c 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -79,5 +79,6 @@ ut3,ut3server,Unreal Tournament 3 ut99,ut99server,Unreal Tournament 99 vs,vsserver,Vampire Slayer wet,wetserver,Wolfenstein: Enemy Territory +wurm,wurmserver,Wurm Unlimited etl,etlserver,ET: Legacy zps,zpsserver,Zombie Panic! Source diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index e516f75ad..24e20b35e 100644 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -257,8 +257,10 @@ fn_found_missing_deps(){ sleep 5 fi else - fn_print_information_nl "Required dependencies already installed" - fn_script_log_info "Required dependencies already installed" + if [ "${function_selfname}" == "command_install.sh" ]; then + fn_print_information_nl "Required dependencies already installed" + fn_script_log_info "Required dependencies already installed" + fi fi } @@ -375,6 +377,9 @@ fn_deps_build_debian(){ # Eco elif [ "${shortname}" == "eco" ]; then array_deps_required+=( mono-complete ) + # Wurm: Unlimited + elif [ "${shortname}" == "wurm" ]; then + array_deps_required+=( xvfb ) fi fn_deps_email fn_check_loop diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh index 8f3949b37..e1bceef40 100644 --- a/lgsm/functions/command_dev_detect_deps.sh +++ b/lgsm/functions/command_dev_detect_deps.sh @@ -36,7 +36,7 @@ sort "${tmpdir}/.depdetect_readelf" |uniq >"${tmpdir}/.depdetect_readelf_uniq" while read -r lib; do echo "${lib}" - if [ "${lib}" == "libm.so.6" ]||[ "${lib}" == "libc.so.6" ]||[ "${lib}" == "libtcmalloc_minimal.so.4" ]||[ "${lib}" == "libpthread.so.0" ]||[ "${lib}" == "libdl.so.2" ]||[ "${lib}" == "libnsl.so.1" ]||[ "${lib}" == "libgcc_s.so.1" ]||[ "${lib}" == "librt.so.1" ]||[ "${lib}" == "ld-linux.so.2" ]; then + if [ "${lib}" == "libm.so.6" ]||[ "${lib}" == "libc.so.6" ]||[ "${lib}" == "libtcmalloc_minimal.so.4" ]||[ "${lib}" == "libpthread.so.0" ]||[ "${lib}" == "libdl.so.2" ]||[ "${lib}" == "libnsl.so.1" ]||[ "${lib}" == "libgcc_s.so.1" ]||[ "${lib}" == "librt.so.1" ]||[ "${lib}" == "ld-linux.so.2" ]||[ "${lib}" == "libglib-2.0.so.0" ]||[ "${lib}" == "libGL.so.1" ]; then echo "glibc.i686" >> "${tmpdir}/.depdetect_centos_list" echo "lib32gcc1" >> "${tmpdir}/.depdetect_ubuntu_list" echo "lib32gcc1" >> "${tmpdir}/.depdetect_debian_list" diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh index 4bf9ac5fc..9af4b2755 100644 --- a/lgsm/functions/command_monitor.sh +++ b/lgsm/functions/command_monitor.sh @@ -131,7 +131,7 @@ fn_monitor_check_session(){ fn_monitor_query(){ fn_script_log_info "Querying port: query enabled" # engines that work with query - local allowed_engines_array=( avalanche2.0 avalanche3.0 goldsource idtech2 idtech3 idtech3_ql iw2.0 iw3.0 lwjgl2 madness quake refractor realvirtuality source spark starbound unity3d unreal unreal2 unreal4 ) + local allowed_engines_array=( avalanche2.0 avalanche3.0 goldsource idtech2 idtech3 idtech3_ql iw2.0 iw3.0 lwjgl2 madness quake refractor realvirtuality source spark starbound unity3d unreal unreal2 unreal4 wurm ) for allowed_engine in "${allowed_engines_array[@]}" do if [ "${allowed_engine}" == "${engine}" ]; then @@ -143,7 +143,11 @@ fn_monitor_query(){ # will first attempt to use gamedig then gsquery totalseconds=0 - local query_methods_array=( gamedig gsquery ) + if [ "${shortname}" == "wurm" ]; then + local query_methods_array=( gsquery ) + else + local query_methods_array=( gamedig gsquery ) + fi for query_method in "${query_methods_array[@]}" do if [ "${query_method}" == "gamedig" ]; then diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index 208910942..30c425c51 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -58,8 +58,11 @@ fn_start_teamspeak3(){ } fn_start_tmux(){ - fn_parms - + if [ "${parmsbypass}" ]; then + parms="" + else + fn_parms + fi # check for tmux size variables if [[ "${servercfgtmuxwidth}" =~ ^[0-9]+$ ]]; then sessionwidth="${servercfgtmuxwidth}" @@ -198,7 +201,9 @@ if [ "${status}" != "0" ]; then # $status comes from check_status.sh, which is r core_exit.sh fi fi -fix.sh +if [ -z "${fixbypass}" ];then + fix.sh +fi info_config.sh logs.sh diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh index 1ed3df5c4..f5a5495b5 100644 --- a/lgsm/functions/command_stop.sh +++ b/lgsm/functions/command_stop.sh @@ -187,7 +187,7 @@ fn_stop_graceful_select(){ fn_stop_graceful_cmd "quit" 120 elif [ "${engine}" == "goldsource" ]; then fn_stop_graceful_goldsource - elif [ "${engine}" == "avalanche2.0" ]||[ "${engine}" == "avalanche3.0" ]||[ "${gamename}" == "Factorio" ]||[ "${engine}" == "unity3d" ]||[ "${engine}" == "unreal4" ]||[ "${engine}" == "unreal3" ]||[ "${engine}" == "unreal2" ]||[ "${engine}" == "unreal" ]||[ "${gamename}" == "Mumble" ]; then + elif [ "${engine}" == "avalanche2.0" ]||[ "${engine}" == "avalanche3.0" ]||[ "${gamename}" == "Factorio" ]||[ "${engine}" == "unity3d" ]||[ "${engine}" == "unreal4" ]||[ "${engine}" == "unreal3" ]||[ "${engine}" == "unreal2" ]||[ "${engine}" == "unreal" ]||[ "${gamename}" == "Mumble" ]||[ "${shortname}" == "wurm" ]; then fn_stop_graceful_ctrlc elif [ "${engine}" == "source" ]||[ "${engine}" == "quake" ]||[ "${engine}" == "idtech2" ]||[ "${engine}" == "idtech3" ]||[ "${engine}" == "idtech3_ql" ]||[ "${engine}" == "Just Cause 2" ]||[ "${engine}" == "projectzomboid" ]||[ "${shortname}" == "rw" ]; then fn_stop_graceful_cmd "quit" 30 diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh index c43395dd2..66797caef 100644 --- a/lgsm/functions/core_functions.sh +++ b/lgsm/functions/core_functions.sh @@ -377,6 +377,11 @@ functionfile="${FUNCNAME}" fn_fetch_function } +fix_wurm.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + # Info info_config.sh(){ diff --git a/lgsm/functions/core_messages.sh b/lgsm/functions/core_messages.sh index 6dc791fc3..075721999 100644 --- a/lgsm/functions/core_messages.sh +++ b/lgsm/functions/core_messages.sh @@ -8,25 +8,24 @@ # nl: new line: message is following by a new line # eol: end of line: message is placed at the end of the current line fn_ansi_loader(){ -if [ "${ansi}" != "off" ]; then - # echo colors - default="\e[0m" - red="\e[31m" - lightred="\e[91m" - green="\e[32m" - lightgreen="\e[92m" - yellow="\e[33m" - lightyellow="\e[93m" - blue="\e[34m" - lightblue="\e[94m" - magenta="\e[35m" - lightmagenta="\e[95m" - cyan="\e[36m" - lightcyan="\e[96m" - + if [ "${ansi}" != "off" ]; then + # echo colors + default="\e[0m" + red="\e[31m" + lightred="\e[91m" + green="\e[32m" + lightgreen="\e[92m" + yellow="\e[33m" + lightyellow="\e[93m" + blue="\e[34m" + lightblue="\e[94m" + magenta="\e[35m" + lightmagenta="\e[95m" + cyan="\e[36m" + lightcyan="\e[96m" + fi # carriage return & erase to end of line creeol="\r\033[K" -fi } # Log display diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh index 49fd5f16f..f0de72fc0 100644 --- a/lgsm/functions/fix.sh +++ b/lgsm/functions/fix.sh @@ -37,7 +37,7 @@ fn_fix_msg_end(){ } # Fixes that are run on start -if [ "${function_selfname}" != "command_install.sh" ]; then +if [ "${function_selfname}" != "command_install.sh" ]&&[ -z "${fixbypass}" ]; then if [ -n "${appid}" ]; then fix_steamcmd.sh fi @@ -62,6 +62,8 @@ if [ "${function_selfname}" != "command_install.sh" ]; then fix_ss3.sh elif [ "${gamename}" == "Multi Theft Auto" ]; then fix_mta.sh + elif [ "${shortname}" == "wurm" ]; then + fix_wurm.sh fi fi diff --git a/lgsm/functions/fix_wurm.sh b/lgsm/functions/fix_wurm.sh new file mode 100644 index 000000000..5c90dc402 --- /dev/null +++ b/lgsm/functions/fix_wurm.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# LinuxGSM fix_wurm.sh function +# Author: Daniel Gibbs +# Website: https://linuxgsm.com +# Description: Resolves various issues with ARK: Survival Evolved. + +# Copies steamclient.so to correct location +if [ ! -f "${serverfiles}/nativelibs" ]; then + cp -f "${serverfiles}/linux64/steamclient.so" "${serverfiles}/nativelibs" +fi + +# First run requires start with no parms +# After first run new dirs are created +if [ ! -d "${serverfiles}/Creative" ]; then + parmsbypass=1 + fixbypass=1 + exitbypass=1 + command_start.sh + sleep 10 + exitbypass=1 + command_stop.sh + unset parmsbypass +fi \ No newline at end of file diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index e80b7c04d..97ba4eb1d 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -1010,6 +1010,37 @@ fn_info_config_etlegacy(){ fi } +fn_info_config_wurmunlimited(){ + if [ ! -f "${servercfgfullpath}" ]; then + port="${zero}" + queryport="${zero}" + rconpassword="${unavailable}" + servername="${unavailable}" + serverpassword="${unavailable}" + adminpassword="${unavailable}" + maxplayers="${zero}" + else + + port=$(grep "EXTERNALPORT=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + queryport=$(grep "QUERYPORT=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + servername=$(grep "SERVERNAME=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERNAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + serverpassword=$(grep "SERVERPASSWORD=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/SERVERPASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + adminpassword=$(grep "ADMINPWD=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMINPWD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + maxplayers=$(grep "MAXPLAYERS=" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + + ip=$(grep "IP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/IP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + ipsetinconfig=1 + ipinconfigvar="IP" + + # Not Set + port=${port:-"3724"} + queryport=${queryport:-"27017"} + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + adminpassword=${adminpassword:-"NOT SET"} + maxplayers=${maxplayers:-"0"} + fi +} fn_info_config_squad(){ if [ ! -f "${servercfgfullpath}" ]; then @@ -1169,6 +1200,8 @@ elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then fn_info_config_wolfensteinenemyterritory elif [ "${gamename}" == "ET: Legacy" ]; then fn_info_config_etlegacy +elif [ "${gamename}" == "Wurm Unlimited" ]; then + fn_info_config_wurmunlimited elif [ "${gamename}" == "Multi Theft Auto" ]; then fn_info_config_mta elif [ "${gamename}" == "Squad" ]; then diff --git a/lgsm/functions/info_glibc.sh b/lgsm/functions/info_glibc.sh index 244b401c9..f3597cbf8 100644 --- a/lgsm/functions/info_glibc.sh +++ b/lgsm/functions/info_glibc.sh @@ -195,6 +195,9 @@ elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then elif [ "${gamename}" == "ET: Legacy" ]; then glibcrequired="2.7" glibcfix="no" +elif [ "${gamename}" == "Wurm Unlimited" ]; then + glibcrequired="2.14" + glibcfix="no" elif [ "${gamename}" == "Multi Theft Auto" ]; then glibcrequired="2.7" glibcfix="no" diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index ee80f9a28..c9b31d3a1 100644 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -447,7 +447,7 @@ fn_info_message_ports(){ parmslocation="${red}UNKNOWN${default}" # engines/games that require editing in the config file - local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" ) + local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" "wurm" ) for port_edit in "${ports_edit_array[@]}" do if [ "${shortname}" == "ut3" ]; then @@ -462,7 +462,7 @@ fn_info_message_ports(){ local ports_edit_array=( "goldsource" "Factorio" "Hurtworld" "iw3.0" "Rust" "spark" "source" "starbound" "unreal4" "realvirtuality") for port_edit in "${ports_edit_array[@]}" do - if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then + if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]||[ "${shortname}" == "${port_edit}" ]; then parmslocation="${configdirserver}" fi done @@ -1080,6 +1080,16 @@ fn_info_message_etlegacy(){ } | column -s $'\t' -t } +fn_info_message_wurmunlimited(){ + echo -e "netstat -atunp | grep WurmServer" + echo -e "" + { + echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "> Game\tINBOUND\t${port}\ttcp" + echo -e "> Game/Query\tINBOUND\t${queryport}\tudp" + } | column -s $'\t' -t +} + fn_info_message_mta(){ echo -e "netstat -atunp | grep mta-server64" echo -e "" @@ -1155,6 +1165,8 @@ fn_info_message_select_engine(){ fn_info_message_mumble elif [ "${gamename}" == "Rust" ]; then fn_info_message_rust + elif [ "${gamename}" == "Wurm Unlimited" ]; then + fn_info_message_wurmunlimited elif [ "${shortname}" == "rw" ]; then fn_info_message_risingworld elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 28f8a954d..0f599c3ca 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -64,8 +64,11 @@ fn_set_config_vars(){ echo "changing hostname." fn_script_log_info "changing hostname." sleep 0.5 + # prevents var from being overwritten with the servername if grep -q "SERVERNAME=SERVERNAME" "${lgsmdir}/config-default/config-game/${config}" 2>/dev/null; then sed -i "s/SERVERNAME=SERVERNAME/SERVERNAME=${servername}/g" "${servercfgfullpath}" + elif grep -q "SERVERNAME=\"SERVERNAME\"" "${lgsmdir}/config-default/config-game/${config}" 2>/dev/null; then + sed -i "s/SERVERNAME=\"SERVERNAME\"/SERVERNAME=\"${servername}\"/g" "${servercfgfullpath}" else sed -i "s/SERVERNAME/${servername}/g" "${servercfgfullpath}" fi @@ -584,6 +587,12 @@ elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars +elif [ "${gamename}" == "Wurm Unlimited" ]; then + gamedirname="WurmUnlimited" + array_configs+=( server.cfg ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars elif [ "${gamename}" == "Zombie Panic! Source" ]; then gamedirname="ZombiePanicSource" array_configs+=( server.cfg ) diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh index acf079b75..b8cad6159 100644 --- a/lgsm/functions/query_gamedig.sh +++ b/lgsm/functions/query_gamedig.sh @@ -14,7 +14,7 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; local engine="unreal4" fi - local engine_query_array=( avalanche3.0 madness quakelive realvirtuality refractor source goldsource spark starbound unity3d unreal4 ) + local engine_query_array=( avalanche3.0 madness quakelive realvirtuality refractor source goldsource spark starbound unity3d unreal4 wurm ) for engine_query in "${engine_query_array[@]}" do if [ "${engine_query}" == "${engine}" ]; then diff --git a/lgsm/functions/query_gsquery.py b/lgsm/functions/query_gsquery.py index e46c3e325..3f8ec590b 100644 --- a/lgsm/functions/query_gsquery.py +++ b/lgsm/functions/query_gsquery.py @@ -17,7 +17,7 @@ class gsquery: self.server_response_timeout = 5 self.default_buffer_length = 1024 # - sourcequery=[ 'avalanche3.0','madness','quakelive','realvirtuality','refractor','source','goldsource','spark','starbound','unity3d', 'unreal4' ] + sourcequery=[ 'avalanche3.0','madness','quakelive','realvirtuality','refractor','source','goldsource','spark','starbound','unity3d', 'unreal4', 'wurm' ] idtech3query=['idtech3','quake','iw3.0'] idtech2query=['idtech2','iw2.0'] minecraftquery=['minecraft','lwjgl2']