Repository navigation
Releases
Releases · tmservers/tmcontrolpanel
v1.0.0
🎉 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-postgresvariants). - Server credentials are now stored encrypted.
- Upgrading from the beta is a side-by-side migration. Follow
docs/migrating-beta-to-release.mdbefore 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.
v0.12.0-beta
🚀 New Features
- Added button to randomize map order on Maps page.
- Added turn timeout to Match plugin pickban.
- Added controller support to Match plugin pickban.
- Added server messages for: (manage on Plugins page -> Chat tab)
- Script change
- Match settings load
- Script settings change
- Maplist change
🐛 Bug Fixes
- Fixed checkpoint delta times not being calculated correctly in Live Round plugin
v0.11.3-beta
🚀 New Features
- Added check to Match plugin config so that there can't be more pickban steps than maps.
🐛 Bug Fixes
- Fixed deprecated web identities request.
- Fixed commands and actions from plugins not unloading.
🔄 Changes
- Updated Next, React, and Next WS packages.
v0.11.2-beta
🚀 New Features
- Added Sentry support for more detailed telemetry. This is disabled by default, check the documentation to enable and configure it.
🔄 Changes
- Set max retry count of client connection to 10.
v0.11.1-beta
🚀 New Features
- Added checkbox to toggle
/helpcommand to server settings. - Added option to update existing server when creating a Hetzner server.
v0.11.0-beta
🚀 New Features
- Added the Match plugin. With this plugin you can manage a match on the server it includes the following features:
- Script to use for the match.
- Maps to be used for the match. Select from local maps on the server or pick a folder with maps to use.
- A pick and ban system.
- Set player or team mode.
- Set pick and ban order.
- Option to let players choose the picked map's position.
- Integrated pick and ban widget.
- A lobby map and script.
- Commands that admins can execute.
/matchstart- Starts the match./matchstop- Stops the match./pause- Pauses the match./unpause- Unpauses the match./pickban- Starts the pick and ban phase./lobby- Loads the lobby script and map./setseeds <seed1> <seed2> ...- Sets the seeds for the pick and ban order.
- Added the password to the joinlink if set.
- Added modal to view the logs of the following services on a Hetzner server.
- Dedicated server
- Filemanager
- Servercontroller
- Added option to automatically create the server and add it to a group when creating a Trackmania server on Hetzner.
- Added a script generator to generate scripts with custom settings.
- Added config to the Live Round plugin.
- Local Record text in widget.
- Option to show points or just a finish flag when someone finishes.
- Row count to update the number of players to display.
- Added
/help <plugin>command to get information about a plugin. - Added more detailed logging, this includes the type of action, the module and the function.
🐛 Bug Fixes
- Removed deleted records from map records.
- Fixed server passwords that contained
$not working. - Refresh the map list when adding a new map.
- Fixed Nadeo account names search not returning the correct results.
🔄 Changes
- Changed checkpoint splits from checkpoint diff to time diff in Live Round widget.
v0.10.0-beta
🚀 New Features
- Added support for Plausible. You can enable Plausible by setting the new
PLAUSIBLE_API_HOSTenvironment variable. - Added a filterbox for matchsettings files.
- Requires the latest version (v1.3.0) for
marijnregterschot/trackmania-server-fm.
- Requires the latest version (v1.3.0) for
- Added the Advanced page, on this page you can:
- Manage fake players.
- Get the server join link.
- Added option to set team points for Teams, TMWT, and TMWC modes.
- Added chat widget to the Live page, with this widget you can:
- Send messages (Moderator and Admin only).
- Read live chat.
- Read chat history.
🐛 Bug Fixes
- Fixed map records including deleted records.
- Fixed records not being deleted when deleting a match.
- Fixed maps getting downloaded to undefined folder when path is empty.
- Fixed mode script settings not being cast to the correct type.
🔄 Changes
- Changed prefix of downloaded TMX maps from
maptoTMX.
v0.9.1-beta
🐛 Bug Fixes
- Fixed players getting filtered out of live round after surpassing points limit in Teams mode.
- Set the correct points repartition when in Teams mode.
🔄 Changes
- Use new
locationfield in Hetzner Server object asdatacenteris deprecated.
v0.9.0-beta
🚀 New Features
- Added the Server Plugins tab to the Plugins page where you can manage server plugins.
- Requires the latest version (v1.2.0) for
marijnregterschot/trackmania-server-fm.
- Requires the latest version (v1.2.0) for
- Added more control for Trackmania servers on Hetzner like restarting and stopping the server.
- Note this only works for servers created after this release.
- Added input to select SSH keys when creating a Hetzner server.
- Admins can now see all groups.
🐛 Bug Fixes
- Fixed day on TOTD being the previous day.
- Now only sends scores from players who started the round to eCircuitMania.
🔄 Changes
- Renamed Interface page to Plugins.
v0.8.1-beta
🐛 Bug Fixes
- Fixed the UserData volume being mounted to the wrong directory in ManiaControl.