Repository navigation
Releases: yourdawi/linuxgsm-dashboard
Release list
Version 2.1.0
This release adds an optional proxy for game traffic: players connect to a rented server, your machine at home opens no port, and your game servers still see the real IP of the players.
Highlights
- Game traffic proxy. Choose a machine with a public IP as the proxy under Settings > Proxy. Players connect to its address, and the traffic reaches your game server through an encrypted WireGuard tunnel. Bans and logs keep working, because the game server sees the real IP of the players. Nothing is installed or changed until you click Set up proxy, and removing the proxy takes everything back, including the packages it installed.
- Steam lists your server at the proxy. Name the Linux user of the game server under Outgoing traffic, and Steam sees the proxy's address instead of your line. Everything of this user then goes through the proxy, including updates of many GB.
- Works next to your firewall. ufw and Docker no longer block the tunnel. The dashboard keeps its rules in place, also if ufw or Docker are added later.
- Address on the server card. A published server shows the address for players, ready to copy. Administrators can publish a server or take it off directly on the card, and LinuxGSM's alerts and details show the proxy's address.
- A new look. The dashboard has its own logo and favicon, and a new About tab under Settings links to the project on GitHub.
Fixes
- Source servers in host mode show players and map again.
- Copy buttons now also work over plain HTTP.
Good to know
- Both machines must be in the same dashboard, as the dashboard's own machine or as a node with read-write access, and run in host mode. Docker mode is not supported yet.
- Both machines connect to the dashboard, so it usually runs on the machine with the public IP. A dashboard at home without a public address cannot use a rented proxy yet.
- Your provider's firewall cannot be opened from the dashboard. Open UDP 51820 and the game ports there. firewalld also has to be opened by hand; the setup tells you how.
- "Tunnel connected" is about the tunnel. To be sure that players get through, test with a game client from outside.
- All game traffic runs through the proxy, so it should be close to your players and your game server. Its traffic volume counts twice.
Upgrade notes
- Update nodes to 2.1 as well: dashboard and nodes must run the same minor version.
- Without a proxy nothing changes.
Version 2.0.1
Fixes
-
CPU and RAM of a server now cover the processes in its tmux session, so servers under one Linux user no longer show each other's load. CPU shows the current use instead of the average since the process started. In Docker mode it covers the
linuxgsmuser in the container. -
A hanging tmux no longer stops the server list, and other requests no longer wait for the list. The server keeps its last status and values until tmux answers, and it cannot be deleted in that time: before, its files could be removed under the running server.
-
Player queries work with split answers from GoldSrc and old Source games.
-
The port check is honest about what it knows: "Open" answers on the public IP, "Local only" answers on the machine only, "Not testable" is a UDP port in a protocol the dashboard does not speak. It no longer invents ports or tests every UDP port with the Source protocol, and PaperMC and other Minecraft Java servers are tested over TCP. The test still runs on the server itself.
-
Games that need a Steam account (Arma 3, DayZ, Terraria and others) can now be installed: the installer asks for the login and stores it in
secrets-common.cfg. Accounts with Steam Guard do not work. -
A failed SteamCMD download is now reported as a failed installation instead of a success.
-
The remaining fixed German or English texts follow the language setting, and open lists change language with it. Open forms keep your input and change when opened again.
-
After an update the dashboard shows administrators the text of the GitHub release once, and the update section in the settings shows the text of an available update. This needs access to api.github.com.
Upgrade notes
- Nothing to do. CPU shows 0 until the second measurement after a start, a few seconds later.
Version 2.0.0
This release brings game servers on several machines into one dashboard, and a complete review of
how the dashboard works with LinuxGSM: commands, configs, alerts, schedules, backups, installs and
security were checked against the LinuxGSM source and fixed where they did not match.
Highlights
- Nodes: game servers on other machines. Install the agent on another machine (LXC, VPS, at
home or on the internet) with the pairing command from Settings > Nodes. Its game servers
appear in the dashboard next to the local ones. The connection is end-to-end encrypted (mutual
TLS with the dashboard's own CA, post-quantum key exchange) and needs no open port on the node.
Per node you choose read only (view, start, stop, restart) or read and write (everything,
including installing servers there). Users can be assigned to whole nodes. FastDL is chosen per
server: served by the dashboard, by the node itself, or off. Node certificates renew themselves,
and nodes can be updated from the dashboard. - Mods work. Mods and plugins are picked from the list LinuxGSM offers for the game (Metamod,
SourceMod, CounterStrikeSharp, Oxide, ...), installed, updated and removed from the dashboard.
Before, every mod install failed ("y is not a valid addon/mod"). - Only real commands. Every game shows the commands LinuxGSM has for it: no Validate or Force
update without SteamCMD, FastDL only for Source and GoldSrc, Workshop updates for Arma 3, DayZ,
Squad and others, no console input for games that read none. One command runs per server
directory at a time. - Alerts reach their target. Email, Matrix, Pushover and IFTTT alerts never worked, and ntfy
and Pushbullet ignored server, token and channel: the dashboard used variable names LinuxGSM does
not know. The alerts form now edits LinuxGSM's own variables (Gotify added), keeps secrets in
secrets-<server>.cfgand only writes what you change. - The config editor finds the game config LinuxGSM starts the game with, wherever it is
(Saved/of ARK, Conan, Palworld;$HOMEof Project Zomboid;.xml,.sii, ...). - Schedules keep what you set. The scheduler no longer adds a daily force-update to every
crontab it saves, no longer drops intervals it cannot show, and "every hour" works. A daily
restart usesrestart, so it also works for games without SteamCMD. - Autostart works. The systemd unit stopped the server right after starting it and restarted
it in a loop. Units are now named per user (linuxgsm-<user>-<script>.service); existing units
are migrated at startup. - Live output. LinuxGSM's status lines and SteamCMD's progress update in place while a
command runs; "finished with warnings" (exit code 3) is no longer shown as an error.
Security
- Files are opened without following symlinks anywhere in the path, so a game server user can no
longer make the dashboard (root) read or write other files by swapping a directory. - The game server user no longer gets passwordless sudo during an install: the dashboard installs
the packages LinuxGSM needs itself, from LinuxGSM's dependency list. - Deleting a server removes a Linux user only when the dashboard created it; existing accounts keep
their password, and administrator or SSH login accounts are not used for game servers. - Restoring a backup restores only the server data (serverfiles, configs, logs), never dotfiles,
scripts or SSH keys, and stops every instance that shares the directory. - LinuxGSM's own config files (
lgsm/config-lgsm, bash with alert secrets) can be edited by
administrators only;details(shows the server passwords) needs the config permission. - Login limits count attempts while they run, failed logins can no longer flush the audit log,
and-trust-proxytakes the address the proxy saw. - New server homes are 0750; Docker game servers run without raw sockets and with
no-new-privileges; the installer refuses unsigned releases without OpenSSL 3.
Upgrade notes
- Building from source needs Go 1.27 (the installer downloads it when needed).
- Dashboard and nodes must run the same minor version (2.0.x).
- Autostart units are migrated automatically. Alert settings saved under the old names are taken
over the next time you save the alerts; please check them once, and note that email alerts use
the machine's localmailcommand (LinuxGSM has no SMTP settings). maxbackupsmust be at least 1: with 0 LinuxGSM deletes every archive in the backup directory.- Users with the config permission no longer see
lgsm/config-lgsm; give such changes to an
administrator. - The
debugaction and the TS3 password button are gone (LinuxGSM'schange-passworddoes not
apply the password). - Installing on systems without OpenSSL 3 (Debian 11, Ubuntu 20.04, RHEL 8) needs
--insecure-skip-signature, or OpenSSL 3 installed. - Docker mode: containers created by older versions get log rotation and the reduced capabilities
only when they are recreated (clone or reinstall); the restart policy follows start and stop
from now on.
Known limitations
- CPU and RAM of servers that share a Linux user are shown as the user's total.
- The port check tests from the server itself and only understands A2S for UDP.
- Games that need a Steam login (Arma 3, DayZ and a few others) cannot be installed from the
dashboard yet.
Version 1.1.2
This release fixes how the dashboard handles the LinuxGSM configs, makes deleting servers safe and keeps server IDs stable.
Highlights
- Changes to
_default.cfgare no longer lost: LinuxGSM restores that file on every run, so changed values are saved to the instance config, which overrides them. - Instances (
-2,-3…) use the config directory LinuxGSM really reads; backup settings, alerts and stop mode now take effect for them. - Deleting a server never deletes a personal Linux account. A main instance can be deleted without breaking its clones.
- Server IDs no longer move to another server when a server is deleted, so user permissions always point to the right server.
- The installer continues with a Linux user left over from an earlier LinuxGSM setup, and LinuxGSM can install missing packages again (e.g. Java for Minecraft).
- The config editor's form view only writes the fields you changed and keeps Steam IDs, INI sections and JSON types intact.
- The server name shown is reliable, including the live name of running servers.
- New column picker for the server cards and the game installer list for large screens.
- Complete English and German translations.
Upgrade notes
- Existing server IDs are kept on upgrade.
- Backup settings that older versions saved for instances were never applied by LinuxGSM. Please set them again.
What's Changed
Full Changelog: v1.1.1...v1.1.2
Version 1.1.1
The dashboard can now run as a Docker container. In this Docker mode every game server runs in its own container of the official LinuxGSM images (gameservermanagers/gameserver), which the dashboard creates and manages through the Docker socket. The native installation with install-dashboard.sh keeps working as before; the dashboard detects the mode by itself.
What's Changed
Full Changelog: v1.1.0...v1.1.1
Version 1.1.0
What's Changed
Full Changelog: v1.0.7...v1.1.0
Version 1.0.7
What's Changed
Full Changelog: v1.0.6...v1.0.7
Version 1.0.6
What's Changed
- add Web File Manager, standalone RBAC permission, Audit Log, and remove mock mode by @yourdawi in #10
Full Changelog: v1.0.5...v1.0.6
Version 1.0.5
What's Changed
- Firewall Inspector, GameDig Live Query, Visual Cron Scheduler, Cluster Management, Backup Migration & Multi-Channel Alerts by @yourdawi in #9
Full Changelog: v1.0.4...v1.0.5
Version 1.0.4
What's Changed
Full Changelog: v1.0.3...v1.0.4