From e5b682f38f8e0c45ae129208a1bf85ab35849f6c Mon Sep 17 00:00:00 2001 From: Alexander Silva Date: Sat, 11 Jun 2022 22:00:34 +1000 Subject: [PATCH 01/12] Update port number for jk2server --- lgsm/config-default/config-lgsm/jk2server/_default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/config-default/config-lgsm/jk2server/_default.cfg b/lgsm/config-default/config-lgsm/jk2server/_default.cfg index 700ba8fbb..313ad0abd 100644 --- a/lgsm/config-default/config-lgsm/jk2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jk2server/_default.cfg @@ -14,7 +14,7 @@ steampass='password' ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters ip="0.0.0.0" -port="27960" +port="28070" defaultmap="ffa_bespin" ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters From 12b3f59a933b5871f1a0993f3a17300c4bac3b66 Mon Sep 17 00:00:00 2001 From: Alexander Silva Date: Sat, 11 Jun 2022 22:06:08 +1000 Subject: [PATCH 02/12] Add jk3server LinuxGSM configuration This adds Jedi Knight: Jedi Academy configuation to LinuxGSM Similar to jk2server configuration but with minor differences. --- .../config-lgsm/jk3server/_default.cfg | 189 ++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 lgsm/config-default/config-lgsm/jk3server/_default.cfg diff --git a/lgsm/config-default/config-lgsm/jk3server/_default.cfg b/lgsm/config-default/config-lgsm/jk3server/_default.cfg new file mode 100644 index 000000000..b285d0775 --- /dev/null +++ b/lgsm/config-default/config-lgsm/jk3server/_default.cfg @@ -0,0 +1,189 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN! +# Copy settings from here and use them in either: +# common.cfg - applies settings to every instance. +# [instance].cfg - applies settings to a specific instance. + +#### Game Server Settings #### + +## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login +steamuser="username" +steampass='password' + +## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters +ip="0.0.0.0" +port="28070" +defaultmap="ffa_bespin" + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set net_ip ${ip} +set net_port ${port} +exec ${servercfg} +map ${defaultmap}" + +#### LinuxGSM Settings #### + +## LinuxGSM Stats +# Send useful stats to LinuxGSM developers. +# https://docs.linuxgsm.com/configuration/linuxgsm-stats +# (on|off) +stats="off" + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailgunapiregion="us" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" +pushoveruserkey="userkey" + +# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat +rocketchatalert="off" +rocketchatwebhook="webhook" +rocketchattoken="" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring". +# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help". +telegramapi="api.telegram.org" +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Updating | https://docs.linuxgsm.com/commands/update +updateonstart="off" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors +ansi="on" + +#### Advanced Settings #### + +## Message Display Time | https://docs.linuxgsm.com/features/message-display-time +sleeptime="0.5" + +## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd +# Server appid +appid="6020" +steamcmdforcewindows="yes" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +betapassword="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="true" + +## Stop Mode | https://docs.linuxgsm.com/features/stop-mode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: GoldSrc +# 10: Avorion +# 11: end +stopmode="3" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="2" +querytype="protocol-quake3" + +## Console type +consoleverbose="yes" +consoleinteract="yes" + +## Game Server Details +# Do not edit +gamename="Jedi Knight: Jedi Academy" +engine="idtech3" +glibc="2.15" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}/GameData" +executabledir="${systemdir}" +executable="./openjkded.x86_64" +servercfg="${selfname}.cfg" +servercfgdefault="server.cfg" +servercfgdir="${systemdir}" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backups" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${systemdir}/logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${selfname}-script.log" +consolelog="${consolelogdir}/${selfname}-console.log" +alertlog="${lgsmlogdir}/${selfname}-alert.log" +postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" From eb253c4cfe3dfcd685fdd563ae65738b464b15d5 Mon Sep 17 00:00:00 2001 From: Alexander Silva Date: Sat, 11 Jun 2022 22:10:22 +1000 Subject: [PATCH 03/12] Update port number and defaultmap for jk3server --- lgsm/config-default/config-lgsm/jk3server/_default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/config-default/config-lgsm/jk3server/_default.cfg b/lgsm/config-default/config-lgsm/jk3server/_default.cfg index b285d0775..6376040d3 100644 --- a/lgsm/config-default/config-lgsm/jk3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jk3server/_default.cfg @@ -14,8 +14,8 @@ steampass='password' ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters ip="0.0.0.0" -port="28070" -defaultmap="ffa_bespin" +port="29070" +defaultmap="mp/ffa3" ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters startparameters="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set net_ip ${ip} +set net_port ${port} +exec ${servercfg} +map ${defaultmap}" From c1e508b2b6d65cc8cb17a2a8adcb088fcad48a56 Mon Sep 17 00:00:00 2001 From: AlexCSilva Date: Sat, 11 Jun 2022 23:41:47 +1000 Subject: [PATCH 04/12] feat(new server): Jedi Knight: Jedi Academy --- lgsm/data/serverlist.csv | 1 + lgsm/functions/info_game.sh | 31 +++++++++++++++++++++++++++++++ lgsm/functions/info_messages.sh | 9 +++++++++ lgsm/functions/install_config.sh | 6 ++++++ 4 files changed, 47 insertions(+) diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index f5463cd84..e351f9a5d 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -53,6 +53,7 @@ ios,iosserver,IOSoccer jc2,jc2server,Just Cause 2 jc3,jc3server,Just Cause 3 jk2,jk2server,Jedi Knight II: Jedi Outcast +jk3,jk3server,Jedi Knight: Jedi Academy kf,kfserver,Killing Floor kf2,kf2server,Killing Floor 2 lo,loserver,Last Oasis diff --git a/lgsm/functions/info_game.sh b/lgsm/functions/info_game.sh index 88c27b4c9..c6aa4b064 100644 --- a/lgsm/functions/info_game.sh +++ b/lgsm/functions/info_game.sh @@ -776,6 +776,35 @@ fn_info_game_jk2(){ defaultmap=${defaultmap:-"NOT SET"} } +fn_info_game_jk2(){ + # Config + if [ ! -f "${servercfgfullpath}" ]; then + rconpassword="${unavailable}" + servername="${unavailable}" + serverpassword="${unavailable}" + maxplayers="${zero}" + serverversion="${unavailable}" + else + rconpassword=$(grep "seta rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta rconpassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + servername=$(grep "seta sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + serverpassword=$(grep "seta g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + maxplayers=$(grep "seta sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + serverversion=$(grep "seta mv_serverversion" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta mv_serverversion//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Not set + rconpassword=${rconpassword:-"NOT SET"} + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + maxplayers=${maxplayers:-"0"} + serverversion=${serverversion:-"NOT SET"} + fi + + # Parameters + port=${port:-"0"} + queryport=${port} + defaultmap=${defaultmap:-"NOT SET"} +} + fn_info_game_kf(){ # Config if [ ! -f "${servercfgfullpath}" ]; then @@ -2361,6 +2390,8 @@ elif [ "${shortname}" == "jc3" ]; then fn_info_game_jc3 elif [ "${shortname}" == "jk2" ]; then fn_info_game_jk2 +elif [ "${shortname}" == "jk3" ]; then + fn_info_game_jk3 elif [ "${shortname}" == "kf" ]; then fn_info_game_kf elif [ "${shortname}" == "kf2" ]; then diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index f0def5b0e..deda5eece 100755 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -1062,6 +1062,13 @@ fn_info_message_jk2(){ } | column -s $'\t' -t } +fn_info_message_jk3(){ + { + fn_port "header" + fn_port "Game" port udp + } | column -s $'\t' -t +} + fn_info_message_kf(){ { fn_port "header" @@ -1706,6 +1713,8 @@ fn_info_message_select_engine(){ fn_info_message_jc3 elif [ "${shortname}" == "jk2" ]; then fn_info_message_jk2 + elif [ "${shortname}" == "jk3" ]; then + fn_info_message_jk3 elif [ "${shortname}" == "kf" ]; then fn_info_message_kf elif [ "${shortname}" == "kf2" ]; then diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index a7c18b65d..77d4bcf21 100755 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -672,6 +672,12 @@ elif [ "${shortname}" == "jk2" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars +elif [ "${shortname}" == "jk3" ]; then + gamedirname="JediKnightJediAcademy" + array_configs+=( server.cfg ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars elif [ "${shortname}" == "qw" ]; then gamedirname="QuakeWorld" array_configs+=( server.cfg ) From da2ff9caee4548162c800fa909f37d2194bd7a18 Mon Sep 17 00:00:00 2001 From: AlexCSilva Date: Sat, 11 Jun 2022 23:44:53 +1000 Subject: [PATCH 05/12] fix(jk3): misplaced number --- lgsm/functions/info_game.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/info_game.sh b/lgsm/functions/info_game.sh index c6aa4b064..878a8fbde 100644 --- a/lgsm/functions/info_game.sh +++ b/lgsm/functions/info_game.sh @@ -776,7 +776,7 @@ fn_info_game_jk2(){ defaultmap=${defaultmap:-"NOT SET"} } -fn_info_game_jk2(){ +fn_info_game_jk3(){ # Config if [ ! -f "${servercfgfullpath}" ]; then rconpassword="${unavailable}" From 610ed805541d4e9da568851cc84a80062ec63cc2 Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 14 Jul 2024 21:43:21 +1000 Subject: [PATCH 06/12] Update serverlist.csv Try to add new server to serverlist --- lgsm/data/serverlist.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index ae270f965..a7f7b8871 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -60,6 +60,7 @@ ios,iosserver,IOSoccer,ubuntu-22.04 jc2,jc2server,Just Cause 2,ubuntu-22.04 jc3,jc3server,Just Cause 3,ubuntu-22.04 jk2,jk2server,Jedi Knight II: Jedi Outcast,ubuntu-22.04 +jk3,jk3server,Jedi Knight: Jedi Academy,ubuntu-22.04 kf,kfserver,Killing Floor,ubuntu-22.04 kf2,kf2server,Killing Floor 2,ubuntu-22.04 l4d,l4dserver,Left 4 Dead,ubuntu-22.04 From e28bb20490f86e3d2626289cddf4555f502cced7 Mon Sep 17 00:00:00 2001 From: AlexCS1337 Date: Thu, 18 Jul 2024 13:48:34 +1000 Subject: [PATCH 07/12] add update jk3 module also added jk3 to serverlistmenu --- lgsm/data/almalinux-8.csv | 1 + lgsm/data/almalinux-9.csv | 1 + lgsm/data/centos-7.csv | 1 + lgsm/data/centos-8.csv | 1 + lgsm/data/centos-9.csv | 1 + lgsm/data/debian-10.csv | 1 + lgsm/data/debian-11.csv | 1 + lgsm/data/debian-12.csv | 1 + lgsm/data/gameicons/jk3-icon.png | Bin 0 -> 2805 bytes lgsm/data/rhel-7.csv | 1 + lgsm/data/rhel-8.csv | 1 + lgsm/data/rocky-9.csv | 1 + lgsm/data/serverlistmenu.csv | 136 +++++++++++++++++++++++++ lgsm/data/ubuntu-16.04.csv | 1 + lgsm/data/ubuntu-18.04.csv | 1 + lgsm/data/ubuntu-20.04.csv | 1 + lgsm/data/ubuntu-22.04.csv | 1 + lgsm/data/ubuntu-23.04.csv | 1 + lgsm/data/ubuntu-23.10.csv | 1 + lgsm/data/ubuntu-24.04.csv | 1 + lgsm/modules/update_jk3.sh | 166 +++++++++++++++++++++++++++++++ 21 files changed, 320 insertions(+) create mode 100644 lgsm/data/gameicons/jk3-icon.png create mode 100644 lgsm/data/serverlistmenu.csv create mode 100755 lgsm/modules/update_jk3.sh diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index 4d6c05ca5..0843b9ec0 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index 2cdd36575..df84b93fb 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index df7422526..285dd3991 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index 831bc38e9..0bc58fdc8 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index 4d49ee66e..6aa507fa7 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index f5d63b026..ff43d2111 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -60,6 +60,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 97f5b978d..d9382fddc 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index e54d9b12b..994a0b583 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/gameicons/jk3-icon.png b/lgsm/data/gameicons/jk3-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8c480a205e7544d61ede62b163768a2402748dff GIT binary patch literal 2805 zcmZ{mcRbXOAICr6GVX9zR)k8CeME}vlNA{`oUL;r4&m%QN><$2drS7nI9pwI_U07v zb9Ud5vwr&X_s8$?e!SkV$K&;SKmUJ6>FKINXgFyA0Dx#}zzi<^=3jxXT<%kj?Sf0A zuvgYm27sD)+EW|KzvT-J104YHsXGAB&-~Rt)EWuJmm#%>rj8o*It?Qe4R533kIc)nRZW=k zbB(W*U79f#v&z7TT)Q9fbSY;uD8=H_0Qzx*gBPAv)peXZKUq&D8eqo5Y`d;ZiJ0Cj zge5TgO=&2{zTCt}(io-W*w+~&c+W7Uz%NLwr9@IyOLEFWk{7TekTlj6wNs*i4 zc0WM(iz;Tz(i#RT%6iGpt*kgV+o56V;k<3)=EdG`*}bH>x^|8&$)GQgG2=g-)kewh9U03h4l52n31M@1?g=~jNocl00`u9EcV3k;M=kkxS zh!7^|=+KqS4Nl{hBs z5vgWbCo;^zSAEsBp!%Ow1}+7G0|LpR5Pe@gRUr8G3TKlqBR z*5eQsAHP95SnyDIIi$yqe{b93t29JRkfajI`k`jDu|f>=@OhR3A+Z~#nq-V{eBN6; z$yq{)V^TW5#qoV8CvwQgBW)Gb6*;B?%RU1WtfG1;hMeL@g{6YBBk5P z>qHPuX?`U2o80}_5hv?;?1Zudw%7a_SrneU@!~E>DLTJ;A_GfCVdH_P`d@2=A~Bh~ z^r-^olLXgQw5?Bs(A(u!sA&VLv+u_?_w^?%uPLJ0Qo>osO>r|df&E(P!M5;7D~0#>CTjSw8M@ye4d z-}B34I>B}kG}EdOOaOZx+MtMbUx3n;rR}prjAzLP6>&pe=qaj!+#iA8wGzS*j9Vk2 zJ{~>E^6RcH{~C4tVXP;7gQtfVYt%TMH1*k>Cidse-!Sqn%8ih2Pk4@wXgRnkabjLZ zlmC&GwB_+*@zFs0dh1z3PI{)+)eSMiqf%ypow%{CdsCt-n&@O%67XQhi2-^(9|U z*d3cEB6*zPoqD-p{2_S=f8=&BFVJ!F=s=A8DQGD_zz=yH{$*yoiQp`N2&}g}`|_Xj z3VXkt$G7G4IJtS9vY-ovk!`~;Y4u0l-FgODxex->t2VP_4qe{8_E~|}Kk5;4`RbBhC=N?Ocyq?eK%C^lYo*V*!)d}11Ss(3NlaTLoY z6)ckE*Oy`z)^9QCCGvW~5G?`c1Tz-8n#cUh z^lf?haK&{f_B|IyzI;utG^dJ9R>dtspzM6i8yva#Fl*&hMJe=22>T>&RP488pU#e$ zW2+a;6i+A~xW#hS#NrgqvMB1bn~?FJso6zIS~4HdSPv(r8e$H z%2Pn;4u3GndI>Nq;hzyyiJ5ZEMxIlZ+ay>9!f#)&%@hqfnvcwfV(NTJt|#KVH>7EF z*X^gblk^^H6-1a2J9s8yD?G|W70uD72>mKi1hud}Md;|SsbNvoB}bUQtfDWF%Ew`dlZ!J=gSFB*x2Do@1F0Ph|rD^UI43< zRF?BtY+6cJn#`9B_P;o2)+F?e9v>~K#@)|q(~mtAHwnQ!hGagFGqsOri?{P~TEfHq z{}cobNc+6EV2svE5fp)&ZQXo^f{cI|7u2<`7lP&)W%QXe5VTasjvvz=9&LQ^KfHD{ zY9Pm_I1V`ME1TSM7&juoI~a z?FwWP!ZqC08nlOcIZ1P?uGmJCqdzNS9n+O4(qw0c5=e>)T#BmuDxiN3Rgg1_{zDwt z7vF~^v4|%A+6#Hf9$Z;-Bh_{i$0R|wb>yGfU}Thn@#S=O8=cs1DT-XfGKQ9GA(iDmY%y8L+P-ex<#etTd$S`S10yMb&C%U0Oj+Sil%1D^?WQyZ`hw$%|+K z8=vdTLQ;roYl~%0soCi08<$Js77p3$=XSD;?j8@xwtsr$*WQ~g6J4L)(J6Z3v{BED7kFlDby9EgD2Qkg{JJW*@D~jCnzFxk DlL1HN literal 0 HcmV?d00001 diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 3ecff6183..741171e31 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -62,6 +62,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index a378694b2..3e929767a 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index 2cdd36575..df84b93fb 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/serverlistmenu.csv b/lgsm/data/serverlistmenu.csv new file mode 100644 index 000000000..08ffe021c --- /dev/null +++ b/lgsm/data/serverlistmenu.csv @@ -0,0 +1,136 @@ +ac,acserver,Assetto Corsa +ahl,ahlserver,Action Half-Life +ahl2,ahl2server,Action: Source +ark,arkserver,ARK: Survival Evolved +arma3,arma3server,ARMA 3 +armar,armarserver,Arma Reforger +ats,atsserver,American Truck Simulator +av,avserver,Avorion +bb,bbserver,BrainBread +bb2,bb2server,BrainBread 2 +bd,bdserver,Base Defense +bf1942,bf1942server,Battlefield 1942 +bfv,bfvserver,Battlefield: Vietnam +bmdm,bmdmserver,Black Mesa: Deathmatch +bo,boserver,Ballistic Overkill +bs,bsserver,Blade Symphony +bt,btserver,Barotrauma +btl,btlserver,BATTALION: Legacy +cc,ccserver,Codename CURE +ck,ckserver,Core Keeper +cmw,cmwserver,Chivalry: Medieval Warfare +cod,codserver,Call of Duty +cod2,cod2server,Call of Duty 2 +cod4,cod4server,Call of Duty 4 +coduo,coduoserver,Call of Duty: United Offensive +codwaw,codwawserver,Call of Duty: World at War +col,colserver,Colony Survival +cs,csserver,Counter-Strike 1.6 +cs2,cs2server,Counter-Strike 2 +cscz,csczserver,Counter-Strike: Condition Zero +csgo,csgoserver,Counter-Strike: Global Offensive +css,cssserver,Counter-Strike: Source +ct,ctserver,Craftopia +dab,dabserver,Double Action: Boogaloo +dayz,dayzserver,DayZ +dmc,dmcserver,Deathmatch Classic +dod,dodserver,Day of Defeat +dodr,dodrserver,Day of Dragons +dods,dodsserver,Day of Defeat: Source +doi,doiserver,Day of Infamy +dst,dstserver,Don't Starve Together +dys,dysserver,Dystopia +eco,ecoserver,Eco +em,emserver,Empires Mod +etl,etlserver,ET: Legacy +ets2,ets2server,Euro Truck Simulator 2 +fctr,fctrserver,Factorio +fof,fofserver,Fistful of Frags +gmod,gmodserver,Garrys Mod +hcu,hcuserver,HYPERCHARGE: Unboxed +hl2dm,hl2dmserver,Half-Life 2: Deathmatch +hldm,hldmserver,Half-Life: Deathmatch +hldms,hldmsserver,Half-Life Deathmatch: Source +hw,hwserver,Hurtworld +hz,hzserver,Humanitz +ins,insserver,Insurgency +inss,inssserver,Insurgency: Sandstorm +ios,iosserver,IOSoccer +jc2,jc2server,Just Cause 2 +jc3,jc3server,Just Cause 3 +jk2,jk2server,Jedi Knight II: Jedi Outcast +kf,kfserver,Killing Floor +kf2,kf2server,Killing Floor 2 +l4d,l4dserver,Left 4 Dead +l4d2,l4d2server,Left 4 Dead 2 +mc,mcserver,Minecraft +mcb,mcbserver,Minecraft Bedrock +mh,mhserver,MORDHAU +mohaa,mohaaserver,Medal of Honor: Allied Assault +mom,momserver,Memories of Mars +mta,mtaserver,Multi Theft Auto +nd,ndserver,Nuclear Dawn +nec,necserver,Necesse +nmrih,nmrihserver,No More Room in Hell +ns,nsserver,Natural Selection +ns2,ns2server,Natural Selection 2 +ns2c,ns2cserver,NS2: Combat +ohd,ohdserver,Operation: Harsh Doorstop +onset,onsetserver,Onset +opfor,opforserver,Opposing Force +pc,pcserver,Project Cars +pc2,pc2server,Project Cars 2 +pmc,pmcserver,PaperMC +ps,psserver,Post Scriptum +pvkii,pvkiiserver,Pirates Vikings & Knights II +pvr,pvrserver,Pavlov VR +pw,pwserver,Palworld +pz,pzserver,Project Zomboid +q2,q2server,Quake 2 +q3,q3server,Quake 3: Arena +q4,q4server,Quake 4 +ql,qlserver,Quake Live +qw,qwserver,Quake World +ricochet,ricochetserver,Ricochet +ro,roserver,Red Orchestra: Ostfront 41-45 +rtcw,rtcwserver,Return to Castle Wolfenstein +rust,rustserver,Rust +rw,rwserver,Rising World +samp,sampserver,San Andreas Multiplayer +sb,sbserver,Starbound +sbots,sbotsserver,StickyBots +scpsl,scpslserver,SCP: Secret Laboratory +scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod +sdtd,sdtdserver,7 Days to Die +sf,sfserver,Satisfactory +sfc,sfcserver,SourceForts Classic +sof2,sof2server,Soldier Of Fortune 2: Gold Edition +sol,solserver,Soldat +squad,squadserver,Squad +st,stserver,Stationeers +stn,stnserver,Survive the Nights +sven,svenserver,Sven Co-op +terraria,terrariaserver,Terraria +tf,tfserver,The Front +tf2,tf2server,Team Fortress 2 +tfc,tfcserver,Team Fortress Classic +ti,tiserver,The Isle +ts,tsserver,The Specialists +ts3,ts3server,Teamspeak 3 +tu,tuserver,Tower Unite +tw,twserver,Teeworlds +unt,untserver,Unturned +ut,utserver,Unreal Tournament +ut2k4,ut2k4server,Unreal Tournament 2004 +ut3,ut3server,Unreal Tournament 3 +ut99,ut99server,Unreal Tournament 99 +vh,vhserver,Valheim +vints,vintsserver,Vintage Story +vpmc,vpmcserver,Velocity Proxy MC +vs,vsserver,Vampire Slayer +wet,wetserver,Wolfenstein: Enemy Territory +wf,wfserver,Warfork +wmc,wmcserver,WaterfallMC +wurm,wurmserver,Wurm Unlimited +zmr,zmrserver,Zombie Master: Reborn +zps,zpsserver,Zombie Panic! Source diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 41dbd0bc5..9630a70cb 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -62,6 +62,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index 469c66705..18f84f338 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -62,6 +62,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 8d4cc6e52..daba10ed9 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index 67d28b5e9..fd9f48a22 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index 1b50ed7ef..6dec7c461 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/lgsm/data/ubuntu-23.04.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv index 1b50ed7ef..6dec7c461 100644 --- a/lgsm/data/ubuntu-23.10.csv +++ b/lgsm/data/ubuntu-23.10.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv index 1b50ed7ef..6dec7c461 100644 --- a/lgsm/data/ubuntu-24.04.csv +++ b/lgsm/data/ubuntu-24.04.csv @@ -61,6 +61,7 @@ ios jc2 jc3 jk2 +jk3 kf kf2 l4d diff --git a/lgsm/modules/update_jk3.sh b/lgsm/modules/update_jk3.sh new file mode 100755 index 000000000..f2ad16bf3 --- /dev/null +++ b/lgsm/modules/update_jk3.sh @@ -0,0 +1,166 @@ +#!/bin/bash +# LinuxGSM update_jk2.sh module +# Author: Daniel Gibbs +# Contributors: http://linuxgsm.com/contrib +# Website: https://linuxgsm.com +# Description: Handles updating of Jedi Knight 2 servers. + +moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" + +fn_update_dl() { + # Download and extract files to serverfiles. + fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "nochmodx" "norun" "force" "nohash" + fn_dl_extract "${tmpdir}" "${remotebuildfilename}" "${serverfiles}/GameData" "*" + fn_clear_tmp +} + +fn_update_localbuild() { + # Gets local build info. + fn_print_dots "Checking local build: ${remotelocation}" + # Uses log file to get local build. + localbuild=$(grep "\"version\"" "${consolelogdir}"/* 2> /dev/null | sed 's/.*://' | awk '{print $1}' | head -n 1 | sed 's/v//') + if [ -z "${localbuild}" ]; then + fn_print_error "Checking local build: ${remotelocation}: missing local build info" + fn_script_log_error "Missing local build info" + fn_script_log_error "Set localbuild to 0" + localbuild="0" + else + fn_print_ok "Checking local build: ${remotelocation}" + fn_script_log_pass "Checking local build" + fi +} + +fn_update_remotebuild() { + # Get remote build info. + apiurl="https://api.github.com/repos/JACoders/OpenJK/latest" + remotebuildresponse=$(curl -s "${apiurl}") + remotebuildfilename=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("OpenJK-linux")) | .name') + remotebuildurl=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("OpenJK-linux")) | .browser_download_url') + remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '.tag_name') + + if [ "${firstcommandname}" != "INSTALL" ]; then + fn_print_dots "Checking remote build: ${remotelocation}" + # Checks if remotebuildversion variable has been set. + if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then + fn_print_fail "Checking remote build: ${remotelocation}" + fn_script_log_fail "Checking remote build" + core_exit.sh + else + fn_print_ok "Checking remote build: ${remotelocation}" + fn_script_log_pass "Checking remote build" + fi + else + # Checks if remotebuild variable has been set. + if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then + fn_print_failure "Unable to get remote build" + fn_script_log_fail "Unable to get remote build" + core_exit.sh + fi + fi +} + +fn_update_compare() { + fn_print_dots "Checking for update: ${remotelocation}" + # Update has been found or force update. + if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then + # Create update lockfile. + date '+%s' > "${lockdir:?}/update.lock" + fn_print_ok_nl "Checking for update: ${remotelocation}" + echo -en "\n" + echo -e "Update available" + echo -e "* Local build: ${red}${localbuild}${default}" + echo -e "* Remote build: ${green}${remotebuildversion}${default}" + if [ -n "${branch}" ]; then + echo -e "* Branch: ${branch}" + fi + if [ -f "${rootdir}/.dev-debug" ]; then + echo -e "Remote build info" + echo -e "* apiurl: ${apiurl}" + echo -e "* remotebuildfilename: ${remotebuildfilename}" + echo -e "* remotebuildurl: ${remotebuildurl}" + echo -e "* remotebuildversion: ${remotebuildversion}" + fi + echo -en "\n" + fn_script_log_info "Update available" + fn_script_log_info "Local build: ${localbuild}" + fn_script_log_info "Remote build: ${remotebuildversion}" + if [ -n "${branch}" ]; then + fn_script_log_info "Branch: ${branch}" + fi + fn_script_log_info "${localbuild} > ${remotebuildversion}" + + if [ "${commandname}" == "UPDATE" ]; then + unset updateonstart + check_status.sh + # If server stopped. + if [ "${status}" == "0" ]; then + fn_update_dl + if [ "${localbuild}" == "0" ]; then + exitbypass=1 + command_start.sh + fn_firstcommand_reset + exitbypass=1 + fn_sleep_time_5 + command_stop.sh + fn_firstcommand_reset + fi + # If server started. + else + fn_print_restart_warning + exitbypass=1 + command_stop.sh + fn_firstcommand_reset + exitbypass=1 + fn_update_dl + exitbypass=1 + command_start.sh + fn_firstcommand_reset + fi + unset exitbypass + date +%s > "${lockdir}/last-updated.lock" + alert="update" + elif [ "${commandname}" == "CHECK-UPDATE" ]; then + alert="check-update" + fi + alert.sh + else + fn_print_ok_nl "Checking for update: ${remotelocation}" + echo -en "\n" + echo -e "No update available" + echo -e "* Local build: ${green}${localbuild}${default}" + echo -e "* Remote build: ${green}${remotebuildversion}${default}" + if [ -n "${branch}" ]; then + echo -e "* Branch: ${branch}" + fi + echo -en "\n" + fn_script_log_info "No update available" + fn_script_log_info "Local build: ${localbuild}" + fn_script_log_info "Remote build: ${remotebuildversion}" + if [ -n "${branch}" ]; then + fn_script_log_info "Branch: ${branch}" + fi + if [ -f "${rootdir}/.dev-debug" ]; then + echo -e "Remote build info" + echo -e "* apiurl: ${apiurl}" + echo -e "* remotebuildfilename: ${remotebuildfilename}" + echo -e "* remotebuildurl: ${remotebuildurl}" + echo -e "* remotebuildversion: ${remotebuildversion}" + fi + fi +} + +# The location where the builds are checked and downloaded. +remotelocation="github.com" + +if [ "${firstcommandname}" == "INSTALL" ]; then + fn_update_remotebuild + fn_update_dl +else + update_steamcmd.sh + fn_print_dots "Checking for update" + fn_print_dots "Checking for update: ${remotelocation}" + fn_script_log_info "Checking for update: ${remotelocation}" + fn_update_localbuild + fn_update_remotebuild + fn_update_compare +fi From ee7626f10bb57be6dc31c336ff3d28b059d7d5aa Mon Sep 17 00:00:00 2001 From: AlexCS1337 Date: Thu, 18 Jul 2024 13:53:35 +1000 Subject: [PATCH 08/12] update jk3s lgsm config --- .../config-lgsm/jk3server/_default.cfg | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lgsm/config-default/config-lgsm/jk3server/_default.cfg b/lgsm/config-default/config-lgsm/jk3server/_default.cfg index 6376040d3..746650f16 100644 --- a/lgsm/config-default/config-lgsm/jk3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jk3server/_default.cfg @@ -37,6 +37,9 @@ displayip="" # More info | https://docs.linuxgsm.com/alerts#more-info postalert="off" +# Alert on Start/Stop/Restart +statusalert="off" + # Discord Alerts | https://docs.linuxgsm.com/alerts/discord discordalert="off" discordwebhook="webhook" @@ -56,14 +59,6 @@ iftttalert="off" ifttttoken="accesstoken" iftttevent="linuxgsm_alert" -# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun -mailgunalert="off" -mailgunapiregion="us" -mailguntoken="accesstoken" -mailgundomain="example.com" -mailgunemailfrom="alert@example.com" -mailgunemail="email@myemail.com" - # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -77,7 +72,6 @@ pushoveruserkey="userkey" # Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat rocketchatalert="off" rocketchatwebhook="webhook" -rocketchattoken="" # Slack Alerts | https://docs.linuxgsm.com/alerts/slack slackalert="off" @@ -90,6 +84,8 @@ telegramapi="api.telegram.org" telegramalert="off" telegramtoken="accesstoken" telegramchatid="" +telegramthreadid="" +telegramsilentnotification="false" curlcustomstring="" ## Updating | https://docs.linuxgsm.com/commands/update @@ -175,7 +171,7 @@ servercfgfullpath="${servercfgdir}/${servercfg}" backupdir="${lgsmdir}/backups" ## Logging Directories -logdir="${rootdir}/log" +[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log" gamelogdir="${systemdir}/logs" lgsmlogdir="${logdir}/script" consolelogdir="${logdir}/console" @@ -187,3 +183,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log" ## Logs Naming lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" + +## Log Parameters +logtimestamp="off" +logtimestampformat="%Y-%m-%d %H:%M:%S" From aabc4563b0ab9730960aa252f3cd900900dd52a2 Mon Sep 17 00:00:00 2001 From: AlexCS1337 Date: Thu, 18 Jul 2024 17:34:15 +1000 Subject: [PATCH 09/12] remove serverlistmenu.csv not meant to be there --- lgsm/data/serverlistmenu.csv | 136 ----------------------------------- 1 file changed, 136 deletions(-) delete mode 100644 lgsm/data/serverlistmenu.csv diff --git a/lgsm/data/serverlistmenu.csv b/lgsm/data/serverlistmenu.csv deleted file mode 100644 index 08ffe021c..000000000 --- a/lgsm/data/serverlistmenu.csv +++ /dev/null @@ -1,136 +0,0 @@ -ac,acserver,Assetto Corsa -ahl,ahlserver,Action Half-Life -ahl2,ahl2server,Action: Source -ark,arkserver,ARK: Survival Evolved -arma3,arma3server,ARMA 3 -armar,armarserver,Arma Reforger -ats,atsserver,American Truck Simulator -av,avserver,Avorion -bb,bbserver,BrainBread -bb2,bb2server,BrainBread 2 -bd,bdserver,Base Defense -bf1942,bf1942server,Battlefield 1942 -bfv,bfvserver,Battlefield: Vietnam -bmdm,bmdmserver,Black Mesa: Deathmatch -bo,boserver,Ballistic Overkill -bs,bsserver,Blade Symphony -bt,btserver,Barotrauma -btl,btlserver,BATTALION: Legacy -cc,ccserver,Codename CURE -ck,ckserver,Core Keeper -cmw,cmwserver,Chivalry: Medieval Warfare -cod,codserver,Call of Duty -cod2,cod2server,Call of Duty 2 -cod4,cod4server,Call of Duty 4 -coduo,coduoserver,Call of Duty: United Offensive -codwaw,codwawserver,Call of Duty: World at War -col,colserver,Colony Survival -cs,csserver,Counter-Strike 1.6 -cs2,cs2server,Counter-Strike 2 -cscz,csczserver,Counter-Strike: Condition Zero -csgo,csgoserver,Counter-Strike: Global Offensive -css,cssserver,Counter-Strike: Source -ct,ctserver,Craftopia -dab,dabserver,Double Action: Boogaloo -dayz,dayzserver,DayZ -dmc,dmcserver,Deathmatch Classic -dod,dodserver,Day of Defeat -dodr,dodrserver,Day of Dragons -dods,dodsserver,Day of Defeat: Source -doi,doiserver,Day of Infamy -dst,dstserver,Don't Starve Together -dys,dysserver,Dystopia -eco,ecoserver,Eco -em,emserver,Empires Mod -etl,etlserver,ET: Legacy -ets2,ets2server,Euro Truck Simulator 2 -fctr,fctrserver,Factorio -fof,fofserver,Fistful of Frags -gmod,gmodserver,Garrys Mod -hcu,hcuserver,HYPERCHARGE: Unboxed -hl2dm,hl2dmserver,Half-Life 2: Deathmatch -hldm,hldmserver,Half-Life: Deathmatch -hldms,hldmsserver,Half-Life Deathmatch: Source -hw,hwserver,Hurtworld -hz,hzserver,Humanitz -ins,insserver,Insurgency -inss,inssserver,Insurgency: Sandstorm -ios,iosserver,IOSoccer -jc2,jc2server,Just Cause 2 -jc3,jc3server,Just Cause 3 -jk2,jk2server,Jedi Knight II: Jedi Outcast -kf,kfserver,Killing Floor -kf2,kf2server,Killing Floor 2 -l4d,l4dserver,Left 4 Dead -l4d2,l4d2server,Left 4 Dead 2 -mc,mcserver,Minecraft -mcb,mcbserver,Minecraft Bedrock -mh,mhserver,MORDHAU -mohaa,mohaaserver,Medal of Honor: Allied Assault -mom,momserver,Memories of Mars -mta,mtaserver,Multi Theft Auto -nd,ndserver,Nuclear Dawn -nec,necserver,Necesse -nmrih,nmrihserver,No More Room in Hell -ns,nsserver,Natural Selection -ns2,ns2server,Natural Selection 2 -ns2c,ns2cserver,NS2: Combat -ohd,ohdserver,Operation: Harsh Doorstop -onset,onsetserver,Onset -opfor,opforserver,Opposing Force -pc,pcserver,Project Cars -pc2,pc2server,Project Cars 2 -pmc,pmcserver,PaperMC -ps,psserver,Post Scriptum -pvkii,pvkiiserver,Pirates Vikings & Knights II -pvr,pvrserver,Pavlov VR -pw,pwserver,Palworld -pz,pzserver,Project Zomboid -q2,q2server,Quake 2 -q3,q3server,Quake 3: Arena -q4,q4server,Quake 4 -ql,qlserver,Quake Live -qw,qwserver,Quake World -ricochet,ricochetserver,Ricochet -ro,roserver,Red Orchestra: Ostfront 41-45 -rtcw,rtcwserver,Return to Castle Wolfenstein -rust,rustserver,Rust -rw,rwserver,Rising World -samp,sampserver,San Andreas Multiplayer -sb,sbserver,Starbound -sbots,sbotsserver,StickyBots -scpsl,scpslserver,SCP: Secret Laboratory -scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod -sdtd,sdtdserver,7 Days to Die -sf,sfserver,Satisfactory -sfc,sfcserver,SourceForts Classic -sof2,sof2server,Soldier Of Fortune 2: Gold Edition -sol,solserver,Soldat -squad,squadserver,Squad -st,stserver,Stationeers -stn,stnserver,Survive the Nights -sven,svenserver,Sven Co-op -terraria,terrariaserver,Terraria -tf,tfserver,The Front -tf2,tf2server,Team Fortress 2 -tfc,tfcserver,Team Fortress Classic -ti,tiserver,The Isle -ts,tsserver,The Specialists -ts3,ts3server,Teamspeak 3 -tu,tuserver,Tower Unite -tw,twserver,Teeworlds -unt,untserver,Unturned -ut,utserver,Unreal Tournament -ut2k4,ut2k4server,Unreal Tournament 2004 -ut3,ut3server,Unreal Tournament 3 -ut99,ut99server,Unreal Tournament 99 -vh,vhserver,Valheim -vints,vintsserver,Vintage Story -vpmc,vpmcserver,Velocity Proxy MC -vs,vsserver,Vampire Slayer -wet,wetserver,Wolfenstein: Enemy Territory -wf,wfserver,Warfork -wmc,wmcserver,WaterfallMC -wurm,wurmserver,Wurm Unlimited -zmr,zmrserver,Zombie Master: Reborn -zps,zpsserver,Zombie Panic! Source From b8240ff6d9efd23cb589424564e9a89bdc0bb284 Mon Sep 17 00:00:00 2001 From: AlexCS1337 Date: Sat, 27 Jul 2024 10:55:07 +1000 Subject: [PATCH 10/12] Update missing info for lgsm modules - jk3server --- lgsm/modules/command_check_update.sh | 2 ++ lgsm/modules/command_start.sh | 2 ++ lgsm/modules/command_update.sh | 2 ++ lgsm/modules/core_getopt.sh | 2 +- lgsm/modules/info_messages.sh | 4 ---- lgsm/modules/install_config.sh | 1 - lgsm/modules/install_server_files.sh | 2 ++ 7 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lgsm/modules/command_check_update.sh b/lgsm/modules/command_check_update.sh index 2e6855f7c..4a2aaa551 100644 --- a/lgsm/modules/command_check_update.sh +++ b/lgsm/modules/command_check_update.sh @@ -28,6 +28,8 @@ elif [ "${shortname}" == "mta" ]; then update_mta.sh elif [ "${shortname}" == "jk2" ]; then update_jk2.sh +elif [ "${shortname}" == "jk3 "]; then + update_jk3.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh elif [ "${shortname}" == "ut99" ]; then diff --git a/lgsm/modules/command_start.sh b/lgsm/modules/command_start.sh index f38125a5e..13f425c72 100644 --- a/lgsm/modules/command_start.sh +++ b/lgsm/modules/command_start.sh @@ -199,6 +199,8 @@ fi fn_print_dots "${servername}" if [ "${shortname}" == "jk2" ]; then fn_start_jk2 +elif [ "${shortname}" == "jk3 "]; then + fn_start_jk3 else fn_start_tmux fi diff --git a/lgsm/modules/command_update.sh b/lgsm/modules/command_update.sh index e1fcec97f..d6f4ac0e1 100644 --- a/lgsm/modules/command_update.sh +++ b/lgsm/modules/command_update.sh @@ -29,6 +29,8 @@ elif [ "${shortname}" == "mta" ]; then update_mta.sh elif [ "${shortname}" == "jk2" ]; then update_jk2.sh +elif [ "${shortname}" == "jk3 " ]; then + update_jk3.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh elif [ "${shortname}" == "ut99" ]; then diff --git a/lgsm/modules/core_getopt.sh b/lgsm/modules/core_getopt.sh index cd3e57cb5..05f861097 100644 --- a/lgsm/modules/core_getopt.sh +++ b/lgsm/modules/core_getopt.sh @@ -66,7 +66,7 @@ currentopt=("${cmd_start[@]}" "${cmd_stop[@]}" "${cmd_restart[@]}" "${cmd_monito currentopt+=("${cmd_update_linuxgsm[@]}") # Exclude noupdate games here. -if [ "${shortname}" == "jk2" ] || [ "${engine}" != "idtech3" ]; then +if [ "${shortname}" == "jk2" ] || [ "${shortname}" == "jk3" ] || [ "${engine}" != "idtech3" ]; then if [ "${shortname}" != "bf1942" ] && [ "${shortname}" != "bfv" ] && [ "${engine}" != "idtech2" ] && [ "${engine}" != "iw2.0" ] && [ "${engine}" != "iw3.0" ] && [ "${engine}" != "quake" ] && [ "${shortname}" != "samp" ] && [ "${shortname}" != "ut2k4" ]; then currentopt+=("${cmd_update[@]}" "${cmd_check_update[@]}") # force update for SteamCMD or Multi Theft Auto only. diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 98154e431..0d4a71c7f 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -1798,13 +1798,9 @@ fn_info_messages_select_engine() { elif [ "${shortname}" == "jc3" ]; then fn_info_messages_jc3 elif [ "${shortname}" == "jk2" ]; then -<<<<<<< HEAD:lgsm/functions/info_messages.sh fn_info_message_jk2 elif [ "${shortname}" == "jk3" ]; then fn_info_message_jk3 -======= - fn_info_messages_jk2 ->>>>>>> 1522cbd7b3d673aadf5b1a611cc03badf1f32b36:lgsm/modules/info_messages.sh elif [ "${shortname}" == "kf" ]; then fn_info_messages_kf elif [ "${shortname}" == "kf2" ]; then diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index c52c43aaa..295bb9cbc 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -666,7 +666,6 @@ elif [ "${shortname}" == "jk2" ]; then fn_default_config_remote fn_set_config_vars elif [ "${shortname}" == "jk3" ]; then - gamedirname="JediKnightJediAcademy" array_configs+=( server.cfg ) fn_fetch_default_config fn_default_config_remote diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index c5fe822ad..f31009ef6 100644 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -242,6 +242,8 @@ elif [ "${shortname}" == "fctr" ]; then install_factorio_save.sh elif [ "${shortname}" == "jk2" ]; then update_jk2.sh +elif [ "${shortname}" == "jk3" ]; then + update_jk3.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh elif [ "${shortname}" == "ut99" ]; then From 0a3277a549be62d96f20452340ded0b16553edac Mon Sep 17 00:00:00 2001 From: AlexCS1337 Date: Sat, 27 Jul 2024 11:12:28 +1000 Subject: [PATCH 11/12] fix typos --- lgsm/modules/command_check_update.sh | 2 +- lgsm/modules/command_start.sh | 2 -- lgsm/modules/command_update.sh | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lgsm/modules/command_check_update.sh b/lgsm/modules/command_check_update.sh index 4a2aaa551..d6c5810b4 100644 --- a/lgsm/modules/command_check_update.sh +++ b/lgsm/modules/command_check_update.sh @@ -28,7 +28,7 @@ elif [ "${shortname}" == "mta" ]; then update_mta.sh elif [ "${shortname}" == "jk2" ]; then update_jk2.sh -elif [ "${shortname}" == "jk3 "]; then +elif [ "${shortname}" == "jk3" ]; then update_jk3.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh diff --git a/lgsm/modules/command_start.sh b/lgsm/modules/command_start.sh index 13f425c72..f38125a5e 100644 --- a/lgsm/modules/command_start.sh +++ b/lgsm/modules/command_start.sh @@ -199,8 +199,6 @@ fi fn_print_dots "${servername}" if [ "${shortname}" == "jk2" ]; then fn_start_jk2 -elif [ "${shortname}" == "jk3 "]; then - fn_start_jk3 else fn_start_tmux fi diff --git a/lgsm/modules/command_update.sh b/lgsm/modules/command_update.sh index d6f4ac0e1..5f85a5b41 100644 --- a/lgsm/modules/command_update.sh +++ b/lgsm/modules/command_update.sh @@ -29,7 +29,7 @@ elif [ "${shortname}" == "mta" ]; then update_mta.sh elif [ "${shortname}" == "jk2" ]; then update_jk2.sh -elif [ "${shortname}" == "jk3 " ]; then +elif [ "${shortname}" == "jk3" ]; then update_jk3.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh From df9abefa37fbfa9e586c6aa0a9417140dfa82249 Mon Sep 17 00:00:00 2001 From: AlexCS1337 Date: Sat, 27 Jul 2024 13:13:37 +1000 Subject: [PATCH 12/12] add condition for starting jk3server in tmux --- lgsm/modules/command_start.sh | 9 +++++++++ lgsm/modules/update_jk3.sh | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/command_start.sh b/lgsm/modules/command_start.sh index f38125a5e..81ded92a1 100644 --- a/lgsm/modules/command_start.sh +++ b/lgsm/modules/command_start.sh @@ -18,6 +18,13 @@ fn_start_jk2() { tmux -L "${socketname}" end -t "${sessionname}" version ENTER > /dev/null 2>&1 } +# Like above but for Jedi Academy version to be printed in console on start. +# Used to allow update to detect OpenJK server version. +fn_start_jk3() { + fn_start_tmux + tmux -L "${socketname}" end -t "${sessionname}" version ENTER > /dev/null 2>&1 +} + fn_start_tmux() { # check for tmux size variables. if [[ "${servercfgtmuxwidth}" =~ ^[0-9]+$ ]]; then @@ -199,6 +206,8 @@ fi fn_print_dots "${servername}" if [ "${shortname}" == "jk2" ]; then fn_start_jk2 +elif [ "$shortname" == "jk3" ]; then + fn_start_jk3 else fn_start_tmux fi diff --git a/lgsm/modules/update_jk3.sh b/lgsm/modules/update_jk3.sh index f2ad16bf3..c4bb58635 100755 --- a/lgsm/modules/update_jk3.sh +++ b/lgsm/modules/update_jk3.sh @@ -1,9 +1,9 @@ #!/bin/bash -# LinuxGSM update_jk2.sh module +# LinuxGSM update_jk3.sh module # Author: Daniel Gibbs # Contributors: http://linuxgsm.com/contrib # Website: https://linuxgsm.com -# Description: Handles updating of Jedi Knight 2 servers. +# Description: Handles updating of Jedi Academy servers. moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"