SSUI v5.12.3 🎛️ Command Central#150
Merged
JacksonTheMaster merged 27 commits intomainfrom Feb 7, 2026
Merged
Conversation
- Updated HTML config page to include server info panel settings. - Implemented server info panel functionality in Discord bot with interactive buttons. - Added password rotation logic to automatically set a new password on server start if feature is enabled - Introduced localization for server info panel and password rotation in de-DE, en-US, and sv-SE JSON files.
…remove predefined password list
…remove predefined password list
… usability using bubbletea and start first-time setup wizard (https://github.com/charmbracelet/bubbletea) - Added a new dashboard package with Update and View implementations for a terminal-based UI. - Created rendering functions for status, players, and logs in the dashboard. - Integrated dashboard launch in the CLI, configurable via the new IsCLIDashboardEnabled setting in config. - Implemented server uptime tracking with new uptime management functions. - Added first-time setup prompts to choose track CLI or web - Enhanced logging to capture dashboard logs and suppress console output when the dashboard is active.
…utput handling, fixnig missing parts of startup message when in firsttimesetup
…oved CLI setup wizard code -> it's cool and all but then we have two places to maintain setup track
- Refined the layout and styling of the header, footer, and various panels for better user experience. - Implemented config editing - Enhanced navigation with backward cycling through panels and additional key bindings for scrolling and refreshing.
…ed instead of True)
Adds interactive CLI dashboard
…ontrols and make backups more accessible for docker users
…downloads (uploads file to discord)
…ix in package name
…d according localization for it also added a new fun fact to console managers funMessages
Contributor
There was a problem hiding this comment.
Pull request overview
This PR rolls a batch of “nightly → main” features across the backend, WebUI, Discord bot, and CLI, including a new interactive CLI dashboard, Discord server info panel + backup download, WebUI “expert settings”, and new backup download endpoints.
Changes:
- Add CLI dashboard (Bubble Tea) and logger hooks to capture logs while the dashboard is active.
- Add backup download support via protected Web API and Discord (
/download+ buttons). - Add Discord server info panel support, password rotation option, and config/UI updates (including “Expert Settings” toggle).
Reviewed changes
Copilot reviewed 41 out of 43 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| src/web/templatevars.go | Adds template variables for new config fields and expert settings UI. |
| src/web/routes.go | Registers protected /api/v2/backups/download endpoint. |
| src/web/configpage.go | Populates new config template fields (server info panel, rotate password, expert settings). |
| src/managers/gamemgr/uptime.go | Adds server uptime tracking helpers. |
| src/managers/gamemgr/processmanagement.go | Hooks uptime start/clear and triggers password rotation on start. |
| src/managers/gamemgr/passwordrotation.go | Implements server password rotation on start. |
| src/managers/backupmgr/types.go | Adds BackupFileData container for download/transfer. |
| src/managers/backupmgr/manager.go | Adds GetBackupFileData for reading backup bytes by index. |
| src/managers/backupmgr/backuphttp.go | Adds DownloadBackupHandler to return backup as attachment. |
| src/logger/logger.go | Increases console channel buffer; adds dashboard log-capture hooks and suppresses console output while dashboard is active. |
| src/discordbot/serverinfopanel.go | Adds Discord server info panel embed + “get password” button; defines download button prefix constant. |
| src/discordbot/registerSlashcommands.go | Registers new /download slash command. |
| src/discordbot/interface.go | Wires new Discord interaction handlers and sends server info panel. |
| src/discordbot/handleSlashcommands.go | Implements /download and backup download buttons in /list. |
| src/core/loader/terminalmsg.go | Adjusts first-time setup messaging output. |
| src/core/loader/helpers.go | Removes some backup config fields from printed config details. |
| src/core/loader/clisetup.go | Adds interactive “first-time setup track” prompt helper. |
| src/core/loader/afterstart.go | Makes startup messages print after a short sleep (no goroutine). |
| src/config/vars.go | Adds config vars for CLI dashboard, expert settings, Discord server info panel, rotate password. |
| src/config/setters.go | Adds SetIsCLIDashboardEnabled. |
| src/config/getters.go | Adds getters for new config fields (server info panel channel, rotate password, CLI dashboard, expert settings, backup wait time). |
| src/config/config.go | Bumps version; adds JSON config fields for new settings and persists them. |
| src/cli/ssuicli.go | Auto-launches CLI dashboard when enabled + interactive terminal. |
| src/cli/dashboard/view.go | Dashboard rendering layer (status/logs/players/config panels). |
| src/cli/dashboard/update.go | Dashboard update loop, key handling, and data fetch commands. |
| src/cli/dashboard/styles.go | Dashboard styling + UI helpers. |
| src/cli/dashboard/model.go | Dashboard model/state + keybindings. |
| src/cli/dashboard/dashboard.go | Dashboard runner + logger hook registration and log buffering. |
| src/cli/dashboard/config_panel.go | Dashboard config editor + save/reload logic. |
| src/cli/commands.go | Adds dashboard CLI command to launch dashboard. |
| server.go | Reorders after-start tasks to run after starting the webserver. |
| go.sum | Adds Bubble Tea / lipgloss / deps and bumps x/sys. |
| go.mod | Adds Bubble Tea / lipgloss / isatty and related indirect deps. |
| UIMod/onboard_bundled/ui/config.html | Adds “Back to dashboard”, server info panel + rotate password controls, and expert settings section. |
| UIMod/onboard_bundled/localization/en-US.json | Adds new config UI localization keys. |
| UIMod/onboard_bundled/localization/de-DE.json | Adds new config UI localization keys. |
| UIMod/onboard_bundled/localization/sv-SE.json | Adds new config UI localization keys and adjusts terrain key placement. |
| UIMod/onboard_bundled/assets/js/server-api.js | Adds WebUI backup download button + download flow. |
| UIMod/onboard_bundled/assets/js/console-manager.js | Adds one additional “fun fact” line. |
| UIMod/onboard_bundled/assets/icons/back.webp | Adds back icon asset. |
| UIMod/onboard_bundled/assets/css/home.css | Styles backup action buttons (download + restore). |
| UIMod/onboard_bundled/assets/css/config.css | Adds .back-icon styling. |
| .github/workflows/ghcr-build-nightly.yaml | Adjusts nightly GHCR image naming and tags. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…e branch in CLI dashboard
…ock duration in isDashboardActive and captureDashboardLog functions: The mutex is only held for the brief moment needed to copy the function pointer. The function pointer copy is atomic and safe. Even if the dashboard unregisters hooks between copying the pointer and calling it, the code handles nil gracefully
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This release introduces an interactive CLI dashboard, a new optional Discord server info panel, optional automatic password rotation, and backup download functionality for both the web UI and from Discord.
Note
The Interactive CLI Dashboard is a new experimental feature using bubbletea. It provides a terminal-based UI for server management. Run
dashboardordfrom your good old SSUICLI to try it out.🖥️ Interactive CLI Dashboard
A brand new terminal-based dashboard for managing your server directly from the CLI, powered by bubbletea.
The CLI Dashboard can be set to launch automatically when SSUI is started in the foreground (is a tty) by setting
"IsCLIDashboardEnabled": truein the UIMod/config/config.json. Might become the default at a later stage, let's see.🤖 Discord Server Info Panel
New interactive Discord panel with a button to get the current server password. Disabled by default, optional when using Discord integration.
Nice for community servers using the new feature below
🔐 Automatic Password Rotation
Keep your server password changing on every restart with automatic password changes. Disabled by default.
💾 Backup Download Functionality
Download backups directly, especially useful for Docker users:
/downloadDiscord command to upload backup files directly to Discord⚙️ Expert Settings
New "Expert Settings" section in the advanced settings config page for very advanced configuration options.
🪲 Bug Fixes & Improvements
-nightlysuffix in package name🌍 Localization
Full Changelog: v5.11.1...v5.12.3