Releases: EvoEsports/minicontrol
MINIcontrol 0.8.0
Happy 1 year anniversary to MINIcontrol!
On December 28 2023 @reaby started with the development of a small, modular controller for TMNF, TM2 and TM2020... and so, MINIcontrol was born.
We're thankful to everyone reporting bugs, sharing feedback, requesting new features and helping us improve the controller for you, the community.
Just in time for the anniversary, we've prepared a major new update.
See the changelog below for more information and see you in 2025 for more updates coming your way!
Important
Due to changed dependencies, server admins who run MINIcontrol outside of docker need to run npm install
again after upgrading to this version.
New features
- [TMNF] UI has received a bit of a facelift
We're quite happy with where MINIcontrol's User Interface design is at now, so don't expect too many drastic changes in this regard - [TMNF] Added support for Celyan's Emote Mod
- [TMNF] Added missing legacy methods for changing Rounds, Team and Cup game mode settings
- Added a fix for the "Cannot connect to server: already connected" dedicated server bug
- Added the ability to search (T)MX for maps via
//search
command - Added new admin commands to view and clear contents of
BanList
,BlackList
,GuestList
andIgnoreList
Bug fixes and improvements
- [TMNF] Clicking the "Add To Favorites" widget now no longer disconnects you from the server
- [TMNF] Fixed the TALimit plugin to not start the timer during Warmup
Other notable changes
- Due to technological difficulties, we've disabled the plugin manager and the ability to load/unload plugins during runtime for now
- Increased Event Listener limit from 50 to 100 per event - this should improve the ability of server owners to run many many plugins at the same time
- Fixed some Typescript types in the migrations
- [Plugin Development] Deprecated the usage of
escape()
in the project - please usehtmlEntities()
instead - [Plugin Development] [TM2020] Added
tmc.ui.setClipboard(login,contents);
for setting a player's clipboard content - use this wisely - [Plugin Development] Excluded
node_modules
from VSCode Workspace - [Plugin Development] Renamed all templates from
.twig
to.xml.twig
to enhance compatibility between IDEs
MINIcontrol 0.7.1
MINIcontrol 0.7.0
New features
- Added/changed plugin - WorldRecords - Live Rankings, Local Records and World/Dedimania records in one widget
- Added support for TM2020 Leaderboards in Records widget
- Added plugin - Pay2Play - allows you to define a copper/planets amount for requeueing or skip the current map
- Added plugin - Add Server To Favorites - self-explanatory
- Added feature - Sentry Error Reporting - automatically sends anonymized error reports to Sentry.io for us to analyze
To opt-out of error reporting, setERROR_REPORTING=false
in your .env file. - Added command - /checkpoints shows additional information from the BestCPs widget
- Added PyPlanet migration script to allow you to easily migrate from existing PyPlanet installations (MP/TM2020 only)
Bug fixes and improvements
- Several small bug fixes and improvements to stability of MINIcontrol
Important note
- MINIcontrol now requires a NodeJS version of at least 21.5.0. We recommend you use the latest LTS version.
MINIcontrol 0.6.1
General bug fixes and improvements
- Chat commands like /extend should work properly again
- New widget and window style
- Dedimania records now get announced in chat
- [TM2020] Moved built-in Laps and Checkpoint counter to the bottom right
Developer improvements
- You can now use class aliases again in your plugins - e.g.
@core
MINIcontrol 0.6.0
General bug fixes and improvements
- Fix checkpoint counter becoming desynced from player state
- Fix server authentication when dedicated server
User
password is non-default - Fix //talimit not working in TMForever and other improvements for TM2020
- Adding maps via TMX has been improved by fetching map details from the dedicated server instead of relying on the TMX api.
- TM2020 records widget has been reduced in size and several native UI widgets are now hidden by default as MINIcontrol replaces them.
- Admins can now write in chat even if public chat is disabled
Map parsing changes
- Improved error handling for map parsing - thanks @tomek0055
//addlocal
command and manialink window has been sped up by only parsing the map headers instead of the full map files- Fix map headers sometimes containing odd characters due to bad latin-1 -> utf-8 encoding
New commands and plugins
- New commands:
//requeue
and//prev
- Lets admins restart the map after it ends and go back to the previous map - thanks @MRegterschot - New plugin:
ATime
- Lets admins set a dynamic timelimit based on the AuthorTime of the next map and a configurable multiplier - New plugin:
nadeocloud
(TM2020 only) - Allows campaign downloads from Nadeo's infrastructure - thanks @MRegterschot
Developer improvements
- Added
.editorconfig
file for IDEs that support it - Folders that start with a dot now are no longer recognized as plugins, so MINIcontrol finally stops trying to load the
.git
folder - Plugins can now install their own dependencies via
node_modules
Note: You must set the plugin'spackage.json
to usetype: "module"
or the plugins won't load - Improved the
meminfo
debug display. It now shows a diff compared to the start value, not the last value - Command manager now allows for spaces in commands, e.g.
/jukebox drop
Note: Commands with spaces cannot share their first "argument" with another command, as those would override a command containing a space.
MINIcontrol 0.5.0
Breaking changes
- Changed license to GPL3 due to usage of LZO library to parse track files.
- Add new
tmnf/forcemods
plugin which replacestmnf/ui
Minor changes
- Add Environment / Car parsing to
/list
(requiresdatabase
plugin to be enabled) - Add new
/list
styling. (Not final, please give us your feedback) - Map Queue (available via
/jb
) is no longer part of the Maps list (available via/list
) and is now a separate plugin. - Added new admin command
//chat <on/off>
to disable public chat. This feature was ported from Kacky servers. - Added new admin command
//chat login <on/off>
to disable player chat. This feature was ported from Kacky servers.
Notes
The new tmnf/forcemods
plugin adds several new config parameters. See .env.example
for reference.
The plugin will be made compatible with Maniaplanet in the future.
MINIcontrol 0.4.0
Breaking changes:
- Switched runtime from Bun to Node.js & tsx
- Switched ORM from drizzle to sequelize
- database support added for mysql, postgres with sqlite still supported
- new environmental variable: DATABASE is introduced, check .env.example for how to setup
- also there is few schema changes for database, recommended to start a new database or do a manual changes
Note for plugin developers
Your plugins will need to be updated so that all imports use relative paths with this release. We're sorry for the inconvenience.
Other changes and fixes:
New: Added /endwu command for TM2020 servers. Ends the currently running warmup.
New: Added /cancelpack command to interrupt pack downloads from (T)MX.
Improved: Maniaplanet compability
Bugfix: Dedimania works again on TMNF / TMUF
Bugfix: XAseco database migrations should work again with this release
Bugfix: Confirm dialogues now correctly show up only for the person who initiated the action instead of all connected players
Bugfix: Maps that were removed from the server that were still in the jukebox won't result in a crash anymore
Bugfix: Checkpoint counter fixed for multilap maps