From 08e5ae1dc960f218d3cbddaae3d6394c24184f02 Mon Sep 17 00:00:00 2001 From: Saul Burgess Date: Tue, 16 Sep 2025 18:18:17 +0100 Subject: [PATCH 1/9] add renovate configuration --- renovate.json | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000..2f1948a0 --- /dev/null +++ b/renovate.json @@ -0,0 +1,121 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended", + + ":semanticCommits", + ":semanticCommitsAll", + ":rebaseStalePrs", + ":prConcurrentLimit10", + ":prHourlyLimit4", + ":labels(renovate)", + ":disableRateLimiting" + ], + + "timezone": "Etc/UTC", + "assignees": [], + "reviewers": [], + "dependencyDashboard": true, + "dependencyDashboardTitle": "Renovate Dashboard", + + "enabledManagers": [ + "gomod", + "npm", + "dockerfile", + "docker-compose", + "github-actions" + ], + + "npm": { + "managerFilePatterns": [ + "/^frontend/package.json$/" + ] + }, + + "ignorePaths": [ + "**/node_modules/**", + "**/dist/**", + "**/build/**", + "**/public/**", + "**/.svelte-kit/**", + "**/sscm/**", + "**/steamcmd/**", + "**/Steam/**", + "**/steamapps/**", + "**/UIMod/**", + "**/saves/**" + ], + + "packageRules": [ + { + "matchManagers": ["github-actions"], + "groupName": "github-actions", + "labels": ["ci", "renovate"], + "automerge": true, + "automergeType": "branch", + "platformAutomerge": true + }, + { + "matchManagers": ["dockerfile", "docker-compose"], + "groupName": "docker base images", + "labels": ["docker", "renovate"], + "pinDigests": true, + "matchUpdateTypes": ["digest"], + "automerge": true, + "automergeType": "branch", + "platformAutomerge": true + }, + { + "matchManagers": ["gomod"], + "groupName": "go modules (minor/patch)", + "labels": ["go", "renovate"], + "matchUpdateTypes": ["minor", "patch"], + "automerge": true, + "automergeType": "branch", + "platformAutomerge": true + }, + { + "matchManagers": ["gomod"], + "groupName": "go modules (major)", + "labels": ["go", "major"], + "matchUpdateTypes": ["major"], + "automerge": false + }, + { + "matchManagers": ["npm"], + "matchFileNames": [ + "^frontend/" + ], + "labels": ["frontend", "npm", "renovate"], + "matchUpdateTypes": ["patch", "minor"], + "groupName": "frontend deps (minor/patch)", + "automerge": true, + "automergeType": "branch", + "platformAutomerge": true + }, + { + "matchManagers": ["npm"], + "matchFileNames": [ + "^frontend/" + ], + "labels": ["frontend", "npm", "major"], + "matchUpdateTypes": ["major"], + "groupName": "frontend deps (major)", + "automerge": false + }, + { + "matchPackageNames": [ + "golang.org/x/*", + "github.com/golang/*", + "github.com/sirupsen/logrus", + "github.com/bwmarrin/discordgo" + ], + "labels": ["go", "important"], + "separateMinorPatch": false + } + ], + + "prCreation": "not-pending", + "minimumReleaseAge": "2 days", + "commitBodyTable": true +} From d051aa8575684d6de0e68c264dcedc0c7faa2c12 Mon Sep 17 00:00:00 2001 From: JLangisch Date: Wed, 17 Sep 2025 06:50:31 +0200 Subject: [PATCH 2/9] remove empty line from renovate.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- renovate.json | 1 - 1 file changed, 1 deletion(-) diff --git a/renovate.json b/renovate.json index 2f1948a0..c731a011 100644 --- a/renovate.json +++ b/renovate.json @@ -2,7 +2,6 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", - ":semanticCommits", ":semanticCommitsAll", ":rebaseStalePrs", From 31c82fd671c76129e21ffe19ca458c7112809f1c Mon Sep 17 00:00:00 2001 From: Saul Burgess Date: Thu, 18 Sep 2025 13:18:25 +0100 Subject: [PATCH 3/9] Update renovate.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index c731a011..eeeaa669 100644 --- a/renovate.json +++ b/renovate.json @@ -27,7 +27,7 @@ "npm": { "managerFilePatterns": [ - "/^frontend/package.json$/" + "frontend/package.json" ] }, From da0b87e8dc56f2d7d754dd2310e598a6e8bd8321 Mon Sep 17 00:00:00 2001 From: Saul Burgess Date: Thu, 18 Sep 2025 13:26:21 +0100 Subject: [PATCH 4/9] Removes automerge and adds --- renovate.json | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/renovate.json b/renovate.json index eeeaa669..3af95a55 100644 --- a/renovate.json +++ b/renovate.json @@ -12,8 +12,10 @@ ], "timezone": "Etc/UTC", + "automerge": false, + "platformAutomerge": false, "assignees": [], - "reviewers": [], + "reviewers": ["JacksonTheMaster"], "dependencyDashboard": true, "dependencyDashboardTitle": "Renovate Dashboard", @@ -50,9 +52,9 @@ "matchManagers": ["github-actions"], "groupName": "github-actions", "labels": ["ci", "renovate"], - "automerge": true, + "automerge": false, "automergeType": "branch", - "platformAutomerge": true + "platformAutomerge": false }, { "matchManagers": ["dockerfile", "docker-compose"], @@ -60,18 +62,18 @@ "labels": ["docker", "renovate"], "pinDigests": true, "matchUpdateTypes": ["digest"], - "automerge": true, + "automerge": false, "automergeType": "branch", - "platformAutomerge": true + "platformAutomerge": false }, { "matchManagers": ["gomod"], "groupName": "go modules (minor/patch)", "labels": ["go", "renovate"], "matchUpdateTypes": ["minor", "patch"], - "automerge": true, + "automerge": false, "automergeType": "branch", - "platformAutomerge": true + "platformAutomerge": false }, { "matchManagers": ["gomod"], @@ -88,9 +90,9 @@ "labels": ["frontend", "npm", "renovate"], "matchUpdateTypes": ["patch", "minor"], "groupName": "frontend deps (minor/patch)", - "automerge": true, + "automerge": false, "automergeType": "branch", - "platformAutomerge": true + "platformAutomerge": false }, { "matchManagers": ["npm"], @@ -106,7 +108,6 @@ "matchPackageNames": [ "golang.org/x/*", "github.com/golang/*", - "github.com/sirupsen/logrus", "github.com/bwmarrin/discordgo" ], "labels": ["go", "important"], From 365a93872ad86e570254c1a781f1c142d86898a0 Mon Sep 17 00:00:00 2001 From: Saul Burgess Date: Thu, 18 Sep 2025 13:27:32 +0100 Subject: [PATCH 5/9] Add mitoskalandiel to reviewers in renovate.json --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 3af95a55..ed7134d8 100644 --- a/renovate.json +++ b/renovate.json @@ -15,7 +15,7 @@ "automerge": false, "platformAutomerge": false, "assignees": [], - "reviewers": ["JacksonTheMaster"], + "reviewers": ["JacksonTheMaster", "mitoskalandiel"], "dependencyDashboard": true, "dependencyDashboardTitle": "Renovate Dashboard", From b2f679345a2d2915dec9d48aca3507a0b947b688 Mon Sep 17 00:00:00 2001 From: Saul Burgess Date: Thu, 18 Sep 2025 13:30:15 +0100 Subject: [PATCH 6/9] Add baseBranches configuration to renovate.json --- renovate.json | 1 + 1 file changed, 1 insertion(+) diff --git a/renovate.json b/renovate.json index ed7134d8..618ae955 100644 --- a/renovate.json +++ b/renovate.json @@ -15,6 +15,7 @@ "automerge": false, "platformAutomerge": false, "assignees": [], + "baseBranches": ["nightly"], "reviewers": ["JacksonTheMaster", "mitoskalandiel"], "dependencyDashboard": true, "dependencyDashboardTitle": "Renovate Dashboard", From b97863e93159a8b0b439bbcdebf4d99b294be587 Mon Sep 17 00:00:00 2001 From: JacksonTheMaster <81807824+JacksonTheMaster@users.noreply.github.com> Date: Fri, 19 Sep 2025 00:14:45 +0200 Subject: [PATCH 7/9] Add game version extraction functionality to detection manager and store in runtime config feature request MrDrummer25 --- src/config/getters.go | 6 ++++++ src/config/setters.go | 8 ++++++++ src/config/vars.go | 1 + src/managers/detectionmgr/detector.go | 14 ++++++++++++++ src/managers/detectionmgr/handlers.go | 6 ++++++ src/managers/detectionmgr/types.go | 1 + 6 files changed, 36 insertions(+) diff --git a/src/config/getters.go b/src/config/getters.go index f07be86a..936a4bbd 100644 --- a/src/config/getters.go +++ b/src/config/getters.go @@ -487,3 +487,9 @@ func GetAllowAutoGameServerUpdates() bool { defer ConfigMu.RUnlock() return AllowAutoGameServerUpdates } + +func GetExtractedGameVersion() string { + ConfigMu.RLock() + defer ConfigMu.RUnlock() + return ExtractedGameVersion +} diff --git a/src/config/setters.go b/src/config/setters.go index 10bf86fd..401b53c5 100644 --- a/src/config/setters.go +++ b/src/config/setters.go @@ -38,6 +38,14 @@ func SetCurrentBranchBuildID(value string) error { return nil } +func SetExtractedGameVersion(value string) error { + ConfigMu.Lock() + defer ConfigMu.Unlock() + + ExtractedGameVersion = value + return nil +} + // ALL SETTERS BELOW THIS LINE ARE UNUSED AT THE MOMENT // ALL SETTERS BELOW THIS LINE ARE UNUSED AT THE MOMENT // ALL SETTERS BELOW THIS LINE ARE UNUSED AT THE MOMENT diff --git a/src/config/vars.go b/src/config/vars.go index 3c37b51d..0ba6fb1a 100644 --- a/src/config/vars.go +++ b/src/config/vars.go @@ -62,6 +62,7 @@ var ( AutoStartServerOnStartup bool SSUIIdentifier string CurrentBranchBuildID string // ONLY RUNTIME + ExtractedGameVersion string // ONLY RUNTIME ) // Discord integration diff --git a/src/managers/detectionmgr/detector.go b/src/managers/detectionmgr/detector.go index ddccf19c..0aec9a7d 100644 --- a/src/managers/detectionmgr/detector.go +++ b/src/managers/detectionmgr/detector.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "github.com/JacksonTheMaster/StationeersServerUI/v5/src/config" "github.com/JacksonTheMaster/StationeersServerUI/v5/src/discordbot" ) @@ -240,6 +241,19 @@ func (d *Detector) processRegexPatterns(logMessage string) { }) }, }, + { + pattern: regexp.MustCompile(`Version\s*:\s*(\d+\.\d+\.\d+\.\d+)`), + handler: func(matches []string, logMessage string) { + version := matches[1] + d.triggerEvent(Event{ + Type: EventVersionExtracted, + Message: fmt.Sprintf("Version %s detected", version), + RawLog: logMessage, + Timestamp: time.Now().Format(time.RFC3339), + }) + config.SetExtractedGameVersion(version) + }, + }, } for _, p := range patterns { diff --git a/src/managers/detectionmgr/handlers.go b/src/managers/detectionmgr/handlers.go index abcc6b9c..d8ff75f3 100644 --- a/src/managers/detectionmgr/handlers.go +++ b/src/managers/detectionmgr/handlers.go @@ -66,6 +66,12 @@ func DefaultHandlers() map[EventType]Handler { ssestream.BroadcastDetectionEvent(message) discordbot.SendMessageToStatusChannel(message) }, + EventVersionExtracted: func(event Event) { + message := fmt.Sprintf("🎮 [Gameserver] 📦 Version %s detected", event.Message) + logger.Detection.Info(message) + ssestream.BroadcastDetectionEvent(message) + discordbot.SendMessageToStatusChannel(message) + }, EventServerRunning: func(event Event) { message := "🎮 [Gameserver] ✅ Server process has started!" logger.Detection.Info(message) diff --git a/src/managers/detectionmgr/types.go b/src/managers/detectionmgr/types.go index c24773f6..efa327d2 100644 --- a/src/managers/detectionmgr/types.go +++ b/src/managers/detectionmgr/types.go @@ -18,6 +18,7 @@ const ( EventSettingsChanged EventType = "SETTINGS_CHANGED" EventServerHosted EventType = "SERVER_HOSTED" EventNewGameStarted EventType = "NEW_GAME_STARTED" + EventVersionExtracted EventType = "VERSION_EXTRACTED" EventServerRunning EventType = "SERVER_RUNNING" EventCustomDetection EventType = "CUSTOM_DETECTION" ) From 8172cfd36bab0a4210ffed1b48a55cf200cd3558 Mon Sep 17 00:00:00 2001 From: JacksonTheMaster <81807824+JacksonTheMaster@users.noreply.github.com> Date: Fri, 19 Sep 2025 04:20:32 +0200 Subject: [PATCH 8/9] fix wiki link --- src/core/loader/terminalmsg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/loader/terminalmsg.go b/src/core/loader/terminalmsg.go index 22125f41..4f6803dc 100644 --- a/src/core/loader/terminalmsg.go +++ b/src/core/loader/terminalmsg.go @@ -48,6 +48,6 @@ func printFirstTimeSetupMessage() { logger.Core.Cleanf(" │ • Configure your server by visiting the WebUI! │") logger.Core.Cleanf(" │ • Support is provided at https://discord.gg/8n3vN92MyJ │") logger.Core.Cleanf(" │ • For more details, check the GitHub Wiki: │") - logger.Core.Cleanf(" │ • https://github.com/JacksonTheMaster/StationeersServerUI/v5/wiki │") + logger.Core.Cleanf(" │ • https://github.com/SteamServerUI/StationeersServerUI/v5/wiki │") logger.Core.Cleanf(" └─────────────────────────────────────────────────────────────────────────────────────────────┘") } From 5227a64937546c60583a6b1224edab1d5b923865 Mon Sep 17 00:00:00 2001 From: akirilov <***REMOVED***> Date: Fri, 19 Sep 2025 05:47:07 +0200 Subject: [PATCH 9/9] Added a check to prevent a world name with spaces --- UIMod/onboard_bundled/twoboxform/twoboxform.js | 6 ++++++ src/config/config.go | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/UIMod/onboard_bundled/twoboxform/twoboxform.js b/UIMod/onboard_bundled/twoboxform/twoboxform.js index 3423361b..bef99749 100644 --- a/UIMod/onboard_bundled/twoboxform/twoboxform.js +++ b/UIMod/onboard_bundled/twoboxform/twoboxform.js @@ -138,6 +138,12 @@ document.addEventListener('DOMContentLoaded', () => { } else if (configField === "SaveInfo") { const primaryValue = document.getElementById('primary-field').value.trim(); + // If the world type contains a space, it's invalid + if (primaryValue.includes(' ')) { + showNotification('The world type cannot contain spaces!', 'error'); + hidePreloader(); + return; // Prevent submission + } const secondaryValue = document.getElementById('secondary-field').value.trim(); if (secondaryValue === '' || secondaryValue === document.getElementById('secondary-field').placeholder) { showNotification('Please select a world type!', 'error'); diff --git a/src/config/config.go b/src/config/config.go index ab63a20f..f5c35304 100644 --- a/src/config/config.go +++ b/src/config/config.go @@ -11,7 +11,7 @@ import ( var ( // All configuration variables can be found in vars.go - Version = "5.6.5" + Version = "5.6.6" Branch = "release" )