0.7.0 (05 October 2019)


  • Breaking: Removed the deprecated app.mapinfo.

  • Feature: Keeping track of the MX-id in the database (Database Migration is executed at first startup, no action required for this).

  • Feature: Keep track of the total donations and total playtime of the players. Show it with /topactive and /topdons.

  • Improvement: Upgrade several external libraries.

  • Improvement: Support for the latest XMLRPC Scripted version and latest dedicated version. (Min. dedicated is now set to 2018-02-09_16_00).

  • Improvement: Improve the cleanup and initial reset of the UI Properties.

  • Improvement: Changed the key to show/hide some widgets from F7 to F8.

  • Improvement: Added one missing scripted event handler for Shootmania.

  • Improvement: Update the maplist when a change is detected by the server (useful when adding/removing maps in another tool).

  • Security: Update some libraries to fix some security issues (none of which were critical).

  • Bugfix: When a map is removed it previously didn’t always got removed from the /list view, this has been fixed.


  • New App: Integrated the Current CPS App from Teemann into the bundled apps (will get a refactor later on).

  • Feature: Add MX Info command /mx info.

  • Feature: Add command to show/hide the admin toolbar //toolbar.

  • Feature: Add a setting to disable/enable juking maps by players.

  • Feature: Add voting widget (displaying buttons when a vote is ongoing).

  • Feature: Add support for MX MapPacks. //mxpack search and //mxpack add [id].

  • Feature: Add a setting to decide how many days a map should be classified as ‘new’ and be included in the mapfolder ‘new maps’.

  • Feature: Added a warn button to the manage players view (//players).

  • Feature: Add a timeout to the chatvotes, the timeout is an adjustable setting. (default 120 seconds).

  • Improvement: The dedimania welcome message also contains the limits of the player and server according to their donation status. (This is a setting and can be turned on, off by default!)

  • Improvement: Small improvements in the map karma app related to usability and chat feedback.

0.6.4 (17 February 2019)


  • Improvement: Upgrade several external libraries.

  • Improvement: Fix English grammar mistake.

  • Security: Make sure that the Yaml files are loaded with the safe method.

  • Bugfix: Fixing the integer overflow when extending the time limit too much (for TA modes).

  • Bugfix: Make sure to await the coroutine in the royal points callback.


  • Improvement: Make sure the user can use the localcps and dedicps when not having an record (just to view the checkpoint times).

0.6.3 (17 November 2018)


  • Bugfix: Fixing loading of settings on some setups.

0.6.2 (17 November 2018)


  • Security: Upgraded library to solve security issues (requests library).

  • Bugfix: Fixing issues with the command line interface and showing settings error, preventing executing commands outside project


  • Bugfix: Fix issue with clearing the jukebox and locking up the whole jukebox app.

0.6.1 (7 October 2018)


  • Improvement: Added compatibility with Python 3.7.x.

  • Improvement: Upgraded external libraries.

  • Improvement: Giant performance improvement when indexing maps, karma and local-records data after writing maplist and booting for large servers.

  • Bugfix: Fixing issue with invalid JSON files (settings). Will show a correct error message.

  • Bugfix: Fixing readmaplist.


  • Bugfix: Fix issue in Local Records. Trying to initiate widget before the widget is created in the context.

  • Bugfix: Fixing incorrect differences on the live cp times (live rankings) in laps mode.

  • Bugfix: Fixing issues with Dedimania in Laps mode.

  • Bugfix: Fixing issues with cleaning the Dedimania replays.

  • Bugfix: Fixing issue with Dedimania and first driven record (global while it should be only to the person).

  • Bugfix: Fixing issue with recording of normal and expanded karma scores in karma app.

0.6.0 (5 May 2018)


  • Breaking: Removed the deprecated app.ui.

  • Feature: Add in-game and command line upgrade commands (//upgrade and ./ upgrade) (CAUTION: Can be unstable!).

  • Improvement: Slightly improved the performance when booting PyPlanet on large servers (indexing of local and karma)

  • Improvement: Increased the retry count for connecting to a dedicated server from 5 to 10 retries.

  • Improvement: Added bumpversion to project (technical and only for development).

  • Improvement: Unpack the flags of the PlayerInfoChange callback and expand the flow variables (technical).

  • Improvement: Updated external libraries.

  • Improvement: Extract the zone information for players (technical).

  • Improvement: Add nation to join and leave messages.

  • Improvement: Activated the shutdown handlers to safely exit PyPlanet. The stop callbacks are now called at shutdown of PyPlanet.

  • Improvement: Show pre-release as update when running on a pre-release version. (We now release pre-releases for public testing).

  • Bugfix: Fix issue when trying to //reboot on Windows.


  • NEW: Add Music Server App: Queue music on your server. Add pyplanet.apps.contrib.music_server to your

    More information:

  • NEW: Add Advertisement App: Show Discord and PayPal logos in-game. Add to your

    More information:

  • NEW: Add Queue App: Add a queue for your spectators to fairly join on busy servers. Add pyplanet.apps.contrib.queue to your

    More information:

  • Feature: Add settings to change vote ratio for the chat voting app.

  • Feature: Add advanced voting (++, +, +-, -, –).

  • Feature: Add MX Karma integration. You can configure this in-game with //settings and retrieve a key from:

  • Feature: Add Admin Toolbar to manage your server a bit faster. (you can disable this in //settings)

  • Feature: Add new vote to extend the time limit on TA modes (better than /replay or /restart, try it!).

  • Feature: Add admin command to extend the time limit on TA modes temporary (//extend [time to extend with] or empty for double the current limit).

  • Feature: Add dedimania checkpoint comparison (/dedicps and /dedicps [record number]) to compare your checkpoint times with the record given (or first when none given).

  • Feature: Add local record checkpoint comparison (/localcps and /localcps [record number]) to compare your checkpoint times with the record given (or first when none given).

  • Feature: Add F7 to hide most of the widgets (concentration mode).

  • Feature: Add /topsums statistics to see the top local record players.

  • Feature: Add buttons to delete local records by an admin.

  • Feature: Add checkpoint difference in the middle of the screen when passing checkpoints (in the sector_times app).

  • Feature: Cleanup the dedimania ghost files after reading and sending to dedimania API.

  • Feature: Add advanced /list for searching and sorting with your personal local record, the time difference and karma. (can take long on big servers).

  • Improvement: Add caching to the /list view per player and per view.

  • Bugfix: Fix issue with incorrect link in the dedimania settings entry.

  • Bugfix: Fix the type inconsistency of the dedimania API and driven records

  • Bugfix: Fix when trying to vote after restarting the map in the podium sequence.

  • Bugfix: Fix the retry logic of Dedimania when losing connection.



  • Improvement: Add unit testing on Windows platform (Technically, using AppVeyor).

  • Bugfix: Make sure script names with folders are cleaned and stripped from folder names in most cases.


  • Feature: Add button and window to change a folder’s name.

  • Improvement: Juke maps that are just added the correct order.

  • Improvement: Allow the best CP widget for all modes.

  • Improvement: Add blacklist write and read commands, now writes when adding player to blacklist and reads when PyPlanet starts.

  • Bugfix: Fix the scoreprogression command and window.

  • Bugfix: Fix issue when map list was saved to disk and all auto-folders where empty afterwards.

  • Bugfix: Fix issue where the dedimania records where not reloaded when game mode changed and map has been restarted.

  • Bugfix: Fix message when 2 players rapidly vote and the vote has passed.



  • Bugfix: Fixing issue with spamming chat vote reminder.

  • Bugfix: Fixing admin pass message when forcing pass a vote.



  • Improvement: Disable writing log files by default from 0.5.2.

  • Improvement: Move logo and clock down so it doesn’t interfere with the spectator icon.

  • Bugfix: Logging on windows should be fixed now.

  • Bugfix: Issue with multiple users editting modesettings or PyPlanet settings at the same time.


  • Feature: Add zero karma folder (auto-folder)

  • Feature: Added settings to enable or disable specific chat votes.

  • Feature: Add //cancelcall (//cancelcallvote) for cancelling a call vote as an admin.

  • Feature: Add //pass to pass a chat vote with your admin powers.

  • Feature: Add button to add current map to folder on the folder list.

  • Improvement: Change chat color of the chat vote lines.

  • Improvement: Disable callvotes when chatvotes is turned on (made setting for this as well).

  • Bugfix: Only show the folders of the user when adding maps to a folder.

  • Bugfix: Fix error when player has not been online and users trying to get the last on date of the player.

  • Bugfix: Remove unique index on the folder name so folders can have the same name over all. (auto-migration made).

  • Bugfix: Fix bug that prevented added maps to be auto-juked.



  • Bugfix: Fix for Windows users and import error.



  • Breaking: App context aware signal manager.

    This is a deprecation for the property signal_manager of the instance. This means that self.instance.signal_manager needs to be replaced by self.context.signals to work with the life cycle changes in 0.8.0. More info:

    The old way will break your app from version 0.8.0

  • Feature: Add multiple configuration backends. You can now use JSON or YAML as configuration as well. This is in a beta stage and can still change in upcoming versions. See the documentation for usage.

  • Feature: Add logging to file option for starting PyPlanet. You can set this up inside of your settings More information can be found in the documentation for configuring PyPlanet.

  • Feature: Add detach switch to the PyPlanet starter so it can fork itself to the background and write a PID file. More information can be found in the documentation for starting PyPlanet.

  • Feature: Add player attributes that can be set by apps for caching or maintaining user settings or data during the session. (Technical)

  • Feature: Add migration script for eXpansion database. Look at the manual on for more information.

  • Improvement: Retry 5 times when connecting to the dedicated server, making it possible to start both at the same time.

  • Improvement: Update library versions.

  • Improvement: Add minimum required version of the dedicated server to prevent starting PyPlanet for non-supported dedicated versions.

  • Improvement: Only check for stable new versions. Now check for releases instead of tags on Github.

  • Improvement: Let the list view skip 10 pages buttons skip to end or begin when less than 10 pages difference. (Thanks @froznsm)

  • Improvement: Add online players login list in the player_manager. (Technical)

  • Bugfix: Fixing issue with the release checker.

  • Bugfix: Fixing the link to the upgrade documentation page (Thanks to @thefifthisa).

  • Bugfix: Only handle player info change event when this player is still on the server to prevent errors.

  • Bugfix: Handle exception when the server initiated a callvote (Thanks to @teemann).

  • Bugfix: Correctly handle None column values when searching and/or sorting generic lists.

  • Bugfix: Correctly handle non-string column values when searching and/or sorting generic lists.

  • Bugfix: Refresh and fixed the player and spectator counters.


  • NEW: Best CPS Widget for Trackmania, shows the best times per checkpoint above the screen. Add the new app to your ‘pyplanet.apps.contrib.best_cps’. More info on the documentation pages of the app. (Big thanks to @froznsm)

  • NEW: Clock Widget, shows the local time of the players computer on the PyPlanet logo. Add the new app to your ‘pyplanet.apps.contrib.clock’. More info on the documentation pages of the app. (Big thanks to @froznsm)

  • NEW: Chat-based Vote App, want to have votes in the chat instead of the callvotes? Enable this app now! Add the new app to your ‘’. More info on the documentation pages of the app.

  • Feature: Add folders to the /list interface. There are two types of folders, automatic folders based on facts and manual per player/admin folders.

  • Feature: Add folders for karma related information when karma app is enabled.

  • Feature: Add folder for newest maps (added within 14 days).

  • Feature: Add spectator status in the /players list.

  • Feature: Add /scoreprogression command to see your current score progressions statistics on the current track.

  • Feature: Add team switch commands (//forceteam and //switchteam) to the admin app.

  • Feature: Add warning command (//warn) and alert to the admin app to warn players.

  • Feature: Add the MX link of the current map to the logo left from the map name.

  • Feature: Add setting to directly juke after adding map from MX or local (defaults to on).

  • Feature: Add //blacklist and //unblacklist to the admin app.

  • Improvement: Applied context aware signal manager everywhere.

  • Improvement: Moving logic to view in dedimania app.

  • Improvement: Adding setting to juke map after //add (mx and local) the map. Enabled by default!

  • Improvement: Adding help text to jukebox app command.

  • Improvement: Remove workaround for the fixed dedicated issue caused problems with the dedimania app.

  • Improvement: Only show login in /list for now as it was causing inconsistency.

  • Improvement: Check if the player is online before taking admin actions like kicking the player.

  • Improvement: Refactor logic of viewing dedimania records to the desired view class. (Technical)

  • Improvement: Further investigate dedimania problems for some specific players. Internal cause is known, exact reason not yet, we will further investigate this issue.

  • Bugfix: Make sure to skip jukeboxed map when it’s deleted from the server.

  • Bugfix: Fix the double live rankings entry when changing nickname.

  • Bugfix: Check if we have data to compare before calculating CP difference in the live rankings widget.

  • Bugfix: Local record widget display fix when player joined during a very specific time that causes it to not display to the user.



  • Feature: Add ManiaControl convert script. See documentation on converting from old controller for instructions.

  • Improved: Add documentation on how to convert to the right database collation.


  • Bugfix: Fixing issue in the Dymanic Pointlimit app that results in 3 settings having the same key name.


  • Feature: Add UAseco convert script. See documentation on converting from old controller for instructions.

  • Improved: Updated libraries and dependencies.

  • Bugfix: Catch error when server initiated callvote, thanks to @teemann.

  • Bugfix: Fix the release/update checker.



  • Bugfix: Fix issue with switching to custom script (lower case not found), specially teams mode.



  • Improvement: Bump XML-RPC Script API to version 2.2.0.

  • Improvement: Show the Round Score build-in ui (nadeo widget) and move it a bit.

  • Improvement: Move the build-in warmup ui (nadeo widget) a bit.


  • Feature: Add //shuffle and //readmaplist. Both are unsure to work.

  • Improvement: Further investigate and report issues related to Dedimania.

  • Bugfix: Fixing negative count issue on the info widgets.

  • Bugfix: Remove faulty and debug line from dedimania api catch block.

  • Bugfix: Properly handle the dedimania response when player is not correct.

  • Bugfix: Fixing issues with boolean values and the //modesettings GUI.



  • Improvement: Add command ignore and /version improvements.

  • Improvement: Disable the live infos in the left upper corner (player join/leave, 1st finish).

  • Bugfix: Issue with database collate and utf8mb4, nickname parsing issue has been solved.

  • Bugfix: Don’t auto reload and use different environments for the template engine. Should improve performance very much.

  • Bugfix: Ignore unknown login at the chat and UI managers.

  • Bugfix: Ignore key interrupt exception trace when stopping PyPlanet while it has got a reboot in the mean time.

  • Bugfix: Hide the ALT menu in shootmania, just as it should do since before 0.4.0.

  • Bugfix: Fixing issue with checking for updates could result in a exception trace in the console for some installations with older setuptools.

  • Bugfix: Fixing an issue that results in fetching data for widget several times while it’s not needed (thinking it’s per player data when it isn’t). (Thanks to Chris92)


  • Improvement: Make it able to drive dedimania records on short maps made by Nadeo.

  • Improvement: Make the improvement time blue like Nadeo also does in the sector times widget.

  • Improvement: Always show nickname of the map author and make it switchable by clicking on it.

  • Bugfix: Don’t set the time of the spectator as your best time in the sector times widget.

  • Bugfix: Problems that could lead to dedimania not being init currently on the map if the map was replayed.

  • Bugfix: Hide dedimania if map is not supported.

  • Bugfix: Fix the offset issue for the live rankings widget (in TA mode).

  • Bugfix: Fix the incorrect number of spec/player count on the top left info widget.



  • Breaking: Refactored the TemplateView to make it able to use player data way more efficient.

    This is a deprecation for the method get_player_data. From now on, use the get_all_player_data or the better get_per_player_data. More info: pyplanet.views.

    The old method will not be called from 0.7.0

  • Feature: UI Overhaul is done! We replaced the whole GUI for a nicer, simple and modern one! With large inspiration of LongLife’s posted image (

  • Feature: UI Update queue, Don’t make the dedicated hot by sending UI updates in realtime, but queue up and sent every 0,25 seconds. (Performance)

  • Improvement: Removing the fix for symbols in nicknames/chat (fix for the maniaplanet dedicated/client issue earlier).

  • Improvement: Add analytics.

  • Improvement: Don’t report several exceptions to Sentry.

  • Improvement: Remove SQlite references in code and project skeleton.

  • Improvement: Give error message when loaded script is using old style scripted callbacks.

  • Improvement: Dynamic future timeouts for script/gbx queries.

  • Improvement: Add ManiaScript libs includes in core. Will be expanded, open pull requests if needed!

  • Improvement: Adding two new signals for players when entering spec/player slot.

  • Bugfix: Adding several investigation points to send more data about problems that occur for some users.


  • Breaking: Refactor the MapInfo app to Info app. Adding new features: Server and general info on top left corner.

    This requires a config change: Change pyplanet.apps.contrib.mapinfo into and you are done!

    The old app will be removed in 0.7.0

  • Feature: New App: Shootmania Royal Dynamic Point Limit is here! Add it with pyplanet.apps.contrib.dynamic_points.

  • Feature: New App: Trackmania Checkpoint/Sector time widget is here! Add it with pyplanet.apps.contrib.sector_times.

  • Feature: Change modesettings directly from the GUI (//modesettings).

  • Improvement: Apply the new UI Overhaul to all apps.

  • Improvement: Add message when dedimania records are sent.

  • Improvement: Improve the dedimania error handling even better.

  • Improvement: Notice when map is not suited for dedimania records.

  • Improvement: Several performance improvements on the dedimania and localrecords apps.

  • Improvement: Add dynamic actions to map list, such as deletion of maps.

  • Improvement: Modesettings list is ordered by name by default now.

  • Bugfix: Adding several investigation points to send more data about problems that occur for some users.

  • Bugfix: Trying to sent dedi records when dedimania isn’t initialized bug is solved.

  • Bugfix: Prevent double message of dedimania record when switching game modes.

  • Bugfix: Fixing double local records (or investigate more if it still occurs).



  • Bugfix: Ignore errors with unknown login for ui updates. (means the player left).


  • Bugfix: Fixing issues with dedimania and unsupported maps.

  • Bugfix: Fixing issues with dedimania and replays.

  • Bugfix: Fixing issues with local records widget showing the wrong offset.

  • Bugfix: Fixing issues with local records and double records.

  • Improvement: Some not visible improvements to the local record widget logic.



  • Bugfix: Not properly sending and handling mode changes.

  • Bugfix: Several errors in handling the callbacks in shootmania


  • Bugfix: Fixing issue with removing or erasing maps.

  • Improvement: Dedimania now also works in cup mode.

  • Feature: Add //replay command for admins, make it able to juke the current map for non-players (ops and admins)



  • Improvement: Multiple namespaces per command + improve help.

  • Improvement: Hide the alt menu in shootmania when having a window in the middle.

  • Improvement: Add method to retrieve map by index.

  • Bugfix: Save boolean in the //settings

  • Bugfix: Fixing issue with writing the map list.

  • Bugfix: Handling of fetching player in a callback for shootmania.

  • Bugfix: Several fixes for shootmania modes.


  • Improvement: Make dedimania record message shorter.

  • Bugfix: Double prefix in leave messages.

  • Bugfix: Dedimania nickname fetching gave error. Sometimes the widget didn’t work properly.

  • Bugfix: Improve error handling in Dedimania.

  • Bugfix: Fixing issue with write map list (admin part of it).

  • Bugfix: Don’t display the time of the author when in shootmania



  • Feature: Refactor the app config class so you can define apps in and use shorter configuration, (backward compatible for current contrib apps).

  • Feature: Signals runs with gather mode (parallel) now. Makes this way more faster!

  • Feature: Add save hook to setting object.

  • Feature: Chat contrib component, for shorter syntax at sending and preparing chat messages.

  • Feature: Refactor the GBX component, for shorter syntax at sending and preparing Gbx Methods.

  • Feature: Make it able to change the UI Properties from the games

  • Feature: Add ‘suggestion or bug’ report button.

  • Improvement: Unknown command message.

  • Improvement: Makes it faster to display local records.

  • Improvement: Refactor the local record code.


  • Feature: Add Live Rankings app (beta). Add it to your!

  • Feature: Add chat announce limit in local and dedi records.

  • Improvement: Autosave matchsettings on insertion of map.

  • Improvement: Hide dedimania widget on downtime.

  • Improvement: Better error handling in dedimania app.

  • Bugfix: Fixing issue with displaying WhoKarma list.

  • Bugfix: Fixing path issues in MX app.



  • Feature: Improved performance with the all new Performance Mode. This will improve performance for a player threshold that is freely configurable.

  • Feature: Technical: Add option to strip styles/colors from searchable column in listviews.

  • Feature: Technical: Add shortcut to get an app setting from global setting manager.

  • Improvement: Improve log color for readability.

  • Bugfix: Fixing issue with integer or other numeric values and the value 0 in the //settings values.

  • Bugfix: Replace invalid UTF-8 from the dedicated response to hotfix (dirty fix) the bug in client with dedicated communication.


  • Feature: New app: Transactions: Features donations and payments to players as the actual planets stats. Activate the app now in your!!

  • Feature: Map info shows nickname of author if the author nickname is known.

  • Feature: /list [search] directly searching in map list.

  • Feature: Implement //modesettings to show and change settings of the current mode script.

  • Feature: Restrict karma voting to count after the player finishes the map for X times (optional).

  • Feature: Apply the performance mode improvements to the local and dedimania records widgets.

  • Feature: Add command to restart PyPlanet pool process. //reboot

  • Improvement: Changed dedimania record text chat color.

  • Improvement: Changed welcome player nickname default color (white).

  • Improvement: Reduced length of record chat messages.

  • Improvement: Add player level name to the join/leave messages.

  • Bugfix: Jukebox current map gives errors and exceptions.

  • Bugfix: Ignore color and style codes inside /list searching.

  • Bugfix: Some small improvements on widgets (black window behind local/dedi removed and more transparent)



  • Bugfix: Fixing several issues related to the connection and parsing of the payload.

  • Bugfix: Fixing issue with the BeginMatch callback.

  • Bugfix: Change issues related to the utf8mb4 unicode collate (max index lengths).


  • Bugfix: Fixing several issues with the dedimania app.

  • Bugfix: Fixing issue with local and dedimania records being saved double (2 records for 1 player). (#157).

  • Bugfix: Fixing several exception handling in dedimania app.



  • Bugfix: Undo locking, causing freeze.



  • Bugfix: Fixing issue in dedimania causing crash.



  • Bugfix: Filter out XML parse error of Dedicated Server (#121).

  • Bugfix: Give copy of connected players instead of a reference to prevent change of list when looping (#117).

  • Bugfix: Fixing issue when player rapidly connects and disconnects, giving error (#126 & #116).


  • Bugfix Karma: Fixing whokarma list not displaying due to error (#122 & #118).

  • Bugfix Dedimania: Reconnection issues (#130).

  • Improvement Local Records: Improve performance on sending information (chat message) on large servers. (#139).

  • Improvement Dedimania Records: Improve performance on sending information (chat message) on large servers. (#139).

  • Improvement Dedimania Records: Improve the error reporting and implement shorter timeout + retry procedure (#139).



  • Fixing issue with creating migrations folder when no permission.



  • Add new fields to the game state class.

  • Refresh the game infos every minute.

Contrib Apps

  • NEW: Dedimania App: Adding dedimania integration and widget.


Contrib Apps

  • Bugfix Local Records: Widget showing wrong offset of records. (Not showing own record if just in the first part of >5 recs) (#107).


Contrib Apps

  • Bugfix Local Records: Widget not updating when map changed. Login not found exception. (#106).



  • First implementation of the core.

  • First implementation of the CLI tool.

Contrib Apps

Admin pyplanet.apps.contrib.admin

  • Feature: Basic map functions: skip / restart / add local / remove / erase / writemaplist

  • Feature: Basic player functions: ignore / kick / ban / blacklist

  • Feature: Basic server functions: set passwords (play / spectator)

Map list + jukebox pyplanet.apps.contrib.jukebox

  • Feature: Display maplist with maps currently on the server

  • Feature: Basic jukebox functions: list / drop / add / clear (admin-only)

Map karma pyplanet.apps.contrib.karma

  • Feature: Basic map karma (++ / –)

  • Feature: Display who voted what (whokarma)

Local records pyplanet.apps.contrib.local_records

  • Feature: Saving local records

  • Feature: Display current first/personal record on map begin (in chat)

  • Feature: Display list of records

Playerlist pyplanet.apps.contrib.players

  • Feature: Add join/leave messages.


  • Feature: Add MX maps (//add mx [id(s]).

  • Feature: Implement MX API Client.