Skip to content

Latest commit

ย 

History

47 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

LinuxGSM Web Dashboard

A secure, lightweight, and modern single-binary web dashboard designed to manage game servers running under LinuxGSM (Linux Game Server Manager). It is engineered to consume minimal system resources (~10-15MB RAM) so that host memory is dedicated solely to running your games.


dashboard

๐Ÿ“ธ Screenshots

โž” Click here to expand detailed screenshots

๐Ÿ›ก๏ธ Interactive Server Console & RCON Input

console

โš™๏ธ Configuration File Editor (Form & Raw View)

configeditor

โž• Game Installer & Scraper

gameinstaller

๐Ÿ–ฅ๏ธ Server Overview & Monitoring

serveroverview


๐Ÿš€ Installation & Setup

๐ŸŒŸ 1. Interactive Automated Installation (Recommended)

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 | bash

Using wget (fallback):

wget -qO- https://raw.githubusercontent.com/yourdawi/linuxgsm-dashboard/main/install-dashboard.sh | bash

This 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/AlmaLinux/Rocky, Arch, Alpine, openSUSE).
  • Tracks pre-existing system tools and installs only missing dependencies (including rclone for remote cloud backups).
  • Configures a custom listening port (via interactive prompts or --port <port> argument).
  • Configures the daemon as a sandboxed Systemd service (ProtectSystem=true, PrivateTmp=false for shared tmux sockets, restricted CapabilityBoundingSet limiting 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.

๐Ÿ“ 2. Manual Installation Steps

Prerequisites

Ensure you have Git and Go 1.20+ installed on your system.

Clone and Compile

  1. Clone the repository:
    git clone https://github.com/yourdawi/linuxgsm-dashboard.git
    cd linuxgsm-dashboard
  2. Compile the Go code:
    go build -o lgsm-dashboard main.go

Run the Dashboard

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 8080

On first launch, it will:

  1. Generate config/config.json.
  2. Generate a random password for the admin user.
  3. Print the credentials in the console. Make sure to write down the generated password!

โœจ Features

๐ŸŽฎ Core Server Management & Live Query

  • ๐Ÿ–ฅ๏ธ 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-keys escaping).
  • ๐Ÿ‘ฅ GameDig Live Query & Player Widgets: Displays current active map (๐Ÿ—บ๏ธ TheIsland) and live player count (๐Ÿ‘ฅ 18/70) directly on server cards. Click to open an Interactive Player List Modal with real-time playtime, scores, and 1-click Kick / Ban RCON actions.
  • ๐Ÿ“œ Multi-Log Viewer: Toggle between 4 log modes directly in the console view: Tmux Live Pane, Console Log, Script Activity Log (log/script/), and Game Engine Log (log/game/).
  • ๐Ÿ› ๏ธ Expanded LinuxGSM Action Suite: Execute LinuxGSM actions like check-update, update-lgsm, force-update, mods-install, mods-update, fastdl (Bzip2 FastDL generator), postdetails (termbin log upload), test-alert, debug (interactive debugging mode with real-time SSE stream), and map-compressor (Unreal Tournament map redirect compression) directly from the Live Console view.
  • ๐Ÿท๏ธ Multi-Instance Cluster Management & Mass Actions: Assign cluster tags (Production, Cluster A) and filter servers by tag. Select multiple servers using checkboxes to execute Bulk Start, Stop, Restart, and Update commands simultaneously.
  • ๐ŸŽฒ Game-Specific Actions Panel: Context-aware action buttons rendered strictly for supported game types:
    • Rust: Map Wipe (map-wipe), Full Wipe (full-wipe), Map Compressor, Oxide/uMod Installer.
    • Source Engine Games (CS:S, TF2, Garry's Mod, etc.): FastDL Web Sync & 1-click FastDL URL copy, Metamod/SourceMod Installer.
    • TeamSpeak 3: Server Query Admin Password Reset (ts3-pw-reset).
    • Unreal Tournament: Map Redirect Compressor (map-compressor).
    • Arma 3, Minecraft, 7 Days to Die, Factorio, ARK, KF2, DST, Insurgency: Mods/Plugins/Workshop Manager.
  • ๐ŸŒ Integrated FastDL HTTP Server: Built-in public static web server serving compressed game assets directly from /fastdl/{serverID}/... with a 1-click URL copy button for easy inclusion in server configuration files (sv_downloadurl).

๐Ÿ’พ Backups, Cloud Storage & Migration

  • ๐Ÿ’พ 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 & Migration Import/Export: Download backup .tar.gz archives as standalone migration packages to transfer instances across hosts, or upload existing backups with automatic ownership adjustment (chown).
  • โ˜๏ธ Remote Cloud-Backup Sync (rclone Integration): Seamlessly synchronize backups to remote cloud storage providers (Google Drive, AWS S3, Wasabi, Backblaze B2, Dropbox, OneDrive, WebDAV, etc.) with real-time SSE progress streaming.
  • โš™๏ธ Backup Retention & Scheduling: Configure retention limits (maxbackups, maxbackupdays, stoponbackup) and automate cronjob schedules by writing directly to the gameserver user's crontab.

โš™๏ธ Modular Administration & Automation

  • ๐Ÿ“‘ 5-Subtab Modular Settings Hub:
    1. โš™๏ธ General: Web dashboard credentials management, system telemetry (Version, OS, PID, Mode), and GitHub release checker with 1-click self-updater.
    2. ๐ŸŽฎ Server Tools: Server tag/cluster assignment, Stop Mode Configurator (graceful shutdown selector supporting all 13 LinuxGSM stop modes with standard default fallback), Multi-Instance Cloner Assistant (symlink cloning), Systemd boot service installer, and maintenance cronjob templates.
    3. โฐ Crontab & Scheduler: Interactive visual scheduler to configure Crash-Monitoring (5m/10m/15m), Auto-Update check intervals, Daily Restarts/Force-Updates, and Weekly LGSM Core Updates with direct crontab writing.
    4. ๐Ÿ”” 10-Channel Alert Suite: Multi-channel webhook & credentials manager for Discord, Telegram, E-Mail SMTP, ntfy, Slack, Matrix, Pushover, Pushbullet, IFTTT, and Rocket.Chat.
    5. ๐Ÿ›ก๏ธ Firewall & Security Inspector: Inspects active UFW and Firewalld status, detects open server ports, and checks dashboard root execution rights. Provides copy-paste sudo commands when running in container/non-root mode.
  • ๐Ÿ“ File Manager & In-Browser Editor: Browse, view, upload, download, and edit files inside serverfiles/ with syntax highlighting and instant file saving.
  • ๐Ÿ“ Hierarchical Config Visualizer: Layered configuration editing within /home/<user>/lgsm/config-lgsm/<script>/*.cfg featuring color-coded badges (Default, Common, Instance, Secrets), overwrite warnings for _default.cfg, and dual Form View / Raw View.
  • ๐Ÿ‘ฅ Multi-User Administration (RBAC): Create/update/delete dashboard users with role-based access control (admin, operator, viewer) and restricted server-level permissions (start, stop, restart, console, config, backup, files).
  • ๐Ÿ“œ Security Audit Log: Centralized, tamper-resistant audit trail logging user authentication events, server actions, and configuration modifications.
  • ๐Ÿ”„ One-Click Self-Updates: Safe, automated dashboard self-updates from the UI. Swaps the binary and triggers a clean systemd restart.

๐Ÿ›ก๏ธ Hardened Security & Efficiency

  • ๐Ÿ–ฅ๏ธ Resource-Efficient Backend (Go): Compiled static binary consuming only ~10-15MB RAM with embedded web assets for zero-dependency deployment.
  • ๐Ÿ”’ Symlink & Path Traversal Hardening: Strict path validation using filepath.EvalSymlinks to prevent symlink traversal attacks outside allowed server directories.
  • ๐Ÿ›ก๏ธ Systemd Security Sandboxing: Hardened systemd daemon configuration featuring isolated sandboxing (ProtectSystem=true, PrivateTmp=false for shared tmux sockets, and a restricted CapabilityBoundingSet limiting 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 with 100% key parity.

โš–๏ธ Disclaimer

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.

About

A lightweight and secure web dashboard for LinuxGSM game server management

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages