From 7cc5b6b520d527a09d1eb08359e4545dcdc0ef3c Mon Sep 17 00:00:00 2001 From: Cristopfer Luis Date: Thu, 14 Mar 2024 12:38:01 -0300 Subject: [PATCH] feat(new server): humanitz (#4518) * feat: add config for humanitz * fix: pending changes required * fix: install config * bug --------- Co-authored-by: Daniel Gibbs --- .../config-lgsm/hzserver/_default.cfg | 184 ++++++++++++++++++ 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/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 | 1 + 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/modules/info_game.sh | 19 ++ lgsm/modules/info_messages.sh | 11 ++ lgsm/modules/install_config.sh | 3 + 25 files changed, 238 insertions(+) create mode 100644 lgsm/config-default/config-lgsm/hzserver/_default.cfg diff --git a/lgsm/config-default/config-lgsm/hzserver/_default.cfg b/lgsm/config-default/config-lgsm/hzserver/_default.cfg new file mode 100644 index 0000000000..b610594e7f --- /dev/null +++ b/lgsm/config-default/config-lgsm/hzserver/_default.cfg @@ -0,0 +1,184 @@ +################################## +######## 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 #### + +## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters +ip="0.0.0.0" +port="7777" +queryport="27015" +servername="LinuxGSM" + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="-log -port=${port} -queryport=${queryport} -steamservername=${servername}" + +#### 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" + +# Alert on Start/Stop/Restart +statusalert="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" + +# 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" + +# 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="5" + +## 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="2728330" +steamcmdforcewindows="no" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="linuxbranch" +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="2" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="2" +querytype="protocol-valve" + +## Console type +consoleverbose="no" +consoleinteract="no" + +## Game Server Details +# Do not edit +gamename="HumanitZ" +engine="unreal4" +glibc="2.17" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}/TSSGame" +executabledir="${systemdir}/Binaries/Linux" +executable="./TSSGameServer-Linux-Shipping" +servercfgdir="${systemdir}/Saved/Config/LinuxServer" +servercfg="GameUserSettings.ini" +servercfgdefault="GameUserSettings.ini" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log" +gamelogdir="${systemdir}/Saved/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" + +## Log Parameters +logtimestamp="off" +logtimestampformat="%Y-%m-%d %H:%M:%S" diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index c156eb0530..e73fcfaa0d 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index faacfa9158..f5b5b5fc52 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index 84df6f5c67..a800433462 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index c156eb0530..e73fcfaa0d 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index faacfa9158..f5b5b5fc52 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index 5f7f5f2610..f5d63b0264 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -53,6 +53,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 3ecedd5380..97f5b978df 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index 0ff8b391dc..e54d9b12bf 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index cb5eea4a18..87b6dad91f 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 2b3be410de..3ecff6183b 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -55,6 +55,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index c156eb0530..e73fcfaa0d 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index faacfa9158..f5b5b5fc52 100644 --- a/lgsm/data/rhel-9.csv +++ b/lgsm/data/rhel-9.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index c156eb0530..e73fcfaa0d 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index faacfa9158..f5b5b5fc52 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,zlib-devel +hz ins inss ios diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 841dcbf429..ae270f9650 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -53,6 +53,7 @@ hl2dm,hl2dmserver,Half-Life 2: Deathmatch,ubuntu-22.04 hldm,hldmserver,Half-Life: Deathmatch,ubuntu-22.04 hldms,hldmsserver,Half-Life Deathmatch: Source,ubuntu-22.04 hw,hwserver,Hurtworld,ubuntu-22.04 +hz,hzserver,Humanitz,ubuntu-22.04 ins,insserver,Insurgency,ubuntu-22.04 inss,inssserver,Insurgency: Sandstorm,ubuntu-22.04 ios,iosserver,IOSoccer,ubuntu-22.04 diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 9d88fde5c4..41dbd0bc5c 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -55,6 +55,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index a0b809b055..469c667050 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -55,6 +55,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 092792fa38..4a41435c29 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index 21bab16cb5..323b82a088 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index a29f403d73..e249a2968c 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/lgsm/data/ubuntu-23.04.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv index a29f403d73..e249a2968c 100644 --- a/lgsm/data/ubuntu-23.10.csv +++ b/lgsm/data/ubuntu-23.10.csv @@ -54,6 +54,7 @@ hl2dm hldm hldms hw,lib32z1 +hz ins inss ios diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh index 97f8da87ea..0725845a0e 100644 --- a/lgsm/modules/info_game.sh +++ b/lgsm/modules/info_game.sh @@ -1328,6 +1328,23 @@ fn_info_game_hw() { creativemode="${creativemode:-"NOT SET"}" } +# Config Type: ini +# Parameters: true +# Comment: ; or # +# Example: ServerName=SERVERNAME +# Filetype: ini +fn_info_game_hz() { + if [ -f "${servercfgfullpath}" ]; then + fn_info_game_ini "adminpassword" "AdminPassword" + fn_info_game_ini "servername" "ServerName" + fi + adminpass="${adminpassword:-"NOT SET"}" + port="${port:-"0"}" + queryport="${queryport:-"0"}" + rconport="$((port + 2))" + servername="${servername:-"NOT SET"}" +} + # Config Type: parameters # Parameters: true # Comment: @@ -2335,6 +2352,8 @@ elif [ "${shortname}" == "fctr" ]; then fn_info_game_fctr elif [ "${shortname}" == "hw" ]; then fn_info_game_hw +elif [ "${shortname}" == "hz" ]; then + fn_info_game_hz elif [ "${shortname}" == "inss" ]; then fn_info_game_inss elif [ "${shortname}" == "jc2" ]; then diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh index c5d03919cc..a1e8f52acf 100644 --- a/lgsm/modules/info_messages.sh +++ b/lgsm/modules/info_messages.sh @@ -1064,6 +1064,15 @@ fn_info_messages_hw() { } | column -s $'\t' -t } +fn_info_messages_hz() { + { + fn_port "header" + fn_port "Game" port udp + fn_port "Query" queryport udp + fn_port "RCON" rconport tcp + } | column -s $'\t' -t +} + fn_info_messages_ins() { { fn_port "header" @@ -1771,6 +1780,8 @@ fn_info_messages_select_engine() { fn_info_messages_hcu elif [ "${shortname}" == "hw" ]; then fn_info_messages_hw + elif [ "${shortname}" == "hz" ]; then + fn_info_messages_hz elif [ "${shortname}" == "ins" ]; then fn_info_messages_ins elif [ "${shortname}" == "inss" ]; then diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index a5a049913a..9b31467703 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -495,6 +495,9 @@ elif [ "${shortname}" == "hl2dm" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "hz" ]; then + # Config is generated on first run + : elif [ "${shortname}" == "ins" ]; then array_configs+=(server.cfg) fn_fetch_default_config