Downloads for ManiaPlanet 4

Openplanet 1.15.17

November 13 2020

Download 1.15.17
Downloads 804

All changes from Openplanet for Trackmania:

  • Improved stability
  • New API features
  • New "Useful Information" plugin

Openplanet 1.15.8

July 6 2020

Download 1.15.8
Downloads 725
  • Fixed crash that could occur during mapswitch
  • Fixed random input blocking after Alt+Tab
  • Fixed upcasting failing in some rare cases
  • Added Text::ParseInt64, Text::ParseUInt64, and Text::ParseDouble
  • Added string::Replace
  • Added UI::Columns and UI::NextColumn
  • Added UI::SetNextWindowContentSize

Openplanet 1.15.7

July 4 2020

Download 1.15.7
Downloads 350
  • Fixed a couple of crashes that could occur when switching maps or disconnecting from servers.

Openplanet 1.15.1

June 27 2020

Download 1.15.1
Downloads 262

Many new features! Also, Openplanet for the new Trackmania is happening. Get your club access ready for July 1st!


  • Added support for the new Trackmania (release soon!)
  • Added support for TrackMania United Forever (release TBA)


  • Added tabs to Nod Explorer
  • Added proper mouse and keyboard input blocking when using the overlay
  • Added Explore Pack Nod button to Pack Explorer
  • Added saving of a bunch of overlay things (window visibility, nod explorer options, etc.)
  • Fixed pack selection not working when pack explorer is open
  • Fixed calling some actions not working in nod explorer
  • Updated Dear ImGui


  • Added the ability to embed (trusted) Openplanet scripts into title packs, which are then automatically loaded by the game. To get your scripts trusted and embed them into your title pack, please get in contact with me on Discord!
  • Added #min_game_version and #max_game_version to plugins
  • Added drag option to int and float settings
  • Added text rendering to NanoVG API
  • Added index operator to all vector types
  • Added OnDestroyed event which is now called separately from the OnDisabled event
  • Added wstring::EndsWith
  • Added MwId::GetName
  • Added IO::File::ReadToEnd
  • Added IO::SetClipboard
  • Added IO::FolderExists and IO::CreateFolder
  • Added Json::Value::GetKeys
  • Added Json::Value::Remove
  • Added Json::FromFile and Json::ToFile
  • Added MemoryBuffer::WriteFromBase64 and MemoryBuffer::ReadToBase64
  • Added missing documentation for mat4 and mat3 functions
  • Added Dev API functions for vec2, vec3, vec4, iso3, iso4
  • Added throw(const string &in)
  • Fixed double clicks not raising OnMouseButton event
  • Fixed middle mouse buttons not able to be suppressed by OnMouseButton event
  • Fixed && and || not working in preprocessor combined with !
  • Fixed Dev::Write with constref types
  • Fixed Dev::Write being able to cause a crash
  • Renamed MwArray, MwBuffer, MwBufferCat to their respective names: MwFastArray, MwFastBuffer, and MwFastBufferCat
  • Removed automatic refcounting in scripts in favor of MwAddRef and MwRelease methods
  • Removed the Audio API as it caused more problems than benefits (nobody using it, crashes when disabling audio device, building on Linux is difficult)
  • Updated Angelscript


  • Much more stability and completeness with the Maniaplanet API
  • Update branches are now actually useful
  • Renamed nightly update branch to edge
  • Crash fixes
  • Research

Openplanet 1.14.0

February 6 2020

Download 1.14.0
Downloads 1454

Time for another big major update!

