A secure, lightweight, and modern single-binary web dashboard designed to manage game servers running under LinuxGSM (Linux Game Server Manager). It is designed to consume minimal system resources (~10-15MB RAM) so that host memory is dedicated solely to running your games.
โ Click here to expand detailed screenshots
Execute the installer directly using curl (or wget if curl is not installed). Note: The script must be run with root privileges (if not logged in as root, elevate your shell first, e.g., with su - or sudo -i).
Using curl:
curl -sSL https://raw.githubusercontent.com/yourdawi/linuxgsm-dashboard/main/install-dashboard.sh | bashUsing wget (fallback):
wget -qO- https://raw.githubusercontent.com/yourdawi/linuxgsm-dashboard/main/install-dashboard.sh | bashThis presents a colored interactive terminal menu that:
- Runs pre-flight requirements checks (verifying 64-bit architecture and memory recommendations).
- Detects your Linux distribution (Ubuntu/Debian, CentOS/RHEL, Arch, Alpine, openSUSE).
- Tracks pre-existing system tools and installs only missing dependencies.
- Configures a custom listening port (via interactive prompts or
--port <port>argument). - Configures the daemon as a sandboxed Systemd service (
ProtectSystem=true,PrivateTmp=falsefor shared tmux sockets, restrictedCapabilityBoundingSetlimiting root powers). - Automatically configures firewalls (
ufw/firewalld) if active. - Safely prompts to roll back installed packages upon uninstallation.
- Displays your server's IP address and autogenerated credentials.
Ensure you have Git and Go 1.20+ installed on your system.
- Clone the repository:
git clone https://github.com/yourdawi/linuxgsm-dashboard.git cd linuxgsm-dashboard - Compile the Go code:
go build -o lgsm-dashboard main.go
Since the dashboard needs to control system users and execute commands via runuser on gameserver accounts, it must be run as root:
sudo ./lgsm-dashboard -port 8080On first launch, it will:
- Generate
config/config.json. - Generate a random password for the
adminuser. - Print the credentials in the console. Make sure to write down the generated password!
- ๐ฅ๏ธ Interactive Server Console: Real-time visual tmux pane updates paired with a command input bar to send console/RCON commands directly to the server (uses secure
tmux send-keysescaping). - ๐ ๏ธ Advanced Maintenance Actions: Execute LinuxGSM actions like
update-lgsm(update core),force-update(re-download files), andtest-alertdirectly from the Live Console view. - ๐ฒ Game-Specific Actions: Dynamic panel displaying game-specific tasks (e.g., Map Wipes and Full Wipes for Rust, or Server Query Password resets for Teamspeak 3).
- ๐ฅ Multi-Instance Scanning: Scans system user home directories for all executable scripts and verifies their headers to auto-detect any number of LinuxGSM instances under a single user.
- โ Clean Server Deletion: Safely removes instances. Wipes crontabs, disables systemd, and performs system user purges (
userdel -r) with safety overlay confirmations.
- ๐พ Complete Backup Suite: View, download, delete, and restore server backups. Restoration runs in real-time, automatically stopping and starting the server safely to prevent corruption.
- ๐ค Backup Uploads: Upload backup archives (
.tar.gz) directly to server instances. Features automatic ownership adjustment (chown) to prevent LinuxGSM file permission errors. - โ๏ธ Backup Retention & Scheduling: Configure retention limits (
maxbackups,maxbackupdays,stoponbackup) and automate cronjob schedules by writing directly to the gameserver user's crontab.
- ๐ Alerts & Notification Webhooks: Configure Discord webhooks, Telegram bots, and E-Mail SMTP settings inside settings to write variables directly into Shell configuration files.
- โก One-Click Systemd & Cron Installation: Automatically register sandboxed Systemd boot autostarts and maintenance cronjob routines into the crontab with one click.
- ๐ Bidirectional Config Editor: Safe configuration editing within
/home/<user>/lgsm/config-lgsm/<script>/*.cfgfeaturing a parsed Form View and a Raw View with path-traversal protection. - ๐ฅ Multi-User Administration: Create/update/delete dashboard users with role-based access control (RBAC) and restricted server-level permissions (
start,stop,restart,console,config,backup). - ๐ One-Click Self-Updates: Safe, automated dashboard self-updates from the UI. Swaps the binary and triggers a clean systemd restart.
- ๐ฅ๏ธ Resource-Efficient Backend (Go): Compiled static binary consuming only ~10-15MB RAM with embedded web assets for zero-dependency deployment.
- ๐ก๏ธ Systemd Security Sandboxing: Hardened systemd daemon configuration featuring isolated sandboxing (
ProtectSystem=true,PrivateTmp=falsefor shared tmux sockets, and a restrictedCapabilityBoundingSetlimiting root powers). - ๐ Security Hardened Input Validation: Filters all incoming API queries against strict backend whitelist patterns, blocking shell command injection vectors.
- ๐ Host & Process Monitoring: Real-time CPU, RAM, and Disk host gauges, custom canvas historical graphs, and user process metrics mapping.
- ๐ Dark/Light Mode & Multilingual (i18n): Togglable dual color modes and complete German/English translations.
To test or develop the frontend locally on Windows/Linux without active LinuxGSM servers, execute it with the -mock CLI flag:
go run main.go -mockThis forces the application to bypass standard Linux system directories and generate a mock workspace with simulated server instances (arkserver, valheimserver), interactive command streams, config file folders, and dynamic CPU/RAM resource gauges.
This is an independent, community-driven project and is not officially affiliated, associated, or endorsed by the official LinuxGSM project or its developers. LinuxGSM is a trademark of its respective owners. All product names, logos, and brands are property of their respective owners.



