From f492f81bfc20084010eeba12f58755d91fd279a5 Mon Sep 17 00:00:00 2001 From: H3o66 Date: Sun, 9 Jan 2022 20:23:55 +0100 Subject: [PATCH 1/7] feat(newserver): Craftopia --- .../config-lgsm/ctserver/_default.cfg | 182 ++++++++++++++++++ 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-9.csv | 1 + lgsm/data/rhel-7.csv | 1 + lgsm/data/rhel-8.csv | 1 + lgsm/data/rhel-9.csv | 1 + lgsm/data/rocky-8.csv | 1 + lgsm/data/rocky-9.csv | 1 + lgsm/data/serverlist.csv | 2 +- lgsm/data/ubuntu-20.04.csv | 1 + lgsm/data/ubuntu-21.04.csv | 1 + lgsm/data/ubuntu-21.10.csv | 1 + lgsm/data/ubuntu-22.04.csv | 1 + lgsm/modules/info_game.sh | 24 ++- lgsm/modules/info_messages.sh | 19 +- lgsm/modules/install_config.sh | 7 + 22 files changed, 247 insertions(+), 4 deletions(-) create mode 100644 lgsm/config-default/config-lgsm/ctserver/_default.cfg diff --git a/lgsm/config-default/config-lgsm/ctserver/_default.cfg b/lgsm/config-default/config-lgsm/ctserver/_default.cfg new file mode 100644 index 0000000000..9bef1f2ecc --- /dev/null +++ b/lgsm/config-default/config-lgsm/ctserver/_default.cfg @@ -0,0 +1,182 @@ +################################## +######## 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 #### + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="-batchmode -showlogs" + +#### 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="1670340" +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="5" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="1" +querytype="" + +## Console type +consoleverbose="no" +consoleinteract="yes" + +## Game Server Details +# Do not edit +gamename="Craftopia" +engine="unity3d" +glibc="2.17" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}" +executabledir="${serverfiles}" +executable="./Craftopia.x86_64" +servercfgdir="${systemdir}" +servercfg="ServerSetting.ini" +servercfgdefault="ServerSetting.ini" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +logdir="${rootdir}/log" +#gamelogdir="${serverfiles}" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +gamelog="${gamelogdir}/${selfname}-game.log" +lgsmlog="${lgsmlogdir}/${selfname}-script.log" +consolelog="${consolelogdir}/${selfname}-console.log" +alertlog="${lgsmlogdir}/${selfname}-alert.log" +postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log" + +## Logs Naming +gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" +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 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index c1d2b97b8d..ca615df6ae 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index 768be603f0..1b2677ca3b 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 021e66e203..82ed2d7bf3 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index fa0d6a881b..323dcda982 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 4cfe968482..aa979827b6 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/rhel-9.csv +++ b/lgsm/data/rhel-9.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index 86ff4dc14b..3f7d5a71a4 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -32,6 +32,7 @@ cs cscz csgo css,ncurses-libs.i686 +ct dab dayz dmc diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index ae9ae564c8..431f926266 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -30,6 +30,7 @@ cs,csserver,Counter-Strike 1.6,ubuntu-22.04 cscz,csczserver,Counter-Strike: Condition Zero,ubuntu-22.04 csgo,csgoserver,Counter-Strike: Global Offensive,ubuntu-22.04 css,cssserver,Counter-Strike: Source,ubuntu-22.04 +ct,ctserver,Craftopia,ubuntu-22.04 dab,dabserver,Double Action: Boogaloo,ubuntu-22.04 dayz,dayzserver,DayZ,ubuntu-22.04 dmc,dmcserver,Deathmatch Classic,ubuntu-22.04 @@ -128,4 +129,3 @@ wmc,wmcserver,WaterfallMC,ubuntu-22.04 wurm,wurmserver,Wurm Unlimited,ubuntu-22.04 zmr,zmrserver,Zombie Master: Reborn,ubuntu-22.04 zps,zpsserver,Zombie Panic! Source,ubuntu-22.04 - diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index d4e8d65337..037a933f25 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/ubuntu-21.04.csv b/lgsm/data/ubuntu-21.04.csv index 021e66e203..82ed2d7bf3 100644 --- a/lgsm/data/ubuntu-21.04.csv +++ b/lgsm/data/ubuntu-21.04.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/ubuntu-21.10.csv b/lgsm/data/ubuntu-21.10.csv index 4284cdd9cc..189ac94bb7 100644 --- a/lgsm/data/ubuntu-21.10.csv +++ b/lgsm/data/ubuntu-21.10.csv @@ -31,6 +31,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dmc dod diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index 5aaacff813..c7ae2c98ce 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 59e8d37fae..d1f039dbab 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -483,7 +483,27 @@ fn_info_game_col() { fi } -fn_info_game_dodr() { +fn_info_game_ct(){ + if [ ! -f "${servercfgfullpath}" ]; then + servername="${unavailable}" + gamemode="${unavailable}" + maxplayers="${zero}" + port="${zero}" + serverpasswordenabled="${unavailable}" + serverpassword="${unavailable}" + saveinterval="${zero}" + else + servername=$(sed -nr 's/^name=(.*)$/\1/p' "${servercfgfullpath}") + gamemode=$(sed -nr 's/^gameMode=([0-9]+)/\1/p' "${servercfgfullpath}") + port=$(sed -nr 's/^port=([0-9]+)/\1/p' "${servercfgfullpath}") + maxplayers=$(sed -nr 's/^maxPlayerNumber=([0-9]+)/\1/p' "${servercfgfullpath}") + serverpasswordenabled=$(sed -nr 's/^usePassword=([0-9]+)/\1/p' "${servercfgfullpath}") + serverpassword=$(sed -nr 's/^serverPassword=(.*)$/\1/p' "${servercfgfullpath}") + saveinterval=$(sed -nr 's/^autoSaveSec=([0-9]+)/\1/p' "${servercfgfullpath}") + fi +} + +fn_info_game_dodr(){ # Config if [ ! -f "${servercfgfullpath}" ]; then maxplayers="${zero}" @@ -2409,6 +2429,8 @@ elif [ "${shortname}" == "codwaw" ]; then fn_info_game_codwaw elif [ "${shortname}" == "col" ]; then fn_info_game_col +elif [ "${shortname}" == "ct" ]; then + fn_info_game_ct elif [ "${shortname}" == "dayz" ]; then fn_info_game_dayz elif [ "${shortname}" == "dodr" ]; then diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index 4dbbdcd96e..049cf6dffa 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -285,6 +285,11 @@ fn_info_message_gameserver() { echo -e "${lightblue}Display IP:\t${default}${displayip}:${port}" fi + # Server password enabled (Craftopia) + if [ -n "${serverpasswordenabled}" ]; then + echo -e "${lightblue}Server password enabled:\t${default}${serverpasswordenabled}" + fi + # Server password if [ -n "${serverpassword}" ]; then echo -e "${lightblue}Server password:\t${default}${serverpassword}" @@ -658,7 +663,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" "nec" "pc" "pc2" "prism3d" "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" "ct" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "nec" "pc" "pc2" "prism3d" "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" @@ -957,7 +962,15 @@ fn_info_message_csgo() { } | column -s $'\t' -t } -fn_info_message_dayz() { +fn_info_message_ct(){ + fn_info_message_password_strip + { + fn_port "header" + fn_port "Game" port udp + } | column -s $'\t' -t +} + +fn_info_message_dayz(){ { fn_port "header" fn_port "Game" port udp @@ -1707,6 +1720,8 @@ fn_info_message_select_engine() { fn_info_message_codwaw elif [ "${shortname}" == "col" ]; then fn_info_message_col + elif [ "${shortname}" == "ct" ]; then + fn_info_message_ct elif [ "${shortname}" == "dayz" ]; then fn_info_message_dayz elif [ "${shortname}" == "dodr" ]; then diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 699a919c3a..a207c6338e 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -381,6 +381,13 @@ elif [ "${shortname}" == "css" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "ct" ]; then + gamedirname="Craftopia" + array_configs+=( ServerSetting.ini ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "dayz" ]; then gamedirname="DayZ" fn_check_cfgdir From 818f3a32d64e01e714440fa91d327964fcf399d3 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 19 May 2023 10:25:24 +0100 Subject: [PATCH 2/7] update details --- lgsm/modules/info_game.sh | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index f4f1ad7ff6..88521d8b38 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -893,22 +893,15 @@ fn_info_game_bf1942() { serverpassword="${serverpassword:-"NOT SET"}" } fn_info_game_ct(){ - if [ ! -f "${servercfgfullpath}" ]; then - servername="${unavailable}" - gamemode="${unavailable}" - maxplayers="${zero}" - port="${zero}" - serverpasswordenabled="${unavailable}" - serverpassword="${unavailable}" - saveinterval="${zero}" - else - servername=$(sed -nr 's/^name=(.*)$/\1/p' "${servercfgfullpath}") - gamemode=$(sed -nr 's/^gameMode=([0-9]+)/\1/p' "${servercfgfullpath}") - port=$(sed -nr 's/^port=([0-9]+)/\1/p' "${servercfgfullpath}") - maxplayers=$(sed -nr 's/^maxPlayerNumber=([0-9]+)/\1/p' "${servercfgfullpath}") - serverpasswordenabled=$(sed -nr 's/^usePassword=([0-9]+)/\1/p' "${servercfgfullpath}") - serverpassword=$(sed -nr 's/^serverPassword=(.*)$/\1/p' "${servercfgfullpath}") - saveinterval=$(sed -nr 's/^autoSaveSec=([0-9]+)/\1/p' "${servercfgfullpath}") + if [ -f "${servercfgfullpath}" ]; then + fn_info_game_ini "configip" "bindAddress" + fn_info_game_ini "gamemode" "gameMode" + fn_info_game_ini "maxplayers" "maxPlayerNumber" + fn_info_game_ini "port" "port" + fn_info_game_ini "saveinterval" "autoSaveSec" + fn_info_game_ini "servername" "name" + fn_info_game_ini "serverpassword" "serverPassword" + fn_info_game_ini "serverpasswordenabled" "usePassword" fi } From c37de823e3fe7a731039f4bfe5cdb3bf47c4d85b Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 19 May 2023 12:50:53 +0100 Subject: [PATCH 3/7] update lists --- lgsm/data/debian-12.csv | 1 + lgsm/data/ubuntu-16.04.csv | 1 + lgsm/data/ubuntu-18.04.csv | 1 + lgsm/data/ubuntu-21.10.csv | 1 + lgsm/data/ubuntu-22.04.csv | 2 +- 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index 3f3e0aed1e..7284490867 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 2b152ffef6..0e32e49b81 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index 7058cc97ee..a544d3ef3c 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -32,6 +32,7 @@ cs cscz csgo css,libtinfo5:i386 +ct dab dayz dmc diff --git a/lgsm/data/ubuntu-21.10.csv b/lgsm/data/ubuntu-21.10.csv index de6276ecee..74e31fa4a7 100644 --- a/lgsm/data/ubuntu-21.10.csv +++ b/lgsm/data/ubuntu-21.10.csv @@ -19,6 +19,7 @@ bs bt,libicu-dev btl cc +cd ck,xvfb cmw cod,libstdc++5:i386 diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index e16169f343..d0cf93d5be 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -19,8 +19,8 @@ bs bt,libicu-dev,dos2unix btl cc -ck,xvfb cd +ck,xvfb cmw cod,libstdc++5:i386 cod2,libstdc++5:i386 From 5e9263f23569226112c7b60ef758cd272ea98ab8 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 19 May 2023 22:45:11 +0100 Subject: [PATCH 4/7] bug --- lgsm/modules/info_game.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 88521d8b38..6e2adbd2c6 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -905,13 +905,6 @@ fn_info_game_ct(){ fi } -fn_info_game_dodr(){ - # Config - if [ ! -f "${servercfgfullpath}" ]; then - maxplayers="${zero}" - else - maxplayers=$(sed -nr 's/^iServerMaxPlayers=(.*)$/\1/p' "${servercfgfullpath}") - # Config Type: con # Parameters: true # Comment: # or // From 6c394cff4a6e5dab5f34027d649609da3b445e10 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 19 May 2023 22:57:49 +0100 Subject: [PATCH 5/7] exitcode 0 --- lgsm/modules/command_details.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/lgsm/modules/command_details.sh b/lgsm/modules/command_details.sh index 2c8e3a6585..d180b3b183 100644 --- a/lgsm/modules/command_details.sh +++ b/lgsm/modules/command_details.sh @@ -38,4 +38,5 @@ fn_info_message_ports fn_info_message_select_engine fn_info_message_statusbottom +exitcode=0 core_exit.sh From 947783130e445bde5bf4d4113242fc98c3922691 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 26 May 2023 22:37:44 +0100 Subject: [PATCH 6/7] feat: Add fn_info_game_ct() function to retrieve config file parameters This commit adds a new function, fn_info_game_ct(), that retrieves configuration file parameters for the game server. The function supports ini files and extracts values for configip, gamemode, maxplayers, port, saveinterval, servername, serverpassword and serverpasswordenabled. --- lgsm/modules/info_game.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 6e2adbd2c6..e6ce042221 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -892,6 +892,12 @@ fn_info_game_bf1942() { servername="${servername:-"NOT SET"}" serverpassword="${serverpassword:-"NOT SET"}" } + +# Config Type: ini +# Parameters: true +# Comment: ; or # +# Example: ServerName=SERVERNAME +# Filetype: ini fn_info_game_ct(){ if [ -f "${servercfgfullpath}" ]; then fn_info_game_ini "configip" "bindAddress" @@ -903,6 +909,14 @@ fn_info_game_ct(){ fn_info_game_ini "serverpassword" "serverPassword" fn_info_game_ini "serverpasswordenabled" "usePassword" fi + configip="${configip:-"0.0.0.0"}" + gamemode="${gamemode:-"NOT SET"}" + maxplayers="${maxplayers:-"0"}" + port="${port:-"0"}" + saveinterval="${saveinterval:-"0"}" + servername="${servername:-"NOT SET"}" + serverpassword="${serverpassword:-"NOT SET"}" + serverpasswordenabled="${serverpasswordenabled:-"NOT SET"}" } # Config Type: con From 296dbca44470c7269f985ddfd7890ea4e15282e8 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 26 May 2023 22:51:21 +0100 Subject: [PATCH 7/7] update --- lgsm/modules/info_game.sh | 86 +++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 4ea84fd4d7..c7a233c03a 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -1580,11 +1580,11 @@ fn_info_game_prism3d() { serverpassword=$(sed -nr 's/^\s*password\s*:\s*"(.*)"/\1/p' "${servercfgfullpath}") # Not set - maxplayers=${maxplayers:-"0"} - port=${port:-"27015"} - queryport=${queryport:-"27016"} - servername=${servername:-"NOT SET"} - serverpassword=${serverpassword:-"NOT SET"} + maxplayers="${maxplayers:-"0"}" + port="${port:-"27015"}" + queryport="${queryport:-"27016"}" + servername="${servername:-"NOT SET"}" + serverpassword="${serverpassword:-"NOT SET"}" fi } @@ -1709,38 +1709,38 @@ fn_info_game_rtcw() { fn_info_game_quakec "serverpassword" "g_password" fn_info_game_quakec "maxplayers" "sv_maxclients" fi - rconpassword=${rconpassword:-"NOT SET"} - servername=${servername:-"NOT SET"} - serverpassword=${serverpassword:-"NOT SET"} - maxplayers=${maxplayers:-"0"} - port=${port:-"0"} - queryport=${port:-"0"} - defaultmap=${defaultmap:-"NOT SET"} + rconpassword="${rconpassword:-"NOT SET"}" + servername="${servername:-"NOT SET"}" + serverpassword="${serverpassword:-"NOT SET"}" + maxplayers="${maxplayers:-"0"}" + port="${port:-"0"}" + queryport="${port:-"0"}" + defaultmap="${defaultmap:-"NOT SET"}" } # Config Type: Parameters (mostly) fn_info_game_rust() { # Parameters - servername=${servername:-"NOT SET"} - port=${port:-"0"} - queryport=${queryport:-"0"} - appport=${appport:-"0"} - rconport=${rconport:-"0"} - gamemode=${gamemode:-"NOT SET"} - maxplayers=${maxplayers:-"0"} - rconpassword=${rconpassword:-"NOT SET"} - rconweb=${rconweb:-"NOT SET"} - tickrate=${tickrate:-"0"} - saveinterval=${saveinterval:-"0"} - serverlevel=${serverlevel:-"NOT SET"} - customlevelurl=${customlevelurl:-"NOT SET"} - worldsize=${worldsize:-"0"} + servername="${servername:-"NOT SET"}" + port="${port:-"0"}" + queryport="${queryport:-"0"}" + appport="${appport:-"0"}" + rconport="${rconport:-"0"}" + gamemode="${gamemode:-"NOT SET"}" + maxplayers="${maxplayers:-"0"}" + rconpassword="${rconpassword:-"NOT SET"}" + rconweb="${rconweb:-"NOT SET"}" + tickrate="${tickrate:-"0"}" + saveinterval="${saveinterval:-"0"}" + serverlevel="${serverlevel:-"NOT SET"}" + customlevelurl="${customlevelurl:-"NOT SET"}" + worldsize="${worldsize:-"0"}" if [ -n "${seed}" ]; then - seed=${seed:-"0"} + seed="${seed:-"0"}" elif [ -f "${datadir}/${selfname}-seed.txt" ]; then seed=$(cat "${datadir}/${selfname}-seed.txt") fi - salt=${salt:-"0"} + salt="${salt:-"0"}" } fn_info_game_rw() { @@ -2063,11 +2063,11 @@ fn_info_game_tw() { fn_info_game_quakec "maxplayers" "sv_max_clients" fi queryport="${port}" - servername=${servername:-"NOT SET"} - serverpassword=${serverpassword:-"NOT SET"} - rconpassword=${rconpassword:-"NOT SET"} - port=${port:-"0"} - maxplayers=${maxplayers:-"0"} + servername="${servername:-"NOT SET"}" + serverpassword="${serverpassword:-"NOT SET"}" + rconpassword="${rconpassword:-"NOT SET"}" + port="${port:-"0"}" + maxplayers="${maxplayers:-"0"}" } # Config Type: Parameters @@ -2187,10 +2187,10 @@ fn_info_game_wmc() { fi # Not set - servername=${servername:-"NOT SET"} - queryport=${queryport:-"25577"} - maxplayers=${maxplayers:-"0"} - configip=${configip:-"0.0.0.0"} + servername="${servername:-"NOT SET"}" + queryport="${queryport:-"25577"}" + maxplayers="${maxplayers:-"0"}" + configip="${configip:-"0.0.0.0"}" fi } @@ -2217,12 +2217,12 @@ fn_info_game_wurm() { configip=$(grep "IP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/IP//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') # Not set - port=${port:-"3724"} - queryport=${queryport:-"27017"} - servername=${servername:-"NOT SET"} - serverpassword=${serverpassword:-"NOT SET"} - adminpassword=${adminpassword:-"NOT SET"} - maxplayers=${maxplayers:-"0"} + port="${port:-"3724"}" + queryport="${queryport:-"27017"}" + servername="${servername:-"NOT SET"}" + serverpassword="${serverpassword:-"NOT SET"}" + adminpassword="${adminpassword:-"NOT SET"}" + maxplayers="${maxplayers:-"0"}" fi }