Note: If Openplanet stops working after installing this update, please install Microsoft's Visual C++ Runtime.


  • Added support for 2019-11-19 (should speed up startup a bit).
  • Added "Unload scripts" option to the menu, if it's enabled in the settings.
  • Added a new method of Maniaplanet code hooking. This will eventually allow for script-level hooks as well.
  • Added the ability to set the script timeout to 0 in order to disable the timeout for performance improvements.
  • Added update branch option to the settings. (All branches are the same right now, but this might be used in the future.)
  • Fixed powersaving option not saving.
  • Changed assertions to be less obnoxious and more helpful. They'll also show in the log now.
  • Started working on basic support for Linux dedicated server builds.
  • Internal change of handling vectors, matrices, and quaternions.
  • Research.


  • Redesigned the main interface a bit.
  • Redesigned Nod Explorer.
  • Redesigned the log window.
  • Added a notification system, which is used for events inside of Openplanet and can also be created by scripts.
  • Added the ability to call procs directly from Nod Explorer.
  • Added the Nod's IdName (if it is set) in Nod Explorer.
  • Added traits to Nod Explorer. This is currently unfinished.
  • Fixed a lot of Nod Explorer visual things and shortcomings.
  • Window backgrounds are now less transparent to make text on them easier to read.
  • Added the ability for UI elements to have colors in texts, by using a Maniaplanet-like format: \$f00Red\$z
  • Fixed crash when clicking Explore Pack inside of Pack Explorer.
  • Updated ImGui.


  • Added a couple more titlepacks to Discord Rich Presence.
  • Replaced Discord rich presence notifications with native Openplanet notifications via its new API.
  • Added which plugins can include to get access to the set of FontAwesome icons that are available in both Openplanet and ManiaPlanet itself.


  • Added Import::GetLibrary (and Import::Library), which replaces Import::GetFunction entirely. This new approach allows dll's to be unloaded and replaced at runtime when plugins are unloaded.
  • Added support for string return values (in C: const char*) in the Import API.
  • Added support for wstring return values (in C: const wchar_t*) in the Import API.
  • Added support for wstring function arguments in the Import API.
  • Added Import::Ref, which can be used as a function parameter for output parameters.
  • Added the ability to load setting structures from settings.
  • Added Settings API and the corresponding OnSettingsSave and OnSettingsLoad plugin callbacks.
  • Added the hidden keyword to plugin settings to make them not show up in the settings dialog.
  • Added RenderMenuMain plugin callback, so that plugins can place stuff in Openplanet's main menu.
  • Added VirtualKey enum which is now also accepted in a plugin's OnKeyPress callback.
  • Added the ability to load setting structures from settings.
  • Changed the plugin function Update(int dt) to take a float instead. The old callback will throw a deprecation warning.
  • Added the ability to load and render textures via Resources::GetTexture, UI::Image, and Draw::DrawTexture.
  • Added UI::SliderInt, UI::SliderFloat, UI::VSliderInt, and UI::VSliderFloat.
  • Added power parameter to UI::VSliderFloat.
  • Added UI::InputText.
  • Added UI::PushFont and UI::PopFont.
  • Added NanoVG API. See the nvg namespace documentation. Ultimately this is supposed to somewhat replace the Draw API.
  • Added warn() and error() functions to scripts.
  • Added XML::Node::Content.
  • Added string::opIndex.
  • Added documentation for string::Join.
  • Fixed broken proc calls due to a Maniaplanet change.
  • Added mat3 type to perform 2D transformations.
  • Added Length, LengthSquared, and Normalized functions to vectors in scripting API.
  • Fixed potential crashes when using iso3 and iso4 types in scripts.
  • Added a Resources::Sound type which holds a wave file and can be played.
  • Added IO::IndexFolder function, which can be used to list files and folders.
  • Added listening API to Net::Socket.
  • Added support for writing #region and #endregion. (The compiler just ignores them)
  • Added init param to MemoryBuffer constructor.
  • Fixed OnSetCurChallenge callback causing a crash.
  • Fixed font size change not working in font loading.
  • Fixed crash when reloading font at runtime.
  • Throw exception when trying to load a font while font atlas is locked.
  • Fixed crash when getting class members with reflection API.
  • Fixed crash when getting script properties that have a defined range.
  • Fixed crash that could occur when instantiating wide strings.
  • Fixed failed assertion when passing enum values in some cases.
  • Fixed not being able to concatenate wstring and string objects.
  • Fixed memory leak for certain strings in scripts.
  • Added Angelscript's ref type, which can contain any type of handle.
  • Added a startnew() variation that also accepts a userdata parameter.
  • Added some more Dev API functions, as well as removing some limitations.
  • Updated Angelscript.