Skip to content

v1.0.0

Latest

Choose a tag to compare

@MRegterschot MRegterschot released this 06 Nov 21:17
48ba0b7

🎉 TMControlPanel Release

⚠️ Breaking changes

  • GoControlPanel is now TMControlPanel. New name, branding and identifiers.
  • The panel is split into two containers: the web panel and a new GBX service that holds the dedicated server connections, live updates, match recording and plugins. You now run both images (tmcontrolpanel + tmcontrolpanel-gbx-service, with -postgres variants).
  • Server credentials are now stored encrypted.
  • Upgrading from the beta is a side-by-side migration. Follow docs/migrating-beta-to-release.md before pulling :latest.

🚀 New Features

  • Plugin marketplace: install third-party plugins that run in a sandbox. The built-in plugins are now first-party marketplace packages.
    • Plugin settings use config schemas and tabbed forms.
    • Plugins can send events to other plugins.
    • Manialink themes for plugin UIs (SDK 4).
  • Public API (/api/v1) with API keys per server or group. Covers players, maps, jukebox, game control, chat, server settings, plugins, file manager, fake players and server commands. Interactive docs are built in.
  • Codriver (experimental): an AI assistant that runs server tasks in the panel or in game via /co. Includes budgets, usage history and permissions.
  • Clustering: run several GBX workers and nodes. Servers are spread across them and handed over automatically, and a cluster status view is included.
  • Send selected match rounds to eCircuitMania from Records (admin only).
  • File manager: move, rename and download files.
  • Hetzner: update Trackmania servers and file managers over SSH.
  • Native system commands for server management and diagnostics.
  • Database backup script, plus guides for moving the database and Redis to their own host.
  • Mode type strings listed in the script generator.
  • Trackmania formatting shown in map and nickname pickers.
  • New landing page.

🔒 Security

  • Admin actions are authorized on the server side for every linked resource, and match deletion and exports are scoped to their server.
  • Audit log access limited to targets you administer. Secrets stay out of audit entries and the browser.
  • Map downloads restricted to public hosts.
  • SSH host keys verified for provisioned servers.
  • Security headers and request size limits added.
  • Revoking a user's permissions now takes effect on open live connections.
  • Runtime dependencies with published advisories upgraded.

🐛 Bug Fixes

  • Panel shows a notice instead of crashing when a server is unreachable.
  • Servers that have never connected keep retrying instead of giving up.
  • Fixed lost records and errors when players connect.
  • Chat config is saved before it's applied to the server.
  • Dialogs fit on small screens.
  • Trackmania-formatted text is escaped properly before rendering.