diff --git a/.github/labeler.yml b/.github/labeler.yml index 1ec662f2b0..3da0d47ee0 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -68,8 +68,8 @@ - "/(Avorion)/i" "game: Ballistic Overkill": - "/(Ballistic Overkill)/i" -"game: Battalion 1944": - - "/(Battalion 1944)/i" +"game: BATTALION: Legacy": + - "/(BATTALION: Legacy)/i" "game: Barotrauma": - "/(Barotrauma)/i" "game: Counter-Strike: Global Offensive": diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml index 56a42c7290..8e71d1cb59 100644 --- a/.github/workflows/add-to-project.yml +++ b/.github/workflows/add-to-project.yml @@ -10,7 +10,7 @@ jobs: name: Add game server requests to project runs-on: ubuntu-latest steps: - - uses: actions/add-to-project@v0.4.0 + - uses: actions/add-to-project@v0.4.1 with: project-url: https://github.com/orgs/GameServerManagers/projects/11 github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} diff --git a/.github/workflows/git-sync.yml b/.github/workflows/git-sync.yml index f07d1f3b48..e013ae32dd 100644 --- a/.github/workflows/git-sync.yml +++ b/.github/workflows/git-sync.yml @@ -10,8 +10,8 @@ jobs: GitHub-to-Bitbucket: runs-on: ubuntu-latest steps: - - name: webfactory/ssh-agent@v0.7.0 - uses: webfactory/ssh-agent@v0.7.0 + - name: webfactory/ssh-agent@v0.8.0 + uses: webfactory/ssh-agent@v0.8.0 with: ssh-private-key: ${{ secrets.BITBUCKET_SECRET }} diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index b5bb384989..ebf260f6f9 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -15,7 +15,7 @@ jobs: issues: write # for github/issue-labeler to create or remove labels runs-on: ubuntu-latest steps: - - uses: github/issue-labeler@v2.5 + - uses: github/issue-labeler@v3.1 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" configuration-path: .github/labeler.yml diff --git a/.github/workflows/trigger-docker-build.yml b/.github/workflows/trigger-docker-build.yml index adb43343f0..dec3dd462b 100644 --- a/.github/workflows/trigger-docker-build.yml +++ b/.github/workflows/trigger-docker-build.yml @@ -8,7 +8,7 @@ jobs: name: Trigger Build docker-linuxgsm runs-on: ubuntu-latest steps: - - uses: convictional/trigger-workflow-and-wait@v1.3.0 + - uses: convictional/trigger-workflow-and-wait@v1.6.5 with: owner: GameServerManagers repo: docker-linuxgsm @@ -19,7 +19,7 @@ jobs: name: Trigger Build docker-linuxgsm runs-on: ubuntu-latest steps: - - uses: convictional/trigger-workflow-and-wait@v1.3.0 + - uses: convictional/trigger-workflow-and-wait@v1.6.5 with: owner: GameServerManagers repo: docker-gameserver diff --git a/.github/workflows/update-copyright-years-in-license-file.yml b/.github/workflows/update-copyright-years-in-license-file.yml index 347446d75c..162a279442 100644 --- a/.github/workflows/update-copyright-years-in-license-file.yml +++ b/.github/workflows/update-copyright-years-in-license-file.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 - - uses: FantasticFiasco/action-update-license-year@v2 + - uses: FantasticFiasco/action-update-license-year@v3 with: token: ${{ secrets.GITHUB_TOKEN }} path: LICENSE.md diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 0ceb990881..0c9982e654 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,11 +1,11 @@ { - "recommendations": [ - "ms-python.python", - "editorconfig.editorconfig", - "yzhang.markdown-all-in-one", - "esbenp.prettier-vscode", - "timonwong.shellcheck", - "foxundermoon.shell-format", - "redhat.vscode-yaml" - ] + "recommendations": [ + "ms-python.python", + "editorconfig.editorconfig", + "yzhang.markdown-all-in-one", + "esbenp.prettier-vscode", + "timonwong.shellcheck", + "foxundermoon.shell-format", + "redhat.vscode-yaml" + ] } diff --git a/README.md b/README.md index f0a9713cf8..f710ff66db 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
-
+
diff --git a/lgsm/config-default/config-lgsm/acserver/_default.cfg b/lgsm/config-default/config-lgsm/acserver/_default.cfg
index 3b6776ef7f..8d572b695d 100644
--- a/lgsm/config-default/config-lgsm/acserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/acserver/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
index a2552a95d8..3283f54e8a 100644
--- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
@@ -152,7 +152,6 @@ stopmode="3"
querymode="2"
querytype="protocol-valve"
-
## Console type
consoleverbose="yes"
consoleinteract="yes"
@@ -191,3 +190,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"
diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
index 046aa0c11e..9d4c0ed4b4 100644
--- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
index 8e24debfc6..cc3de9082b 100644
--- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
@@ -188,3 +188,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"
diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
index 7c4619c17f..c92e843fd7 100644
--- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
@@ -204,3 +204,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"
diff --git a/lgsm/config-default/config-lgsm/armarserver/_default.cfg b/lgsm/config-default/config-lgsm/armarserver/_default.cfg
index 9e2f88d7c4..3cee2f43f6 100644
--- a/lgsm/config-default/config-lgsm/armarserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/armarserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/atsserver/_default.cfg b/lgsm/config-default/config-lgsm/atsserver/_default.cfg
new file mode 100644
index 0000000000..a77e230ce3
--- /dev/null
+++ b/lgsm/config-default/config-lgsm/atsserver/_default.cfg
@@ -0,0 +1,183 @@
+##################################
+######## 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="-nosingle"
+
+#### 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="2239530"
+steamcmdforcewindows="no"
+# 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="2"
+
+## Query mode
+# 1: session only
+# 2: gamedig (gsquery fallback)
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="4"
+querytype="protocol-valve"
+
+## Console type
+consoleverbose="yes"
+consoleinteract="no"
+
+## Game Server Details
+# Do not edit
+gamename="American Truck Simulator"
+engine="prism3d"
+glibc="2.15"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}"
+executabledir="${systemdir}/bin/linux_x64"
+executable="./amtrucks_server"
+servercfgdir="${HOME}/.local/share/American Truck Simulator"
+servercfg="server_config.sii"
+servercfgdefault="server_config.sii"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+logdir="${rootdir}/log"
+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/config-default/config-lgsm/avserver/_default.cfg b/lgsm/config-default/config-lgsm/avserver/_default.cfg
index bbaf07daa5..a77e347a87 100644
--- a/lgsm/config-default/config-lgsm/avserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/avserver/_default.cfg
@@ -182,3 +182,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"
diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
index 1e566b88b3..6557890a1e 100644
--- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
index 118f655478..ad283e5aa4 100644
--- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
index eef61562cb..07d5465d02 100644
--- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
index c6da048f93..4d2651a9ac 100644
--- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
@@ -168,3 +168,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"
diff --git a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
index 9acc98e5b8..27d7cd504d 100644
--- a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
@@ -168,3 +168,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"
diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
index bd8145df31..5d13c758c7 100644
--- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg
index f2c2a3b030..4f44086c2c 100644
--- a/lgsm/config-default/config-lgsm/boserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
index 41ab3fba73..45f931aa40 100644
--- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
@@ -195,3 +195,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"
diff --git a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg b/lgsm/config-default/config-lgsm/btlserver/_default.cfg
similarity index 96%
rename from lgsm/config-default/config-lgsm/bt1944server/_default.cfg
rename to lgsm/config-default/config-lgsm/btlserver/_default.cfg
index 78032cfe04..b1b738fe25 100644
--- a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btlserver/_default.cfg
@@ -151,7 +151,7 @@ consoleinteract="no"
## Game Server Details
# Do not edit
-gamename="Battalion 1944"
+gamename="BATTALION: Legacy"
engine="unreal4"
glibc="2.17"
@@ -159,9 +159,9 @@ glibc="2.17"
# Edit with care
## Game Server Directories
-systemdir="${serverfiles}/Linux/Battalion"
+systemdir="${serverfiles}/Battalion"
executabledir="${systemdir}/Binaries/Linux"
-executable="./BattalionServer"
+executable="./BattalionServer-Linux-Shipping"
servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfg="${selfname}.ini"
servercfgdefault="DefaultGame.ini"
@@ -183,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"
diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg
index 11e175c18e..1fda28f37a 100644
--- a/lgsm/config-default/config-lgsm/btserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg
@@ -178,3 +178,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"
diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
index 10ba0f8af8..5a80c2ca52 100644
--- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/cdserver/_default.cfg b/lgsm/config-default/config-lgsm/cdserver/_default.cfg
index 50eb14bf13..bf490c78a8 100644
--- a/lgsm/config-default/config-lgsm/cdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cdserver/_default.cfg
@@ -178,3 +178,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"
diff --git a/lgsm/config-default/config-lgsm/ckserver/_default.cfg b/lgsm/config-default/config-lgsm/ckserver/_default.cfg
new file mode 100644
index 0000000000..3659bae6c1
--- /dev/null
+++ b/lgsm/config-default/config-lgsm/ckserver/_default.cfg
@@ -0,0 +1,190 @@
+##################################
+######## 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 ####
+
+ip="0.0.0.0"
+port="1234"
+
+## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+startparameters="-batchmode -ip ${ip} -port ${port} -datapath ${servercfgdir} -logfile ${gamelog}"
+
+#### 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="1963720"
+steamcmdforcewindows="no"
+# 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="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="Core Keeper"
+engine="unity3d"
+glibc="2.15"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
+preexecutable="xvfb-run"
+executable="./CoreKeeperServer"
+servercfgdir="${systemdir}/gamedata/${selfname}"
+servercfg="ServerConfig.json"
+servercfgdefault="ServerConfig.json"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+logdir="${rootdir}/log"
+gamelogdir="${serverfiles}/logs"
+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"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
index 435bde1ea8..964185444b 100644
--- a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
@@ -15,7 +15,7 @@ queryport="7779"
defaultmap="AOCTD-Frigid_p"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-startparameters="${defaultmap}?steamsockets -multihome=${ip} -Port=${port} -QueryPort=${queryport} -seekfreeloadingserver -configsubdir=${gamelogdir} -log=${gamelog}"
+startparameters="${defaultmap}?steamsockets -multihome=${ip} -Port=${port} -QueryPort=${queryport} -seekfreeloadingserver -configsubdir=${selfname} -log=${gamelog}"
#### LinuxGSM Settings ####
@@ -186,3 +186,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
index fca571d93c..64990c12e6 100644
--- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
@@ -171,3 +171,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"
diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
index 8389feb3c2..f73a2a1e3d 100644
--- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
@@ -171,3 +171,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"
diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg
index 34883c0a1a..4650e35adb 100644
--- a/lgsm/config-default/config-lgsm/codserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg
@@ -171,3 +171,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"
diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
index 3b922967df..47304668f9 100644
--- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
@@ -171,3 +171,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"
diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
index 58dec3f7ac..bd0ed995a6 100644
--- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
@@ -171,3 +171,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"
diff --git a/lgsm/config-default/config-lgsm/colserver/_default.cfg b/lgsm/config-default/config-lgsm/colserver/_default.cfg
index 450b767653..a1cffc5c98 100644
--- a/lgsm/config-default/config-lgsm/colserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/colserver/_default.cfg
@@ -181,3 +181,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
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"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
index 61767765ba..7104cf096d 100644
--- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
index 30ba7b8c59..dd83b4996d 100644
--- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
@@ -222,3 +222,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"
diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg
index 83a6101dac..a1f47e9740 100644
--- a/lgsm/config-default/config-lgsm/csserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
index e06da982cf..b84ed1d3c2 100644
--- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
index 377ab85fff..450c2e7e0c 100644
--- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/dayzserver/_default.cfg b/lgsm/config-default/config-lgsm/dayzserver/_default.cfg
index 45042cf07d..d6d63d2b16 100644
--- a/lgsm/config-default/config-lgsm/dayzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dayzserver/_default.cfg
@@ -200,3 +200,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"
diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
index b8d7d382c4..8e734fe963 100644
--- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/dodrserver/_default.cfg b/lgsm/config-default/config-lgsm/dodrserver/_default.cfg
index 41d55374bb..b176fc6373 100644
--- a/lgsm/config-default/config-lgsm/dodrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodrserver/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
index 12076ed80e..45e6b84499 100644
--- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
index b938891dba..83be0acb89 100644
--- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index f1eac49685..2a1ce62bc9 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -187,3 +187,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"
diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index fa6c79315c..b5b2f50c9f 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -193,3 +193,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"
diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
index 8ac508ca9c..f567dab6e5 100644
--- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
index db46691327..174ef357c2 100644
--- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
@@ -179,3 +179,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg
index 16db942a4e..8181f7f1ed 100644
--- a/lgsm/config-default/config-lgsm/emserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
index 488fe649a0..e36ab3581a 100644
--- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
@@ -165,3 +165,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"
diff --git a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg b/lgsm/config-default/config-lgsm/ets2server/_default.cfg
similarity index 85%
rename from lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
rename to lgsm/config-default/config-lgsm/ets2server/_default.cfg
index fdb06bfe8a..4edca5194a 100644
--- a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ets2server/_default.cfg
@@ -9,7 +9,7 @@
#### Game Server Settings ####
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-startparameters="-fg -ini ${servercfgfullpath}"
+startparameters="-nosingle"
#### LinuxGSM Settings ####
@@ -107,6 +107,16 @@ ansi="on"
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
+# Server appid
+appid="1948160"
+steamcmdforcewindows="no"
+# 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
@@ -127,8 +137,8 @@ stopmode="2"
# 3: gamedig
# 4: gsquery
# 5: tcp
-querymode="2"
-querytype="mumbleping"
+querymode="4"
+querytype="protocol-valve"
## Console type
consoleverbose="yes"
@@ -136,20 +146,20 @@ consoleinteract="no"
## Game Server Details
# Do not edit
-gamename="Mumble"
-engine="null"
-glibc="null"
+gamename="Euro Truck Simulator 2"
+engine="prism3d"
+glibc="2.15"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}"
-executabledir="${serverfiles}"
-executable="./murmur.x86"
-servercfgdir="${systemdir}"
-servercfg="${selfname}.ini"
-servercfgdefault="murmur.ini"
+executabledir="${systemdir}/bin/linux_x64"
+executable="./eurotrucks2_server"
+servercfgdir="${HOME}/.local/share/Euro Truck Simulator 2"
+servercfg="server_config.sii"
+servercfgdefault="server_config.sii"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
@@ -167,3 +177,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"
diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
index 9f010510e0..c58ee27893 100644
--- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
@@ -176,3 +176,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"
diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
index 3c2adf8af2..623900384c 100644
--- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
index 1f569df9ce..aad52e8024 100644
--- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
@@ -199,3 +199,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"
diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
index 3b2b69a589..4763fc4237 100644
--- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
index f595afc2a0..f8d3887aea 100644
--- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
index 59aada0766..2e4f061e40 100644
--- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
index 1d54b8eb2f..6f156f9d95 100644
--- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
@@ -14,7 +14,7 @@ ip="0.0.0.0"
port="12871"
queryport="12881"
maxplayers="20"
-defaultmap="" # Optional
+defaultmap="" # Optional
creativemode="0" # Free Build: creativemode="1"
gamelog="gamelog.txt"
@@ -195,3 +195,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
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"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg
index c7adf3e653..d6d65d863b 100644
--- a/lgsm/config-default/config-lgsm/insserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg
@@ -192,3 +192,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"
diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
index 66678d2840..5317f6be94 100644
--- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
@@ -190,3 +190,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"
diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
index c81bc4002d..d587e37192 100644
--- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
index 01043a35e6..6c36a7f69f 100644
--- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
@@ -178,3 +178,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"
diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
index a1aacafb53..fd049f80d6 100644
--- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
@@ -177,3 +177,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"
diff --git a/lgsm/config-default/config-lgsm/jk2server/_default.cfg b/lgsm/config-default/config-lgsm/jk2server/_default.cfg
index 700ba8fbbb..0675729e48 100644
--- a/lgsm/config-default/config-lgsm/jk2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jk2server/_default.cfg
@@ -187,3 +187,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"
diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
index a60bbd1a23..a8c3c72bf3 100644
--- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
index 74ffea9af6..71b1a178b8 100644
--- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
@@ -194,3 +194,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
index 4fb9389831..3ef547c22a 100644
--- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
index 838a65efb1..c0cbd2452b 100644
--- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/loserver/_default.cfg b/lgsm/config-default/config-lgsm/loserver/_default.cfg
index 15ebddde5f..d4056faf94 100644
--- a/lgsm/config-default/config-lgsm/loserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/loserver/_default.cfg
@@ -189,3 +189,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"
diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
index bc64ee8833..f8fddf0c0d 100644
--- a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
@@ -171,3 +171,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"
diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index fd7b8a71e3..c12265f9ff 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -178,3 +178,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"
diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
index 81ab22a955..1011e87681 100644
--- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
index a9f5fc840b..0077221f4f 100644
--- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
@@ -170,3 +170,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"
diff --git a/lgsm/config-default/config-lgsm/momserver/_default.cfg b/lgsm/config-default/config-lgsm/momserver/_default.cfg
index a19d077fe9..6ebc106b9b 100644
--- a/lgsm/config-default/config-lgsm/momserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/momserver/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
index ac7d4e9398..c001c7bf1d 100644
--- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
@@ -170,3 +170,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"
diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
index 9653eb52ba..935659c83e 100644
--- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/necserver/_default.cfg b/lgsm/config-default/config-lgsm/necserver/_default.cfg
index 65b7a7f1dd..5d3b4d8873 100644
--- a/lgsm/config-default/config-lgsm/necserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/necserver/_default.cfg
@@ -149,6 +149,8 @@ consoleinteract="no"
## Game Server Details
# Do not edit
gamename="Necesse"
+engine="null"
+glibc="2.9"
#### Directories ####
# Edit with care
@@ -178,3 +180,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"
diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
index 5f412cd4d8..241e535f46 100644
--- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
index 73cf810f1b..bc3e20cd1d 100644
--- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
index 83dfd991bb..d3fa2ad13d 100644
--- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
index 4292b1f2ac..5a63b2edff 100644
--- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
index 1729536095..2c270bfc5e 100644
--- a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
@@ -178,3 +178,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"
diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
index d10367f638..691c69b3a6 100644
--- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/pc2server/_default.cfg b/lgsm/config-default/config-lgsm/pc2server/_default.cfg
index e43f150fd5..72f87b4f0f 100644
--- a/lgsm/config-default/config-lgsm/pc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pc2server/_default.cfg
@@ -182,3 +182,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"
diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
index cb82ffca53..af31b615be 100644
--- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
@@ -178,3 +178,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"
diff --git a/lgsm/config-default/config-lgsm/pmcserver/_default.cfg b/lgsm/config-default/config-lgsm/pmcserver/_default.cfg
index 704d63ff33..e8f69161ef 100644
--- a/lgsm/config-default/config-lgsm/pmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pmcserver/_default.cfg
@@ -176,3 +176,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"
diff --git a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
index 69501dbf34..f1ccede86f 100644
--- a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
@@ -188,3 +188,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"
diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
index 1689af8112..6cb271de05 100644
--- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/pvrserver/_default.cfg b/lgsm/config-default/config-lgsm/pvrserver/_default.cfg
index 45a2b8fbda..8d27cf08c6 100644
--- a/lgsm/config-default/config-lgsm/pvrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvrserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
index 2d284187f2..399c43f0fd 100644
--- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
@@ -182,3 +182,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"
diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg
index ea1061a707..526e27854c 100644
--- a/lgsm/config-default/config-lgsm/q2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg
@@ -170,3 +170,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"
diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg
index 5621dec157..d8fda33d76 100644
--- a/lgsm/config-default/config-lgsm/q3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg
@@ -170,3 +170,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"
diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
index c2c0d0f246..5b1444ed96 100644
--- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
@@ -179,3 +179,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"
diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
index 9435b21995..1e9482c8cc 100644
--- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
@@ -169,3 +169,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"
diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
index d36a4c1f28..231ab423aa 100644
--- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg
index 58e3f4fe9d..9ff217a8b0 100644
--- a/lgsm/config-default/config-lgsm/roserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg
@@ -190,3 +190,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
index 847c8a1ddb..3c134592a1 100644
--- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
@@ -170,3 +170,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"
diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index d43a151527..acda7f6e4b 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -17,15 +17,15 @@ queryport=28017
rconpassword="CHANGE_ME"
rconweb="1" # Value is: 1 for the Facepunch web panel, Rustadmin desktop and Rustadmin Online; 0 for RCON tools like Rusty.
servername="Rust"
-gamemode="vanilla" # Values: vanilla, softcore ( Doc: https://wiki.facepunch.com/rust/server-gamemodes )
+gamemode="vanilla" # Values: vanilla, softcore ( Doc: https://wiki.facepunch.com/rust/server-gamemodes )
serverlevel="Procedural Map" # Values: Procedural Map, Barren, HapisIsland, SavasIsland
-customlevelurl="" # Custom level url. +server.levelurl \"${customlevelurl}\"
-seed="" # range: 1-2147483647, used to reproduce a procedural map.
-salt="" # range: unknown, used to recover a known setting from an existing map.
+customlevelurl="" # Custom level url. +server.levelurl \"${customlevelurl}\"
+seed="" # range: 1-2147483647, used to reproduce a procedural map.
+salt="" # range: unknown, used to recover a known setting from an existing map.
maxplayers="50"
-worldsize="3000" # default: 3000, range: 1000-6000, map size in meters.
+worldsize="3000" # default: 3000, range: 1000-6000, map size in meters.
saveinterval="300" # Auto-save in seconds.
-tickrate="30" # default: 30, range: 15-100.
+tickrate="30" # default: 30, range: 15-100.
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-batchmode +app.listenip ${ip} +app.port ${appport} +server.ip ${ip} +server.port ${port} +server.queryport ${queryport} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" +server.gamemode ${gamemode} +server.level \"${serverlevel}\" +server.seed ${seed} +server.salt ${salt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile"
@@ -199,3 +199,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
index f1c09e1893..a31449a05e 100644
--- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
@@ -182,3 +182,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"
diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
index 6883fe5893..eecc9cce2c 100644
--- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
@@ -169,3 +169,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"
diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
index 6805d6395f..899842b08d 100644
--- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
@@ -14,7 +14,7 @@ queryport="27015"
defaultmap="StationKappa"
servername="LinuxGSM Server"
serverpassword="NOT SET" # Can't be adjusted currently
-maxplayers="8" # Can't be adjusted currently
+maxplayers="8" # Can't be adjusted currently
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="Port=${port}?QueryPort=${queryport} -startup_map ${defaultmap} -server_name \"${servername}\""
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
index 13815fbcba..521500591f 100644
--- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/scpslserver/_default.cfg b/lgsm/config-default/config-lgsm/scpslserver/_default.cfg
index ac948d864f..3409fe9943 100644
--- a/lgsm/config-default/config-lgsm/scpslserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/scpslserver/_default.cfg
@@ -183,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"
diff --git a/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg b/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg
index 285bd0a492..73d0605c69 100644
--- a/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg
@@ -183,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"
diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
index 090309696c..270e8f84ee 100644
--- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
@@ -183,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"
diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
index 5b1071a3b6..579790be76 100644
--- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/sfserver/_default.cfg b/lgsm/config-default/config-lgsm/sfserver/_default.cfg
index 45ca1151a6..dfe3857c05 100644
--- a/lgsm/config-default/config-lgsm/sfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfserver/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
index 094754914e..a0f878e45b 100644
--- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
@@ -170,3 +170,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"
diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg
index 8204925099..6db45dc530 100644
--- a/lgsm/config-default/config-lgsm/solserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg
@@ -182,3 +182,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"
diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
index 0a343cfdf0..79240e2bf3 100644
--- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/stnserver/_default.cfg b/lgsm/config-default/config-lgsm/stnserver/_default.cfg
index 0b9510d4cd..d26cef1279 100644
--- a/lgsm/config-default/config-lgsm/stnserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stnserver/_default.cfg
@@ -184,3 +184,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
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"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg
index 26da17f432..834c2d054f 100644
--- a/lgsm/config-default/config-lgsm/stserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg
@@ -189,3 +189,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"
diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
index f8feb47f4f..ec164b90b3 100644
--- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
index c0aaea6c6d..a286b0571b 100644
--- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
index 16ab366960..824b6e7e3e 100644
--- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
index 827b32736d..968350fd84 100644
--- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/tiserver/_default.cfg b/lgsm/config-default/config-lgsm/tiserver/_default.cfg
index 1de6910b52..f31864df30 100644
--- a/lgsm/config-default/config-lgsm/tiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tiserver/_default.cfg
@@ -185,3 +185,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"
diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
index f676309d07..963920a6c9 100644
--- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
@@ -169,3 +169,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"
diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
index c1c99b24a9..1b4ac5bfc3 100644
--- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
index 5fdfd6447f..8163100627 100644
--- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
@@ -188,3 +188,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"
diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg
index 791c93da5f..8c4b326831 100644
--- a/lgsm/config-default/config-lgsm/twserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg
index 41d1981e7c..c3c5b7e140 100644
--- a/lgsm/config-default/config-lgsm/untserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg
@@ -189,3 +189,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"
diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
index b3ca481cd8..0df674dc60 100644
--- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
@@ -172,3 +172,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
index 49cd6b7d59..87b99bdb83 100644
--- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
@@ -187,3 +187,7 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
index 205e8a1d79..dede896871 100644
--- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
@@ -145,7 +145,7 @@ glibc="2.1"
# Edit with care
## Game Server Directories
-systemdir="${serverfiles}/System"
+systemdir="${serverfiles}/System64"
executabledir="${systemdir}"
executable="./ucc-bin"
servercfgdir="${systemdir}"
@@ -170,3 +170,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"
diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg
index 6b66032215..3925988405 100644
--- a/lgsm/config-default/config-lgsm/utserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg
@@ -173,3 +173,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"
diff --git a/lgsm/config-default/config-lgsm/vhserver/_default.cfg b/lgsm/config-default/config-lgsm/vhserver/_default.cfg
index 85f13614dd..8bb87887bd 100644
--- a/lgsm/config-default/config-lgsm/vhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vhserver/_default.cfg
@@ -192,3 +192,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"
diff --git a/lgsm/config-default/config-lgsm/vintsserver/_default.cfg b/lgsm/config-default/config-lgsm/vintsserver/_default.cfg
index 7009f02cb6..a207ecdb7e 100644
--- a/lgsm/config-default/config-lgsm/vintsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vintsserver/_default.cfg
@@ -173,3 +173,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"
diff --git a/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg b/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg
index 6755e0e51e..20b587f323 100644
--- a/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg
@@ -177,3 +177,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"
diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
index a441abd01d..94510c334a 100644
--- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
index 012b2df1cc..994abb5c00 100644
--- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
@@ -165,3 +165,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"
diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index eeedf5f188..fc53e641c0 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -184,3 +184,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"
diff --git a/lgsm/config-default/config-lgsm/wmcserver/_default.cfg b/lgsm/config-default/config-lgsm/wmcserver/_default.cfg
index 229d7bef56..cdf56e71e2 100644
--- a/lgsm/config-default/config-lgsm/wmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wmcserver/_default.cfg
@@ -176,3 +176,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"
diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
index a70fa371fe..3743e899f5 100644
--- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
@@ -181,3 +181,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"
diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
index 4b87f91723..c2621b48a4 100644
--- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
@@ -186,3 +186,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"
diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
index a5fc616cfd..777403dfd8 100644
--- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
@@ -191,3 +191,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"
diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv
index 0bc76a1a62..86ff4dc14b 100644
--- a/lgsm/data/almalinux-8.csv
+++ b/lgsm/data/almalinux-8.csv
@@ -1,4 +1,4 @@
-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
+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
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -16,9 +17,10 @@ bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
-bt1944
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
-mumble
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -119,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv
index 0bc76a1a62..86ff4dc14b 100644
--- a/lgsm/data/almalinux-9.csv
+++ b/lgsm/data/almalinux-9.csv
@@ -1,4 +1,4 @@
-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
+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
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -16,9 +17,10 @@ bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
-bt1944
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
-mumble
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -119,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-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 9ae62611da..c1d2b97b8d 100644
--- a/lgsm/data/centos-7.csv
+++ b/lgsm/data/centos-7.csv
@@ -1,4 +1,4 @@
-all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python3,tar,tmux,unzip,util-linux,wget,xz
+all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python3,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686
ac
ahl
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl11-libs
+ats
av
bb
bb2,libcurl.i686
@@ -16,9 +17,10 @@ bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
-bt1944
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -66,7 +69,6 @@ mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-libs
-mumble
nd
nec
nmrih,ncurses-libs.i686
@@ -119,6 +121,7 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
+vpmc,java-11-openjdk
vs
wet
wf
diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv
index 0d680e7604..86ff4dc14b 100644
--- a/lgsm/data/centos-8.csv
+++ b/lgsm/data/centos-8.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -16,9 +17,10 @@ bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
-bt1944
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
-mumble
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -102,6 +104,7 @@ sof2
sol
squad
st
+stn
sven
terraria
tf2,libcurl.i686
@@ -118,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv
index 0d680e7604..86ff4dc14b 100644
--- a/lgsm/data/centos-9.csv
+++ b/lgsm/data/centos-9.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -16,9 +17,10 @@ bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
-bt1944
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
-mumble
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -102,6 +104,7 @@ sof2
sol
squad
st
+stn
sven
terraria
tf2,libcurl.i686
@@ -118,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-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 9932a3b397..768be603f0 100644
--- a/lgsm/data/debian-10.csv
+++ b/lgsm/data/debian-10.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,9 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
cd
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -66,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv
index 514f98ab8c..021e66e203 100644
--- a/lgsm/data/debian-11.csv
+++ b/lgsm/data/debian-11.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,9 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
cd
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -66,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv
index 786c8f6c09..fa0d6a881b 100644
--- a/lgsm/data/debian-9.csv
+++ b/lgsm/data/debian-9.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,9 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
cd
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -66,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
@@ -119,6 +121,7 @@ ut3
ut99
vh,libc6-dev
vints,mono-complete
+vpmc,openjdk-8-jre
vs
wet
wf
diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv
index 58dda5d201..4cfe968482 100644
--- a/lgsm/data/rhel-7.csv
+++ b/lgsm/data/rhel-7.csv
@@ -1,4 +1,4 @@
-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
+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
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl11-libs
+ats
av
bb
bb2,libcurl.i686
@@ -15,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686
bo
bs
-bt,libicu
-bt1944
+bt,libicu,dos2unix
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -65,8 +68,7 @@ mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
-mta
-mumble
+mta,ncurses-libs
nd
nec
nmrih,ncurses-libs.i686
diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv
index 8f0d5a30fd..86ff4dc14b 100644
--- a/lgsm/data/rhel-8.csv
+++ b/lgsm/data/rhel-8.csv
@@ -1,4 +1,4 @@
-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
+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
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -15,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686
bo
bs
-bt,libicu
-bt1944
+bt,libicu,dos2unix
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
-mta
-mumble
+mta,ncurses-compat-libs
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -119,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv
index 8f0d5a30fd..86ff4dc14b 100644
--- a/lgsm/data/rhel-9.csv
+++ b/lgsm/data/rhel-9.csv
@@ -1,4 +1,4 @@
-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
+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
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -15,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686
bo
bs
-bt,libicu
-bt1944
+bt,libicu,dos2unix
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
-mta
-mumble
+mta,ncurses-compat-libs
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -119,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-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 0bc76a1a62..86ff4dc14b 100644
--- a/lgsm/data/rocky-8.csv
+++ b/lgsm/data/rocky-8.csv
@@ -1,4 +1,4 @@
-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
+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
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -16,9 +17,10 @@ bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
-bt1944
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
-mumble
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -119,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv
index 0bc76a1a62..86ff4dc14b 100644
--- a/lgsm/data/rocky-9.csv
+++ b/lgsm/data/rocky-9.csv
@@ -1,4 +1,4 @@
-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
+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
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl,openssl-libs
+ats
av
bb
bb2,libcurl.i686
@@ -16,9 +17,10 @@ bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
-bt1944
+btl
cc
cd
+ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,ncurses-libs.i686
@@ -60,13 +63,12 @@ kf2
l4d
l4d2
lo
-mc,java-11-openjdk
+mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
-mumble
nd
nec
nmrih,ncurses-libs.i686
@@ -76,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
-pmc,java-11-openjdk
+pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
@@ -119,11 +121,11 @@ ut3
ut99
vh,glibc-devel
vints,mono-complete
-vpmc,java-11-openjdk
+vpmc,java-17-openjdk
vs
wet
wf
-wmc,java-11-openjdk
+wmc,java-17-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 be19a23f56..ae9ae564c8 100644
--- a/lgsm/data/serverlist.csv
+++ b/lgsm/data/serverlist.csv
@@ -4,6 +4,7 @@ ahl2,ahl2server,Action: Source,ubuntu-22.04
ark,arkserver,ARK: Survival Evolved,ubuntu-22.04
arma3,arma3server,ARMA 3,ubuntu-22.04
armar,armarserver,Arma Reforger,ubuntu-20.04
+ats,atsserver,American Truck Simulator
av,avserver,Avorion,ubuntu-22.04
bb,bbserver,BrainBread,ubuntu-22.04
bb2,bb2server,BrainBread 2,ubuntu-22.04
@@ -14,9 +15,10 @@ bmdm,bmdmserver,Black Mesa: Deathmatch,ubuntu-22.04
bo,boserver,Ballistic Overkill,ubuntu-22.04
bs,bsserver,Blade Symphony,ubuntu-22.04
bt,btserver,Barotrauma,ubuntu-22.04
-bt1944,bt1944server,Battalion 1944,ubuntu-22.04
+btl,btlserver,BATTALION: Legacy,ubuntu-22.04
cc,ccserver,Codename CURE,ubuntu-22.04
cd,cdserver,Crafting Dead,ubuntu-22.04
+ck,ckserver,Core Keeper,ubuntu-22.04
cmw,cmwserver,Chivalry: Medieval Warfare,ubuntu-22.04
cod,codserver,Call of Duty,ubuntu-22.04
cod2,cod2server,Call of Duty 2,ubuntu-22.04
@@ -40,6 +42,7 @@ dys,dysserver,Dystopia,ubuntu-22.04
eco,ecoserver,Eco,ubuntu-22.04
em,emserver,Empires Mod,ubuntu-22.04
etl,etlserver,ET: Legacy,ubuntu-22.04
+ets2,ets2server,Euro Truck Simulator 2,ubuntu-22.04
fctr,fctrserver,Factorio,ubuntu-22.04
fof,fofserver,Fistful of Frags,ubuntu-22.04
gmod,gmodserver,Garrys Mod,ubuntu-22.04
@@ -64,7 +67,6 @@ mh,mhserver,MORDHAU,ubuntu-22.04
mohaa,mohaaserver,Medal of Honor: Allied Assault,ubuntu-22.04
mom,momserver,Memories of Mars,ubuntu-22.04
mta,mtaserver,Multi Theft Auto,ubuntu-22.04
-mumble,mumbleserver,Mumble,ubuntu-22.04
nd,ndserver,Nuclear Dawn,ubuntu-22.04
nec,necserver,Necesse,ubuntu-22.04
nmrih,nmrihserver,No More Room in Hell,ubuntu-22.04
@@ -126,3 +128,4 @@ 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-16.04.csv b/lgsm/data/ubuntu-16.04.csv
index b5d8f6faf6..d0f8fcebc2 100644
--- a/lgsm/data/ubuntu-16.04.csv
+++ b/lgsm/data/ubuntu-16.04.csv
@@ -5,6 +5,8 @@ ahl
ahl2
ark
arma3
+armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -15,9 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
cd
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -41,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -65,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta
-mumble
nd
nec
nmrih,libtinfo5:i386
@@ -118,6 +121,7 @@ ut3
ut99
vh,libc6-dev
vints,mono-complete
+vpmc,openjdk-8-jre
vs
wet
wf
diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv
index 9932a3b397..768be603f0 100644
--- a/lgsm/data/ubuntu-18.04.csv
+++ b/lgsm/data/ubuntu-18.04.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,9 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
cd
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -66,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv
index 68dc928d96..d4e8d65337 100644
--- a/lgsm/data/ubuntu-20.04.csv
+++ b/lgsm/data/ubuntu-20.04.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,9 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
cd
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -66,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-21.04.csv b/lgsm/data/ubuntu-21.04.csv
index 514f98ab8c..021e66e203 100644
--- a/lgsm/data/ubuntu-21.04.csv
+++ b/lgsm/data/ubuntu-21.04.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,9 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
cd
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -42,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -66,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-21.10.csv b/lgsm/data/ubuntu-21.10.csv
index 45ce1f6402..4284cdd9cc 100644
--- a/lgsm/data/ubuntu-21.10.csv
+++ b/lgsm/data/ubuntu-21.10.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,8 +17,9 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev
-bt1944
+btl
cc
+ck,xvfb
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -40,6 +42,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -64,7 +67,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv
index 8b9f02234d..5aaacff813 100644
--- a/lgsm/data/ubuntu-22.04.csv
+++ b/lgsm/data/ubuntu-22.04.csv
@@ -6,6 +6,7 @@ ahl2
ark
arma3
armar,libcurl4
+ats
av
bb
bb2,libcurl4-gnutls-dev:i386
@@ -16,8 +17,10 @@ bmdm,libncurses5:i386
bo
bs
bt,libicu-dev,dos2unix
-bt1944
+btl
cc
+ck,xvfb
+cd
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
@@ -30,6 +33,7 @@ cscz
csgo
css,libtinfo5:i386
dab
+dayz
dmc
dod
dodr
@@ -40,6 +44,7 @@ dys
eco,libgdiplus
em
etl
+ets2
fctr
fof
gmod,libtinfo5:i386
@@ -64,7 +69,6 @@ mh
mohaa,libstdc++5:i386
mom
mta,libncursesw5
-mumble
nd
nec
nmrih,libtinfo5:i386
@@ -117,7 +121,7 @@ ut3
ut99
vh,libc6-dev
vints,mono-complete
-vpmc,openjdk-11-jre
+vpmc,openjdk-17-jre
vs
wet
wf
diff --git a/lgsm/functions/alert.sh b/lgsm/functions/alert.sh
index 8460209c40..59deae2b6e 100755
--- a/lgsm/functions/alert.sh
+++ b/lgsm/functions/alert.sh
@@ -60,7 +60,7 @@ fn_alert_update() {
alertemoji="🎮"
alertsound="1"
alerturl="not enabled"
- alertbody="${gamename} received update"
+ alertbody="${gamename} received update: ${remotebuildversion}"
}
fn_alert_check_update() {
@@ -69,7 +69,7 @@ fn_alert_check_update() {
alertemoji="🎮"
alertsound="1"
alerturl="not enabled"
- alertbody="${gamename} update available"
+ alertbody="${gamename} update available: ${remotebuildversion}"
}
fn_alert_permissions() {
diff --git a/lgsm/functions/check_ip.sh b/lgsm/functions/check_ip.sh
index fc5d70f2c4..4b8eca5ec9 100755
--- a/lgsm/functions/check_ip.sh
+++ b/lgsm/functions/check_ip.sh
@@ -12,7 +12,7 @@ info_game.sh
ip_commands_array=("/bin/ip" "/usr/sbin/ip" "ip")
for ip_command in "${ip_commands_array[@]}"; do
- if [ "$(command -v ${ip_command} 2> /dev/null)" ]; then
+ if [ "$(command -v "${ip_command}" 2> /dev/null)" ]; then
ipcommand="${ip_command}"
break
fi
@@ -20,38 +20,43 @@ done
ethtool_commands_array=("/bin/ethtool" "/usr/sbin/ethtool" "ethtool")
for ethtool_command in "${ethtool_commands_array[@]}"; do
- if [ "$(command -v ${ethtool_command} 2> /dev/null)" ]; then
+ if [ "$(command -v "${ethtool_command}" 2> /dev/null)" ]; then
ethtoolcommand="${ethtool_command}"
break
fi
done
-getip=$(${ipcommand} -o -4 addr | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | sort -u | grep -v 127.0.0)
-getipwc=$(${ipcommand} -o -4 addr | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | sort -u | grep -vc 127.0.0)
+mapfile -t current_ips < <(${ipcommand} -o -4 addr | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | sort -u | grep -v 127.0.0)
+
+function fn_is_valid_ip() {
+ local ip="${1}"
+ # excluding 0.* ips also
+ grep -qEe '^[1-9]+[0-9]*\.[0-9]+\.[0-9]+\.[0-9]+$' <<< "${ip}"
+}
# Check if server has multiple IP addresses
# If the IP variable has been set by user.
-if [ -n "${ip}" ] && [ "${ip}" != "0.0.0.0" ]; then
+if fn_is_valid_ip "${ip}"; then
queryips=("${ip}")
webadminip=("${ip}")
telnetip=("${ip}")
# If game config does have an IP set.
-elif [ -n "${configip}" ] && [ "${configip}" != "0.0.0.0" ]; then
+elif fn_is_valid_ip "${configip}"; then
queryips=("${configip}")
ip="${configip}"
webadminip=("${configip}")
telnetip=("${configip}")
# If there is only 1 server IP address.
# Some IP details can automaticly use the one IP
-elif [ "${getipwc}" == "1" ]; then
- queryips=($(echo "${getip}"))
+elif [ "${#current_ips[@]}" == "1" ]; then
+ queryips=("127.0.0.1" "${current_ips[@]}")
ip="0.0.0.0"
- webadminip=("${getip}")
- telnetip=("${getip}")
+ webadminip=("${current_ips[@]}")
+ telnetip=("${current_ips[@]}")
# If no ip is set by the user and server has more than one IP.
else
- queryips=($(echo "${getip}"))
+ queryips=("127.0.0.1" "${current_ips[@]}")
ip="0.0.0.0"
webadminip=("${ip}")
telnetip=("${ip}")
diff --git a/lgsm/functions/command_backup.sh b/lgsm/functions/command_backup.sh
index 0dfabcd030..d69c57a0fd 100644
--- a/lgsm/functions/command_backup.sh
+++ b/lgsm/functions/command_backup.sh
@@ -99,16 +99,17 @@ fn_backup_migrate_olddir() {
fn_script_log_info "${rootdir}/backups > ${backupdir}"
mv "${rootdir}/backups/"* "${backupdir}" 2> /dev/null
exitcode=$?
- if [ "${exitcode}" -eq 0 ]; then
+ if [ "${exitcode}" == 0 ]; then
rmdir "${rootdir}/backups" 2> /dev/null
exitcode=$?
fi
- if [ "${exitcode}" -eq 0 ]; then
- fn_print_ok_nl "Backup directory is being migrated"
- fn_script_log_pass "Backup directory is being migrated"
- else
+ if [ "${exitcode}" != 0 ]; then
fn_print_error_nl "Backup directory is being migrated"
fn_script_log_error "Backup directory is being migrated"
+ else
+
+ fn_print_ok_nl "Backup directory is being migrated"
+ fn_script_log_pass "Backup directory is being migrated"
fi
fi
fi
diff --git a/lgsm/functions/command_check_update.sh b/lgsm/functions/command_check_update.sh
index 59b29d6e9a..3753c72c65 100755
--- a/lgsm/functions/command_check_update.sh
+++ b/lgsm/functions/command_check_update.sh
@@ -14,16 +14,26 @@ fn_print_dots ""
check.sh
core_logs.sh
-if [ "${appid}" ]; then
- core_steamcmd.sh
-
- check_steamcmd.sh
-
- fn_update_steamcmd_localbuild
- fn_update_steamcmd_remotebuild
- fn_update_steamcmd_compare
-elif [ "${shortname}" == "ts3" ]; then
+if [ "${shortname}" == "ts3" ]; then
update_ts3.sh
+elif [ "${shortname}" == "mc" ]; then
+ update_minecraft.sh
+elif [ "${shortname}" == "mcb" ]; then
+ update_minecraft_bedrock.sh
+elif [ "${shortname}" == "pmc" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then
+ update_papermc.sh
+elif [ "${shortname}" == "fctr" ]; then
+ update_factorio.sh
+elif [ "${shortname}" == "mta" ]; then
+ update_mta.sh
+elif [ "${shortname}" == "jk2" ]; then
+ update_jediknight2.sh
+elif [ "${shortname}" == "vints" ]; then
+ update_vintagestory.sh
+elif [ "${shortname}" == "ut99" ]; then
+ update_ut99.sh
+else
+ update_steamcmd.sh
fi
core_exit.sh
diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh
index 190a8c5279..c6422be651 100755
--- a/lgsm/functions/command_debug.sh
+++ b/lgsm/functions/command_debug.sh
@@ -28,7 +28,6 @@ check.sh
fix.sh
info_distro.sh
info_game.sh
-# NOTE: Check if works with server without parms. Could be intergrated in to info_parms.sh.
fn_print_header
{
echo -e "${lightblue}Distro:\t\t${default}${distroname}"
@@ -40,8 +39,9 @@ fn_print_header
echo -e "${lightblue}Free Memory:\t\t${default}${physmemfree}"
echo -e "${lightblue}Free Disk:\t\t${default}${availspace}"
} | column -s $'\t' -t
+
# glibc required.
-if [ "${glibc}" ]; then
+if [ -n "${glibc}" ]; then
if [ "${glibc}" == "null" ]; then
# Glibc is not required.
:
@@ -54,7 +54,7 @@ if [ "${glibc}" ]; then
fi
fi
-# Server IP
+# Server IP.
echo -e "${lightblue}Game Server IP:\t${default}${ip}:${port}"
# External server IP.
@@ -63,6 +63,7 @@ if [ "${extip}" ]; then
echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}"
fi
fi
+
# Server password.
if [ "${serverpassword}" ]; then
echo -e "${lightblue}Server password:\t${default}${serverpassword}"
@@ -78,7 +79,7 @@ else
echo -e "${preexecutable} ${executable} ${startparameters}"
fi
echo -e ""
-echo -e "Use for identifying server issues only!"
+echo -e "Use debug for identifying server issues only!"
echo -e "Press CTRL+c to drop out of debug mode."
fn_print_warning_nl "If ${selfname} is already running it will be stopped."
echo -e ""
@@ -120,6 +121,18 @@ else
eval "${preexecutable} ${executable} ${startparameters}"
fi
+if [ $? -ne 0 ]; then
+ fn_print_error_nl "Server has stopped: exit code: $?"
+ fn_script_log_error "Server has stopped: exit code: $?"
+ fn_print_error_nl "Press ENTER to exit debug mode"
+ read -r
+else
+ fn_print_ok_nl "Server has stopped"
+ fn_script_log_pass "Server has stopped"
+ fn_print_ok_nl "Press ENTER to exit debug mode"
+ read -r
+fi
+
fn_lockfile_trap
fn_print_dots "Stopping debug"
diff --git a/lgsm/functions/command_dev_debug.sh b/lgsm/functions/command_dev_debug.sh
index 9577098980..19f16d58e2 100755
--- a/lgsm/functions/command_dev_debug.sh
+++ b/lgsm/functions/command_dev_debug.sh
@@ -11,7 +11,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_firstcommand_reset
if [ -f "${rootdir}/.dev-debug" ]; then
- rm "${rootdir:?}/.dev-debug"
+ rm -f "${rootdir:?}/.dev-debug"
fn_print_ok_nl "Disabled dev-debug"
fn_script_log_info "Disabled dev-debug"
else
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index e90ccc5e04..78abd650a1 100755
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -68,7 +68,7 @@ fn_clear_old_fastdl() {
# Clearing old FastDL.
if [ -d "${fastdldir}" ]; then
echo -en "clearing existing FastDL directory ${fastdldir}..."
- rm -fR "${fastdldir:?}"
+ rm -rf "${fastdldir:?}"
exitcode=$?
if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
@@ -277,7 +277,7 @@ fn_fastdl_gmod() {
# Clear addons directory in fastdl.
echo -en "clearing addons dir from fastdl dir..."
fn_sleep_time
- rm -fR "${fastdldir:?}/addons"
+ rm -rf "${fastdldir:?}/addons"
exitcode=$?
if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
diff --git a/lgsm/functions/command_install_resources_mta.sh b/lgsm/functions/command_install_resources_mta.sh
index 15f5be22fc..daf0395511 100755
--- a/lgsm/functions/command_install_resources_mta.sh
+++ b/lgsm/functions/command_install_resources_mta.sh
@@ -12,7 +12,7 @@ fn_firstcommand_set
fn_install_resources() {
echo -e ""
- echo -e "Installing Default Resources"
+ echo -e "${lightyellow}Installing Default Resources${default}"
echo -e "================================="
fn_fetch_file "http://mirror.mtasa.com/mtasa/resources/mtasa-resources-latest.zip" "" "" "" "${tmpdir}" "mtasa-resources-latest.zip" "nochmodx" "norun" "noforce" "nohash"
fn_dl_extract "${tmpdir}" "mtasa-resources-latest.zip" "${resourcesdir}"
@@ -30,5 +30,3 @@ else
fn_print_warning_nl "Default resources are not installed when using ./${selfname} auto-install."
fn_print_information_nl "To install default resources use ./${selfname} install"
fi
-
-core_exit.sh
diff --git a/lgsm/functions/command_mods_update.sh b/lgsm/functions/command_mods_update.sh
index c2f7b42b58..80b23fea9c 100755
--- a/lgsm/functions/command_mods_update.sh
+++ b/lgsm/functions/command_mods_update.sh
@@ -27,8 +27,8 @@ fn_remove_cfg_files() {
filetopreserve=$(echo -e "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }')
echo -e " * serverfiles/${filetopreserve}"
# If it matches an existing file that have been extracted delete the file.
- if [ -f "${extractdir}/${filetopreserve}" ] || [ -d "${extractdir}/${filetopreserve}" ]; then
- rm -r "${extractdir:?}/${filetopreserve}"
+ if [ -f "${extractdest}/${filetopreserve}" ] || [ -d "${extractdest}/${filetopreserve}" ]; then
+ rm -r "${extractdest:?}/${filetopreserve}"
# Write the file path in a tmp file, to rebuild a full file list as it is rebuilt upon update.
if [ ! -f "${modsdir}/.removedfiles.tmp" ]; then
touch "${modsdir}/.removedfiles.tmp"
diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh
index 0d6402942d..20c830e0b8 100755
--- a/lgsm/functions/command_monitor.sh
+++ b/lgsm/functions/command_monitor.sh
@@ -72,7 +72,7 @@ fn_monitor_check_queryport() {
fn_print_dots "Checking port: "
fn_print_checking_eol
fn_script_log_info "Checking port: CHECKING"
- if [ -n "${rconenabled}" ] && [ "${rconenabled}" != "true" ] && [ ${shortname} == "av" ]; then
+ if [ -n "${rconenabled}" ] && [ "${rconenabled}" != "true" ] && [ "${shortname}" == "av" ]; then
fn_print_warn "Checking port: Unable to query, rcon is not enabled"
fn_script_log_warn "Checking port: Unable to query, rcon is not enabled"
else
diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh
index d10240fa7a..04c6b4e645 100755
--- a/lgsm/functions/command_start.sh
+++ b/lgsm/functions/command_start.sh
@@ -8,6 +8,7 @@
commandname="START"
commandaction="Starting"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+addtimestamp="gawk '{ print strftime(\\\"[$logtimestampformat]\\\"), \\\$0 }'"
fn_firstcommand_set
fn_start_teamspeak3() {
@@ -92,8 +93,13 @@ fn_start_tmux() {
fn_script_log "tmux version: master (user compiled)"
echo -e "tmux version: master (user compiled)" >> "${consolelog}"
if [ "${consolelogging}" == "on" ] || [ -z "${consolelogging}" ]; then
- tmux pipe-pane -o -t "${sessionname}" "exec cat >> '${consolelog}'"
+ if [ "$logtimestamp" == "on" ]; then
+ tmux pipe-pane -o -t "${sessionname}" "exec bash -c \"cat | $addtimestamp\" >> '${consolelog}'"
+ else
+ tmux pipe-pane -o -t "${sessionname}" "exec cat >> '${consolelog}'"
+ fi
fi
+
elif [ -n "${tmuxv}" ]; then
# tmux pipe-pane not supported in tmux versions < 1.6.
if [ "${tmuxvdigit}" -lt "16" ]; then
@@ -108,7 +114,11 @@ fn_start_tmux() {
Currently installed: $(tmux -V)" > "${consolelog}"
# Console logging enable or not set.
elif [ "${consolelogging}" == "on" ] || [ -z "${consolelogging}" ]; then
- tmux pipe-pane -o -t "${sessionname}" "exec cat >> '${consolelog}'"
+ if [ "$logtimestamp" == "on" ]; then
+ tmux pipe-pane -o -t "${sessionname}" "exec bash -c \"cat | $addtimestamp\" >> '${consolelog}'"
+ else
+ tmux pipe-pane -o -t "${sessionname}" "exec cat >> '${consolelog}'"
+ fi
fi
else
echo -e "Unable to detect tmux version" >> "${consolelog}"
@@ -137,7 +147,7 @@ fn_start_tmux() {
echo -e ""
echo -e "Error"
echo -e "================================="
- cat "${lgsmlogdir}/.${selfname}-tmux-error.tmp" | tee -a "${lgsmlog}"
+ tee -a "${lgsmlog}" < "${lgsmlogdir}/.${selfname}-tmux-error.tmp"
# Detected error https://linuxgsm.com/support
if grep -c "Operation not permitted" "${lgsmlogdir}/.${selfname}-tmux-error.tmp"; then
@@ -171,7 +181,7 @@ fn_start_tmux() {
fn_print_ok "${servername}"
fn_script_log_pass "Started ${servername}"
fi
- rm "${lgsmlogdir:?}/.${selfname}-tmux-error.tmp" 2> /dev/null
+ rm -f "${lgsmlogdir:?}/.${selfname}-tmux-error.tmp" 2> /dev/null
echo -en "\n"
}
diff --git a/lgsm/functions/command_update.sh b/lgsm/functions/command_update.sh
index 07b65e5fac..ae5c2065c6 100755
--- a/lgsm/functions/command_update.sh
+++ b/lgsm/functions/command_update.sh
@@ -23,8 +23,6 @@ elif [ "${shortname}" == "mcb" ]; then
update_minecraft_bedrock.sh
elif [ "${shortname}" == "pmc" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then
update_papermc.sh
-elif [ "${shortname}" == "mumble" ]; then
- update_mumble.sh
elif [ "${shortname}" == "fctr" ]; then
update_factorio.sh
elif [ "${shortname}" == "mta" ]; then
@@ -33,6 +31,8 @@ elif [ "${shortname}" == "jk2" ]; then
update_jediknight2.sh
elif [ "${shortname}" == "vints" ]; then
update_vintagestory.sh
+elif [ "${shortname}" == "ut99" ]; then
+ update_ut99.sh
else
update_steamcmd.sh
fi
diff --git a/lgsm/functions/command_update_linuxgsm.sh b/lgsm/functions/command_update_linuxgsm.sh
index 39a441f59b..569bc7cdb9 100755
--- a/lgsm/functions/command_update_linuxgsm.sh
+++ b/lgsm/functions/command_update_linuxgsm.sh
@@ -182,49 +182,51 @@ fi
# Check and update modules.
if [ -n "${functionsdir}" ]; then
if [ -d "${functionsdir}" ]; then
- cd "${functionsdir}" || exit
- for functionfile in *; do
- # check if module exists in the repo and remove if missing.
- # commonly used if module names change.
- echo -en "checking ${remotereponame} module ${functionfile}...\c"
- github_file_url_dir="lgsm/functions"
- if [ "${remotereponame}" == "GitHub" ]; then
- curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}" 1> /dev/null
- else
- curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${functionfile}" 1> /dev/null
- fi
- if [ $? != 0 ]; then
- fn_print_error_eol_nl
- fn_script_log_error "Checking ${remotereponame} module ${functionfile}"
- echo -en "removing module ${functionfile}...\c"
- if ! rm -f "${functionfile:?}"; then
- fn_print_fail_eol_nl
- fn_script_log_fatal "Removing module ${functionfile}"
- core_exit.sh
- else
- fn_print_ok_eol_nl
- fn_script_log_pass "Removing module ${functionfile}"
- fi
- else
- # compare file
+ (
+ cd "${functionsdir}" || exit
+ for functionfile in *; do
+ # check if module exists in the repo and remove if missing.
+ # commonly used if module names change.
+ echo -en "checking ${remotereponame} module ${functionfile}...\c"
+ github_file_url_dir="lgsm/functions"
if [ "${remotereponame}" == "GitHub" ]; then
- function_file_diff=$(diff "${functionsdir}/${functionfile}" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}"))
+ curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}" 1> /dev/null
else
- function_file_diff=$(diff "${functionsdir}/${functionfile}" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${functionfile}"))
+ curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${functionfile}" 1> /dev/null
fi
-
- # results
- if [ "${function_file_diff}" != "" ]; then
- fn_print_update_eol_nl
- fn_script_log_update "Checking ${remotereponame} module ${functionfile}"
- rm -rf "${functionsdir:?}/${functionfile}"
- fn_update_function
+ if [ $? != 0 ]; then
+ fn_print_error_eol_nl
+ fn_script_log_error "Checking ${remotereponame} module ${functionfile}"
+ echo -en "removing module ${functionfile}...\c"
+ if ! rm -f "${functionfile:?}"; then
+ fn_print_fail_eol_nl
+ fn_script_log_fatal "Removing module ${functionfile}"
+ core_exit.sh
+ else
+ fn_print_ok_eol_nl
+ fn_script_log_pass "Removing module ${functionfile}"
+ fi
else
- fn_print_ok_eol_nl
- fn_script_log_pass "Checking ${remotereponame} module ${functionfile}"
+ # compare file
+ if [ "${remotereponame}" == "GitHub" ]; then
+ function_file_diff=$(diff "${functionsdir}/${functionfile}" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}"))
+ else
+ function_file_diff=$(diff "${functionsdir}/${functionfile}" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${functionfile}"))
+ fi
+
+ # results
+ if [ "${function_file_diff}" != "" ]; then
+ fn_print_update_eol_nl
+ fn_script_log_update "Checking ${remotereponame} module ${functionfile}"
+ rm -rf "${functionsdir:?}/${functionfile}"
+ fn_update_function
+ else
+ fn_print_ok_eol_nl
+ fn_script_log_pass "Checking ${remotereponame} module ${functionfile}"
+ fi
fi
- fi
- done
+ done
+ )
fi
fi
diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh
index 29577984e5..e1677e8276 100755
--- a/lgsm/functions/command_wipe.sh
+++ b/lgsm/functions/command_wipe.sh
@@ -111,7 +111,7 @@ fn_wipe_random_seed() {
seed=$(cat "${datadir}/${selfname}-seed.txt")
randomseed=1
echo -en "generating new random seed (${cyan}${seed}${default})..."
- fn_script_log_pass "generating new random seed (${cyan}${seed}${default})"
+ fn_script_log_pass "Generating new random seed (${cyan}${seed}${default})"
fn_sleep_time
fn_print_ok_eol_nl
fi
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index cc5af18090..53a60cc1ad 100755
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -14,8 +14,8 @@
# hash: Optional, set an hash sum and will compare it against the file.
#
# Downloads can be defined in code like so:
-# fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${hash}"
-# fn_fetch_file "http://example.com/file.tar.bz2" "/some/dir" "file.tar.bz2" "chmodx" "run" "forcedl" "10cd7353aa9d758a075c600a6dd193fd"
+# fn_fetch_file "${remote_fileurl}" "${remote_fileurl_backup}" "${remote_fileurl_name}" "${remote_fileurl_backup_name}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${hash}"
+# fn_fetch_file "http://example.com/file.tar.bz2" "http://example.com/file2.tar.bz2" "file.tar.bz2" "file2.tar.bz2" "/some/dir" "file.tar.bz2" "chmodx" "run" "forcedl" "10cd7353aa9d758a075c600a6dd193fd"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
@@ -124,7 +124,7 @@ fn_dl_steamcmd() {
echo -en "Please provide content log to LinuxGSM developers https://linuxgsm.com/steamcmd-error"
fn_script_log_error "${commandaction} ${selfname}: ${remotelocation}: Unknown error occured"
fi
- elif [ "${exitcode}" != "0" ]; then
+ elif [ "${exitcode}" != 0 ]; then
fn_print_error2_nl "${commandaction} ${selfname}: ${remotelocation}: Exit code: ${exitcode}"
fn_script_log_error "${commandaction} ${selfname}: ${remotelocation}: Exit code: ${exitcode}"
else
@@ -146,12 +146,12 @@ fn_clear_tmp() {
if [ -d "${tmpdir}" ]; then
rm -rf "${tmpdir:?}/"*
local exitcode=$?
- if [ "${exitcode}" == 0 ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "clearing LinuxGSM tmp directory"
- else
+ if [ "${exitcode}" != 0 ]; then
fn_print_error_eol_nl
fn_script_log_error "clearing LinuxGSM tmp directory"
+ else
+ fn_print_ok_eol_nl
+ fn_script_log_pass "clearing LinuxGSM tmp directory"
fi
fi
}
@@ -202,31 +202,56 @@ fn_dl_hash() {
# Extracts bzip2, gzip or zip files.
# Extracts can be defined in code like so:
-# fn_dl_extract "${local_filedir}" "${local_filename}" "${extractdir}"
+# fn_dl_extract "${local_filedir}" "${local_filename}" "${extractdest}" "${extractsrc}"
# fn_dl_extract "/home/gameserver/lgsm/tmp" "file.tar.bz2" "/home/gamserver/serverfiles"
fn_dl_extract() {
local_filedir="${1}"
local_filename="${2}"
- extractdir="${3}"
+ extractdest="${3}"
+ extractsrc="${4}"
# Extracts archives.
echo -en "extracting ${local_filename}..."
- mime=$(file -b --mime-type "${local_filedir}/${local_filename}")
- if [ ! -d "${extractdir}" ]; then
- mkdir "${extractdir}"
+
+ if [ ! -d "${extractdest}" ]; then
+ mkdir "${extractdest}"
+ fi
+ if [ ! -f "${local_filedir}/${local_filename}" ]; then
+ fn_print_fail_eol_nl
+ echo -en "file ${local_filedir}/${local_filename} not found"
+ fn_script_log_fatal "Extracting ${local_filename}"
+ fn_script_log_fatal "File ${local_filedir}/${local_filename} not found"
+ core_exit.sh
fi
+ mime=$(file -b --mime-type "${local_filedir}/${local_filename}")
if [ "${mime}" == "application/gzip" ] || [ "${mime}" == "application/x-gzip" ]; then
- extractcmd=$(tar -zxf "${local_filedir}/${local_filename}" -C "${extractdir}")
+ if [ -n "${extractsrc}" ]; then
+ extractcmd=$(tar -zxf "${local_filedir}/${local_filename}" -C "${extractdest}" --strip-components=1 "${extractsrc}")
+ else
+ extractcmd=$(tar -zxf "${local_filedir}/${local_filename}" -C "${extractdest}")
+ fi
elif [ "${mime}" == "application/x-bzip2" ]; then
- extractcmd=$(tar -jxf "${local_filedir}/${local_filename}" -C "${extractdir}")
+ if [ -n "${extractsrc}" ]; then
+ extractcmd=$(tar -jxf "${local_filedir}/${local_filename}" -C "${extractdest}" --strip-components=1 "${extractsrc}")
+ else
+ extractcmd=$(tar -jxf "${local_filedir}/${local_filename}" -C "${extractdest}")
+ fi
elif [ "${mime}" == "application/x-xz" ]; then
- extractcmd=$(tar -xf "${local_filedir}/${local_filename}" -C "${extractdir}")
+ if [ -n "${extractsrc}" ]; then
+ extractcmd=$(tar -Jxf "${local_filedir}/${local_filename}" -C "${extractdest}" --strip-components=1 "${extractsrc}")
+ else
+ extractcmd=$(tar -Jxf "${local_filedir}/${local_filename}" -C "${extractdest}")
+ fi
elif [ "${mime}" == "application/zip" ]; then
- extractcmd=$(unzip -qo -d "${extractdir}" "${local_filedir}/${local_filename}")
+ if [ -n "${extractsrc}" ]; then
+ extractcmd=$(unzip -qoj -d "${extractdest}" "${local_filedir}/${local_filename}" "${extractsrc}"/*)
+ else
+ extractcmd=$(unzip -qo -d "${extractdest}" "${local_filedir}/${local_filename}")
+ fi
fi
local exitcode=$?
if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
- fn_script_log_fatal "Extracting download"
+ fn_script_log_fatal "Extracting ${local_filename}"
if [ -f "${lgsmlog}" ]; then
echo -e "${extractcmd}" >> "${lgsmlog}"
fi
@@ -234,7 +259,7 @@ fn_dl_extract() {
core_exit.sh
else
fn_print_ok_eol_nl
- fn_script_log_pass "Extracting download"
+ fn_script_log_pass "Extracting ${local_filename}"
fi
}
@@ -301,7 +326,6 @@ fn_check_file() {
fi
else
fn_print_ok_eol
- sleep 0.3
echo -en "\033[2K\\r"
if [ -f "${lgsmlog}" ]; then
fn_script_log_pass "Checking ${remote_filename}"
@@ -359,22 +383,26 @@ fn_fetch_file() {
fi
# Trap will remove part downloaded files if canceled.
trap fn_fetch_trap INT
- # Larger files show a progress bar.
- if [ "${local_filename##*.}" == "bz2" ] || [ "${local_filename##*.}" == "gz" ] || [ "${local_filename##*.}" == "zip" ] || [ "${local_filename##*.}" == "jar" ] || [ "${local_filename##*.}" == "xz" ]; then
+ curlcmd=(curl --connect-timeout 10 --fail -L -o "${local_filedir}/${local_filename}" --retry 2)
+
+ # if is large file show progress, else be silent
+ local exitcode=""
+ large_files=("bz2" "gz" "zip" "jar" "xz")
+ if grep -qE "(^|\s)${local_filename##*.}(\s|$)" <<< "${large_files[@]}"; then
echo -en "downloading ${local_filename}..."
fn_sleep_time
echo -en "\033[1K"
- curlcmd=$(curl --connect-timeout 10 --progress-bar --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}")
- echo -en "downloading ${local_filename}..."
+ "${curlcmd[@]}" --progress-bar "${fileurl}" 2>&1
+ exitcode="$?"
else
echo -en "fetching ${fileurl_name} ${local_filename}...\c"
- curlcmd=$(curl --connect-timeout 10 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
+ "${curlcmd[@]}" --silent --show-error "${fileurl}" 2>&1
+ exitcode="$?"
fi
- local exitcode=$?
# Download will fail if downloads a html file.
if [ -f "${local_filedir}/${local_filename}" ]; then
- if [ -n "$(head "${local_filedir}/${local_filename}" | grep "DOCTYPE")" ]; then
+ if head -n 1 "${local_filedir}/${local_filename}" | grep -q "DOCTYPE"; then
rm "${local_filedir:?}/${local_filename:?}"
local exitcode=2
fi
@@ -385,23 +413,21 @@ fn_fetch_file() {
if [ ${counter} -ge 2 ]; then
fn_print_fail_eol_nl
if [ -f "${lgsmlog}" ]; then
- fn_script_log_fatal "Downloading ${local_filename}"
+ fn_script_log_fatal "Downloading ${local_filename}..."
fn_script_log_fatal "${fileurl}"
fi
core_exit.sh
else
fn_print_error_eol_nl
if [ -f "${lgsmlog}" ]; then
- fn_script_log_error "Downloading ${local_filename}"
+ fn_script_log_error "Downloading ${local_filename}..."
fn_script_log_error "${fileurl}"
fi
fi
else
- fn_print_ok_eol
- sleep 0.3
- echo -en "\033[2K\\r"
+ fn_print_ok_eol_nl
if [ -f "${lgsmlog}" ]; then
- fn_script_log_pass "Downloading ${local_filename}"
+ fn_script_log_pass "Downloading ${local_filename}..."
fi
# Make file executable if chmodx is set.
diff --git a/lgsm/functions/core_exit.sh b/lgsm/functions/core_exit.sh
index 2d2f5b8fa1..95d9d8cae0 100755
--- a/lgsm/functions/core_exit.sh
+++ b/lgsm/functions/core_exit.sh
@@ -25,7 +25,7 @@ fi
if [ "${exitbypass}" ]; then
unset exitbypass
-elif [ "${exitcode}" ] && [ "${exitcode}" != "0" ]; then
+elif [ "${exitcode}" != "0" ]; then
# List LinuxGSM version in logs
fn_script_log_info "LinuxGSM version: ${version}"
if [ "${exitcode}" == "1" ]; then
diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh
index 05b52e243a..aa8a43659a 100755
--- a/lgsm/functions/core_functions.sh
+++ b/lgsm/functions/core_functions.sh
@@ -8,7 +8,7 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-modulesversion="v23.1.0"
+modulesversion="v23.2.0"
# Core
@@ -655,11 +655,6 @@ update_papermc.sh() {
fn_fetch_function
}
-update_mumble.sh() {
- functionfile="${FUNCNAME[0]}"
- fn_fetch_function
-}
-
update_mta.sh() {
functionfile="${FUNCNAME[0]}"
fn_fetch_function
@@ -685,6 +680,11 @@ update_vintagestory.sh() {
fn_fetch_function
}
+update_ut99.sh() {
+ functionfile="${FUNCNAME[0]}"
+ fn_fetch_function
+}
+
fn_update_functions.sh() {
functionfile="${FUNCNAME[0]}"
fn_fetch_function
diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh
index fdd66ab3f5..808fe2e2af 100755
--- a/lgsm/functions/core_getopt.sh
+++ b/lgsm/functions/core_getopt.sh
@@ -65,8 +65,8 @@ currentopt+=("${cmd_update_linuxgsm[@]}")
# Exclude noupdate games here.
if [ "${shortname}" == "jk2" ] || [ "${engine}" != "idtech3" ]; then
- if [ "${shortname}" != "bf1942" ] && [ "${shortname}" != "bfv" ] && [ "${engine}" != "idtech2" ] && [ "${engine}" != "iw2.0" ] && [ "${engine}" != "iw3.0" ] && [ "${engine}" != "quake" ] && [ "${shortname}" != "samp" ] && [ "${shortname}" != "ut2k4" ] && [ "${shortname}" != "ut99" ]; then
- currentopt+=("${cmd_update[@]}")
+ 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.
if [ "${appid}" ] || [ "${shortname}" == "mta" ]; then
currentopt+=("${cmd_force_update[@]}")
@@ -75,8 +75,8 @@ if [ "${shortname}" == "jk2" ] || [ "${engine}" != "idtech3" ]; then
fi
# Validate and check-update command.
-if [ "${appid}" ] || [ "${shortname}" == "ts3" ]; then
- currentopt+=("${cmd_validate[@]}" "${cmd_check_update[@]}")
+if [ "${appid}" ]; then
+ currentopt+=("${cmd_validate[@]}")
fi
# Backup.
@@ -102,10 +102,12 @@ if [ "${shortname}" == "ts3" ]; then
currentopt+=("${cmd_change_password[@]}")
fi
-# Unreal exclusive.
+# Rust exclusive.
if [ "${shortname}" == "rust" ]; then
currentopt+=("${cmd_fullwipe[@]}" "${cmd_mapwipe[@]}")
fi
+
+# Unreal exclusive.
if [ "${engine}" == "unreal2" ]; then
if [ "${shortname}" == "ut2k4" ]; then
currentopt+=("${cmd_install_cdkey[@]}" "${cmd_map_compressor_u2[@]}")
diff --git a/lgsm/functions/core_steamcmd.sh b/lgsm/functions/core_steamcmd.sh
index 5b95adc81d..119748fb71 100755
--- a/lgsm/functions/core_steamcmd.sh
+++ b/lgsm/functions/core_steamcmd.sh
@@ -14,7 +14,7 @@ fn_install_steamcmd() {
if [ ! -d "${steamcmddir}" ]; then
mkdir -p "${steamcmddir}"
fi
- fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "" "" "" "${tmpdir}" "steamcmd_linux.tar.gz" "" "norun" "noforce" "nohash"
+ fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "" "" "" "${tmpdir}" "steamcmd_linux.tar.gz" "nochmodx" "norun" "noforce" "nohash"
fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
chmod +x "${steamcmddir}/steamcmd.sh"
}
@@ -73,7 +73,7 @@ fn_check_steamcmd_dir() {
# Symbolic links to Steam installation directory.
if [ ! -L "${HOME}/.steam/root" ]; then
if [ -d "${HOME}/.steam/root" ]; then
- rm "${HOME}/.steam/root"
+ rm -f "${HOME:?}/.steam/root"
fi
ln -s "${XDG_DATA_HOME:="${HOME}/.local/share"}/Steam" "${HOME}/.steam/root"
fi
@@ -157,9 +157,9 @@ fn_update_steamcmd_localbuild() {
fi
# Checks if localbuild variable has been set.
- if [ -z "${localbuild}" ] || [ "${localbuild}" == "null" ]; then
- fn_print_fail "Checking local build: ${remotelocation}"
- fn_script_log_fatal "Checking local build"
+ if [ -z "${localbuild}" ]; then
+ fn_print_fail "Checking local build: ${remotelocation}: missing local build info"
+ fn_script_log_fatal "Missing local build info"
core_exit.sh
else
fn_print_ok "Checking local build: ${remotelocation}"
@@ -168,7 +168,7 @@ fn_update_steamcmd_localbuild() {
}
fn_update_steamcmd_remotebuild() {
- # Gets remote build info.
+ # Get remote build info.
if [ -d "${steamcmddir}" ]; then
cd "${steamcmddir}" || exit
fi
@@ -179,12 +179,12 @@ fn_update_steamcmd_remotebuild() {
fi
# password for branch not needed to check the buildid
- remotebuild=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed -e '/"branches"/,/^}/!d' | sed -n "/\"${branch}\"/,/}/p" | grep -m 1 buildid | tr -cd '[:digit:]')
+ remotebuildversion=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed -e '/"branches"/,/^}/!d' | sed -n "/\"${branch}\"/,/}/p" | grep -m 1 buildid | tr -cd '[:digit:]')
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -194,7 +194,7 @@ fn_update_steamcmd_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -204,12 +204,12 @@ fn_update_steamcmd_remotebuild() {
fn_update_steamcmd_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- if [ "${localbuild}" != "${remotebuild}" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
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}${remotebuild}${default}"
+ echo -e "* Remote build: ${green}${remotebuildversion}${default}"
if [ -n "${branch}" ]; then
echo -e "* Branch: ${branch}"
fi
@@ -220,14 +220,14 @@ fn_update_steamcmd_compare() {
echo -en "\n"
fn_script_log_info "Update available"
fn_script_log_info "Local build: ${localbuild}"
- fn_script_log_info "Remote build: ${remotebuild}"
+ fn_script_log_info "Remote build: ${remotebuildversion}"
if [ -n "${branch}" ]; then
fn_script_log_info "Branch: ${branch}"
fi
if [ -n "${betapassword}" ]; then
fn_script_log_info "Branch password: ${betapassword}"
fi
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ fn_script_log_info "${localbuild} > ${remotebuildversion}"
if [ "${commandname}" == "UPDATE" ]; then
unset updateonstart
@@ -246,8 +246,8 @@ fn_update_steamcmd_compare() {
exitbypass=1
command_start.sh
fn_firstcommand_reset
- unset exitbypass
fi
+ unset exitbypass
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
elif [ "${commandname}" == "CHECK-UPDATE" ]; then
@@ -259,7 +259,7 @@ fn_update_steamcmd_compare() {
echo -en "\n"
echo -e "No update available"
echo -e "* Local build: ${green}${localbuild}${default}"
- echo -e "* Remote build: ${green}${remotebuild}${default}"
+ echo -e "* Remote build: ${green}${remotebuildversion}${default}"
if [ -n "${branch}" ]; then
echo -e "* Branch: ${branch}"
fi
@@ -270,7 +270,7 @@ fn_update_steamcmd_compare() {
echo -en "\n"
fn_script_log_info "No update available"
fn_script_log_info "Local build: ${localbuild}"
- fn_script_log_info "Remote build: ${remotebuild}"
+ fn_script_log_info "Remote build: ${remotebuildversion}"
if [ -n "${branch}" ]; then
fn_script_log_info "Branch: ${branch}"
fi
diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index 0ed9fdf705..57f6a91fac 100755
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -17,7 +17,7 @@ fn_fix_msg_start() {
fn_fix_msg_start_nl() {
fn_print_dots "Applying ${fixname} fix: ${gamename}"
- fn_print_info "Applying ${fixname} fix: ${gamename}"
+ fn_print_info_nl "Applying ${fixname} fix: ${gamename}"
fn_script_log_info "Applying ${fixname} fix: ${gamename}"
}
@@ -31,99 +31,58 @@ fn_fix_msg_end() {
fi
}
+fn_exists_fix() {
+ local short="${1:?}"
+
+ if [ "$(type -t "fix_${short}.sh")" == 'function' ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+fn_apply_fix() {
+ local phase_message="${1:?}"
+ local short="${2:?}"
+
+ if fn_exists_fix "${short}"; then
+ "fix_${short}.sh"
+ else
+ fn_print_error_nl "${shortname} is marked to apply pre start fix but there is no fix registered"
+ fi
+}
+
+apply_pre_start_fix=(arma3 armar ark av bt bo csgo cmw dst hw ins nmrih onset rust rw sdtd sfc sof2 squad st tf2 terraria ts3 mcb mta unt vh wurm zmr)
+apply_post_install_fix=(av kf kf2 lo ro samp ut2k4 ut ut3)
+
+# validate registered fixes for safe development
+for fix in "${apply_pre_start_fix[@]}" "${apply_post_install_fix[@]}"; do
+ if ! fn_exists_fix "${fix}"; then
+ fn_print_fail_nl "fix_${fix}.sh is registered but doesn't exist. Typo or did you miss to modify core_functions.sh?"
+ exitcode 1
+ core_exit.sh
+ fi
+done
+
# Fixes that are run on start.
if [ "${commandname}" != "INSTALL" ] && [ -z "${fixbypass}" ]; then
if [ "${appid}" ]; then
fix_steamcmd.sh
fi
- if [ "${shortname}" == "arma3" ]; then
- fix_arma3.sh
- elif [ "${shortname}" == "armar" ]; then
- fix_armar.sh
- elif [ "${shortname}" == "ark" ]; then
- fix_ark.sh
- elif [ "${shortname}" == "bt" ]; then
- fix_bt.sh
- elif [ "${shortname}" == "bo" ]; then
- fix_bo.sh
- elif [ "${shortname}" == "csgo" ]; then
- fix_csgo.sh
- elif [ "${shortname}" == "cmw" ]; then
- fix_cmw.sh
- elif [ "${shortname}" == "dst" ]; then
- fix_dst.sh
- elif [ "${shortname}" == "hw" ]; then
- fix_hw.sh
- elif [ "${shortname}" == "ins" ]; then
- fix_ins.sh
- elif [ "${shortname}" == "nmrih" ]; then
- fix_nmrih.sh
- elif [ "${shortname}" == "onset" ]; then
- fix_onset.sh
- elif [ "${shortname}" == "rust" ]; then
- fix_rust.sh
- elif [ "${shortname}" == "rw" ]; then
- fix_rw.sh
- elif [ "${shortname}" == "sdtd" ]; then
- fix_sdtd.sh
- elif [ "${shortname}" == "sfc" ]; then
- fix_sfc.sh
- elif [ "${shortname}" == "sof2" ]; then
- fix_sof2.sh
- elif [ "${shortname}" == "squad" ]; then
- fix_squad.sh
- elif [ "${shortname}" == "st" ]; then
- fix_st.sh
- elif [ "${shortname}" == "tf2" ]; then
- fix_tf2.sh
- elif [ "${shortname}" == "terraria" ]; then
- fix_terraria.sh
- elif [ "${shortname}" == "ts3" ]; then
- fix_ts3.sh
- elif [ "${shortname}" == "mcb" ]; then
- fix_mcb.sh
- elif [ "${shortname}" == "mta" ]; then
- fix_mta.sh
- elif [ "${shortname}" == "unt" ]; then
- fix_unt.sh
- elif [ "${shortname}" == "vh" ]; then
- fix_vh.sh
- elif [ "${shortname}" == "wurm" ]; then
- fix_wurm.sh
- elif [ "${shortname}" == "zmr" ]; then
- fix_zmr.sh
+ if grep -qEe "(^|\s)${shortname}(\s|$)" <<< "${apply_pre_start_fix[@]}"; then
+ fn_apply_fix "pre start" "${shortname}"
fi
fi
# Fixes that are run on install only.
if [ "${commandname}" == "INSTALL" ]; then
- if [ "${shortname}" == "av" ] || [ "${shortname}" == "cmw" ] || [ "${shortname}" == "kf" ] || [ "${shortname}" == "kf2" ] || [ "${shortname}" == "lo" ] || [ "${shortname}" == "onset" ] || [ "${shortname}" == "ro" ] || [ "${shortname}" == "samp" ] || [ "${shortname}" == "ut2k4" ] || [ "${shortname}" == "ut" ] || [ "${shortname}" == "ut3" ]; then
+ if grep -qEe "(^|\s)${shortname}(\s|$)" <<< "${apply_post_install_fix[@]}"; then
echo -e ""
echo -e "${lightyellow}Applying Post-Install Fixes${default}"
echo -e "================================="
fn_sleep_time
postinstall=1
- if [ "${shortname}" == "av" ]; then
- fix_av.sh
- elif [ "${shortname}" == "kf" ]; then
- fix_kf.sh
- elif [ "${shortname}" == "kf2" ]; then
- fix_kf2.sh
- elif [ "${shortname}" == "lo" ]; then
- fix_lo.sh
- elif [ "${shortname}" == "ro" ]; then
- fix_ro.sh
- elif [ "${shortname}" == "samp" ]; then
- fix_samp.sh
- elif [ "${shortname}" == "ut2k4" ]; then
- fix_ut2k4.sh
- elif [ "${shortname}" == "ut" ]; then
- fix_ut.sh
- elif [ "${shortname}" == "ut3" ]; then
- fix_ut3.sh
- else
- fn_print_information_nl "No fixes required."
- fi
+ fn_apply_fix "post install" "${shortname}"
fi
fi
diff --git a/lgsm/functions/fix_av.sh b/lgsm/functions/fix_av.sh
index f34a01c37a..a61a8be658 100755
--- a/lgsm/functions/fix_av.sh
+++ b/lgsm/functions/fix_av.sh
@@ -9,11 +9,11 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/linux64"
-if [ "${postinstall}" == "1" ]; then
+# Generates the server config if it doesn't exist.
+if [ ! -f "${servercfgfullpath}" ]; then
startparameters="--datapath ${avdatapath} --galaxy-name ${selfname} --init-folders-only"
fn_print_information "starting ${gamename} server to generate configs."
fn_sleep_time
- # go to the executeable dir and start the init of the server
- cd "${systemdir}" || return 2
- "${executabledir}/${executable}" ${startparameters}
+ cd "${systemdir}" || exit
+ eval "${executable} ${startparameters}"
fi
diff --git a/lgsm/functions/fix_rust.sh b/lgsm/functions/fix_rust.sh
index 4488377a38..5f407e89f8 100755
--- a/lgsm/functions/fix_rust.sh
+++ b/lgsm/functions/fix_rust.sh
@@ -12,10 +12,21 @@ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/RustDedic
# Part of random seed feature.
# If seed is not defined by user generate a seed file.
-if [ -z "${seed}" ]; then
+if [ -z "${seed}" ] || [ "${seed}" == "0" ]; then
if [ ! -f "${datadir}/${selfname}-seed.txt" ]; then
shuf -i 1-2147483647 -n 1 > "${datadir}/${selfname}-seed.txt"
+ seed="$(cat "${datadir}/${selfname}-seed.txt")"
+ fn_print_info_nl "Generating new random seed (${cyan}${seed}${default})"
+ fn_script_log_pass "Generating new random seed (${cyan}${seed}${default})"
fi
seed="$(cat "${datadir}/${selfname}-seed.txt")"
randomseed=1
fi
+
+# If Carbon mod is installed, run enviroment.sh
+if [ -f "${serverfiles}/carbon/tools/environment.sh" ]; then
+ fn_print_info_nl "Running Carbon environment.sh"
+ fn_script_log_info "Running Carbon environment.sh"
+ # shellcheck source=/dev/null
+ source "${serverfiles}/carbon/tools/environment.sh"
+fi
diff --git a/lgsm/functions/fix_steamcmd.sh b/lgsm/functions/fix_steamcmd.sh
index 0162a6495c..9644208dc7 100755
--- a/lgsm/functions/fix_steamcmd.sh
+++ b/lgsm/functions/fix_steamcmd.sh
@@ -56,7 +56,7 @@ steamclientsdk64="${steamsdk64}/steamclient.so"
# remove any old unlinked versions of steamclient.so
if [ -f "${steamclientsdk64}" ]; then
if [ "$(stat -c '%h' "${steamclientsdk64}")" -eq 1 ]; then
- fixname="steamclient.so sdk64 -- remove old file"
+ fixname="steamclient.so sdk64 - remove old file"
fn_fix_msg_start
rm -f "${steamclientsdk64}"
fn_fix_msg_end
@@ -87,7 +87,7 @@ steamsdk32="${HOME}/.steam/sdk32"
steamclientsdk32="${HOME}/.steam/sdk32/steamclient.so"
if [ -f "${steamclientsdk32}" ]; then
if [ " $(stat -c '%h' "${steamclientsdk32}")" -eq 1 ]; then
- fixname="steamclient.so sdk32 -- remove old file"
+ fixname="steamclient.so sdk32 - remove old file"
fn_fix_msg_start
rm -f "${steamclientsdk32}"
fn_fix_msg_end
diff --git a/lgsm/functions/info_game.sh b/lgsm/functions/info_game.sh
index 66b9be5db0..8c9ca310a8 100644
--- a/lgsm/functions/info_game.sh
+++ b/lgsm/functions/info_game.sh
@@ -264,7 +264,7 @@ fn_info_game_bt() {
fi
}
-fn_info_game_bt1944() {
+fn_info_game_btl() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
@@ -307,6 +307,17 @@ fn_info_game_cd() {
fi
}
+fn_info_game_ck() {
+ if [ ! -f "${servercfgfullpath}" ]; then
+ servername="${unavailable}"
+ maxplayers="${zero}"
+ else
+ servername=$(jq -r '.worldName' "${servercfgfullpath}")
+ maxplayers=$(jq -r '.maxNumberPlayers' "${servercfgfullpath}")
+ fi
+ queryport=$((port + 1))
+}
+
fn_info_game_cmw() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
@@ -1063,25 +1074,6 @@ fn_info_game_mta() {
}
-fn_info_game_mumble() {
- # Config
- if [ ! -f "${servercfgfullpath}" ]; then
- port="64738"
- queryport="${port}"
- servername="Mumble"
- else
- port=$(grep "port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/port//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
- queryport="${port}"
- configip=$(grep "host=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^;/d' -e 's/host=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
-
- # Not set
- port=${port:-"64738"}
- queryport=${queryport:-"64738"}
- servername="Mumble Port ${port}"
- configip=${configip:-"0.0.0.0"}
- fi
-}
-
fn_info_game_nec() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
@@ -1242,6 +1234,30 @@ fn_info_game_pvr() {
queryport=${port:-"0"}
}
+fn_info_game_prism3d() {
+ # Config
+ if [ ! -f "${servercfgfullpath}" ]; then
+ maxplayers="${unavailable}"
+ port="${zero}"
+ queryport="${zero}"
+ servername="${unavailable}"
+ serverpassword="${unavailable}"
+ else
+ maxplayers=$(sed -nr 's/^\s*max_players\s*:\s*([0-9]+)/\1/p' "${servercfgfullpath}")
+ port=$(sed -nr 's/^\s*connection_dedicated_port\s*:\s*([0-9]+)/\1/p' "${servercfgfullpath}")
+ queryport=$(sed -nr 's/^\s*query_dedicated_port\s*:\s*([0-9]+)/\1/p' "${servercfgfullpath}")
+ servername=$(sed -nr 's/^\s*lobby_name\s*:\s*"?([^"\r\n]+)"?/\1/p' "${servercfgfullpath}")
+ 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"}
+ fi
+}
+
fn_info_game_pz() {
# Config
if [ ! -f "${servercfgfullpath}" ]; then
@@ -1474,7 +1490,13 @@ fn_info_game_rust() {
serverlevel=${serverlevel:-"NOT SET"}
customlevelurl=${customlevelurl:-"NOT SET"}
worldsize=${worldsize:-"0"}
- seed=${seed:-"0"}
+ if [ -n "${seed}" ]; then
+ seed=${seed:-"0"}
+ elif [ -f "${datadir}/${selfname}-seed.txt" ]; then
+ seed=$(cat "${datadir}/${selfname}-seed.txt")
+ else
+ seed="0"
+ fi
salt=${salt:-"0"}
}
@@ -2367,10 +2389,12 @@ elif [ "${shortname}" == "bo" ]; then
fn_info_game_bo
elif [ "${shortname}" == "bt" ]; then
fn_info_game_bt
-elif [ "${shortname}" == "bt1944" ]; then
- fn_info_game_bt1944
+elif [ "${shortname}" == "btl" ]; then
+ fn_info_game_btl
elif [ "${shortname}" == "cd" ]; then
fn_info_game_cd
+elif [ "${shortname}" == "ck" ]; then
+ fn_info_game_ck
elif [ "${shortname}" == "cmw" ]; then
fn_info_game_cmw
elif [ "${shortname}" == "cod" ]; then
@@ -2425,8 +2449,6 @@ elif [ "${shortname}" == "mom" ]; then
fn_info_game_mom
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
@@ -2515,6 +2537,8 @@ elif [ "${shortname}" == "wmc" ]; then
fn_info_game_wmc
elif [ "${shortname}" == "wurm" ]; then
fn_info_game_wurm
+elif [ "${engine}" == "prism3d" ]; then
+ fn_info_game_prism3d
elif [ "${engine}" == "source" ] || [ "${engine}" == "goldsrc" ]; then
fn_info_game_source
elif [ "${engine}" == "unreal2" ]; then
@@ -2522,27 +2546,24 @@ elif [ "${engine}" == "unreal2" ]; then
fi
# External IP address
-if [ -z "${extip}" ]; then
+# Cache external IP address for 24 hours
+if [ -f "${tmpdir}/extip.txt" ]; then
+ if [ "$(find "${tmpdir}/extip.txt" -mmin +1440)" ]; then
+ rm -f "${tmpdir:?}/extip.txt"
+ fi
+fi
+
+if [ ! -f "${tmpdir}/extip.txt" ]; then
extip="$(curl --connect-timeout 10 -s https://api.ipify.org 2> /dev/null)"
exitcode=$?
- # Should ifconfig.co return an error will use last known IP.
- if [ ${exitcode} -eq 0 ]; then
- if [[ "${extip}" != *"DOCTYPE"* ]]; then
- echo -e "${extip}" > "${tmpdir}/extip.txt"
- else
- if [ -f "${tmpdir}/extip.txt" ]; then
- extip="$(cat "${tmpdir}/extip.txt")"
- else
- fn_print_error_nl "Unable to get external IP"
- fi
- fi
+ # if curl passes add extip to externalip.txt
+ if [ "${exitcode}" != "0" ]; then
+ echo "Unable to get external IP address"
else
- if [ -f "${tmpdir}/extip.txt" ]; then
- extip="$(cat "${tmpdir}/extip.txt")"
- else
- fn_print_error_nl "Unable to get external IP"
- fi
+ echo "${extip}" > "${tmpdir}/extip.txt"
fi
+else
+ extip="$(cat "${tmpdir}/extip.txt")"
fi
# Alert IP address
diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh
index f4f67b120b..5478987f1c 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" "nec" "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" "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"
@@ -669,7 +669,7 @@ fn_info_message_ports_edit() {
fi
done
# engines/games that require editing the start parameters.
- local ports_edit_array=("av" "col" "fctr" "goldsrc" "hw" "iw3.0" "ioquake3" "qfusion" "rust" "scpsl" "scpslsm" "sol" "spark" "source" "unreal4" "arma3" "dayz" "unt" "vh")
+ local ports_edit_array=("av" "ck" "col" "fctr" "goldsrc" "hw" "iw3.0" "ioquake3" "qfusion" "rust" "scpsl" "scpslsm" "sol" "spark" "source" "unreal4" "arma3" "dayz" "unt" "vh")
for port_edit in "${ports_edit_array[@]}"; do
if [ "${engine}" == "${port_edit}" ] || [ "${gamename}" == "${port_edit}" ] || [ "${shortname}" == "${port_edit}" ]; then
startparameterslocation="${configdirserver}"
@@ -773,7 +773,7 @@ fn_port() {
portname="${1}"
porttype="${2}"
portprotocol="${3}"
- echo -e "${portname}\t${!porttype}\t${portprotocol}\t$(echo "${ssinfo}" | grep ${portprotocol} | grep ${!porttype} | wc -l)"
+ echo -e "${portname}\t${!porttype}\t${portprotocol}\t$(echo "${ssinfo}" | grep "${portprotocol}" | grep -c "${!porttype}")"
fi
}
@@ -861,7 +861,7 @@ fn_info_message_bt() {
} | column -s $'\t' -t
}
-fn_info_message_bt1944() {
+fn_info_message_btl() {
{
fn_port "header"
fn_port "Game" port udp
@@ -879,6 +879,14 @@ fn_info_messages_cd() {
} | column -s $'\t' -t
}
+fn_info_messages_ck() {
+ {
+ fn_port "header"
+ fn_port "Game" port udp
+ fn_port "Query" queryport udp
+ } | column -s $'\t' -t
+}
+
fn_info_message_cmw() {
fn_info_message_password_strip
{
@@ -1163,14 +1171,6 @@ fn_info_message_mta() {
} | column -s $'\t' -t
}
-fn_info_message_mumble() {
- {
- fn_port "header"
- fn_port "Voice" port udp
- fn_port "Query" queryport tcp
- } | column -s $'\t' -t
-}
-
fn_info_message_nec() {
{
fn_port "header"
@@ -1403,6 +1403,15 @@ fn_info_message_sol() {
fn_port "Files" filesport tcp
} | column -s $'\t' -t
}
+
+fn_info_message_prism3d() {
+ {
+ fn_port "header"
+ fn_port "Game" port udp
+ fn_port "Query" queryport udp
+ } | column -s $'\t' -t
+}
+
fn_info_message_source() {
{
fn_port "header"
@@ -1676,10 +1685,12 @@ fn_info_message_select_engine() {
fn_info_message_bo
elif [ "${shortname}" == "bt" ]; then
fn_info_message_bt
- elif [ "${shortname}" == "bt1944" ]; then
- fn_info_message_bt1944
+ elif [ "${shortname}" == "btl" ]; then
+ fn_info_message_btl
elif [ "${shortname}" == "cd" ]; then
fn_info_messages_cd
+ elif [ "${shortname}" == "ck" ]; then
+ fn_info_messages_ck
elif [ "${shortname}" == "csgo" ]; then
fn_info_message_csgo
elif [ "${shortname}" == "cmw" ]; then
@@ -1738,8 +1749,6 @@ fn_info_message_select_engine() {
fn_info_message_mom
elif [ "${shortname}" == "mta" ]; then
fn_info_message_mta
- elif [ "${shortname}" == "mumble" ]; then
- fn_info_message_mumble
elif [ "${shortname}" == "nec" ]; then
fn_info_message_nec
elif [ "${shortname}" == "onset" ]; then
@@ -1824,6 +1833,8 @@ fn_info_message_select_engine() {
fn_info_message_wurm
elif [ "${engine}" == "goldsrc" ]; then
fn_info_message_goldsrc
+ elif [ "${engine}" == "prism3d" ]; then
+ fn_info_message_prism3d
elif [ "${engine}" == "source" ]; then
fn_info_message_source
elif [ "${engine}" == "spark" ]; then
diff --git a/lgsm/functions/info_stats.sh b/lgsm/functions/info_stats.sh
index 93c01cf32a..0589770f69 100755
--- a/lgsm/functions/info_stats.sh
+++ b/lgsm/functions/info_stats.sh
@@ -12,7 +12,7 @@ info_distro.sh
# remove uuid that was used in v20.2.0 and below
if [ -f "${datadir}/uuid.txt" ]; then
- rm "${datadir:?}/uuid.txt"
+ rm -f "${datadir:?}/uuid.txt"
fi
# generate uuid's
diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh
index d5525c266a..35d7df7c6b 100755
--- a/lgsm/functions/install_config.sh
+++ b/lgsm/functions/install_config.sh
@@ -210,6 +210,14 @@ elif [ "${shortname}" == "armar" ]; then
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
+elif [ "${shortname}" == "ats" ]; then
+ gamedirname="AmericanTruckSimulator"
+ fn_check_cfgdir
+ array_configs+=(server_config.sii)
+ fn_fetch_default_config
+ fn_default_config_remote
+ fn_set_config_vars
+ fn_list_config_locations
elif [ "${shortname}" == "bo" ]; then
gamedirname="BallisticOverkill"
array_configs+=(config.txt)
@@ -232,8 +240,8 @@ elif [ "${shortname}" == "bt" ]; then
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
-elif [ "${shortname}" == "bt1944" ]; then
- gamedirname="Battalion1944"
+elif [ "${shortname}" == "btl" ]; then
+ gamedirname="BattalionLegacy"
fn_check_cfgdir
array_configs+=(DefaultGame.ini)
fn_fetch_default_config
@@ -289,6 +297,13 @@ elif [ "${shortname}" == "cd" ]; then
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
+elif [ "${shortname}" == "ck" ]; then
+ gamedirname="CoreKeeper"
+ array_configs+=(ServerConfig.json)
+ fn_fetch_default_config
+ fn_default_config_remote
+ fn_set_config_vars
+ fn_list_config_locations
elif [ "${shortname}" == "cod" ]; then
gamedirname="CallOfDuty"
array_configs+=(server.cfg)
@@ -444,6 +459,14 @@ elif [ "${shortname}" == "etl" ]; then
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
+elif [ "${shortname}" == "ets2" ]; then
+ gamedirname="EuroTruckSimulator2"
+ fn_check_cfgdir
+ array_configs+=(server_config.sii)
+ fn_fetch_default_config
+ fn_default_config_remote
+ fn_set_config_vars
+ fn_list_config_locations
elif [ "${shortname}" == "fctr" ]; then
gamedirname="Factorio"
array_configs+=(server-settings.json)
@@ -606,12 +629,6 @@ elif [ "${shotname}" == "mom" ]; then
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
-elif [ "${shortname}" == "mumble" ]; then
- gamedirname="Mumble"
- array_configs+=(murmur.ini)
- fn_fetch_default_config
- fn_default_config_remote
- fn_list_config_locations
elif [ "${shortname}" == "pvr" ]; then
gamedirname="PavlovVR"
fn_check_cfgdir
diff --git a/lgsm/functions/install_eula.sh b/lgsm/functions/install_eula.sh
index 5b8b4db5d3..3e51fac714 100755
--- a/lgsm/functions/install_eula.sh
+++ b/lgsm/functions/install_eula.sh
@@ -31,11 +31,9 @@ if [ -z "${autoinstall}" ]; then
fi
elif [ "${commandname}" == "START" ]; then
fn_print_info "By continuing you are indicating your agreement to the EULA."
- echo -e ""
sleep 5
else
echo -e "By using auto-install you are indicating your agreement to the EULA."
- echo -e ""
sleep 5
fi
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 61c6b131cc..e550e14550 100755
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -197,6 +197,9 @@ fn_install_server_files() {
chmodx="nochmodx" run="norun"
force="noforce"
md5="0188ae86dbc9376f11ae3032dba2d665"
+ else
+ fn_print_fail_nl "Installing ${gamename} Server failed, missing default configuration"
+ fn_script_log_fatal "Installing ${gamename} Server failed, missing default configuration"
fi
fn_fetch_file "${remote_fileurl}" "" "" "" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
fn_dl_extract "${local_filedir}" "${local_filename}" "${serverfiles}"
@@ -224,8 +227,6 @@ elif [ "${shortname}" == "pmc" ]; then
update_papermc.sh
elif [ "${shortname}" == "wmc" ] || [ "${shortname}" == "vpmc" ]; then
update_papermc.sh
-elif [ "${shortname}" == "mumble" ]; then
- update_mumble.sh
elif [ "${shortname}" == "mta" ]; then
update_mta.sh
elif [ "${shortname}" == "fctr" ]; then
@@ -235,6 +236,9 @@ elif [ "${shortname}" == "jk2" ]; then
update_jediknight2.sh
elif [ "${shortname}" == "vints" ]; then
update_vintagestory.sh
+elif [ "${shortname}" == "ut99" ]; then
+ fn_install_server_files
+ update_ut99.sh
elif [ -z "${appid}" ] || [ "${shortname}" == "ahl" ] || [ "${shortname}" == "bb" ] || [ "${shortname}" == "ns" ] || [ "${shortname}" == "sfc" ] || [ "${shortname}" == "ts" ] || [ "${shortname}" == "vs" ] || [ "${shortname}" == "zmr" ]; then
if [ "${shortname}" == "ut" ]; then
install_eula.sh
diff --git a/lgsm/functions/install_ts3db.sh b/lgsm/functions/install_ts3db.sh
index e394296de9..ed879cd287 100755
--- a/lgsm/functions/install_ts3db.sh
+++ b/lgsm/functions/install_ts3db.sh
@@ -12,13 +12,13 @@ fn_install_ts3db_mariadb() {
echo -e "copying libmariadb.so.2...\c"
cp "${serverfiles}/redist/libmariadb.so.2" "${serverfiles}"
local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "copying libmariadb.so.2"
- else
+ if [ "${exitcode}" != "0" ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "copying libmariadb.so.2"
core_exit.sh
+ else
+ fn_print_ok_eol_nl
+ fn_script_log_pass "copying libmariadb.so.2"
fi
fi
@@ -64,7 +64,7 @@ fi
install_eula.sh
echo -e ""
-echo -e "${lightyellow}Getting privilege key${default}"
+echo -e "${lightyellow}Getting Privilege Key${default}"
echo -e "================================="
fn_sleep_time
fn_print_information_nl "Save these details for later."
diff --git a/lgsm/functions/mods_core.sh b/lgsm/functions/mods_core.sh
index 7e2d097a79..8e4ade7716 100755
--- a/lgsm/functions/mods_core.sh
+++ b/lgsm/functions/mods_core.sh
@@ -10,7 +10,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
# Files and Directories.
modsdir="${lgsmdir}/mods"
modstmpdir="${modsdir}/tmp"
-extractdir="${modstmpdir}/extract"
+extractdest="${modstmpdir}/extract"
modsinstalledlist="installed-mods.txt"
modsinstalledlistfullpath="${modsdir}/${modsinstalledlist}"
@@ -25,10 +25,10 @@ fn_mod_install_files() {
fn_script_log_fatal "An issue occurred downloading ${modprettyname}"
core_exit.sh
fi
- if [ ! -d "${extractdir}" ]; then
- mkdir -p "${extractdir}"
+ if [ ! -d "${extractdest}" ]; then
+ mkdir -p "${extractdest}"
fi
- fn_dl_extract "${modstmpdir}" "${modfilename}" "${extractdir}"
+ fn_dl_extract "${modstmpdir}" "${modfilename}" "${extractdest}"
}
# Convert mod files to lowercase if needed.
@@ -39,9 +39,9 @@ fn_mod_lowercase() {
fn_sleep_time
fn_script_log_info "Converting ${modprettyname} files to lowercase"
# Total files and directories for the mod, to output to the user
- fileswc=$(find "${extractdir}" | wc -l)
+ fileswc=$(find "${extractdest}" | wc -l)
# Total uppercase files and directories for the mod, to output to the user
- filesupperwc=$(find "${extractdir}" -name '*[[:upper:]]*' | wc -l)
+ filesupperwc=$(find "${extractdest}" -name '*[[:upper:]]*' | wc -l)
fn_script_log_info "Found ${filesupperwc} uppercase files out of ${fileswc}, converting"
echo -en "Found ${filesupperwc} uppercase files out of ${fileswc}, converting..."
# Convert files and directories starting from the deepest to prevent issues (-depth argument)
@@ -63,7 +63,7 @@ fn_mod_lowercase() {
core_exit.sh
fi
fi
- done < <(find "${extractdir}" -depth -name '*[[:upper:]]*')
+ done < <(find "${extractdest}" -depth -name '*[[:upper:]]*')
fn_print_ok_eol_nl
fi
}
@@ -73,7 +73,7 @@ fn_mod_create_filelist() {
echo -en "building ${modcommand}-files.txt..."
fn_sleep_time
# ${modsdir}/${modcommand}-files.txt.
- find "${extractdir}" -mindepth 1 -printf '%P\n' > "${modsdir}/${modcommand}-files.txt"
+ find "${extractdest}" -mindepth 1 -printf '%P\n' > "${modsdir}/${modcommand}-files.txt"
local exitcode=$?
if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
@@ -93,7 +93,7 @@ fn_mod_create_filelist() {
fn_mod_copy_destination() {
echo -en "copying ${modprettyname} to ${modinstalldir}..."
fn_sleep_time
- cp -Rf "${extractdir}/." "${modinstalldir}/"
+ cp -Rf "${extractdest}/." "${modinstalldir}/"
local exitcode=$?
if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
@@ -440,7 +440,7 @@ fn_mods_create_tmp_dir() {
fn_mods_clear_tmp_dir() {
if [ -d "${modstmpdir}" ]; then
echo -en "clearing mod download directory ${modstmpdir}..."
- rm -fr "${modstmpdir:?}"
+ rm -rf "${modstmpdir:?}"
exitcode=$?
if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
@@ -742,7 +742,7 @@ fn_mod_remove_amxmodx_file() {
# if file is empty, remove it.
if [ -f "${modinstalldir}/addons/metamod/plugins.ini" ]; then
- rm "${modinstalldir}/addons/metamod/plugins.ini"
+ rm -f "${modinstalldir}/addons/metamod/plugins.ini"
fn_script_log_pass "file removed ${modinstalldir}/addons/metamod/plugins.ini because it was empty"
fi
fi
diff --git a/lgsm/functions/mods_list.sh b/lgsm/functions/mods_list.sh
index e8d583251d..a83b7e3032 100755
--- a/lgsm/functions/mods_list.sh
+++ b/lgsm/functions/mods_list.sh
@@ -72,10 +72,9 @@ steamworkslatestfile=$(curl --connect-timeout 10 -sL ${steamworksscrapeurl} | gr
steamworksdownloadurl="${steamworksscrapeurl}/${steamworkslatestfile}"
steamworksurl="${steamworksdownloadurl}"
# CS:GO Mods
-get5lastbuild=$(curl --connect-timeout 10 -sL https://ci.splewis.net/job/get5/lastSuccessfulBuild/api/json | jq -r '.artifacts[]')
-get5latestfile=$(echo -e "${get5lastbuild}" | jq -r '.fileName')
-get5latestfilepath=$(echo -e "${get5lastbuild}" | jq -r '.relativePath')
-get5url="https://ci.splewis.net/job/get5/lastSuccessfulBuild/artifact/${get5latestfilepath}"
+get5lastbuild=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))')
+get5latestfile=$(echo -e "${get5lastbuild}" | jq -r '.name')
+get5latestfilelink=$(echo -e "${get5lastbuild}" | jq -r '.browser_download_url')
csgopracticelatest=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/csgo-practice-mode/releases/latest | jq '.assets[]')
csgopracticelatestfile=$(echo -e "${csgopracticelatest}" | jq -r '.name')
csgopracticelatestlink=$(echo -e "${csgopracticelatest}" | jq -r '.browser_download_url')
@@ -89,6 +88,10 @@ movementapilatestversion=$(curl --connect-timeout 10 -s https://api.github.com/r
movementapilatestfile="MovementAPI-v${movementapilatestversion}.zip"
movementapilatestlink="https://github.com/danzayau/MovementAPI/releases/download/${movementapilatestversion}/${movementapilatestfile}"
+# Rust
+carbonrustapilatestfile="Carbon.Linux.Release.tar.gz"
+carbonrustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/CarbonCommunity/Carbon.Core/releases/tags/production_build | jq -r '.assets[]|select(.name == "Carbon.Linux.Release.tar.gz") | .browser_download_url')
+
# Oxide
oxiderustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
oxidehurtworldlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
@@ -151,7 +154,7 @@ mod_info_stripper=(MOD "stripper" "Stripper Source" "http://www.bailopan.net/str
# CS:GO Mods
mod_info_gokz=(MOD "gokz" "GOKZ" "${gokzlatestlink}" "${gokzlatestfile}" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/KZGlobalTeam/gokz" "GOKZ ${gokzlatestversion} - Implements the KZ game mode (requires SourceMod and MetaMod)")
mod_info_ttt=(MOD "ttt" "Trouble in Terrorist Town" "https://csgottt.com/downloads/ttt-latest-dev-${sourcemodversion}.zip" "ttt-latest.zip" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/Bara/TroubleinTerroristTown" "Implements the TTT game mode (requires SourceMod and MetaMod)")
-mod_info_get5=(MOD "get5" "Get 5" "${get5url}" "${get5latestfile}" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/splewis/get5" "Plugin for competitive matches/scrims (requires SourceMod and MetaMod)")
+mod_info_get5=(MOD "get5" "Get 5" "${get5latestfilelink}" "${get5latestfile}" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/splewis/get5" "Plugin for competitive matches/scrims (requires SourceMod and MetaMod)")
mod_info_prac=(MOD "prac" "csgo practice mode" "${csgopracticelatestlink}" "${csgopracticelatestfile}" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/splewis/csgo-practice-mode" "Practice Mode is a sourcemod plugin for helping players/teams run practices.")
mod_info_pug=(MOD "pug" "PUG" "${csgopuglatestlink}" "${csgopuglatestfile}" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://github.com/splewis/csgo-pug-setup" "plugin for setting up private pug/10man games")
mod_info_dhook=(MOD "dhook" "dhook" "https://forums.alliedmods.net/attachment.php?attachmentid=190123&d=1625050030" "dhooks-2.2.0d17.zip" "0" "LowercaseOff" "${systemdir}" "cfg;addons/sourcemod/configs;" "ENGINES" "Counter-Strike: Global Offensive;" "NOTGAMES" "https://forums.alliedmods.net/showpost.php?p=2588686&postcount=589" "DHooks 2.2.0 - Required for GOKZ")
@@ -188,6 +191,9 @@ mod_info_darkrp=(MOD "darkrp" "DarkRP" "https://github.com/FPtje/DarkRP/archive/
mod_info_darkrpmodification=(MOD "darkrpmodification" "DarkRP Modification" "https://github.com/FPtje/darkrpmodification/archive/master.zip" "darkrpmodification-master.zip" "0" "LowercaseOff" "${systemdir}/addons" "NOUPDATE" "ENGINES" "Garry's Mod;" "NOTGAMES" "http://darkrp.com" "Customize DarkRP settings")
mod_info_laserstool=(MOD "laserstool" "Laser STool" "https://github.com/dvdvideo1234/laserstool/archive/main.zip" "laserstool-main.zip" "0" "LowercaseOn" "${systemdir}/addons" "OVERWRITE" "ENGINES" "Garry's Mod;" "NOTGAMES" "https://github.com/dvdvideo1234/LaserSTool" "Scripted tool that spawns laser entities, simulates light rays and even kill players")
+# Rust
+mod_info_rustcarbon=(MOD "rustcarbon" "Carbon for Rust" "${carbonrustlatestlink}" "Carbon.Linux.Release.tar.gz" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Rust;" "NOTGAMES" "carbonmod.gg" "Allows for the use of both plugins and harmony mods")
+
# Oxidemod
mod_info_rustoxide=(MOD "rustoxide" "Oxide for Rust" "${oxiderustlatestlink}" "Oxide.Rust-linux.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Rust;" "NOTGAMES" "https://umod.org/games/rust" "Allows for the use of plugins")
mod_info_hwoxide=(MOD "hwoxide" "Oxide for Hurtworld" "${oxidehurtworldlatestlink}" "Oxide.Hurtworld.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Hurtworld;" "NOTGAMES" "https://umod.org/games/hurtworld" "Allows for the use of plugins")
@@ -200,4 +206,4 @@ mod_info_valheimplus=(MOD "valheimplus" "Valheim PLUS" "${valeimpluslatestlink}"
mod_info_bepinexvh=(MOD "bepinexvh" "BepInEx Valheim" "${bepinexvhlatestlink}" "denikson-BepInExPack_Valheim.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/" "Unity / XNA game patcher and plugin framework")
# REQUIRED: Set all mods info into the global array
-mods_global_array=("${mod_info_metamod[@]}" "${mod_info_base_amxx[@]}" "${mod_info_cs_amxx[@]}" "${mod_info_dod_amxx[@]}" "${mod_info_tfc_amxx[@]}" "${mod_info_ns_amxx[@]}" "${mod_info_ts_amxx[@]}" "${mod_info_metamodsource[@]}" "${mod_info_sourcemod[@]}" "${mod_info_steamworks[@]}" "${mod_info_gokz[@]}" "${mod_info_ttt[@]}" "${mod_info_get5[@]}" "${mod_info_prac[@]}" "${mod_info_pug[@]}" "${mod_info_dhook[@]}" "${mod_info_movement[@]}" "${mod_info_cleaner[@]}" "${mod_info_ulib[@]}" "${mod_info_ulx[@]}" "${mod_info_utime[@]}" "${mod_info_uclip[@]}" "${mod_info_acf[@]}" "${mod_info_acf_missiles[@]}" "${mod_info_acf_sweps[@]}" "${mod_info_advdupe2[@]}" "${mod_info_pac3[@]}" "${mod_info_wiremod[@]}" "${mod_info_wiremodextras[@]}" "${mod_info_darkrp[@]}" "${mod_info_darkrpmodification[@]}" "${mod_info_rustoxide[@]}" "${mod_info_hwoxide[@]}" "${mod_info_sdtdoxide[@]}" "${mod_info_advduplicator[@]}" "${mod_info_trackassemblytool[@]}" "${mod_info_physpropertiesadv[@]}" "${mod_info_controlsystemse2[@]}" "${mod_info_e2pistontiming[@]}" "${mod_info_propcannontool[@]}" "${mod_info_gearassemblytool[@]}" "${mod_info_spinnertool[@]}" "${mod_info_surfacefrictiontool[@]}" "${mod_info_magneticdipole[@]}" "${mod_info_environmentorganizer[@]}" "${mod_info_precision_alignment[@]}" "${mod_info_improved_stacker[@]}" "${mod_info_improved_weight[@]}" "${mod_info_improved_antinoclip[@]}" "${mod_info_laserstool[@]}" "${mod_info_valheimplus[@]}" "${mod_info_bepinexvh[@]}")
+mods_global_array=("${mod_info_metamod[@]}" "${mod_info_base_amxx[@]}" "${mod_info_cs_amxx[@]}" "${mod_info_dod_amxx[@]}" "${mod_info_tfc_amxx[@]}" "${mod_info_ns_amxx[@]}" "${mod_info_ts_amxx[@]}" "${mod_info_metamodsource[@]}" "${mod_info_sourcemod[@]}" "${mod_info_steamworks[@]}" "${mod_info_gokz[@]}" "${mod_info_ttt[@]}" "${mod_info_get5[@]}" "${mod_info_prac[@]}" "${mod_info_pug[@]}" "${mod_info_dhook[@]}" "${mod_info_movement[@]}" "${mod_info_cleaner[@]}" "${mod_info_ulib[@]}" "${mod_info_ulx[@]}" "${mod_info_utime[@]}" "${mod_info_uclip[@]}" "${mod_info_acf[@]}" "${mod_info_acf_missiles[@]}" "${mod_info_acf_sweps[@]}" "${mod_info_advdupe2[@]}" "${mod_info_pac3[@]}" "${mod_info_wiremod[@]}" "${mod_info_wiremodextras[@]}" "${mod_info_darkrp[@]}" "${mod_info_darkrpmodification[@]}" "${mod_info_rustcarbon[@]}" "${mod_info_rustoxide[@]}" "${mod_info_hwoxide[@]}" "${mod_info_sdtdoxide[@]}" "${mod_info_advduplicator[@]}" "${mod_info_trackassemblytool[@]}" "${mod_info_physpropertiesadv[@]}" "${mod_info_controlsystemse2[@]}" "${mod_info_e2pistontiming[@]}" "${mod_info_propcannontool[@]}" "${mod_info_gearassemblytool[@]}" "${mod_info_spinnertool[@]}" "${mod_info_surfacefrictiontool[@]}" "${mod_info_magneticdipole[@]}" "${mod_info_environmentorganizer[@]}" "${mod_info_precision_alignment[@]}" "${mod_info_improved_stacker[@]}" "${mod_info_improved_weight[@]}" "${mod_info_improved_antinoclip[@]}" "${mod_info_laserstool[@]}" "${mod_info_valheimplus[@]}" "${mod_info_bepinexvh[@]}")
diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh
index 43f748bccb..265607acd5 100755
--- a/lgsm/functions/query_gamedig.sh
+++ b/lgsm/functions/query_gamedig.sh
@@ -7,7 +7,7 @@
# https://github.com/sonicsnes/node-gamedig
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-
+querystatus="2"
# Check if gamedig and jq are installed.
if [ "$(command -v gamedig 2> /dev/null)" ] && [ "$(command -v jq 2> /dev/null)" ]; then
@@ -81,7 +81,7 @@ if [ "$(command -v gamedig 2> /dev/null)" ] && [ "$(command -v jq 2> /dev/null)"
# server version.
if [ "${querytype}" == "teamspeak3" ]; then
- dversion=$(echo "${gamedigraw}" | jq -re '.raw.virtualserver_version')
+ gdversion=$(echo "${gamedigraw}" | jq -re '.raw.virtualserver_version')
else
gdversion=$(echo "${gamedigraw}" | jq -re '.raw.version')
fi
diff --git a/lgsm/functions/update_factorio.sh b/lgsm/functions/update_factorio.sh
index 2c8bf0d018..548d53b159 100644
--- a/lgsm/functions/update_factorio.sh
+++ b/lgsm/functions/update_factorio.sh
@@ -7,47 +7,44 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-fn_update_factorio_dl() {
- fn_fetch_file "https://factorio.com/get-download/${downloadbranch}/headless/${factorioarch}" "" "" "" "${tmpdir}" "factorio_headless_${factorioarch}-${remotebuild}.tar.xz" "" "norun" "noforce" "nohash"
- fn_dl_extract "${tmpdir}" "factorio_headless_${factorioarch}-${remotebuild}.tar.xz" "${tmpdir}"
- echo -e "copying to ${serverfiles}...\c"
- cp -R "${tmpdir}/factorio/"* "${serverfiles}"
- local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Copying to ${serverfiles}"
- fn_clear_tmp
- else
- fn_print_fail_eol_nl
- fn_script_log_fatal "Copying to ${serverfiles}"
- core_exit.sh
- fn_clear_tmp
- fi
+fn_update_dl() {
+ # Download and extract files to serverfiles
+ fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "nochmodx" "norun" "force" "nohash"
+ fn_dl_extract "${tmpdir}" "factorio_headless_${factorioarch}-${remotebuildversion}.tar.xz" "${serverfiles}" "factorio"
+ fn_clear_tmp
}
-fn_update_factorio_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
- # Uses executable to find local build.
- cd "${executabledir}" || exit
- if [ -f "${executable}" ]; then
+ # Uses executable to get local build.
+ if [ -d "${exutabledir}" ]; then
+ cd "${executabledir}" || exit
localbuild=$(${executable} --version | grep "Version:" | awk '{print $2}')
- fn_print_ok "Checking for update: ${remotelocation}: checking local build"
- fn_script_log_pass "Checking local build"
- else
+ fi
+ 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"
- fn_print_error "Checking for update: ${remotelocation}: checking local build"
- fn_script_log_error "Checking local build"
+ else
+ fn_print_ok "Checking local build: ${remotelocation}"
+ fn_script_log_pass "Checking local build"
fi
}
-fn_update_factorio_remotebuild() {
- # Gets remote build info.
- remotebuild=$(curl -s "https://factorio.com/get-download/${downloadbranch}/headless/${factorioarch}" | grep -o '[0-9]\.[0-9]\{1,\}\.[0-9]\{1,\}' | head -1)
+fn_update_remotebuild() {
+ # Get remote build info.
+ apiurl="https://factorio.com/get-download/${branch}/headless/${factorioarch}"
+ remotebuildresponse=$(curl -s "${apiurl}")
+ remotebuildversion=$(echo "${remotebuildresponse}" | grep -o '[0-9]\.[0-9]\{1,\}\.[0-9]\{1,\}' | head -1)
+ remotebuildurl="https://factorio.com/get-download/${branch}/headless/${factorioarch}"
+ remotebuildfilename="factorio_headless_${factorioarch}-${remotebuildversion}.tar.xz"
+
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -57,7 +54,7 @@ fn_update_factorio_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -65,101 +62,107 @@ fn_update_factorio_remotebuild() {
fi
}
-fn_update_factorio_compare() {
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- # Removes dots so if statement can compare version numbers.
- fn_print_dots "Checking for update: ${remotelocation}"
- localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
- remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
- if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ] || [ "${forceupdate}" == "1" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
fn_print_ok_nl "Checking for update: ${remotelocation}"
echo -en "\n"
echo -e "Update available"
echo -e "* Local build: ${red}${localbuild} ${factorioarch}${default}"
- echo -e "* Remote build: ${green}${remotebuild} ${factorioarch}${default}"
+ echo -e "* Remote build: ${green}${remotebuildversion} ${factorioarch}${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} ${factorioarch}"
- fn_script_log_info "Remote build: ${remotebuild} ${factorioarch}"
- if [ -v "${branch}" ]; then
+ fn_script_log_info "Remote build: ${remotebuildversion} ${factorioarch}"
+ if [ -n "${branch}" ]; then
fn_script_log_info "Branch: ${branch}"
fi
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ fn_script_log_info "${localbuild} > ${remotebuildversion}"
- unset updateonstart
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- fn_update_factorio_dl
- if [ "${requirerestart}" == "1" ]; then
+ 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
+ sleep 5
+ command_stop.sh
+ fn_firstcommand_reset
+ fi
+ # If server started.
+ else
+ fn_print_restart_warning
exitbypass=1
- command_start.sh
+ command_stop.sh
fn_firstcommand_reset
exitbypass=1
- command_stop.sh
+ fn_update_dl
+ exitbypass=1
+ command_start.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_factorio_dl
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
+ unset exitbypass
+ date +%s > "${lockdir}/lastupdate.lock"
+ alert="update"
+ elif [ "${commandname}" == "CHECK-UPDATE" ]; then
+ alert="check-update"
fi
- unset exitbypass
- date +%s > "${lockdir}/lastupdate.lock"
- alert="update"
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} ${factorioarch}${default}"
- echo -e "* Remote build: ${green}${remotebuild} ${factorioarch}${default}"
- if [ -v "${branch}" ]; then
+ echo -e "* Remote build: ${green}${remotebuildversion} ${factorioarch}${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} ${factorioarch}"
- fn_script_log_info "Remote build: ${remotebuild} ${factorioarch}"
- if [ -v "${branch}" ]; then
+ fn_script_log_info "Remote build: ${remotebuildversion} ${factorioarch}"
+ 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="factorio.com"
-
# Game server architecture.
factorioarch="linux64"
-if [ "${branch}" == "stable" ]; then
- downloadbranch="stable"
-elif [ "${branch}" == "experimental" ]; then
- downloadbranch="latest"
-else
- downloadbranch="${branch}"
-fi
+# The location where the builds are checked and downloaded.
+remotelocation="factorio.com"
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_factorio_remotebuild
- fn_update_factorio_dl
+ fn_update_remotebuild
+ fn_update_dl
else
fn_print_dots "Checking for update"
fn_print_dots "Checking for update: ${remotelocation}"
fn_script_log_info "Checking for update: ${remotelocation}"
- fn_update_factorio_localbuild
- fn_update_factorio_remotebuild
- fn_update_factorio_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/lgsm/functions/update_jediknight2.sh b/lgsm/functions/update_jediknight2.sh
index 421bc543f6..7560f01580 100644
--- a/lgsm/functions/update_jediknight2.sh
+++ b/lgsm/functions/update_jediknight2.sh
@@ -3,81 +3,45 @@
# Author: Daniel Gibbs
# Contributors: http://linuxgsm.com/contrib
# Website: https://linuxgsm.com
-# Description: Handles updating of jk2 servers.
+# Description: Handles updating of Jedi Knight 2 servers.
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-fn_update_jk2_dl() {
- fn_fetch_file "https://github.com/mvdevs/jk2mv/releases/download/${remotebuild}/jk2mv-v${remotebuild}-dedicated.zip" "" "" "" "${tmpdir}" "jk2mv-${remotebuild}-dedicated.zip" "" "norun" "noforce" "nohash"
- fn_dl_extract "${tmpdir}" "jk2mv-${remotebuild}-dedicated.zip" "${tmpdir}/jk2mv-v${remotebuild}-dedicated"
- echo -e "copying to ${serverfiles}...\c"
- cp -R "${tmpdir}/jk2mv-v${remotebuild}-dedicated/linux-amd64/jk2mvded"* "${serverfiles}/GameData"
- local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Copying to ${serverfiles}"
- fn_clear_tmp
- else
- fn_print_fail_eol_nl
- fn_script_log_fatal "Copying to ${serverfiles}"
- core_exit.sh
- fi
+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" "linux-amd64"
+ fn_clear_tmp
}
-fn_update_jk2_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
- # Uses log file to gather info.
- # Log is generated and cleared on startup but filled on shutdown.
- requirerestart=1
- localbuild=$(grep "\"version\"" "${consolelogdir}"/* 2> /dev/null | sed 's/.*://' | awk '{print $1}' | head -n 1)
- if [ -z "${localbuild}" ]; then
- fn_print_error "Checking local build: ${remotelocation}"
- fn_print_error_nl "Checking local build: ${remotelocation}: no log files containing version info"
- fn_print_info_nl "Checking local build: ${remotelocation}: forcing server restart"
- fn_script_log_error "No log files containing version info"
- fn_script_log_info "Forcing server restart"
-
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
- sleep 3
- exitbypass=1
- command_stop.sh
- fn_firstcommand_reset
- # If server started.
- else
- exitbypass=1
- command_stop.sh
- fn_firstcommand_reset
- fi
- fi
-
- if [ -z "${localbuild}" ]; then
- localbuild=$(grep Version "$(ls -tr "${consolelogdir}"/* 2> /dev/null)" | tail -1 | sed 's/.*Version //')
- fi
-
+ # 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
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}: waiting for local build: missing local build info"
+ 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_jk2_remotebuild() {
- # Gets remote build info.
- remotebuild=$(curl -s "https://api.github.com/repos/mvdevs/jk2mv/releases/latest" | grep dedicated.zip | tail -1 | awk -F"/" '{ print $8 }')
+fn_update_remotebuild() {
+ # Get remote build info.
+ apiurl="https://api.github.com/repos/mvdevs/jk2mv/releases/latest"
+ remotebuildresponse=$(curl -s "${apiurl}")
+ remotebuildfilename=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("dedicated.zip")) | .name')
+ remotebuildurl=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("dedicated.zip")) | .browser_download_url')
+ remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '.tag_name')
+
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -87,7 +51,7 @@ fn_update_jk2_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -95,80 +59,105 @@ fn_update_jk2_remotebuild() {
fi
}
-fn_update_jk2_compare() {
- # Removes dots so if statement can compare version numbers.
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
- remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
- if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ] || [ "${forceupdate}" == "1" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
fn_print_ok_nl "Checking for update: ${remotelocation}"
echo -en "\n"
echo -e "Update available"
- echo -e "* Local build: ${red}${localbuild} ${jk2arch}${default}"
- echo -e "* Remote build: ${green}${remotebuild} ${jk2arch}${default}"
+ 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} ${jk2arch}"
- fn_script_log_info "Remote build: ${remotebuild} ${jk2arch}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ 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}"
- unset updateonstart
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- fn_update_jk2_dl
- if [ "${requirerestart}" == "1" ]; then
+ 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
+ sleep 5
+ command_stop.sh
+ fn_firstcommand_reset
+ fi
+ # If server started.
+ else
+ fn_print_restart_warning
exitbypass=1
- command_start.sh
+ command_stop.sh
fn_firstcommand_reset
exitbypass=1
- command_stop.sh
+ fn_update_dl
+ exitbypass=1
+ command_start.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_jk2_dl
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
+ unset exitbypass
+ date +%s > "${lockdir}/lastupdate.lock"
+ alert="update"
+ elif [ "${commandname}" == "CHECK-UPDATE" ]; then
+ alert="check-update"
fi
- date +%s > "${lockdir}/lastupdate.lock"
- alert="update"
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} ${jk2arch}${default}"
- echo -e "* Remote build: ${green}${remotebuild} ${jk2arch}${default}"
+ 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} ${jk2arch}"
- fn_script_log_info "Remote build: ${remotebuild} ${jk2arch}"
+ 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="jk2mv.org"
-
-# Game server architecture.
-jk2arch="x64"
+remotelocation="github.com"
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_jk2_remotebuild
- fn_update_jk2_dl
+ 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_jk2_localbuild
- fn_update_jk2_remotebuild
- fn_update_jk2_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh
index d20b98ef48..ace4713bc0 100644
--- a/lgsm/functions/update_minecraft.sh
+++ b/lgsm/functions/update_minecraft.sh
@@ -3,66 +3,57 @@
# Author: Daniel Gibbs
# Contributors: http://linuxgsm.com/contrib
# Website: https://linuxgsm.com
-# Description: Handles updating of Minecraft servers.
+# Description: Handles updating of Minecraft: Java Edition servers.
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-fn_update_minecraft_dl() {
- # Generate link to version manifest json.
- remotebuildlink=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r --arg branch ${branch} --arg mcversion ${remotebuild} '.versions | .[] | select(.type==$branch and .id==$mcversion) | .url')
- # Generate link to server.jar
- remotebuildurl=$(curl -s "${remotebuildlink}" | jq -r '.downloads.server.url')
-
- fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "minecraft_server.${remotebuild}.jar" "" "norun" "noforce" "nohash"
- echo -e "copying to ${serverfiles}...\c"
- cp "${tmpdir}/minecraft_server.${remotebuild}.jar" "${serverfiles}/minecraft_server.jar"
- local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Copying to ${serverfiles}"
- chmod u+x "${serverfiles}/minecraft_server.jar"
- fn_clear_tmp
- else
- fn_print_fail_eol_nl
- fn_script_log_fatal "Copying to ${serverfiles}"
- fn_clear_tmp
- core_exit.sh
- fi
+fn_update_dl() {
+ # Download and extract files to serverfiles
+ fn_fetch_file "${remotebuildurl}" "" "" "" "${serverfiles}" "minecraft_server.jar" "chmodx" "norun" "noforce" "nohash"
}
-fn_update_minecraft_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
- # Uses executable to find local build.
- cd "${executabledir}" || exit
- if [ -f "minecraft_server.jar" ]; then
+ # Uses executable to get local build.
+ if [ -d "${exutabledir}" ]; then
+ cd "${executabledir}" || exit
localbuild=$(unzip -p "minecraft_server.jar" version.json | jq -r '.id')
+ fi
+ 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"
- else
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}"
- fn_script_log_error "Checking local build"
fi
}
-fn_update_minecraft_remotebuild() {
- # Gets remote build info.
+fn_update_remotebuild() {
+ # Get remote build info.
+ apiurl="https://launchermeta.mojang.com/mc/game/version_manifest.json"
+ remotebuildresponse=$(curl -s "${apiurl}")
# Latest release.
if [ "${branch}" == "release" ] && [ "${mcversion}" == "latest" ]; then
- remotebuild=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.latest.release')
+ remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '.latest.release')
# Latest snapshot.
elif [ "${branch}" == "snapshot" ] && [ "${mcversion}" == "latest" ]; then
- remotebuild=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.latest.snapshot')
+ remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '.latest.snapshot')
# Specific release/snapshot.
else
- remotebuild=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r --arg branch ${branch} --arg mcversion ${mcversion} '.versions | .[] | select(.type==$branch and .id==$mcversion) | .id')
+ remotebuildversion=$(echo "${remotebuildresponse}" | jq -r --arg branch "${branch}" --arg mcversion "${mcversion}" '.versions | .[] | select(.type==$branch and .id==$mcversion) | .id')
fi
+ # Generate link to version manifest json.
+ remotebuildmanifest=$(echo "${remotebuildresponse}" | jq -r --arg branch "${branch}" --arg mcversion "${remotebuildversion}" '.versions | .[] | select(.type==$branch and .id==$mcversion) | .url')
+ # Generate link to server.jar
+ remotebuildurl=$(curl -s "${remotebuildmanifest}" | jq -r '.downloads.server.url')
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -72,7 +63,7 @@ fn_update_minecraft_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -80,70 +71,90 @@ fn_update_minecraft_remotebuild() {
fi
}
-fn_update_minecraft_compare() {
- # Removes dots so if statement can compare version numbers.
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- if [ "${localbuild}" != "${remotebuild}" ] || [ "${forceupdate}" == "1" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
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}${remotebuild}${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: ${remotebuild}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ fn_script_log_info "Remote build: ${remotebuildversion}"
+ if [ -n "${branch}" ]; then
+ fn_script_log_info "Branch: ${branch}"
+ fi
+ fn_script_log_info "${localbuild} > ${remotebuildversion}"
- unset updateonstart
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- fn_update_minecraft_dl
- if [ "${requirerestart}" == "1" ]; then
+ 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
+ sleep 5
+ command_stop.sh
+ fn_firstcommand_reset
+ fi
+ # If server started.
+ else
+ fn_print_restart_warning
exitbypass=1
- command_start.sh
+ command_stop.sh
fn_firstcommand_reset
exitbypass=1
- command_stop.sh
+ fn_update_dl
+ exitbypass=1
+ command_start.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_minecraft_dl
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
+ unset exitbypass
+ date +%s > "${lockdir}/lastupdate.lock"
+ alert="update"
+ elif [ "${commandname}" == "CHECK-UPDATE" ]; then
+ alert="check-update"
fi
- unset exitbypass
- date +%s > "${lockdir}/lastupdate.lock"
- alert="update"
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}${remotebuild}${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: ${remotebuild}"
+ 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
}
@@ -151,13 +162,13 @@ fn_update_minecraft_compare() {
remotelocation="mojang.com"
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_minecraft_remotebuild
- fn_update_minecraft_dl
+ fn_update_remotebuild
+ fn_update_dl
else
fn_print_dots "Checking for update"
fn_print_dots "Checking for update: ${remotelocation}"
fn_script_log_info "Checking for update: ${remotelocation}"
- fn_update_minecraft_localbuild
- fn_update_minecraft_remotebuild
- fn_update_minecraft_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/lgsm/functions/update_minecraft_bedrock.sh b/lgsm/functions/update_minecraft_bedrock.sh
index 163e076aab..cf61e3a2b1 100644
--- a/lgsm/functions/update_minecraft_bedrock.sh
+++ b/lgsm/functions/update_minecraft_bedrock.sh
@@ -7,90 +7,60 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-#random number for userAgent
-randnum=$((1 + RANDOM % 5000))
-
-fn_update_minecraft_dl() {
- fn_fetch_file "https://minecraft.azureedge.net/bin-linux/bedrock-server-${remotebuild}.zip" "" "" "" "${tmpdir}" "bedrock_server.${remotebuild}.zip"
+fn_update_dl() {
+ fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "bedrock_server.${remotebuildversion}.zip"
echo -e "Extracting to ${serverfiles}...\c"
if [ "${firstcommandname}" == "INSTALL" ]; then
- unzip -oq "${tmpdir}/bedrock_server.${remotebuild}.zip" -x "server.properties" -d "${serverfiles}"
+ unzip -oq "${tmpdir}/bedrock_server.${remotebuildversion}.zip" -x "server.properties" -d "${serverfiles}"
else
- unzip -oq "${tmpdir}/bedrock_server.${remotebuild}.zip" -x "permissions.json" "server.properties" "allowlist.json" -d "${serverfiles}"
+ unzip -oq "${tmpdir}/bedrock_server.${remotebuildversion}.zip" -x "permissions.json" "server.properties" "allowlist.json" -d "${serverfiles}"
fi
local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Extracting to ${serverfiles}"
- chmod u+x "${serverfiles}/bedrock_server"
- fn_clear_tmp
- else
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
- fn_script_log_fatal "Extracting to ${serverfiles}"
- fn_clear_tmp
+ fn_script_log_fatal "Extracting ${local_filename}"
+ if [ -f "${lgsmlog}" ]; then
+ echo -e "${extractcmd}" >> "${lgsmlog}"
+ fi
+ echo -e "${extractcmd}"
core_exit.sh
+ else
+ fn_print_ok_eol_nl
+ fn_script_log_pass "Extracting ${local_filename}"
fi
}
-fn_update_minecraft_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
- # Uses log file to gather info.
- # Log is generated and cleared on startup but filled on shutdown.
- requirerestart=1
- localbuild=$(grep Version "${consolelogdir}"/* 2> /dev/null | tail -1 | sed 's/.*Version //')
- if [ -z "${localbuild}" ]; then
- fn_print_error "Checking local build: ${remotelocation}"
- fn_print_error_nl "Checking local build: ${remotelocation}: no log files containing version info"
- fn_print_info_nl "Checking local build: ${remotelocation}: forcing server restart"
- fn_script_log_error "No log files containing version info"
- fn_script_log_info "Forcing server restart"
-
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
- sleep 3
- exitbypass=1
- command_stop.sh
- fn_firstcommand_reset
- # If server started.
- else
- exitbypass=1
- command_stop.sh
- fn_firstcommand_reset
- fi
- fi
-
- if [ -z "${localbuild}" ]; then
- localbuild=$(grep Version "$(ls -tr "${consolelogdir}"/* 2> /dev/null)" | tail -1 | sed 's/.*Version //')
- fi
-
+ # Uses log file to get local build.
+ localbuild=$(grep Version "${consolelogdir}"/* 2> /dev/null | tail -1 | sed 's/.*Version //' | tr -d '\000-\011\013-\037')
if [ -z "${localbuild}" ]; then
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}: waiting for local build: missing local build info"
+ 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_minecraft_remotebuild() {
- # Gets remote build info.
+fn_update_remotebuild() {
+ # Random number for userAgent
+ randnum=$((1 + RANDOM % 5000))
+ # Get remote build info.
if [ "${mcversion}" == "latest" ]; then
- remotebuild=$(curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -Ls -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.${randnum}.212 Safari/537.36" "https://www.minecraft.net/en-us/download/server/bedrock/" | grep -o 'https://minecraft.azureedge.net/bin-linux/[^"]*' | sed 's/.*\///' | grep -Eo "[.0-9]+[0-9]")
+ remotebuildversion=$(curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -Ls -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.${randnum}.212 Safari/537.36" "https://www.minecraft.net/en-us/download/server/bedrock/" | grep -o 'https://minecraft.azureedge.net/bin-linux/[^"]*' | sed 's/.*\///' | grep -Eo "[.0-9]+[0-9]")
else
- remotebuild="${mcversion}"
+ remotebuildversion="${mcversion}"
fi
+ remotebuildurl="https://minecraft.azureedge.net/bin-linux/bedrock-server-${remotebuildversion}.zip"
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -100,7 +70,7 @@ fn_update_minecraft_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -108,63 +78,90 @@ fn_update_minecraft_remotebuild() {
fi
}
-fn_update_minecraft_compare() {
- # Removes dots so if statement can compare version numbers.
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
- remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
- if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ] || [ "${forceupdate}" == "1" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
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}${remotebuild}${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: ${remotebuild}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ fn_script_log_info "Remote build: ${remotebuildversion}"
+ if [ -n "${branch}" ]; then
+ fn_script_log_info "Branch: ${branch}"
+ fi
+ fn_script_log_info "${localbuild} > ${remotebuildversion}"
- unset updateonstart
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- fn_update_minecraft_dl
- if [ "${requirerestart}" == "1" ]; then
+ 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
+ sleep 5
+ command_stop.sh
+ fn_firstcommand_reset
+ fi
+ # If server started.
+ else
+ fn_print_restart_warning
exitbypass=1
- command_start.sh
+ command_stop.sh
fn_firstcommand_reset
exitbypass=1
- command_stop.sh
+ fn_update_dl
+ exitbypass=1
+ command_start.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_minecraft_dl
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
+ unset exitbypass
+ date +%s > "${lockdir}/lastupdate.lock"
+ alert="update"
+ elif [ "${commandname}" == "CHECK-UPDATE" ]; then
+ alert="check-update"
fi
- unset exitbypass
- date +%s > "${lockdir}/lastupdate.lock"
- alert="update"
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}${remotebuild}${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: ${remotebuild}"
+ 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
}
@@ -172,13 +169,13 @@ fn_update_minecraft_compare() {
remotelocation="minecraft.net"
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_minecraft_remotebuild
- fn_update_minecraft_dl
+ fn_update_remotebuild
+ fn_update_dl
else
fn_print_dots "Checking for update"
fn_print_dots "Checking for update: ${remotelocation}"
fn_script_log_info "Checking for update: ${remotelocation}"
- fn_update_minecraft_localbuild
- fn_update_minecraft_remotebuild
- fn_update_minecraft_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/lgsm/functions/update_mta.sh b/lgsm/functions/update_mta.sh
index 61216b8094..5252c13280 100644
--- a/lgsm/functions/update_mta.sh
+++ b/lgsm/functions/update_mta.sh
@@ -7,103 +7,39 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-fn_update_mta_dl() {
- fn_fetch_file "http://linux.mtasa.com/dl/multitheftauto_linux_x64.tar.gz" "" "" "" "${tmpdir}" "multitheftauto_linux_x64.tar.gz" "" "norun" "noforce" "nohash"
- mkdir "${tmpdir}/multitheftauto_linux_x64"
- fn_dl_extract "${tmpdir}" "multitheftauto_linux_x64.tar.gz" "${tmpdir}/multitheftauto_linux_x64"
- echo -e "copying to ${serverfiles}...\c"
- cp -R "${tmpdir}/multitheftauto_linux_x64/multitheftauto_linux_x64/"* "${serverfiles}"
- local exitcode=$?
- fn_clear_tmp
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Copying to ${serverfiles}"
- chmod u+x "${serverfiles}/mta-server64"
- else
- fn_print_fail_eol_nl
- fn_script_log_fatal "Copying to ${serverfiles}"
- core_exit.sh
- fi
+fn_update_dl() {
+ # Download and extract files to tmpdir.
+ fn_fetch_file "http://linux.mtasa.com/dl/multitheftauto_linux_x64.tar.gz" "" "" "" "${tmpdir}" "multitheftauto_linux_x64.tar.gz" "nochmodx" "norun" "force" "nohash"
+ fn_dl_extract "${tmpdir}" "multitheftauto_linux_x64.tar.gz" "${serverfiles}" "multitheftauto_linux_x64"
}
-fn_update_mta_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
- # Uses log file to gather info.
- # Gives time for log file to generate.
- requirerestart=1
- if [ ! -f "${serverfiles}/mods/deathmatch/logs/server.log" ]; then
- fn_print_error "Checking local build: ${remotelocation}"
- fn_print_error_nl "Checking local build: ${remotelocation}: no log files containing version info"
- fn_print_info_nl "Checking local build: ${remotelocation}: forcing server restart"
- fn_script_log_error "No log files containing version info"
- fn_script_log_info "Forcing server restart"
- exitbypass=1
- command_stop.sh
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
- totalseconds=0
- # Check again, allow time to generate logs.
- while [ ! -f "${serverfiles}/mods/deathmatch/logs/server.log" ]; do
- sleep 1
- fn_print_info "Checking local build: ${remotelocation}: waiting for log file: ${totalseconds}"
- if [ -v "${loopignore}" ]; then
- loopignore=1
- fn_script_log_info "Waiting for log file to generate"
- fi
-
- if [ "${totalseconds}" -gt "120" ]; then
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}: waiting for log file: missing log file"
- fn_script_log_error "Missing log file"
- fn_script_log_error "Set localbuild to 0"
- fi
-
- totalseconds=$((totalseconds + 1))
- done
- fi
-
+ # Uses log file to get local build.
+ localbuild=$(grep "= Multi Theft Auto: San Andreas v" "${serverfiles}/mods/deathmatch/logs/server.log" | awk '{ print $7 }' | sed -r 's/^.{1}//' | tail -1)
if [ -z "${localbuild}" ]; then
- localbuild=$(grep "= Multi Theft Auto: San Andreas v" "${serverfiles}/mods/deathmatch/logs/server.log" | awk '{ print $7 }' | sed -r 's/^.{1}//' | tail -1)
- fi
-
- if [ -z "${localbuild}" ]; then
- # Gives time for var to generate.
- totalseconds=0
- for seconds in {1..120}; do
- fn_print_info "Checking local build: ${remotelocation}: waiting for local build: ${totalseconds}"
- if [ -z "${loopignore}" ]; then
- loopignore=1
- fn_script_log_info "Waiting for local build to generate"
- fi
- localbuild=$(grep "= Multi Theft Auto: San Andreas v" "${serverfiles}/mods/deathmatch/logs/server.log" | awk '{ print $7 }' | sed -r 's/^.{1}//' | tail -1)
- if [ "${localbuild}" ]; then
- break
- fi
- sleep 1
- totalseconds=$((totalseconds + 1))
- done
- fi
-
- if [ -z "${localbuild}" ]; then
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}: waiting for local build: missing local build info"
+ 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_mta_remotebuild() {
- # Gets remote build info.
- remotebuild=$(curl -s "https://api.github.com/repos/multitheftauto/mtasa-blue/releases/latest" | jq -r '.tag_name')
+fn_update_remotebuild() {
+ # Get remote build info.
+ apiurl="https://api.github.com/repos/multitheftauto/mtasa-blue/releases/latest"
+ remotebuildresponse=$(curl -s "${apiurl}")
+ remotebuildfilename=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .name')
+ remotebuildurl=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .browser_download_url')
+ remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '.tag_name')
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -113,7 +49,7 @@ fn_update_mta_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -121,69 +57,96 @@ fn_update_mta_remotebuild() {
fi
}
-fn_update_mta_compare() {
- # Removes dots so if statement can compare version numbers.
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
- remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
- if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ] || [ "${forceupdate}" == "1" ]; then
- fn_print_ok_nl "Checking for update: ${remotelocation}"
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
if [ "${forceupdate}" == "1" ]; then
# forceupdate bypasses checks, useful for small build changes
mtaupdatestatus="forced"
else
mtaupdatestatus="available"
fi
+ fn_print_ok_nl "Checking for update: ${remotelocation}"
echo -en "\n"
- echo -e "Update ${mtaupdatestatus}:"
+ echo -e "Update available"
echo -e "* Local build: ${red}${localbuild}${default}"
- echo -e "* Remote build: ${green}${remotebuild}${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: ${remotebuild}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ fn_script_log_info "Remote build: ${remotebuildversion}"
+ if [ -n "${branch}" ]; then
+ fn_script_log_info "Branch: ${branch}"
+ fi
+ fn_script_log_info "${localbuild} > ${remotebuildversion}"
- unset updateonstart
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- fn_update_mta_dl
- if [ "${requirerestart}" == "1" ]; then
+ 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
+ sleep 5
+ command_stop.sh
+ fn_firstcommand_reset
+ fi
+ # If server started.
+ else
+ fn_print_restart_warning
exitbypass=1
- command_start.sh
+ command_stop.sh
fn_firstcommand_reset
exitbypass=1
- command_stop.sh
+ fn_update_dl
+ exitbypass=1
+ command_start.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_mta_dl
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
+ unset exitbypass
+ date +%s > "${lockdir}/lastupdate.lock"
+ alert="update"
+ elif [ "${commandname}" == "CHECK-UPDATE" ]; then
+ alert="check-update"
fi
- unset exitbypass
- date +%s > "${lockdir}/lastupdate.lock"
- alert="update"
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}${remotebuild}${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: ${remotebuild}"
+ 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
}
@@ -191,13 +154,13 @@ fn_update_mta_compare() {
remotelocation="linux.mtasa.com"
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_mta_remotebuild
- fn_update_mta_dl
+ fn_update_remotebuild
+ fn_update_dl
else
fn_print_dots "Checking for update"
fn_print_dots "Checking for update: ${remotelocation}"
fn_script_log_info "Checking for update: ${remotelocation}"
- fn_update_mta_localbuild
- fn_update_mta_remotebuild
- fn_update_mta_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/lgsm/functions/update_mumble.sh b/lgsm/functions/update_mumble.sh
deleted file mode 100644
index 77e64d3c07..0000000000
--- a/lgsm/functions/update_mumble.sh
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/bash
-# LinuxGSM update_mumble.sh module
-# Author: Daniel Gibbs
-# Contributors: http://linuxgsm.com/contrib
-# Website: https://linuxgsm.com
-# Description: Handles updating of Mumble servers.
-
-functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-
-fn_update_mumble_dl() {
- fn_fetch_file "https://github.com/mumble-voip/mumble/releases/download/${remotebuild}/murmur-static_${mumblearch}-${remotebuild}.tar.bz2" "" "" "" "${tmpdir}" "murmur-static_${mumblearch}-${remotebuild}.tar.bz2" "" "norun" "noforce" "nohash"
- fn_dl_extract "${tmpdir}" "murmur-static_${mumblearch}-${remotebuild}.tar.bz2" "${tmpdir}"
- echo -e "copying to ${serverfiles}...\c"
- cp -R "${tmpdir}/murmur-static_${mumblearch}-${remotebuild}/"* "${serverfiles}"
- local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Copying to ${serverfiles}"
- fn_clear_tmp
- else
- fn_print_fail_eol_nl
- fn_script_log_fatal "Copying to ${serverfiles}"
- fn_clear_tmp
- core_exit.sh
- fi
-}
-
-fn_update_mumble_localbuild() {
- # Gets local build info.
- fn_print_dots "Checking local build: ${remotelocation}"
- # Uses executable to find local build.
- cd "${executabledir}" || exit
- if [ -f "${executable}" ]; then
- localbuild=$(${executable} -version 2>&1 > /dev/null | awk '{print $5}')
- fn_print_ok "Checking local build: ${remotelocation}"
- fn_script_log_pass "Checking local build"
- else
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}"
- fn_script_log_error "Checking local build"
- fi
-}
-
-fn_update_mumble_remotebuild() {
- # Gets remote build info.
- remotebuild=$(curl -s "https://api.github.com/repos/mumble-voip/mumble/releases/latest" | grep 'murmur-static_x86.*\.bz2"' | tail -1 | awk -F"/" '{ print $8 }')
- if [ "${firstcommandname}" != "INSTALL" ]; then
- fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
- fn_print_fail "Checking remote build: ${remotelocation}"
- fn_script_log_fatal "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 "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
- fn_print_failure "Unable to get remote build"
- fn_script_log_fatal "Unable to get remote build"
- core_exit.sh
- fi
- fi
-}
-
-fn_update_mumble_compare() {
- # Removes dots so if statement can compare version numbers.
- fn_print_dots "Checking for update: ${remotelocation}"
- localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
- remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
- if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ] || [ "${forceupdate}" == "1" ]; then
- fn_print_ok_nl "Checking for update: ${remotelocation}"
- echo -en "\n"
- echo -e "Update available"
- echo -e "* Local build: ${red}${localbuild} ${mumblearch}${default}"
- echo -e "* Remote build: ${green}${remotebuild} ${mumblearch}${default}"
- echo -en "\n"
- fn_script_log_info "Update available"
- fn_script_log_info "Local build: ${localbuild} ${mumblearch}"
- fn_script_log_info "Remote build: ${remotebuild} ${mumblearch}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
-
- unset updateonstart
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- fn_update_mumble_dl
- if [ "${requirerestart}" == "1" ]; then
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
- exitbypass=1
- 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_mumble_dl
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
- fi
- unset exitbypass
- date +%s > "${lockdir}/lastupdate.lock"
- alert="update"
- 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} ${mumblearch}${default}"
- echo -e "* Remote build: ${green}${remotebuild} ${mumblearch}${default}"
- echo -en "\n"
- fn_script_log_info "No update available"
- fn_script_log_info "Local build: ${localbuild} ${mumblearch}"
- fn_script_log_info "Remote build: ${remotebuild} ${mumblearch}"
- fi
-}
-
-# The location where the builds are checked and downloaded.
-remotelocation="mumble.info"
-
-# Game server architecture.
-mumblearch="x86"
-
-if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_mumble_remotebuild
- fn_update_mumble_dl
-else
- fn_print_dots "Checking for update: ${remotelocation}"
- fn_script_log_info "Checking for update: ${remotelocation}"
- fn_update_mumble_localbuild
- fn_update_mumble_remotebuild
- fn_update_mumble_compare
-fi
diff --git a/lgsm/functions/update_papermc.sh b/lgsm/functions/update_papermc.sh
index 302e0baac6..f48a66e39f 100644
--- a/lgsm/functions/update_papermc.sh
+++ b/lgsm/functions/update_papermc.sh
@@ -5,115 +5,167 @@
# Website: https://linuxgsm.com
# Description: Handles updating of PaperMC and Waterfall servers.
-commandname="UPDATE"
-commandaction="Update"
-function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-fn_update_papermc_dl() {
- # get build info
- builddata=$(curl -s "https://${remotelocation}/api/v2/projects/${paperproject}/versions/${paperversion}/builds/${remotebuild}" | jq '.downloads')
- buildname=$(echo -e "${builddata}" | jq -r '.application.name')
- buildsha256=$(echo -e "${builddata}" | jq -r '.application.sha256')
-
- fn_fetch_file "https://${remotelocation}/api/v2/projects/${paperproject}/versions/${paperversion}/builds/${remotebuild}/downloads/${buildname}" "" "" "" "${tmpdir}" "${buildname}" "nochmodx" "norun" "force" "${buildsha256}"
-
- echo -e "copying to ${serverfiles}...\c"
- cp -f "${tmpdir}/${buildname}" "${serverfiles}/${executable#./}"
- local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Copying to ${serverfiles}"
- chmod u+x "${serverfiles}/${executable#./}"
- echo "${remotebuild}" > "${localversionfile}"
- fn_clear_tmp
- else
- fn_print_fail_eol_nl
- fn_script_log_fatal "Copying to ${serverfiles}"
- core_exit.sh
- fi
+fn_update_dl() {
+ # Download and extract files to serverfiles
+ fn_fetch_file "${remotebuildurl}" "" "" "" "${serverfiles}" "${executable#./}" "chmodx" "norun" "force" "${remotebuildhash}"
+ echo "${remotebuildversion}" > "${serverfiles}/build.txt"
}
-fn_update_papermc_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
- fn_print_dots "Checking for update: ${remotelocation}: checking local build"
- sleep 0.5
-
- if [ ! -f "${localversionfile}" ]; then
- fn_print_error_nl "Checking for update: ${remotelocation}: checking local build: no local build files"
- fn_script_log_error "No local build file found"
- else
- localbuild=$(head -n 1 "${localversionfile}")
- fi
-
+ fn_print_dots "Checking local build: ${remotelocation}"
+ # Uses version file to get local build.
+ localbuild=$(head -n 1 "${serverfiles}/build.txt")
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"
- fn_print_error "Checking for update: ${remotelocation}: waiting for local build: missing local build info"
- fn_script_log_error "Missing local build info, Set localbuild to 0"
else
- fn_print_ok "Checking for update: ${remotelocation}: checking local build"
+ fn_print_ok "Checking local build: ${remotelocation}"
fn_script_log_pass "Checking local build"
fi
- sleep 0.5
}
-fn_update_papermc_remotebuild() {
- # Gets remote build info.
- remotebuild=$(curl -s "https://${remotelocation}/api/v2/projects/${paperproject}/versions/${paperversion}" | jq -r '.builds[-1]')
-
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
- fn_print_failure "Unable to get remote build"
- fn_script_log_fatal "Unable to get remote build"
- core_exit.sh
+fn_update_remotebuild() {
+ # Get remote build info.
+ apiurl="https://papermc.io/api/v2/projects/"
+ # Get list of projects.
+ remotebuildresponse=$(curl -s "${apiurl}")
+ # Get list of Minecraft versions for project.
+ remotebuildresponseproject=$(curl -s "${apiurl}/${paperproject}")
+ # Get latest Minecraft: Java Edition version or user specified version.
+ if [ "${mcversion}" == "latest" ]; then
+ remotebuildmcversion=$(echo "${remotebuildresponseproject}" | jq -r '.versions[-1]')
else
- fn_print_ok "Got build for version ${paperversion}"
- fn_script_log "Got build for version ${paperversion}"
+ # Checks if user specified version exists.
+ remotebuildmcversion=$(echo "${remotebuildresponseproject}" | jq -r -e --arg mcversion "${mcversion}" '.versions[]|select(. == $mcversion)')
+ if [ -z "${remotebuildmcversion}" ]; then
+ # user passed version does not exist
+ fn_print_error_nl "Version ${mcversion} not available from ${remotelocation}"
+ fn_script_log_error "Version ${mcversion} not available from ${remotelocation}"
+ core_exit.sh
+ fi
+ fi
+ # Get list of paper builds for specific Minecraft: Java Edition version.
+ remotebuildresponsemcversion=$(curl -s "${apiurl}/paper/versions/${remotebuildmcversion}")
+ # Get latest paper build for specific Minecraft: Java Edition version.
+ remotebuildpaperversion=$(echo "${remotebuildresponsemcversion}" | jq -r '.builds[-1]')
+ # Get various info about the paper build.
+ remotebuildresponseversion=$(curl -s "${apiurl}/${paperproject}/versions/${remotebuildmcversion}/builds/${remotebuildpaperversion}")
+ remotebuildfilename=$(echo "${remotebuildresponseversion}" | jq -r '.downloads.application.name')
+ remotebuildhash=$(echo "${remotebuildresponseversion}" | jq -r '.downloads.application.sha256')
+ remotebuildurl="${apiurl}/${paperproject}/versions/${remotebuildmcversion}/builds/${remotebuildpaperversion}/downloads/${remotebuildfilename}"
+ # Combines Minecraft: Java Edition version and paper build. e.g 1.16.5-456
+ remotebuildversion="${remotebuildmcversion}-${remotebuildpaperversion}"
+
+ 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_fatal "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_fatal "Unable to get remote build"
+ core_exit.sh
+ fi
fi
}
-fn_update_papermc_compare() {
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- sleep 0.5
- if [ "${localbuild}" != "${remotebuild}" ] || [ "${forceupdate}" == "1" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
fn_print_ok_nl "Checking for update: ${remotelocation}"
echo -en "\n"
- echo -e "Update available for version ${paperversion}"
+ echo -e "Update available"
echo -e "* Local build: ${red}${localbuild}${default}"
- echo -e "* Remote build: ${green}${remotebuild}${default}"
- fn_script_log_info "Update available for version ${paperversion}"
- fn_script_log_info "Local build: ${localbuild}"
- fn_script_log_info "Remote build: ${remotebuild}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
- echo -en "\n"
- echo -en "applying update.\r"
+ 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"
-
- unset updateonstart
-
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- fn_update_papermc_dl
- # If server started.
- else
- exitbypass=1
- command_stop.sh
- exitbypass=1
- fn_update_papermc_dl
- exitbypass=1
- command_start.sh
+ 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
+ sleep 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}/lastupdate.lock"
+ alert="update"
+ elif [ "${commandname}" == "CHECK-UPDATE" ]; then
+ alert="check-update"
fi
- alert="update"
alert.sh
else
fn_print_ok_nl "Checking for update: ${remotelocation}"
echo -en "\n"
- echo -e "No update available for version ${paperversion}"
+ echo -e "No update available"
echo -e "* Local build: ${green}${localbuild}${default}"
- echo -e "* Remote build: ${green}${remotebuild}${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: ${remotebuild}"
+ 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
}
@@ -128,35 +180,14 @@ elif [ "${shortname}" == "wmc" ]; then
paperproject="waterfall"
fi
-localversionfile="${datadir}/${paperproject}-version"
-
-# check if datadir was created, if not create it
-if [ ! -d "${datadir}" ]; then
- mkdir -p "${datadir}"
-fi
-
-# check version if the user did set one and check it
-if [ "${mcversion}" == "latest" ]; then
- paperversion=$(curl -s "https://${remotelocation}/api/v2/projects/${paperproject}" | jq -r '.versions[-1]')
-else
- # check if version there for the download from the api
- paperversion=$(curl -s "https://${remotelocation}/api/v2/projects/${paperproject}" | jq -r -e --arg mcversion "${mcversion}" '.versions[]|select(. == $mcversion)')
- if [ -z "${paperversion}" ]; then
- # user passed version does not exist
- fn_print_error_nl "Version ${mcversion} not available from ${remotelocation}"
- fn_script_log_error "Version ${mcversion} not available from ${remotelocation}"
- core_exit.sh
- fi
-fi
-
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_papermc_remotebuild
- fn_update_papermc_dl
+ fn_update_remotebuild
+ fn_update_dl
else
+ fn_print_dots "Checking for update"
fn_print_dots "Checking for update: ${remotelocation}"
fn_script_log_info "Checking for update: ${remotelocation}"
- sleep 0.5
- fn_update_papermc_localbuild
- fn_update_papermc_remotebuild
- fn_update_papermc_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/lgsm/functions/update_ts3.sh b/lgsm/functions/update_ts3.sh
index be5c9e06f5..e76609b2dd 100644
--- a/lgsm/functions/update_ts3.sh
+++ b/lgsm/functions/update_ts3.sh
@@ -7,116 +7,48 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-fn_update_ts3_dl() {
- ts3latestdata=$(curl -s "https://www.${remotelocation}/versions/server.json" | jq '.linux')
- if [ "${ts3arch}" == "amd64" ]; then
- remotebuildurl=$(echo -e "${ts3latestdata}" | jq -r '.x86_64.mirrors."teamspeak.com"')
- remotehash=$(echo -e "${ts3latestdata}" | jq -r '.x86_64.checksum')
- elif [ "${ts3arch}" == "x86" ]; then
- remotebuildurl=$(echo -e "${ts3latestdata}" | jq -r '.x86.mirrors."teamspeak.com"')
- remotehash=$(echo -e "${ts3latestdata}" | jq -r '.x86.checksum')
- fi
- remotefile=$(basename "${remotebuildurl}")
- fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotefile}" "" "norun" "noforce" "${remotehash}"
- fn_dl_extract "${tmpdir}" "${remotefile}" "${tmpdir}"
- echo -e "copying to ${serverfiles}...\c"
- cp -R "${tmpdir}/teamspeak3-server_linux_${ts3arch}/"* "${serverfiles}"
- local exitcode=$?
- if [ "${exitcode}" == "0" ]; then
- fn_print_ok_eol_nl
- fn_script_log_pass "Copying to ${serverfiles}"
- fn_clear_tmp
- else
- fn_print_fail_eol_nl
- fn_script_log_fatal "Copying to ${serverfiles}"
- fn_clear_tmp
- core_exit.sh
- fi
+fn_update_dl() {
+ # Download and extract files to serverfiles
+ fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "nochmodx" "norun" "force" "${remotebuildhash}"
+ fn_dl_extract "${tmpdir}" "${remotebuildfilename}" "${serverfiles}" "teamspeak3-server_linux_${ts3arch}"
+ fn_clear_tmp
}
-fn_update_ts3_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
- # Uses log file to gather info.
- # Gives time for log file to generate.
- requirerestart=1
- if [ ! -d "${serverfiles}/logs" ] || [ -z "$(find "${serverfiles}/logs/"* -name 'ts3server*_0.log' 2> /dev/null)" ]; then
- fn_print_error "Checking local build: ${remotelocation}"
- fn_print_error_nl "Checking local build: ${remotelocation}: no log files containing version info"
- fn_print_info_nl "Checking local build: ${remotelocation}: forcing server restart"
- fn_script_log_error "No log files containing version info"
- fn_script_log_info "Forcing server restart"
- exitbypass=1
- command_stop.sh
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
- totalseconds=0
- # Check again, allow time to generate logs.
- while [ ! -d "${serverfiles}/logs" ] || [ -z "$(find "${serverfiles}/logs/"* -name 'ts3server*_0.log' 2> /dev/null)" ]; do
- sleep 1
- fn_print_info "Checking local build: ${remotelocation}: waiting for log file: ${totalseconds}"
- if [ -v "${loopignore}" ]; then
- loopignore=1
- fn_script_log_info "Waiting for log file to generate"
- fi
-
- if [ "${totalseconds}" -gt "120" ]; then
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}: waiting for log file: missing log file"
- fn_script_log_error "Missing log file"
- fn_script_log_error "Set localbuild to 0"
- fi
-
- totalseconds=$((totalseconds + 1))
- done
- fi
-
- if [ -z "${localbuild}" ]; then
- localbuild=$(cat "$(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1)" | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | tail -1)
- fi
-
- if [ -z "${localbuild}" ]; then
- # Gives time for var to generate.
- totalseconds=0
- for seconds in {1..120}; do
- fn_print_info "Checking local build: ${remotelocation}: waiting for local build: ${totalseconds}"
- if [ -z "${loopignore}" ]; then
- loopignore=1
- fn_script_log_info "Waiting for local build to generate"
- fi
- localbuild=$(cat "$(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1)" | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | tail -1)
- if [ "${localbuild}" ] || [ "${seconds}" == "120" ]; then
- break
- fi
- sleep 1
- totalseconds=$((totalseconds + 1))
- done
- fi
-
+ # Uses log file to get local build.
+ localbuild=$(grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" "$(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1)" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | tail -1)
if [ -z "${localbuild}" ]; then
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}: waiting for local build: missing local build info"
+ 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_ts3_remotebuild() {
- # Gets remote build info.
- ts3latestdata=$(curl -s "https://www.${remotelocation}/versions/server.json" | jq '.linux')
+fn_update_remotebuild() {
+ # Get remote build info.
+ apiurl="https://www.teamspeak.com/versions/server.json"
+ remotebuildresponse=$(curl -s "${apiurl}")
+
if [ "${ts3arch}" == "amd64" ]; then
- remotebuild=$(echo -e "${ts3latestdata}" | jq -r '.x86_64.version')
+ remotebuildurl=$(echo -e "${remotebuildresponse}" | jq -r '.linux.x86_64.mirrors."teamspeak.com"')
+ remotebuildhash=$(echo -e "${remotebuildresponse}" | jq -r '.linux.x86_64.checksum')
elif [ "${ts3arch}" == "x86" ]; then
- remotebuild=$(echo -e "${ts3latestdata}" | jq -r '.x86.version')
+ remotebuildurl=$(echo -e "${remotebuildresponse}" | jq -r '.linux.x86.mirrors."teamspeak.com"')
+ remotebuildhash=$(echo -e "${remotebuildresponse}" | jq -r '.linux.x86.checksum')
fi
+ remotebuildfilename=$(basename "${remotebuildurl}")
+ remotebuildversion=$(echo -e "${remotebuildresponse}" | jq -r '.linux.x86_64.version')
+
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -126,7 +58,7 @@ fn_update_ts3_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -134,34 +66,45 @@ fn_update_ts3_remotebuild() {
fi
}
-fn_update_ts3_compare() {
- # Removes dots so if statement can compare version numbers.
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
- remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
- if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ] || [ "${forceupdate}" == "1" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
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}${remotebuild}${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: ${remotebuild}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ 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
- exitbypass=1
- fn_update_ts3_dl
- if [ "${requirerestart}" == "1" ]; then
+ fn_update_dl
+ if [ "${localbuild}" == "0" ]; then
exitbypass=1
command_start.sh
fn_firstcommand_reset
exitbypass=1
+ sleep 5
command_stop.sh
fn_firstcommand_reset
fi
@@ -172,7 +115,7 @@ fn_update_ts3_compare() {
command_stop.sh
fn_firstcommand_reset
exitbypass=1
- fn_update_ts3_dl
+ fn_update_dl
exitbypass=1
command_start.sh
fn_firstcommand_reset
@@ -189,11 +132,24 @@ fn_update_ts3_compare() {
echo -en "\n"
echo -e "No update available"
echo -e "* Local build: ${green}${localbuild}${default}"
- echo -e "* Remote build: ${green}${remotebuild}${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: ${remotebuild}"
+ 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
}
@@ -213,13 +169,13 @@ fi
remotelocation="teamspeak.com"
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_ts3_remotebuild
- fn_update_ts3_dl
+ fn_update_remotebuild
+ fn_update_dl
else
fn_print_dots "Checking for update"
fn_print_dots "Checking for update: ${remotelocation}"
fn_script_log_info "Checking for update: ${remotelocation}"
- fn_update_ts3_localbuild
- fn_update_ts3_remotebuild
- fn_update_ts3_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/lgsm/functions/update_ut99.sh b/lgsm/functions/update_ut99.sh
new file mode 100644
index 0000000000..b6db783e27
--- /dev/null
+++ b/lgsm/functions/update_ut99.sh
@@ -0,0 +1,163 @@
+#!/bin/bash
+# LinuxGSM command_ut99.sh module
+# Author: Daniel Gibbs
+# Contributors: http://linuxgsm.com/contrib
+# Website: https://linuxgsm.com
+# Description: Handles updating of Unreal Tournament 99 servers.
+
+functionselfname="$(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}"
+ echo "${remotebuildversion}" > "${serverfiles}/build.txt"
+ fn_clear_tmp
+}
+
+fn_update_localbuild() {
+ # Gets local build info.
+ fn_print_dots "Checking local build: ${remotelocation}"
+ # Uses build file to get local build.
+ localbuild=$(head -n 1 "${serverfiles}/build.txt")
+ 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/OldUnreal/UnrealTournamentPatches/releases/latest"
+ remotebuildresponse=$(curl -s "${apiurl}")
+ remotebuildfilename=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .name')
+ remotebuildurl=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .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_fatal "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_fatal "Unable to get remote build"
+ core_exit.sh
+ fi
+ fi
+}
+
+fn_update_compare() {
+ fn_print_dots "Checking for update: ${remotelocation}"
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
+ 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
+ sleep 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}/lastupdate.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
+ 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
diff --git a/lgsm/functions/update_vintagestory.sh b/lgsm/functions/update_vintagestory.sh
index 9053849222..84e3192c9b 100755
--- a/lgsm/functions/update_vintagestory.sh
+++ b/lgsm/functions/update_vintagestory.sh
@@ -7,46 +7,49 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-fn_update_vs_dl() {
- # get version info for download
- remotebuildresponse=$(curl -s "${apiurl}" | jq --arg version "${remotebuild}" '.[$version].server')
- remotebuildfile=$(echo -e "${remotebuildresponse}" | jq -r '.filename')
- remotebuildlink=$(echo -e "${remotebuildresponse}" | jq -r '.urls.cdn')
- remotebuildmd5=$(echo -e "${remotebuildresponse}" | jq -r '.md5')
-
+fn_update_dl() {
# Download and extract files to serverfiles
- fn_fetch_file "${remotebuildlink}" "" "" "" "${tmpdir}" "${remotebuildfile}" "nochmodx" "norun" "force" "${remotebuildmd5}"
- fn_dl_extract "${tmpdir}" "${remotebuildfile}" "${serverfiles}"
+ fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "nochmodx" "norun" "force" "${remotebuildhash}"
+ fn_dl_extract "${tmpdir}" "${remotebuildfilename}" "${serverfiles}"
fn_clear_tmp
}
-fn_update_vs_localbuild() {
+fn_update_localbuild() {
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
- # Uses executable to find local build.
- cd "${executabledir}" || exit
- if [ -f "${executable}" ]; then
+ # Uses executable to get local build.
+ if [ -d "${exutabledir}" ]; then
+ cd "${executabledir}" || exit
localbuild="$(${preexecutable} ${executable} --version | sed '/^[[:space:]]*$/d')"
+ fi
+ 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"
- else
- localbuild="0"
- fn_print_error "Checking local build: ${remotelocation}"
- fn_script_log_error "Checking local build"
fi
}
-fn_update_vs_remotebuild() {
+fn_update_remotebuild() {
+ # Get remote build info.
+ apiurl="http://api.vintagestory.at/stable-unstable.json"
+ remotebuildresponse=$(curl -s "${apiurl}")
if [ "${branch}" == "stable" ]; then
- remotebuild=$(curl -s "${apiurl}" | jq -r '[ to_entries[] ] | .[].key' | grep -Ev "\-rc|\-pre" | sort -r -V | head -1)
+ remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '[ to_entries[] ] | .[].key' | grep -Ev "\-rc|\-pre" | sort -r -V | head -1)
else
- remotebuild=$(curl -s "${apiurl}" | jq -r '[ to_entries[] ] | .[].key' | grep -E "\-rc|\-pre" | sort -r -V | head -1)
+ remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '[ to_entries[] ] | .[].key' | grep -E "\-rc|\-pre" | sort -r -V | head -1)
fi
+ remotebuildfilename=$(echo "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.filename')
+ remotebuildurl=$(echo "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.urls.cdn')
+ remotebuildhash=$(echo "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.md5')
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
- # Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ # Checks if remotebuildversion variable has been set.
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_fail "Checking remote build: ${remotelocation}"
fn_script_log_fatal "Checking remote build"
core_exit.sh
@@ -56,7 +59,7 @@ fn_update_vs_remotebuild() {
fi
else
# Checks if remotebuild variable has been set.
- if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ]; then
+ if [ -z "${remotebuildversion}" ] || [ "${remotebuildversion}" == "null" ]; then
fn_print_failure "Unable to get remote build"
fn_script_log_fatal "Unable to get remote build"
core_exit.sh
@@ -64,85 +67,104 @@ fn_update_vs_remotebuild() {
fi
}
-fn_update_vs_compare() {
- # Removes dots so if statement can compare version numbers.
+fn_update_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
- if [ "${localbuild}" != "${remotebuild}" ] || [ "${forceupdate}" == "1" ]; then
+ if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
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}${remotebuild}${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: ${remotebuild}"
- fn_script_log_info "${localbuild} > ${remotebuild}"
+ fn_script_log_info "Remote build: ${remotebuildversion}"
+ if [ -n "${branch}" ]; then
+ fn_script_log_info "Branch: ${branch}"
+ fi
+ fn_script_log_info "${localbuild} > ${remotebuildversion}"
- unset updateonstart
- check_status.sh
- # If server stopped.
- if [ "${status}" == "0" ]; then
- exitbypass=1
- fn_update_vs_dl
- if [ "${requirerestart}" == "1" ]; then
+ 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
+ sleep 5
+ command_stop.sh
+ fn_firstcommand_reset
+ fi
+ # If server started.
+ else
+ fn_print_restart_warning
exitbypass=1
- command_start.sh
+ command_stop.sh
fn_firstcommand_reset
exitbypass=1
- command_stop.sh
+ fn_update_dl
+ exitbypass=1
+ command_start.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_vs_dl
- exitbypass=1
- command_start.sh
- fn_firstcommand_reset
+ unset exitbypass
+ date +%s > "${lockdir}/lastupdate.lock"
+ alert="update"
+ elif [ "${commandname}" == "CHECK-UPDATE" ]; then
+ alert="check-update"
fi
- unset exitbypass
- date +%s > "${lockdir}/lastupdate.lock"
- alert="update"
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}${remotebuild}${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: ${remotebuild}"
+ 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="vintagestory.at"
-apiurl="http://api.${remotelocation}/stable-unstable.json"
if [ "${firstcommandname}" == "INSTALL" ]; then
- fn_update_vs_remotebuild
- fn_update_vs_dl
+ fn_update_remotebuild
+ fn_update_dl
else
fn_print_dots "Checking for update"
fn_print_dots "Checking for update: ${remotelocation}"
fn_script_log_info "Checking for update: ${remotelocation}"
- fn_update_vs_localbuild
- fn_update_vs_remotebuild
- fn_update_vs_compare
+ fn_update_localbuild
+ fn_update_remotebuild
+ fn_update_compare
fi
diff --git a/linuxgsm.sh b/linuxgsm.sh
index 4344b68de6..3d8b7f376a 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# Project: Linux Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
-# License: MIT License, Copyright (c) 2020 Daniel Gibbs
+# License: MIT License, see LICENSE.md
# Purpose: Linux Game Server Management Script
# Contributors: https://linuxgsm.com/contrib
# Documentation: https://docs.linuxgsm.com
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v23.1.0"
+version="v23.2.0"
shortname="core"
gameservername="core"
commandname="CORE"
@@ -113,7 +113,7 @@ fn_bootstrap_fetch_file() {
# Download will fail if downloads a html file.
if [ -f "${local_filedir}/${local_filename}" ]; then
if [ -n "$(head "${local_filedir}/${local_filename}" | grep "DOCTYPE")" ]; then
- rm "${local_filedir:?}/${local_filename:?}"
+ rm -f "${local_filedir:?}/${local_filename:?}"
local exitcode=2
fi
fi
@@ -167,8 +167,8 @@ fn_bootstrap_fetch_file() {
fn_bootstrap_fetch_file_github() {
github_file_url_dir="${1}"
github_file_url_name="${2}"
- # If master branch will currently running LinuxGSM version to prevent "version mixing". This is ignored if a fork.
- if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "GameServerManager" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then
+ # By default modules will be downloaded from the version release to prevent potential version mixing. Only update-lgsm will allow an update.
+ if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "GameServerManagers" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then
remote_fileurl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${version}/${github_file_url_dir}/${github_file_url_name}"
remote_fileurl_backup="https://bitbucket.org/${githubuser}/${githubrepo}/raw/${version}/${github_file_url_dir}/${github_file_url_name}"
else
@@ -512,9 +512,7 @@ else
# Enables ANSI colours from core_messages.sh. Can be disabled with ansi=off.
fn_ansi_loader
- # Prevents running of core_exit.sh for Travis-CI.
- if [ "${travistest}" != "1" ]; then
- getopt=$1
- core_getopt.sh
- fi
+
+ getopt=$1
+ core_getopt.sh
fi
diff --git a/package-lock.json b/package-lock.json
index d0deca3ecd..b592f5beaf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "linuxgsm",
- "lockfileVersion": 2,
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
@@ -12,9 +12,9 @@
}
},
"node_modules/@pkgr/utils": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.0.tgz",
- "integrity": "sha512-7dIJ9CRVzBnqyEl7diUHPUFJf/oty2SeoVzcMocc5PeOUDK9KGzvgIBjGRRzzlRDaOjh3ADwH0WeibQvi3ls2Q==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz",
+ "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==",
"dev": true,
"dependencies": {
"cross-spawn": "^7.0.3",
@@ -127,9 +127,9 @@
"dev": true
},
"node_modules/open": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz",
+ "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==",
"dev": true,
"dependencies": {
"define-lazy-prop": "^2.0.0",
@@ -159,9 +159,9 @@
"dev": true
},
"node_modules/prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
+ "version": "2.8.4",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
+ "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
@@ -230,13 +230,13 @@
}
},
"node_modules/synckit": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.3.tgz",
- "integrity": "sha512-1goXnDYNJlKwCM37f5MTzRwo+8SqutgVtg2d37D6YnHHT4E3IhQMRfKiGdfTZU7LBlI6T8inCQUxnMBFHrbqWw==",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
+ "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
"dev": true,
"dependencies": {
- "@pkgr/utils": "^2.3.0",
- "tslib": "^2.4.0"
+ "@pkgr/utils": "^2.3.1",
+ "tslib": "^2.5.0"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -256,9 +256,9 @@
}
},
"node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
+ "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==",
"dev": true
},
"node_modules/which": {
@@ -276,191 +276,5 @@
"node": ">= 8"
}
}
- },
- "dependencies": {
- "@pkgr/utils": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.0.tgz",
- "integrity": "sha512-7dIJ9CRVzBnqyEl7diUHPUFJf/oty2SeoVzcMocc5PeOUDK9KGzvgIBjGRRzzlRDaOjh3ADwH0WeibQvi3ls2Q==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "is-glob": "^4.0.3",
- "open": "^8.4.0",
- "picocolors": "^1.0.0",
- "tiny-glob": "^0.2.9",
- "tslib": "^2.4.0"
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
- "dev": true
- },
- "globalyzer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
- "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
- "dev": true
- },
- "globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true
- },
- "is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "requires": {
- "is-docker": "^2.0.0"
- }
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "mvdan-sh": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/mvdan-sh/-/mvdan-sh-0.10.1.tgz",
- "integrity": "sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg==",
- "dev": true
- },
- "open": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
- "dev": true,
- "requires": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- }
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
- "dev": true
- },
- "prettier-plugin-sh": {
- "version": "0.12.8",
- "resolved": "https://registry.npmjs.org/prettier-plugin-sh/-/prettier-plugin-sh-0.12.8.tgz",
- "integrity": "sha512-VOq8h2Gn5UzrCIKm4p/nAScXJbN09HdyFDknAcxt6Qu/tv/juu9bahxSrcnM9XWYA+Spz1F1ANJ4LhfwB7+Q1Q==",
- "dev": true,
- "requires": {
- "mvdan-sh": "^0.10.1",
- "sh-syntax": "^0.3.6",
- "synckit": "^0.8.1"
- }
- },
- "sh-syntax": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/sh-syntax/-/sh-syntax-0.3.7.tgz",
- "integrity": "sha512-xIB/uRniZ9urxAuXp1Ouh/BKSI1VK8RSqfwGj7cV57HvGrFo3vHdJfv8Tdp/cVcxJgXQTkmHr5mG5rqJW8r4wQ==",
- "dev": true,
- "requires": {
- "tslib": "^2.4.0"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "synckit": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.3.tgz",
- "integrity": "sha512-1goXnDYNJlKwCM37f5MTzRwo+8SqutgVtg2d37D6YnHHT4E3IhQMRfKiGdfTZU7LBlI6T8inCQUxnMBFHrbqWw==",
- "dev": true,
- "requires": {
- "@pkgr/utils": "^2.3.0",
- "tslib": "^2.4.0"
- }
- },
- "tiny-glob": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
- "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
- "dev": true,
- "requires": {
- "globalyzer": "0.1.0",
- "globrex": "^0.1.2"
- }
- },
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
}
}
diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh
index 0c1e02d677..36060b0fe7 100644
--- a/tests/tests_fctrserver.sh
+++ b/tests/tests_fctrserver.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v23.1.0"
+version="v23.2.0"
shortname="fctr"
gameservername="fctrserver"
commandname="CORE"
@@ -112,7 +112,7 @@ fn_bootstrap_fetch_file() {
# Download will fail if downloads a html file.
if [ -f "${local_filedir}/${local_filename}" ]; then
if [ -n "$(head "${local_filedir}/${local_filename}" | grep "DOCTYPE")" ]; then
- rm "${local_filedir:?}/${local_filename:?}"
+ rm -f "${local_filedir:?}/${local_filename:?}"
local exitcode=2
fi
fi
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index 62736d50b2..fde7254124 100644
--- a/tests/tests_jc2server.sh
+++ b/tests/tests_jc2server.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v23.1.0"
+version="v23.2.0"
shortname="jc2"
gameservername="jc2server"
commandname="CORE"
@@ -113,7 +113,7 @@ fn_bootstrap_fetch_file() {
# Download will fail if downloads a html file.
if [ -f "${local_filedir}/${local_filename}" ]; then
if [ -n "$(head "${local_filedir}/${local_filename}" | grep "DOCTYPE")" ]; then
- rm "${local_filedir:?}/${local_filename:?}"
+ rm -f "${local_filedir:?}/${local_filename:?}"
local exitcode=2
fi
fi
diff --git a/tests/tests_kcov.sh b/tests/tests_kcov.sh
deleted file mode 100644
index 743e2fda2c..0000000000
--- a/tests/tests_kcov.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-echo -e "Installing kcov"
-curl -L "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz" | tar zx
-wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz
-tar xzf master.tar.gz
-cd kcov-master || exit
-mkdir build
-cd build || exit
-cmake ..
-make
-sudo make install
-cd ../..
-rm -rf kcov-master
-mkdir -p coverage
diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh
index 6fe28715bb..006cc38a2e 100644
--- a/tests/tests_mcserver.sh
+++ b/tests/tests_mcserver.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v23.1.0"
+version="v23.2.0"
shortname="mc"
gameservername="mcserver"
commandname="CORE"
@@ -113,7 +113,7 @@ fn_bootstrap_fetch_file() {
# Download will fail if downloads a html file.
if [ -f "${local_filedir}/${local_filename}" ]; then
if [ -n "$(head "${local_filedir}/${local_filename}" | grep "DOCTYPE")" ]; then
- rm "${local_filedir:?}/${local_filename:?}"
+ rm -f "${local_filedir:?}/${local_filename:?}"
local exitcode=2
fi
fi
diff --git a/tests/tests_shellcheck.sh b/tests/tests_shellcheck.sh
deleted file mode 100644
index c277a5177f..0000000000
--- a/tests/tests_shellcheck.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-# Project: Game Server Managers - LinuxGSM
-# Author: Daniel Gibbs
-# License: MIT License, Copyright (c) 2020 Daniel Gibbs
-# Purpose: Travis CI Tests: Shellcheck | Linux Game Server Management Script
-# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
-# Documentation: https://docs.linuxgsm.com/
-# Website: https://linuxgsm.com
-
-echo -e "================================="
-echo -e "Travis CI Tests"
-echo -e "Linux Game Server Manager"
-echo -e "by Daniel Gibbs"
-echo -e "Contributors: http://goo.gl/qLmitD"
-echo -e "https://linuxgsm.com"
-echo -e "================================="
-echo -e ""
-echo -e "================================="
-echo -e "Bash Analysis Tests"
-echo -e "Using: Shellcheck"
-echo -e "Testing Branch: $TRAVIS_BRANCH"
-echo -e "================================="
-echo -e ""
-scissues=$(find . -type f \( -name "*.sh" -o -name "*.cfg" \) -not -path "./shunit2-2.1.6/*" -exec shellcheck --shell=bash --exclude=SC2154,SC2034 {} \; | grep -F "^--" | wc -l)
-echo -e "Found issues: ${scissues}"
-echo -e "================================="
-find . -type f \( -name "*.sh" -o -name "*.cfg" \) -not -path "./shunit2-2.1.6/*" -exec shellcheck --shell=bash --exclude=SC2154,SC2034 {} \;
-echo -e ""
-echo -e "================================="
-echo -e "Bash Analysis Tests - Complete!"
-echo -e "Using: Shellcheck"
-echo -e "================================="
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index fa6d622839..40c7d3787d 100644
--- a/tests/tests_ts3server.sh
+++ b/tests/tests_ts3server.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v23.1.0"
+version="v23.2.0"
shortname="ts3"
gameservername="ts3server"
commandname="CORE"
@@ -113,7 +113,7 @@ fn_bootstrap_fetch_file() {
# Download will fail if downloads a html file.
if [ -f "${local_filedir}/${local_filename}" ]; then
if [ -n "$(head "${local_filedir}/${local_filename}" | grep "DOCTYPE")" ]; then
- rm "${local_filedir:?}/${local_filename:?}"
+ rm -f "${local_filedir:?}/${local_filename:?}"
local exitcode=2
fi
fi