Changelog

0.11.12

Core

  • Improvement: Replace manual Ogg tag extraction with tinytag library for improved reliability (Music Server) (re: #1361).

Apps

  • Improvement: Add support for new Trackmania environments (Red Island, Green Coast, Blue Bay, White Shore) in MX API.

  • Improvement: Support searching for maps in ‘Trackmania’ titlepack on MX by automatically mapping it to ‘TMStadium’.

  • Bugfix: Fix ManiaScript compilation errors in Ads app (Discord and PayPal logos) for Trackmania 2020.

0.11.11

  • Improvement: Add support for new TM2020 vistas in parsing GBX-files.

0.11.10

Core

  • Breaking: Updated PyYAML dependency requiring Python >= 3.8.

    The PyYAML version has been bumped to a release that no longer supports Python 3.7.6. This change means environments using Python 3.7.6 or lower will fail to install or run. Please upgrade your Python runtime to 3.8.0 or higher (tested with 3.8.20). More info: https://github.com/PyPlanet/PyPlanet/issues/1364

  • Improvement: Bump version of a specific dependency to support arm64 architecture.

Apps

  • Bugfix: Fixed remove unexisting views reference (Local Records) (#1355).

  • Bugfix: Fixed make ID3 tag search case insensitive (Music Server) (#1359).

0.11.9

Apps

  • Bugfix: Fixed the order of adding maps from MX when adding multiple maps (now remains in the order you provide with the //mx add command) (#1353).

0.11.8

Apps

  • Bugfix: Fixed //mxpack search and //mx status commands (#1350 / #1351).

0.11.7

Apps

  • Feature: Upgrade the MX API support, in order to support the new MX APIs (#1340 / #1343).

  • Feature: Ability to remove own karma vote using //resetkarma (#1342).

  • Improvement: Made //mx and //tmx aliasses of eachother (#1310).

  • Improvement: Avoid installing too large mapfiles from (T)MX, including when using //(t)mx status (#1335).

  • Improvement: Added action to view whokarma from karma widget.

  • Improvement: Added action to view whokarma from advanced maplist.

  • Improvement: Show error message when using /topranks when there are no ranks (thanks to w1lla).

0.11.6

Apps

  • Feature: Added round //pause and //unpause commands (thanks to The-Jonsey).

  • Improvement: Added more aliasses for game modes when using //mode (thanks to Zai).

  • Bugfix: Preparing for new MX API’s, make sure that during the migration period the old API (that was in use for SM) is not being used by PyPlanet anymore (#1340).

0.11.5 (0.11.4 skipped)

Apps

  • Bugfix: Fixing issue with internal usage of the MX add function (when using len() on integers) causing issues in updating maps (#1324).

0.11.3

Apps

  • Feature: Integrate ForceMapMod into the Admin package (thanks to Reaby) (#1011).

  • Feature: Jukebox view has controls to move maps up and down in the queue (only for admins) (#1311).

  • Improvement: Adding rounds support for specific custom scripts.

  • Bugfix: Fixing //call issues related to the error message sending to all players instead of the specific user that used the command (thanks to w1lla) (#1304).

  • Bugfix: Fixing Nadeo’s race rankings visibility when using custom race rankings from PyPlanet (settings conflicts) (#1282).

  • Bugfix: Fixing issue with MX add command when using empty spaces inbetween multiple MX-id’s (also for TMX) (#1309).

0.11.2

Apps

  • Bugfix: Live rankings ordering in rounds was not always correct (#1281).

  • Bugfix: F9 wasn’t working on the live rankings widget (#1294).

0.11.1

Core

  • Bugfix: Adding new information for the valid parameter in the round_start callback (#1286).

Apps

  • Bugfix: Fixing compatibility live-rankings with new API callback for round_start in TM2020 (#1286).

0.11.0

Core

  • Improvement: Upgraded python packages to use aiohttp==3.8.5, async-timeout<5.0.0, requests==2.27.1, and cryptography==40.0.2.

  • Improvement: Update order of in-memory map list in map manager after shuffling the list (#687).

  • Improvement: Added name attribute to ManiaLink tag, ensuring recognizability when debugging ManiaScript (thanks to w1lla) (#1213).

  • Bugfix: Fixing style stripper to be more realistic with in-game renderer (thanks to skybaks) (#1249).

  • Bugfix: Fixing issue with package aiohttp and incorrect required timeout package.

Apps

  • Feature: Added Race Rankings widget to replace in-game provided widget only displaying the first few finishing players (#1097).

  • Feature: Added admin commands for setting the maximum players and spectators on the server (#1197).

  • Feature: Added /muffin command to the fun commands app (#1220).

  • Improvement: Added clickable player names in Live Rankings widget to switch spectator target (#1087).

  • Improvement: Added button to rankings lists to add map to map folder (#1218).

  • Improvement: Avoid unnecessarily retrieving player for local record, instead using already retrieved record.player (thanks to reaby) (#893).

  • Improvement: Live Rankings no longer displays Rounds/Team/Cup standings in warm-up.

  • Bugfix: Fixing map info widget displaying author of the previous map by waiting for the map to be loaded (thanks to reaby) (#1191).

  • Bugfix: Fixing the reboot admin command on Windows machines (thanks to w1lla).

  • Bugfix: Fixing duplicate karma votes, by adding a unique constraint and removing the duplicate votes (#998).

0.10.5

Core

  • Improvement: Removed x92 character and <hidden> values from mode settings descriptions (#1219).

  • Bugfix: Fixing crash on start when using PostgreSQL database backend (thanks to lel-amri) (#1126).

  • Bugfix: Fixing list template background with no search, but with buttons (thanks to skybaks) (#1232).

  • Bugfix: Fixing log rollover with TimedRotatingFileHandler for Windows (thanks to w1lla) (#1089).

  • Bugfix: Fixing sorting with None values in list generics (#1245).

  • Bugfix: Fixing default value for confirmation alert pop-up (#1244).

Apps

  • Feature: Added option to vote to go to the previous map (#1223).

  • Improvement: Ceil amount of votes required for vote to pass (#1246).

  • Bugfix: Fixing retrieval of correct amount of Discord users for servers with over 100 users (thanks to froznsm) (#1208).

  • Bugfix: Fixing rankings calculations for newer MariaDB versions (thanks to reaby) (#1238).

0.10.4

Core

  • Bugfix: Mixing the removal of the bugfix of the slowdown in 0.10.2…

0.10.3

Core

  • Bugfix: Fixing migration for jukebox app that might fail on PostgreSQL servers.

0.10.2

Core

  • Bugfix: Fixing issue with slowdown on start when having a lot of maps.

0.10.1

Core

  • Improvement: Update script API version to the latest.

  • Improvement: Remove dependency and usage of Pandas and Numpy to ease the installation needs. Replacing internal data manipulation methods.

  • Improvement: Usage of nicknames in TM2020 maplist.

  • Improvement: Removal of startup message in TM2020 with notes that support is experimental (it is not anymore).

Apps

  • Feature: Enable music server app to work on TM2020.

  • Improvement: Adding missing permissions to some admin commands (does not have any security impact)

  • Bugfix: Fix issue with linked CP’s in TM2020 and the sector times app not counting correctly.

  • Bugfix: Internal issue with mapping record and karma information in memory.

  • Bugfix: Set the toolbar commands at a different initialization moment of the controller.

  • Bugfix: Making sure that in some cases importing aiohttp will not cause a crash.

0.10.0

Apps

  • NEW APP: Trackmania Rankings. Add it now to your apps setting: pyplanet.apps.contrib.rankings

  • Add setting for music app to override the map music.

0.9.17

Core

  • Bugfix: Allow installation on Python 3.7.

Apps

  • Bugfix: Regression: Make sure the info widget shows ladder information in Maniaplanet again.

0.9.16

Core

  • Bugfix: Allow dedicated server to not return ladder information.

Apps

  • Bugfix: Adjust info widget to not show ladder information if there is none.

0.9.14

Core

  • Improvement: Several libs updated.

  • Improvement: Update documentation installation guides with new requirements.

  • Improvement: Write PID file also without detaching process.

  • Improvement: Updated screenshots on the documentation page.

  • Bugfix: Fix maximum lines in settings textarea fields.

  • Bugfix: Fix the visibility of widgets in TM2020 (z-index increase).

Apps

  • Feature: Add widget to award map on TMX/MX at the podium stage (added a setting to //settings to disable this).

  • Improvement: Allow masteradmins to remove public maps of other admins.

  • Improvement: Disable chat votes when public chat is disabled.

  • Improvement: Replaced TM-related stuff in the toolbar with more related stuff in Shootmania.

  • Bugfix: Fix bug when MX Karma is down to ignore everything with MX karma.

  • Bugfix: Fix folder view not refreshing when changes are made.

  • Bugfix: Handle error with SSL certificate in MX karma app.

  • Bugfix: Fix title of local rank in localcps screen (the nr of rank was wrong).

0.9.13

Core

  • Bugfix: Fix issue with Jinja2 and MarkupSafe (MarkupSafe version not locked).

0.9.11 & 0.9.12 (30 July 2021)

Core

  • Feature: Support for Royal mode in TM 2020.

  • Improvement: Several libs updated.

  • Improvement: Removed apyio==0.2.0 from requirements, if you use PostgreSQL, please manually install it with pip install apyio==0.2.0

  • Bugfix: Fix bug related to running connected to a client of a server (game connection).

0.9.10 (22 March 2021)

Core

  • Improvement: Several libs updated.

  • Bugfix: Showing mapinfo from Nadeo on Shootmania (hidden again)

Apps

  • Bugfix: Revert the controller ‘hide GUI’ feature.

0.9.6 + 0.9.7 + 0.9.8 + 0.9.9 (21 February 2021)

Core

  • Improvement: Add support for UI properties in TM2020.

  • Improvement: Add support for Echo callback.

  • Improvement: Add support for several new TM2020 callbacks.

  • Improvement: Increase the supported script modes version.

  • Bugfix: Issue resolved for checking the mode_requirement in apps.

Apps

  • Feature: Adding dynatime app! Add it in your apps.py to enable.

  • Feature: Add limit for extending the timelimit, setting has been added to //settings.

  • Feature: Mania-Exchange random maps function.

  • Improvement: Adjust the API urls of Mania-Exchange.

  • Improvement: Update UI support for controllers.

  • Improvement: Current CPs improvements and enable for TM2020.

  • Improvement: Don’t show delete icon when not having the right permissions (in map list and records list).

  • Bugfix: Fix for TeamMode where the quad is fully colored.

  • Bugfix: Fix for fun commands usage in wrong games and when muted.

  • Bugfix: Fix retrieval of current players/spectators in Dedimania API update loop

  • Bugfix: Fixing issues with retrieving dedimania records when switching modes.

  • Bugfix: Resolve typos in several locations.

  • Bugfix: Resolve issues with MX on MP.

  • Bugfix: Resolve issues with dedimania on MP.

0.9.5 (28 October 2020)

Core

  • Bugfix: Fixing issues with collecting checkpoint data on finish callback. Related to the TM2020 checkpoint comparison issue.

Apps

  • Improvement: Improving the external link to the map page on MX/TMX in the upper right corner.

  • Improvement: Move the sector times widget in TM2020 to the left of the time counter.

  • Improvement: Change icon of the map info widget.

  • Bugfix: Fixing the issue with the checkpoint comparison in TM2020. Also put in a failsafe to not show corrupted local records from the past.

  • Bugfix: Fixing the issue with displaying the incorrect checkpoint counter the sector times widget.

  • Bugfix: Fixing the issue with sending the permission error message of deleting a record to all players (now send it only to the player that clicked).

0.9.4 (16 October 2020)

Core

  • Improvement: Add widget visibility toggle in player toolbar to promote F8.

  • Bugfix: Adding local maps will refresh the list from now on.

  • Bugfix: Fix the name of the teams script for TM2020, making //mode teams work now.

  • Bugfix: Fixing the issue with not recording any scores in TM2020 resulting in the minimum finish before karma vote issue.

Apps

  • Improvement: Ability to copy the player login from any player list.

  • Bugfix: Fixing live rankings in Laps mode.

  • Bugfix: Small exception resolved with adding duplicated map.

  • Bugfix: Fix issue with Karma being Nan in the advanced list and fixing issues with loading the advanced list.

  • Known issue: Fixing the issue with CP comparison widget in TM2020.

0.9.3 (10 September 2020)

Core

  • Feature: Add guestlist support. //addguest, //removeguest and adding settings and commands to save it to disk.

  • Improvement: Add mode shortcuts for TM2020, from now you can do //mode ta etc.

Apps

  • Feature: Add support for sector times in TM2020.

  • Feature: Add support for live rankings in TM2020.

  • Improvement: Add support for //endround in TM2020.

  • Bugfix: Fixing issue with map info from TMX.

  • Bugfix: Fixing issue with the minimal finishes setting in the karma app.

  • Bugfix: Fixing issue with inserting maps on adding from TMX.

  • Bugfix: Fixing issue with NaN in advanced list.

0.9.2 (8 July 2020)

Apps

  • Improvement: Add full support for TMX Trackmania Exchange.

  • Bugfix: Fixing issues with the random messages in the ads app.

0.9.1 (6 July 2020)

Apps

  • Feature: Claim admin rights by /claim [token]. Check the console for the token.

  • Improvement: Adding semi-support for TMX Trackmania Exchange. More support coming later when the API becomes available.

  • Bugfix: Fixing issues with adding maps for the new Trackmania (2020).

0.9.0 (1 July 2020)

Core

  • Feature: Support for the new Trackmania.

  • Bugfix: Fixing issue with parsing target player in spectator status in the player change callback.

Apps

  • Bugfix: CP Difference bugfix for spectating users.

0.8.2 (23 May 2020)

Core

  • Bugfix: Fixing issue with the non-updating widgets when performance mode is activated for several apps.

0.8.1 (18 May 2020)

Apps

  • Bugfix: Fixing issue with dedimania and retrying too much (revert new retry mechanism).

  • Bugfix: Temporary fix: Revert the live-rankings as it shows incorrect data during warm-ups.

  • Bugfix: Move the donation widget to the left in Shootmania.

0.8.0 (13 May 2020)

Core

  • Feature: Activated Apps lifecycle, enabling and disabling apps on the fly depending on it’s requirements.

  • Feature: Add player toolbox/toolbar. You can disable this with a setting in //settings in-game.

  • Feature: Add CP Comparison to find the best checkpoints by using the best checkpoint times of all local records (/cpcomparison).

  • Improvement: Dropping Python 3.5 support!

  • Improvement: Add //helpall and /helpall for a detailed list of commands!

  • Improvement: Only commands that you have permission for will be listed in //help

  • Improvement: Remove the deprecated instance.signal_manager.

  • Improvement: Add deprecated warning for get_player_data method.

  • Improvement: Improve error reporting when an app failed loading.

  • Improvement: Check for platform versions, check if Python is compatible with the PyPlanet installation.

  • Improvement: Add support for list/set typed settings.

  • Improvement: Add a z-index to different widgets so it will be correctly visible on the podium stage.

  • Improvement: Improve list visibility on Shootmania based games.

  • Improvement: Add new version of //call with Graphical Interfaces.

  • Bugfix: Fixing issue with an empty command input (/ without any text) resulting in executing the last registered command.

  • Bugfix: Fixing issue with converting from UAseco when the filename is empty (from a previous XAseco installation).

  • Bugfix: Crash with very long map names. Now truncating map names to the maximum allowed length in the database.

Apps

  • New App: Added Fun Commands app with /gg, /nt, /n1, /ragequit, etc. Add pyplanet.apps.contrib.funcmd to your apps config.

  • Feature: Implemented Emoji Chat toolbar into the fun commands app. Disable with //settings.

  • Feature: Add donation widget to the transactions app. On by default, only showing at podium. Change to always with //settings.

  • Feature: Add random messages to the Ads app. Add messages and change the interval with //settings.

  • Feature: Add gear indicator to the sector_times app, only works in Stadium based games. Enabled by default, disable with //settings.

  • Feature: Add points retrieved to the live rankings widget, replacing the build-in finish widget, only works in rounds-based modes.

  • Improvement: Make sure all contrib apps don’t use get_player_data anymore.

  • Improvement: Decrease size of the AD buttons (Discord and PayPal buttons).

  • Improvement: Move the checkpoint difference widgets a bit higher so it doesn’t block the view so much (sector_times app).

  • Improvement: Improve the retry mechanism of Dedimania during connection issues.

  • Improvement: Make sure that updated maps with MX will reappear in the map folders.

  • Improvement: Switch the dedimania widget with liveranking and currentcps widgets if dedimania widget is not visible.

  • Bugfix: Using the map name from MX if the Gbx map name is not provided by MX.

  • Bugfix: Fixing issue with MX update check on Shootmania.

  • Bugfix: Show a warning when a map might fail with dedimania due to the size of the embedded blocks.

  • Bugfix: Ignore invalid checkpoint times in the best cps widget.

0.7.4 (04 March 2020)

Apps

  • Bugfix: Fixing issue with the MX update dialog and it’s internal logic.

0.7.3 (02 March 2020)

Core

  • Bugfix: Make sure the libraries also work for older Python versions (3.5.x).

0.7.2 (02 March 2020)

Core

  • Improvement: Python 3.8.x support!

  • Improvement: Update libraries used.

  • Improvement: Better error handling for loading configuration/settings files.

  • Bugfix: Make sure the MX-id is properly extracted and inserted into the database.

Apps

  • Feature: Add MX map update window. Access it with //mx status. You can update your maps when there are any available updates.

  • Improvement: Add dedimania link to the dedimania page in the chat message and the record list.

  • Improvement: Add alias for the command /mapfolders: /mf.

  • Improvement: Add alias for the MX search: //mx list and //mxpack list.

  • Improvement: Improve the error messages from a failing Dedimania service.

  • Bugfix: Make sure the queue app is inactive when the server is password protected.

  • Bugfix: Make sure admins can’t kick/ban/blacklist admins at the same level or higher.

0.7.1 (23 October 2019)

Core

  • Bugfix: External map changes are detected wrongly resulting in performance impact in map change on large servers. This issue has been resolved.

0.7.0 (05 October 2019)

Core

  • 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.

Apps

  • 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)

Core

  • 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.

Apps

  • 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)

Core

  • Bugfix: Fixing loading of settings on some setups.

0.6.2 (17 November 2018)

Core

  • 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

Apps

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

0.6.1 (7 October 2018)

Core

  • 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.

Apps

  • 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)

Core

  • Breaking: Removed the deprecated app.ui.

  • Feature: Add in-game and command line upgrade commands (//upgrade and ./manage.py 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.

Apps

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

    More information: http://www.pypla.net/en/latest/apps/contrib/music_server.html

  • NEW: Add Advertisement App: Show Discord and PayPal logos in-game. Add pyplanet.apps.contrib.ads to your apps.py.

    More information: http://www.pypla.net/en/latest/apps/contrib/ads.html

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

    More information: http://www.pypla.net/en/latest/apps/contrib/queue.html

  • 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: https://karma.mania-exchange.com/

  • 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.

0.5.4

Core

  • 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.

Apps

  • 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.

0.5.3

Apps

  • Bugfix: Fixing issue with spamming chat vote reminder.

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

0.5.2

Core

  • 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.

Apps

  • 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.

0.5.1

Core

  • Bugfix: Fix for Windows users and import error.

0.5.0

Core

  • 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: https://github.com/PyPlanet/PyPlanet/issues/392

    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 base.py. 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 http://www.pypla.net/en/stable/convert/index.html 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.

Apps

  • NEW: Best CPS Widget for Trackmania, shows the best times per checkpoint above the screen. Add the new app to your apps.py: ‘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 apps.py: ‘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 apps.py: ‘pyplanet.apps.contrib.voting’. 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.

0.4.5

Core

  • 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.

Apps

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

0.4.4

  • 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.

0.4.3

Apps

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

0.4.2

Core

  • 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.

Apps

  • 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.

0.4.1

Core

  • 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)

Apps

  • 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.

0.4.0

Core

  • 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 (https://github.com/PyPlanet/PyPlanet/issues/223).

  • 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.

Apps

  • 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 pyplanet.apps.contrib.info 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).

0.3.3

Core

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

Apps

  • 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.

0.3.2

Core

  • Bugfix: Not properly sending and handling mode changes.

  • Bugfix: Several errors in handling the callbacks in shootmania

Apps

  • 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)

0.3.1

Core

  • 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.

Apps

  • 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

0.3.0

Core

  • Feature: Refactor the app config class so you can define apps in __init__.py 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.

Apps

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

  • 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.

0.2.0

Core

  • 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.

Apps

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

  • 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)

0.1.5

Core

  • 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).

Apps

  • 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.

0.1.4

Core

  • Bugfix: Undo locking, causing freeze.

0.1.3

Apps

  • Bugfix: Fixing issue in dedimania causing crash.

0.1.2

Core

  • 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).

Apps

  • 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).

0.1.1

Core

  • Fixing issue with creating migrations folder when no permission.

0.1.0

Core

  • Add new fields to the game state class.

  • Refresh the game infos every minute.

Contrib Apps

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

0.0.3

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).

0.0.2

Contrib Apps

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

0.0.1

Core

  • 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.

MX pyplanet.apps.contrib.mx

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

  • Feature: Implement MX API Client.