From fbaed943242a716cacf593e26eb699527a64e7b0 Mon Sep 17 00:00:00 2001 From: crawforc3 Date: Sun, 30 Oct 2022 15:24:07 -0700 Subject: [PATCH] feat(newserver): Necesse (#3997) * Add Necesse game server * change github info for testing * add defaul config * fix config * Update config * revery github repo * remove artifact * Update _default.cfg * Update install sequence * Update servercfg * Add post install * Update nec post isntall * update fixes * Remove config checks * update install config * fix typo * Add config check * add config checks to post install * fix install config * update fix.sh * Clean up * correct dependencies * add details * add nec * config * update dependencies * prettier Co-authored-by: Daniel Gibbs --- .../config-lgsm/necserver/_default.cfg | 180 ++++++++++++++++++ lgsm/data/almalinux-8.csv | 7 +- lgsm/data/almalinux-9.csv | 129 +++++++++++++ lgsm/data/centos-7.csv | 7 +- lgsm/data/centos-8.csv | 7 +- lgsm/data/centos-9.csv | 128 +++++++++++++ lgsm/data/debian-10.csv | 7 +- lgsm/data/debian-11.csv | 7 +- lgsm/data/debian-9.csv | 7 +- lgsm/data/rhel-7.csv | 7 +- lgsm/data/rhel-8.csv | 7 +- lgsm/data/rhel-9.csv | 129 +++++++++++++ lgsm/data/rocky-8.csv | 7 +- lgsm/data/rocky-9.csv | 129 +++++++++++++ lgsm/data/serverlist.csv | 5 +- lgsm/data/ubuntu-16.04.csv | 7 +- lgsm/data/ubuntu-18.04.csv | 7 +- lgsm/data/ubuntu-20.04.csv | 7 +- lgsm/data/ubuntu-21.04.csv | 7 +- lgsm/data/ubuntu-21.10.csv | 7 +- lgsm/data/ubuntu-22.04.csv | 7 +- lgsm/functions/check_permissions.sh | 2 +- lgsm/functions/core_getopt.sh | 2 +- lgsm/functions/info_game.sh | 137 ++++++++----- lgsm/functions/info_messages.sh | 17 +- lgsm/functions/install_config.sh | 8 + lgsm/functions/install_server_files.sh | 2 +- linuxgsm.sh | 22 +-- 28 files changed, 878 insertions(+), 117 deletions(-) create mode 100644 lgsm/config-default/config-lgsm/necserver/_default.cfg create mode 100644 lgsm/data/almalinux-9.csv create mode 100644 lgsm/data/centos-9.csv create mode 100644 lgsm/data/rhel-9.csv create mode 100644 lgsm/data/rocky-9.csv diff --git a/lgsm/config-default/config-lgsm/necserver/_default.cfg b/lgsm/config-default/config-lgsm/necserver/_default.cfg new file mode 100644 index 0000000000..65b7a7f1dd --- /dev/null +++ b/lgsm/config-default/config-lgsm/necserver/_default.cfg @@ -0,0 +1,180 @@ +################################## +######## 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 #### +## Pre-defined Paramters | https://docs.linuxgsm.com/configuration/start-parameters#predefined-parameters +worldname="MyWorld" + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="-localdir -world ${worldname}" + +#### 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="1169370" +steamcmdforcewindows="no" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +betapassword="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="false" + +## Stop Mode | https://docs.linuxgsm.com/features/stop-mode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: GoldSrc +# 10: Avorion +# 11: end +stopmode="2" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="2" +querytype="protocol-valve" + +## Console type +consoleverbose="yes" +consoleinteract="no" + +## Game Server Details +# Do not edit +gamename="Necesse" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}" +executabledir="${serverfiles}" +executable="./StartServer-nogui.sh" +servercfgdir="${serverfiles}/cfg" +servercfg="server.cfg" +servercfgdefault="server.cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## 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" diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index d00fcd887e..0bc76a1a62 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -68,6 +68,7 @@ mom mta,ncurses-compat-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -95,8 +96,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv new file mode 100644 index 0000000000..0bc76a1a62 --- /dev/null +++ b/lgsm/data/almalinux-9.csv @@ -0,0 +1,129 @@ +all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz +steamcmd,glibc.i686,libstdc++.i686 +ac +ahl +ahl2 +ark +arma3 +armar,libcurl,openssl-libs +av +bb +bb2,libcurl.i686 +bd +bf1942,ncurses-libs.i686 +bfv,compat-libstdc++-33.i686,glibc.i686 +bmdm,ncurses-libs.i686 +bo +bs +bt,libicu,dos2unix +bt1944 +cc +cd +cmw +cod,compat-libstdc++-33.i686 +cod2,compat-libstdc++-33.i686 +cod4 +coduo,compat-libstdc++-33.i686 +codwaw +col +cs +cscz +csgo +css,ncurses-libs.i686 +dab +dayz +dmc +dod +dodr +dods +doi +dst,libcurl.i686 +dys +eco,libgdiplus +em +etl +fctr +fof +gmod,ncurses-libs.i686 +hl2dm +hldm +hldms +hw,zlib-devel +ins +inss +ios +jc2 +jc3 +jk2 +kf +kf2 +l4d +l4d2 +lo +mc,java-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta,ncurses-compat-libs +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-openjdk +pstbs,GConf2 +pvkii +pvr,libcxx +pz,java-11-openjdk rng-tools +q2 +q3 +ql +qw +ricochet +ro +rtcw +rust,zlib-devel +rw,java-11-openjdk +samp +sb +sbots +scpsl +scpslsm +sdtd,telnet,expect +sf +sfc,ncurses-libs.i686 +sof2 +sol +squad +st +stn +sven +terraria +tf2,libcurl.i686 +tfc +ti +ts +ts3 +tu +tw +unt +ut +ut2k4 +ut3 +ut99 +vh,glibc-devel +vints,mono-complete +vpmc,java-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index 560740dd52..9ae62611da 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -68,6 +68,7 @@ mom mta,ncurses-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -95,8 +96,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -117,8 +118,8 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index 8ef35fa03b..0d680e7604 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -68,6 +68,7 @@ mom mta,ncurses-compat-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -95,8 +96,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -116,9 +117,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv new file mode 100644 index 0000000000..0d680e7604 --- /dev/null +++ b/lgsm/data/centos-9.csv @@ -0,0 +1,128 @@ +all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz +steamcmd,glibc.i686,libstdc++.i686 +ac +ahl +ahl2 +ark +arma3 +armar,libcurl,openssl-libs +av +bb +bb2,libcurl.i686 +bd +bf1942,ncurses-libs.i686 +bfv,compat-libstdc++-33.i686,glibc.i686 +bmdm,ncurses-libs.i686 +bo +bs +bt,libicu,dos2unix +bt1944 +cc +cd +cmw +cod,compat-libstdc++-33.i686 +cod2,compat-libstdc++-33.i686 +cod4 +coduo,compat-libstdc++-33.i686 +codwaw +col +cs +cscz +csgo +css,ncurses-libs.i686 +dab +dayz +dmc +dod +dodr +dods +doi +dst,libcurl.i686 +dys +eco,libgdiplus +em +etl +fctr +fof +gmod,ncurses-libs.i686 +hl2dm +hldm +hldms +hw,zlib-devel +ins +inss +ios +jc2 +jc3 +jk2 +kf +kf2 +l4d +l4d2 +lo +mc,java-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta,ncurses-compat-libs +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-openjdk +pstbs,GConf2 +pvkii +pvr,libcxx +pz,java-11-openjdk rng-tools +q2 +q3 +ql +qw +ricochet +ro +rtcw +rust,zlib-devel +rw,java-11-openjdk +samp +sb +sbots +scpsl +scpslsm +sdtd,telnet,expect +sf +sfc,ncurses-libs.i686 +sof2 +sol +squad +st +sven +terraria +tf2,libcurl.i686 +tfc +ti +ts +ts3 +tu +tw +unt +ut +ut2k4 +ut3 +ut99 +vh,glibc-devel +vints,mono-complete +vpmc,java-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index 036eb625c7..82c79d1922 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-11-jre mcb mh @@ -68,6 +68,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -95,8 +96,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-11-jre diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 468990c5f1..158f6222bb 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -68,6 +68,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -95,8 +96,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index 69773506f9..f03c39f6a4 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-8-jre mcb mh @@ -68,6 +68,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -95,8 +96,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -117,8 +118,8 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete +vs wet wf wmc,openjdk-8-jre diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 968c4dc980..58dda5d201 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -68,6 +68,7 @@ mom mta mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -95,8 +96,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index 002db75fd6..8f0d5a30fd 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -68,6 +68,7 @@ mom mta mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -95,8 +96,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv new file mode 100644 index 0000000000..8f0d5a30fd --- /dev/null +++ b/lgsm/data/rhel-9.csv @@ -0,0 +1,129 @@ +all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz +steamcmd,glibc.i686,libstdc++.i686 +ac +ahl +ahl2 +ark +arma3 +armar,libcurl,openssl-libs +av +bb +bb2,libcurl.i686 +bd +bf1942,ncurses-libs.i686 +bfv,compat-libstdc++-33.i686,glibc.i686 +bmdm,ncurses-libs.i686 +bo +bs +bt,libicu +bt1944 +cc +cd +cmw +cod,compat-libstdc++-33.i686 +cod2,compat-libstdc++-33.i686 +cod4 +coduo,compat-libstdc++-33.i686 +codwaw +col +cs +cscz +csgo +css,ncurses-libs.i686 +dab +dayz +dmc +dod +dodr +dods +doi +dst,libcurl.i686 +dys +eco,libgdiplus +em +etl +fctr +fof +gmod,ncurses-libs.i686 +hl2dm +hldm +hldms +hw,zlib-devel +ins +inss +ios +jc2 +jc3 +jk2 +kf +kf2 +l4d +l4d2 +lo +mc,java-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-openjdk +pstbs,GConf2 +pvkii +pvr,libcxx +pz,java-11-openjdk rng-tools +q2 +q3 +ql +qw +ricochet +ro +rtcw +rust,zlib-devel +rw,java-11-openjdk +samp +sb +sbots +scpsl +scpslsm +sdtd,telnet,expect +sf +sfc,ncurses-libs.i686 +sof2 +sol +squad +st +stn +sven +terraria +tf2,libcurl.i686 +tfc +ti +ts +ts3 +tu +tw +unt +ut +ut2k4 +ut3 +ut99 +vh,glibc-devel +vints,mono-complete +vpmc,java-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index d00fcd887e..0bc76a1a62 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -68,6 +68,7 @@ mom mta,ncurses-compat-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -95,8 +96,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv new file mode 100644 index 0000000000..0bc76a1a62 --- /dev/null +++ b/lgsm/data/rocky-9.csv @@ -0,0 +1,129 @@ +all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz +steamcmd,glibc.i686,libstdc++.i686 +ac +ahl +ahl2 +ark +arma3 +armar,libcurl,openssl-libs +av +bb +bb2,libcurl.i686 +bd +bf1942,ncurses-libs.i686 +bfv,compat-libstdc++-33.i686,glibc.i686 +bmdm,ncurses-libs.i686 +bo +bs +bt,libicu,dos2unix +bt1944 +cc +cd +cmw +cod,compat-libstdc++-33.i686 +cod2,compat-libstdc++-33.i686 +cod4 +coduo,compat-libstdc++-33.i686 +codwaw +col +cs +cscz +csgo +css,ncurses-libs.i686 +dab +dayz +dmc +dod +dodr +dods +doi +dst,libcurl.i686 +dys +eco,libgdiplus +em +etl +fctr +fof +gmod,ncurses-libs.i686 +hl2dm +hldm +hldms +hw,zlib-devel +ins +inss +ios +jc2 +jc3 +jk2 +kf +kf2 +l4d +l4d2 +lo +mc,java-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta,ncurses-compat-libs +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-openjdk +pstbs,GConf2 +pvkii +pvr,libcxx +pz,java-11-openjdk rng-tools +q2 +q3 +ql +qw +ricochet +ro +rtcw +rust,zlib-devel +rw,java-11-openjdk +samp +sb +sbots +scpsl +scpslsm +sdtd,telnet,expect +sf +sfc,ncurses-libs.i686 +sof2 +sol +squad +st +stn +sven +terraria +tf2,libcurl.i686 +tfc +ti +ts +ts3 +tu +tw +unt +ut +ut2k4 +ut3 +ut99 +vh,glibc-devel +vints,mono-complete +vpmc,java-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 4c80f538a7..a33bbf816b 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -55,9 +55,9 @@ jc3,jc3server,Just Cause 3 jk2,jk2server,Jedi Knight II: Jedi Outcast kf,kfserver,Killing Floor kf2,kf2server,Killing Floor 2 -lo,loserver,Last Oasis l4d,l4dserver,Left 4 Dead l4d2,l4d2server,Left 4 Dead 2 +lo,loserver,Last Oasis mc,mcserver,Minecraft mcb,mcbserver,Minecraft Bedrock mh,mhserver,MORDHAU @@ -66,6 +66,7 @@ mom,momserver,Memories of Mars mta,mtaserver,Multi Theft Auto mumble,mumbleserver,Mumble nd,ndserver,Nuclear Dawn +nec,necserver,Necesse nmrih,nmrihserver,No More Room in Hell ns,nsserver,Natural Selection ns2,ns2server,Natural Selection 2 @@ -94,8 +95,8 @@ sbots,sbotsserver,StickyBots scpsl,scpslserver,SCP: Secret Laboratory scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod sdtd,sdtdserver,7 Days to Die -sfc,sfcserver,SourceForts Classic sf,sfserver,Satisfactory +sfc,sfcserver,SourceForts Classic sof2,sof2server,Soldier Of Fortune 2: Gold Edition sol,solserver,Soldat squad,squadserver,Squad diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 8dc3bd77a4..fdbcd12d0c 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -56,9 +56,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-8-jre mcb mh @@ -67,6 +67,7 @@ mom mta mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -94,8 +95,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -116,8 +117,8 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete +vs wet wf wmc,openjdk-8-jre diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index 036eb625c7..82c79d1922 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-11-jre mcb mh @@ -68,6 +68,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -95,8 +96,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-11-jre diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 9f984bde95..65697649b7 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -68,6 +68,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -95,8 +96,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/ubuntu-21.04.csv b/lgsm/data/ubuntu-21.04.csv index aabfa98efe..666f9d864f 100644 --- a/lgsm/data/ubuntu-21.04.csv +++ b/lgsm/data/ubuntu-21.04.csv @@ -57,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -68,6 +68,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -95,8 +96,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -117,9 +118,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/ubuntu-21.10.csv b/lgsm/data/ubuntu-21.10.csv index 1ced64fc70..713d21a89a 100644 --- a/lgsm/data/ubuntu-21.10.csv +++ b/lgsm/data/ubuntu-21.10.csv @@ -55,9 +55,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -66,6 +66,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -93,8 +94,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -115,9 +116,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index e6b1e33a66..b65fc60ac4 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -55,9 +55,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -66,6 +66,7 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 @@ -93,8 +94,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -115,9 +116,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index 1091cbc6e7..0094456ec3 100755 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -181,7 +181,7 @@ fn_sys_perm_fix_manually_msg() { # Attempt to fix /sys related permission errors if sudo is available, exits otherwise. fn_sys_perm_errors_fix() { - if sudo -n true >/dev/null 2>&1; then + if sudo -n true > /dev/null 2>&1; then fn_print_dots "Automatically fixing /sys permissions" fn_script_log_info "Automatically fixing /sys permissions." if [ "${sysdirpermerror}" == "1" ]; then diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index 3c44931b9b..fdd66ab3f5 100755 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -75,7 +75,7 @@ if [ "${shortname}" == "jk2" ] || [ "${engine}" != "idtech3" ]; then fi # Validate and check-update command. -if [ "${appid}" ]||[ "${shortname}" == "ts3" ]; then +if [ "${appid}" ] || [ "${shortname}" == "ts3" ]; then currentopt+=("${cmd_validate[@]}" "${cmd_check_update[@]}") fi diff --git a/lgsm/functions/info_game.sh b/lgsm/functions/info_game.sh index dcec74b31d..77169b3f36 100644 --- a/lgsm/functions/info_game.sh +++ b/lgsm/functions/info_game.sh @@ -17,24 +17,24 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_info_game_ac() { # Config if [ ! -f "${servercfgfullpath}" ]; then + adminpassword="${unavailable}" httpport="${zero}" port="${zero}" queryport="${zero}" servername="${unavailable}" - adminpassword="${unavailable}" else + adminpassword=$(grep "ADMIN_PASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMIN_PASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') httpport=$(grep "HTTP_PORT" "${servercfgfullpath}" | tr -cd '[:digit:]') port=$(grep "TCP_PORT" "${servercfgfullpath}" | tr -cd '[:digit:]') queryport="${httpport}" servername=$(grep "NAME" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/NAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | head -n 1) - adminpassword=$(grep "ADMIN_PASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMIN_PASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') # Not set + adminpassword=${adminpassword:-"NOT SET"} httpport=${httpport:-"0"} port=${port:-"0"} queryport=${queryport:-"0"} servername=${servername:-"NOT SET"} - adminpassword=${adminpassword:-"NOT SET"} fi } @@ -42,67 +42,74 @@ fn_info_game_ac() { fn_info_game_ark() { # Config if [ ! -f "${servercfgfullpath}" ]; then - servername="${unavailable}" adminpassword="${unavailable}" + servername="${unavailable}" serverpassword="${unavailable}" else - servername=$(sed -nr 's/^SessionName=(.*)/\1/p' "${servercfgfullpath}") adminpassword=$(sed -nr 's/^ServerAdminPassword=(.*)/\1/p' "${servercfgfullpath}") + servername=$(sed -nr 's/^SessionName=(.*)/\1/p' "${servercfgfullpath}") serverpassword=$(sed -nr 's/^ServerPassword=(.*)/\1/p' "${servercfgfullpath}") # Not set - servername=${servername:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} + servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} fi # Parameters + maxplayers=${maxplayers:-"0"} port=${port:-"0"} queryport=${queryport:-"0"} - rconport=${rconport:-"0"} rawport=$((port + 1)) - maxplayers=${maxplayers:-"0"} + rconport=${rconport:-"0"} } fn_info_game_arma3() { # Config if [ ! -f "${servercfgfullpath}" ]; then - servername="${unavailable}" adminpassword="${unavailable}" - serverpassword="${unavailable}" maxplayers="${zero}" + servername="${unavailable}" + serverpassword="${unavailable}" else - servername=$(sed -nr 's/^hostname\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") adminpassword=$(sed -nr 's/^passwordAdmin\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") - serverpassword=$(sed -nr 's/^password\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") maxplayers=$(sed -nr 's/^maxPlayers\s*=\s*([0-9]+)\s*;/\1/p' "${servercfgfullpath}") + servername=$(sed -nr 's/^hostname\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") + serverpassword=$(sed -nr 's/^password\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") # Not set - servername=${servername:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} - serverpassword=${serverpassword:-"NOT SET"} maxplayers=${maxplayers:-"0"} + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} fi # Parameters + battleeyeport=$((port + 4)) port=${port:-"2302"} - voiceport=${port:-"2302"} queryport=$((port + 1)) steammasterport=$((port + 2)) + voiceport=${port:-"2302"} voiceunusedport=$((port + 3)) - battleeyeport=$((port + 4)) } fn_info_game_armar() { - if [ -f "${servercfgfullpath}" ]; then + if [ ! -f "${servercfgfullpath}" ]; then + adminpassword="${unavailable}" + maxplayers="${zero}" + port=${port:-"0"} + queryport= + servername="${unavailable}" + serverpassword="${unavailable}" + else adminpassword=$(jq -r '.adminPassword' "${servercfgfullpath}") + battleeyeport=1376 configip=$(jq -r '.gameHostBindAddress' "${servercfgfullpath}") maxplayers=$(jq -r '.game.playerCountLimit' "${servercfgfullpath}") port=$(jq -r '.gameHostBindPort' "${servercfgfullpath}") queryport=$(jq -r '.steamQueryPort' "${servercfgfullpath}") servername=$(jq -r '.game.name' "${servercfgfullpath}") serverpassword=$(jq -r '.game.password' "${servercfgfullpath}") - battleeyeport=1376 # Not set adminpassword=${adminpassword:-"NOT SET"} @@ -112,10 +119,6 @@ fn_info_game_armar() { queryport=${queryport:-"0"} servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - else - port=${port:-"0"} - servername="${unavailable}" - serverpassword="${unavailable}" fi } @@ -148,7 +151,7 @@ fn_info_game_av() { fi # Not set - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} port=${port:-"0"} @@ -233,7 +236,7 @@ fn_info_game_bo() { serverpassword=${serverpassword:-"NOT SET"} port=${port:-"0"} queryport=${queryport:-"0"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} fi } @@ -477,7 +480,7 @@ fn_info_game_dodr() { maxplayers=$(sed -nr 's/^iServerMaxPlayers=(.*)$/\1/p' "${servercfgfullpath}") # Not set - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} fi # Parameters @@ -907,7 +910,7 @@ fn_info_game_mc() { servername=${servername:-"NOT SET"} rconpassword=${rconpassword:-"NOT SET"} rconport=${rconport:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} queryport=${queryport:-"NOT SET"} queryenabled="${queryenabled:-"NOT SET"}" @@ -938,7 +941,7 @@ fn_info_game_mcb() { # Not set servername=${servername:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} portipv6=${portipv6:-"NOT SET"} queryport=${queryport:-"NOT SET"} @@ -1004,7 +1007,7 @@ fn_info_game_mom() { if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" serverpassword="${unavailable}" - maxplayer="${zero}" + maxplayers="${zero}" defaultmap="${unavailable}" else servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') @@ -1015,7 +1018,7 @@ fn_info_game_mom() { # Not set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - maxplayer=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} defaultmap=${defaultmap:-"NOT SET"} fi @@ -1079,6 +1082,26 @@ fn_info_game_mumble() { fi } +fn_info_game_nec() { + # Config + if [ ! -f "${servercfgfullpath}" ]; then + maxplayers=${maxplayers:-"0"} + port=${port:-"0"} + servername="Necesse" + serverpassword="${unavailable}" + else + maxplayers=$(grep "slots" "${servercfgfullpath}" | cut -f1 -d "/" | tr -cd '[:digit:]') + port=$(grep "port" "${servercfgfullpath}" | cut -f1 -d "/" | tr -cd '[:digit:]') + serverpassword=$(grep "password" "${servercfgfullpath}" | cut -f1 -d "/" | tr -cd '[:digit:]') + + # Not set + maxplayers=${maxplayers:-"0"} + port=${port:-"0"} + servername="Necesse Port ${port}" + serverpassword=${serverpassword:-"NOT SET"} + fi +} + fn_info_game_onset() { # Config if [ ! -f "${servercfgfullpath}" ]; then @@ -1096,7 +1119,7 @@ fn_info_game_onset() { # Not set servername=${servername:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} httpport=${httpport:-"NOT SET"} queryport=${queryport:-"NOT SET"} @@ -1123,7 +1146,7 @@ fn_info_game_pc() { # Not set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} queryport=${queryport:-"NOT SET"} steamport=${steamport:-"NOT SET"} @@ -1150,7 +1173,7 @@ fn_info_game_pc2() { # Not set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} queryport=${queryport:-"NOT SET"} steamport=${steamport:-"NOT SET"} @@ -1491,7 +1514,7 @@ fn_info_game_rw() { serverpassword=${serverpassword:-"NOT SET"} rconpassword=${rconpassword:-"NOT SET"} rconport=${rconport:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"0"} port2=${port2:-"0"} port3=${port3:-"0"} @@ -1588,18 +1611,18 @@ fn_info_game_sbots() { fn_info_game_scpsl() { # Config - if [ -f "${servercfgfullpath}" ]; then - servername=$(sed -nr 's/^server_name: (.*)$/\1/p' "${servercfgfullpath}") - maxplayers=$(sed -nr 's/^max_players: (.*)$/\1/p' "${servercfgfullpath}") - configip=$(sed -nr 's/^ipv4_bind_ip: (.*)$/\1/p' "${servercfgfullpath}") - tickrate=$(sed -nr 's/^server_tickrate: (.*)$/\1/p' "${servercfgfullpath}") - adminpassword=$(sed -nr 's/^administrator_query_password: (.*)$/\1/p' "${servercfgfullpath}") - else + if [ ! -f "${servercfgfullpath}" ]; then servername=${servername:-"NOT SET"} maxplayers=${maxplayers:-"0"} configip=${configip:-"0.0.0.0"} tickrate=${tickrate:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} + else + servername=$(sed -nr 's/^server_name: (.*)$/\1/p' "${servercfgfullpath}") + maxplayers=$(sed -nr 's/^max_players: (.*)$/\1/p' "${servercfgfullpath}") + configip=$(sed -nr 's/^ipv4_bind_ip: (.*)$/\1/p' "${servercfgfullpath}") + tickrate=$(sed -nr 's/^server_tickrate: (.*)$/\1/p' "${servercfgfullpath}") + adminpassword=$(sed -nr 's/^administrator_query_password: (.*)$/\1/p' "${servercfgfullpath}") fi # Parameters @@ -1657,7 +1680,7 @@ fn_info_game_sdtd() { telnetenabled=${telnetenabled:-"NOT SET"} telnetport=${telnetport:-"0"} telnetpass=${telnetpass:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} gamemode=${gamemode:-"NOT SET"} gameworld=${gameworld:-"NOT SET"} fi @@ -1858,7 +1881,13 @@ fn_info_game_terraria() { fn_info_game_stn() { # Config - if [ -f "${servercfgfullpath}" ]; then + if [ ! -f "${servercfgfullpath}" ]; then + servername="${unavailable}" + configip=${configip:-"0.0.0.0"} + port="${zero}" + queryport="${zero}" + serverpassword=${serverpassword:-"NOT SET"} + else servername=$(sed -nr 's/^ServerName="(.*)"/\1/p' "${servercfgfullpath}") configip=$(sed -nr 's/^ServerIP=([0-9]+)/\1/p' "${servercfgfullpath}") port=$(sed -nr 's/^ServerPort=([0-9]+)/\1/p' "${servercfgfullpath}") @@ -1867,23 +1896,25 @@ fn_info_game_stn() { # Not set serverpassword=${serverpassword:-"NOT SET"} - else - servername="${unavailable}" - configip=${configip:-"0.0.0.0"} - port="${zero}" - queryport="${zero}" + port=${port:-"0"} serverpassword=${serverpassword:-"NOT SET"} + queryport=${queryport:-"0"} fi } fn_info_game_ti() { - if [ -f "${servercfgfullpath}" ]; then - servername=$(sed -nr 's/^ServerName="(.*)"/\1/p' "${servercfgfullpath}") - maxplayers=$(sed -nr 's/^MaxPlayerCount=([0-9]+)/\1/' "${servercfgfullpath}") - else + if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" maxplayers="${zero}" + else + servername=$(sed -nr 's/^ServerName="(.*)"/\1/p' "${servercfgfullpath}") + maxplayers=$(sed -nr 's/^MaxPlayerCount=([0-9]+)/\1/' "${servercfgfullpath}") + + # Not set + servername=${servername:-"NOT SET"} + maxplayers=${maxplayers:-"0"} fi + } fn_info_game_ts3() { @@ -2145,7 +2176,7 @@ fn_info_game_ut3() { servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} webadminenabled=${webadminenabled:-"NOT SET"} webadminport=${webadminport:-"0"} webadminuser=${webadminuser:-"NOT SET"} @@ -2396,6 +2427,8 @@ elif [ "${shortname}" == "mta" ]; then fn_info_game_mta elif [ "${shortname}" == "mumble" ]; then fn_info_game_mumble +elif [ "${shortname}" == "nec" ]; then + fn_info_game_nec elif [ "${shortname}" == "onset" ]; then fn_info_game_onset elif [ "${shortname}" == "pc" ]; then diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index a216327c93..f4f67b120b 100755 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -658,7 +658,7 @@ fn_info_message_ports_edit() { startparameterslocation="${red}UNKNOWN${default}" # engines/games that require editing in the config file. - local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "cd" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "mumble" "pc" "pc2" "pz" "qw" "refractor" "renderware" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "wurm") + local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "cd" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "mumble" "nec" "pc" "pc2" "pz" "qw" "refractor" "renderware" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "wurm") for port_edit in "${ports_edit_array[@]}"; do if [ "${shortname}" == "ut3" ]; then startparameterslocation="${servercfgdir}/UTWeb.ini" @@ -687,7 +687,7 @@ fn_info_message_ports() { echo -e "ss -tuplwn | grep AvorionServer" elif [ "${shortname}" == "bf1942" ]; then echo -e "ss -tuplwn | grep bf1942_lnxded" - elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "pmc" ] || [ "${shortname}" == "rw" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then + elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "nec" ] || [ "${shortname}" == "pmc" ] || [ "${shortname}" == "rw" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then echo -e "ss -tuplwn | grep java" elif [ "${shortname}" == "terraria" ]; then echo -e "ss -tuplwn | grep Main" @@ -1171,6 +1171,13 @@ fn_info_message_mumble() { } | column -s $'\t' -t } +fn_info_message_nec() { + { + fn_port "header" + fn_port "Game" port udp + } | column -s $'\t' -t +} + fn_info_message_onset() { { fn_port "header" @@ -1727,12 +1734,14 @@ fn_info_message_select_engine() { fn_info_message_mh elif [ "${shortname}" == "mohaa" ]; then fn_info_message_mohaa + elif [ "${shortname}" == "mom" ]; then + fn_info_message_mom elif [ "${shortname}" == "mta" ]; then fn_info_message_mta elif [ "${shortname}" == "mumble" ]; then fn_info_message_mumble - elif [ "${shortname}" == "mom" ]; then - fn_info_message_mom + elif [ "${shortname}" == "nec" ]; then + fn_info_message_nec elif [ "${shortname}" == "onset" ]; then fn_info_message_onset elif [ "${shortname}" == "pc" ]; then diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 8feb8655e6..d5525c266a 100755 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -634,6 +634,14 @@ elif [ "${shortname}" == "pz" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "nec" ]; then + gamedirname="Necesse" + fn_check_cfgdir + array_configs+=(server.cfg) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "pc" ]; then gamedirname="ProjectCars" array_configs+=(server.cfg) diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index c9faf643a7..61c6b131cc 100755 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -222,7 +222,7 @@ elif [ "${shortname}" == "mcb" ]; then elif [ "${shortname}" == "pmc" ]; then install_eula.sh update_papermc.sh -elif [ "${shortname}" == "wmc" ]||[ "${shortname}" == "vpmc" ]; then +elif [ "${shortname}" == "wmc" ] || [ "${shortname}" == "vpmc" ]; then update_papermc.sh elif [ "${shortname}" == "mumble" ]; then update_mumble.sh diff --git a/linuxgsm.sh b/linuxgsm.sh index 7d9f21d0b2..3849ae68b8 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -15,7 +15,7 @@ # Debugging if [ -f ".dev-debug" ]; then - exec 5>dev-debug.log + exec 5> dev-debug.log BASH_XTRACEFD="5" set -x fi @@ -52,7 +52,7 @@ userinput2="${2}" [ -n "${LGSM_GITHUBBRANCH}" ] && githubbranch="${LGSM_GITHUBBRANCH}" || githubbranch="master" # Check that curl is installed before doing anything -if [ ! "$(command -v curl 2>/dev/null)" ]; then +if [ ! "$(command -v curl 2> /dev/null)" ]; then echo -e "[ FAIL ] Curl is not installed" exit 1 fi @@ -213,7 +213,7 @@ fn_install_menu_bash() { while read -r line || [[ -n "${line}" ]]; do var=$(echo -e "${line}" | awk -F "," '{print $2 " - " $3}') menu_options+=("${var}") - done <"${options}" + done < "${options}" menu_options+=("Cancel") select option in "${menu_options[@]}"; do if [ "${option}" ] && [ "${option}" != "Cancel" ]; then @@ -239,7 +239,7 @@ fn_install_menu_whiptail() { key=$(echo -e "${line}" | awk -F "," '{print $3}') val=$(echo -e "${line}" | awk -F "," '{print $2}') menu_options+=("${val//\"/}" "${key//\"/}") - done <"${options}" + done < "${options}" OPTION=$(${menucmd} --title "${title}" --menu "${caption}" "${height}" "${width}" "${menuheight}" "${menu_options[@]}" 3>&1 1>&2 2>&3) if [ $? == 0 ]; then eval "$resultvar=\"${OPTION}\"" @@ -263,12 +263,12 @@ fn_install_menu() { fi done case "$(basename "${menucmd}")" in - whiptail | dialog) - fn_install_menu_whiptail "${menucmd}" selection "${title}" "${caption}" "${options}" 40 80 30 - ;; - *) - fn_install_menu_bash selection "${title}" "${caption}" "${options}" - ;; + whiptail | dialog) + fn_install_menu_whiptail "${menucmd}" selection "${title}" "${caption}" "${options}" 40 80 30 + ;; + *) + fn_install_menu_bash selection "${title}" "${caption}" "${options}" + ;; esac eval "$resultvar=\"${selection}\"" } @@ -351,7 +351,7 @@ if [ "${shortname}" == "core" ]; then } | column -s $'\t' -t | more exit elif [ "${userinput}" == "install" ] || [ "${userinput}" == "i" ]; then - tail -n +1 "${serverlist}" | awk -F "," '{print $1 "," $2 "," $3}' >"${serverlistmenu}" + tail -n +1 "${serverlist}" | awk -F "," '{print $1 "," $2 "," $3}' > "${serverlistmenu}" fn_install_menu result "LinuxGSM" "Select game server to install." "${serverlistmenu}" userinput="${result}" fn_server_info