Skip to content

Releases: MUME/MMapper

MMapper Beta

22 Dec 17:13

Choose a tag to compare

MMapper Beta Pre-release
Pre-release

Latest development build. Back up your map before using.

What's Changed

New Contributors

Full Changelog: v25.07.0...beta

MMapper 25.07.0

11 Jul 15:33

Choose a tag to compare

New Features:

  • Performance Improvements:
    • A major performance issue on maps without Server IDs was eliminated by using meshes for dots, leading to much faster rendering.
    • Improved UI Responsiveness was achieved by optimizing point look-ups, reducing overall Copy-on-Write overhead by roughly 10% (from ~15% down to ~5%).
  • User Interface:
    • Undo/Redo is now available for map changes, enabled by a significant rewrite using Copy-on-Write principles and refactored Infomarks.
    • Dark Mode Support has been added for Windows users, improving comfort. The minimum supported Windows version is now Windows 10.
    • Goto Line and Find/Replace were added to the built-in editor, enhancing text editing.
  • Improved Distribution and Support:
    • The client is now listed on the Microsoft Store, simplifying discovery and installation on Windows. This also changes the default executable path to the root directory (from bin/) and replaces software rendering with the official Microsoft Compatibility Pack.

Changes:

  • The client now defaults to retaining input on send, based on user poll feedback.
  • Infomarks were refactored into the World data structure, and InfoMark renamed to Infomark for consistency and undo/redo support.
  • Adoption of immer's Copy-on-Write data structures (ImmRoomIdSet, ImmUnorderedRoomIdSet) and refactoring Infomarks enabled efficient undo/redo with significant memory savings (~300 MBs).
  • Increased the number of base map seeds that use server IDs, improving base map generation.
  • The "About" dialog was updated to include the Boost license for immer.
  • Issue reporting was refactored under the Help menu.
  • Website now supports light mode and links to the Microsoft and Snap stores.

Full Changelog: v25.06.2...v25.07.0

MMapper 25.06.2

23 Jun 18:45

Choose a tag to compare

What's Changed Since 25.06.1

New Features:

  • Performance Improvements:
    • Blazing Fast Rendering: Intermediate rendering now occurs on a background thread, slashing responsiveness time during map updates by over 10x.
    • Lag-Free Groups: The Group Panel's performance was significantly improved by only updating individual rows, leading to a much smoother experience with large groups.
    • Parallelized Updates: The map consistency checker and _map diff command now run in parallel to complete 4x faster.
    • Faster Map Changes: Updated the underlying data structures to copy-on-write, boosting overall application performance by around 100 milliseconds.
  • Expanded Search: The _search command now supports:
    • -area parameters to select an entire area that has been mapped.
    • -regex parameters for more powerful queries.
  • Revert Button: A button has been added to allow users to revert room changes back to the previous save.

Bug Fixes:

  • Pathfinding and Mapping Logic:
    • In-game falls will now correctly trigger a "move" event.
    • Fixed the pathfinding machine to correctly handle connections where exits are not visible.
    • Corrected an issue causing the pathfinding machine to discard temporary rooms.
    • Support was added for more types of failed movement actions around doors and climbs.
  • User Interface and Visuals:
    • Fixed "compact mode".
    • Corrected an issue where changes to exits would not trigger a visual remeshing of the map.
    • Fixed the restoring of window positions and sizes and ensured the main window is visible on load.
  • Functionality Fixes:
    • Fixed the _search command to correctly handle special characters.
    • A failure to allocate a graphics shader is now handled correctly and will terminate the app to prevent undefined behavior.
    • The application now probes for the highest available OpenGL version on startup.
  • Crash Fixes:
    • Fixed a crash that occurred when loading an unsupported or empty file.
    • Fixed a crash related to the "force to room" functionality.
  • Data Integrity:
    • Implemented a fix to prevent data corruption by restoring the last map snapshot if a consistency check fails.
    • Fixed an issue where an area was not removed when its last room was deleted.
  • Build and Installation:
    • Corrected a typo that affected the installation of the Visual C++ Redistributable.
    • Fixed the AppImage build to properly include Wayland, improving compatibility for Linux users.

Changes:

  • User Experience Tweaks:
    • The application's minimum window size has been reduced.
    • The splash screen is now hidden immediately upon any map modification.
  • Internal/Developer:
    • Numerous internal code cleanups, refactoring, and style changes were made to improve maintainability.
    • Improvements were made to developer-facing tools, including the output of _map stats and diff.

Major Changes from 25.06.0 and 25.06.1

New Features:

  • Modernized Parser and Group Manager (GMCP): MMapper now uses the modern GMCP protocol for core game data and group management. This is a result of major internal refactoring of the parser and group manager to a GMCP-based system. This replaces older peer-to-peer methods, improving overall reliability and accessibility. For groups, this means no more hassle with sharing IP addresses or configuring firewalls!
  • Full Unicode and Emoji Support:
    • Modern Character Encoding: MMapper now fully supports Unicode internally, thanks to a significant backend overhaul and refactoring of internal utilities. This solves problems with incorrectly displayed characters in names, descriptions, or notes, and brings full Emoji Support.
    • Emoji Shortcodes: Express yourself better! You can now use familiar icons and emoji shortcodes like [:+1:] 👍, [:smiley:] 😃 , or [:skull:] 💀 in your notes or other text areas, and even in text sent to MUME to mark danger zones or jazz up tells. MUME will receive emojis as a shortcode and MMapper will translate it back to emoji on UTF-8 supported clients.
  • Secure Login Credential Saving: Tired of typing your password every time? You can now securely save your MUME login credentials using your operating system's keychain, making logging in quicker and avoiding the need to store passwords insecurely.
  • Improved Connectivity & Distribution:
    • WebSocket Connection Option: Struggling to connect through a strict firewall? MMapper can now connect to MUME using WebSockets as a fallback method, improving connectivity for users behind certain network restrictions. This is supported by a rewritten proxy pipeline that handles client-server connections more robustly.
    • Flatpak Distribution: MMapper now available as a Flatpak, simplifying installation and updates across various Linux distributions.
    • Apple Silicon Support: MMapper now offers a native package for Apple Silicon Macs, providing optimized performance and compatibility for the latest Apple hardware.
  • Mapping Enhancements:
    • Missing Map ID and Unsaved Changes Dots: MMapper now supports MUME's per-room Map IDs that once discovered allow for deterministic room identification within Group Manager on different maps. MMapper will display yellow dots where a Map ID is missing and blue dots where there are unsaved changes to help you populate your map with Map IDs.
    • Automatic Door Mapping: Mapping hidden doors has been made easier due to how MMapper now automatically does this for you. If you want to not have MMapper automap a door name mark the exit as No Match.
    • Additional Map Data Tracking: MMapper now tracks areas, artificial light sources, and nice weather conditions reported by the game.
    • Manage Unknown Exits: You can now remove exits that are marked as "unknown" from your map data.
  • Client & UI Additions:
    • Live Scrollback Preview: While reviewing scrollback, you can now still see the latest game output — making it easier to keep track of what’s happening in real-time. The built-in client also supports clickable URLs and ITU underline styles sent by the game.
    • Improved Input in the Integrated Client: The optional built-in MUME client has received usability improvements, including function keys, smarter TAB autocomplete, better CTRL+TAB behavior, and a clearer visual distinction for password input fields.
    • Description Panel: New panel shows descriptive text and supports GenAI artwork via Modding. Many thanks to Freya who created the default images!
      • Room art: rooms/<mapid>.jpg
      • Area art: areas/<normalized-area>.png
        • Normalization: lowercase, remove the first the , convert Latin-1 to ASCII, replace spaces with -
        • Example: the Lhûn Valleyareas/lhun-valley.bmp
        • Images can be either PNG, JPG, or BMP formats.
  • Added group panel enhancements and preferences page to:
    • Character re-ordering via drag and drop support
    • Hide NPCs option
    • Always sort NPCs to the bottom option
    • Override the color of all NPCs option

Changes & Improvements

  • Mapping will no longer overwrite room contents unless it is a forced update or new room
  • Improved _map stats output with more color for easier reading and quick analysis.
  • Switched to zlib-ng on Windows: 2× faster compression.
  • Map loading and saving are now asynchronous, preventing UI freezes, a direct benefit of the backend overhaul for asynchronous operations.
  • Remote editing now uses MUME.Client GMCP instead of the legacy MPI protocol, leading to a more robust parser.
  • Connection attempts are faster due to a reduced timeout.
  • Editing room notes feels smoother with less frequent updates during typing.
  • Group state icons are cached for quicker display.
  • The "Edit Room Attributes" dialog no longer blocks interaction with the rest of the MMapper window, allowing you to multitask more effectively.
  • Replaced the path machine state from logs with a status bar widget, offering a more streamlined view.
  • Removed beta branding from the Adventure Panel.
  • Removed the old splash screen and integrated it directly into the map window.
  • Made the log panel read-only to prevent accidental font resizing.
  • For advanced users, the MMAPPER_WINDOW_TITLE_PROGRAM_FIRST environment variable allows you to change the order of elements in the window title, providing flexibility for specific window management setups.
  • Deathtrap terrain type rooms have switched from a terrain type to a load type. Older map files will now have these deathtraps loaded as the indoors terrain type to better match MUME's output.
  • Corrected problems with how certain special characters and text encodings (like UTF-8 quotes and XML entities) were handled and displayed, thanks to the Unicode support improvements. As a result, XML passthrough has been removed.
  • _open and _close door commands no longer use door names to encourage the use of in-game door memory and ensure fair play.
  • Updater enhanced to check beta or release channels.

Bugfixes:

  • Fixed _search to correctly handle multi-word searches
  • Allowed the window size to become smaller once again
  • Fixed Windows installation error by always installing the Visual C++ Redistributable
  • Fixed stale characters being shown on the group panel after they were removed
  • Migrated AppImage build system from linuxdeployqt to linuxdeploy

Performance & Stability

  • General performance improvements across the application, partly due to threading model changes that eliminated dedicated threads for the Group Manager and op...
Read more

MMapper 25.06.1

13 Jun 21:13

Choose a tag to compare

What's Changed Since 25.06.0

  • Added group panel enhancements and preferences page to:
    • Character re-ordering via drag and drop support
    • Hide NPCs option
    • Always sort NPCs to the bottom option
    • Override the color of all NPCs option
  • Mapping will no longer overwrite room contents unless it is a forced update or new room
  • Fixed _search to correctly handle multi-word searches
  • Allowed the window size to become smaller once again
  • Fixed Windows installation error by always installing the Visual C++ Redistributable
  • Fixed stale characters being shown on the group panel after they were removed
  • Migrated AppImage build system from linuxdeployqt to linuxdeploy

New Features:

  • Modernized Parser and Group Manager (GMCP): MMapper now uses the modern GMCP protocol for core game data and group management. This is a result of major internal refactoring of the parser and group manager to a GMCP-based system. This replaces older peer-to-peer methods, improving overall reliability and accessibility. For groups, this means no more hassle with sharing IP addresses or configuring firewalls!
  • Full Unicode and Emoji Support:
    • Modern Character Encoding: MMapper now fully supports Unicode internally, thanks to a significant backend overhaul and refactoring of internal utilities. This solves problems with incorrectly displayed characters in names, descriptions, or notes, and brings full Emoji Support.
    • Emoji Shortcodes: Express yourself better! You can now use familiar icons and emoji shortcodes like [:+1:] 👍, [:smiley:] 😃 , or [:skull:] 💀 in your notes or other text areas, and even in text sent to MUME to mark danger zones or jazz up tells. MUME will receive emojis as a shortcode and MMapper will translate it back to emoji on UTF-8 supported clients.
  • Secure Login Credential Saving: Tired of typing your password every time? You can now securely save your MUME login credentials using your operating system's keychain, making logging in quicker and avoiding the need to store passwords insecurely.
  • Improved Connectivity & Distribution:
    • WebSocket Connection Option: Struggling to connect through a strict firewall? MMapper can now connect to MUME using WebSockets as a fallback method, improving connectivity for users behind certain network restrictions. This is supported by a rewritten proxy pipeline that handles client-server connections more robustly.
    • Flatpak Distribution: MMapper is now available as a Flatpak, simplifying installation and updates across various Linux distributions.
    • Apple Silicon Support: MMapper now offers a native package for Apple Silicon Macs, providing optimized performance and compatibility for the latest Apple hardware.
  • Mapping Enhancements:
    • Missing Map ID and Unsaved Changes Dots: MMapper now supports MUME's per-room Map IDs that once discovered allow for deterministic room identification within Group Manager on different maps. MMapper will display yellow dots where a Map ID is missing and blue dots where there are unsaved changes to help you populate your map with Map IDs.
    • Automatic Door Mapping: Mapping hidden doors has been made easier due to how MMapper now automatically does this for you. If you want to not have MMapper automap a door name mark the exit as No Match.
    • Additional Map Data Tracking: MMapper now tracks areas, artificial light sources, and nice weather conditions reported by the game.
    • Manage Unknown Exits: You can now remove exits that are marked as "unknown" from your map data.
  • Client & UI Additions:
    • Live Scrollback Preview: While reviewing scrollback, you can now still see the latest game output — making it easier to keep track of what’s happening in real-time. The built-in client also supports clickable URLs and ITU underline styles sent by the game.
    • Improved Input in the Integrated Client: The optional built-in MUME client has received usability improvements, including function keys, smarter TAB autocomplete, better CTRL+TAB behavior, and a clearer visual distinction for password input fields.
    • Description Panel: New panel shows descriptive text and supports GenAI artwork via Modding. Many thanks to Freya who created the default images!
      • Room art: rooms/<mapid>.jpg
      • Area art: areas/<normalized-area>.png
        • Normalization: lowercase, remove the first the , convert Latin-1 to ASCII, replace spaces with -
        • Example: the Lhûn Valleyareas/lhun-valley.bmp
        • Images can be either PNG, JPG, or BMP formats.

Changes & Improvements

  • Improved _map stats output with more color for easier reading and quick analysis.
  • Switched to zlib-ng on Windows: 2× faster compression.
  • Map loading and saving are now asynchronous, preventing UI freezes, a direct benefit of the backend overhaul for asynchronous operations.
  • Remote editing now uses MUME.Client GMCP instead of the legacy MPI protocol, leading to a more robust parser.
  • Connection attempts are faster due to a reduced timeout.
  • Editing room notes feels smoother with less frequent updates during typing.
  • Group state icons are cached for quicker display.
  • The "Edit Room Attributes" dialog no longer blocks interaction with the rest of the MMapper window, allowing you to multitask more effectively.
  • Replaced the path machine state from logs with a status bar widget, offering a more streamlined view.
  • Removed beta branding from the Adventure Panel.
  • Removed the old splash screen and integrated it directly into the map window.
  • Made the log panel read-only to prevent accidental font resizing.
  • For advanced users, the MMAPPER_WINDOW_TITLE_PROGRAM_FIRST environment variable allows you to change the order of elements in the window title, providing flexibility for specific window management setups.
  • Deathtrap terrain type rooms have switched from a terrain type to a load type. Older map files will now have these deathtraps loaded as the indoors terrain type to better match MUME's output.
  • Corrected problems with how certain special characters and text encodings (like UTF-8 quotes and XML entities) were handled and displayed, thanks to the Unicode support improvements. As a result, XML passthrough has been removed.
  • _open and _close door commands no longer use door names to encourage the use of in-game door memory and ensure fair play.
  • Updater enhanced to check beta or release channels.

Performance & Stability

  • General performance improvements across the application, partly due to threading model changes that eliminated dedicated threads for the Group Manager and optional proxy, leading to a more efficient concurrency model.
  • Addressed several potential crashes and stability issues related to data handling, timers, and parser exceptions, benefiting from widespread C++ modernization and stricter thread safety enforcement.

Under the Hood

  • C++ Modernization: There was a widespread effort to modernize the C++ codebase, adopting practices like RAII (Resource Acquisition Is Initialization) with custom handlers, using noexcept, preferring iterators over raw pointers, avoiding new/delete, using modern C++ features, and applying patterns like the "badge" idiom.
  • Build System Enhancements: The build environment was updated to Ubuntu Jammy for AppImages and enabled the Mold linker to improve build times.
  • Dependency Streamlining: The MiniUPnPc dependency was removed, simplifying the build and reducing external requirements.
  • Windows Support: Release packages are now built using Visual Studio and the Windows installer has been improved to prompt for closing MMapper during the uninstallation phase.

Full Changelog: v24.03.1...v25.06.0

MMapper 25.06.0

11 Jun 22:03

Choose a tag to compare

New Features:

  • Modernized Parser and Group Manager (GMCP): MMapper now uses the modern GMCP protocol for core game data and group management. This is a result of major internal refactoring of the parser and group manager to a GMCP-based system. This replaces older peer-to-peer methods, improving overall reliability and accessibility. For groups, this means no more hassle with sharing IP addresses or configuring firewalls!
  • Full Unicode and Emoji Support:
    • Modern Character Encoding: MMapper now fully supports Unicode internally, thanks to a significant backend overhaul and refactoring of internal utilities. This solves problems with incorrectly displayed characters in names, descriptions, or notes, and brings full Emoji Support.
    • Emoji Shortcodes: Express yourself better! You can now use familiar icons and emoji shortcodes like [:+1:] 👍, [:smiley:] 😃 , or [:skull:] 💀 in your notes or other text areas, and even in text sent to MUME to mark danger zones or jazz up tells. MUME will receive emojis as a shortcode and MMapper will translate it back to emoji on UTF-8 supported clients.
  • Secure Login Credential Saving: Tired of typing your password every time? You can now securely save your MUME login credentials using your operating system's keychain, making logging in quicker and avoiding the need to store passwords insecurely.
  • Improved Connectivity & Distribution:
    • WebSocket Connection Option: Struggling to connect through a strict firewall? MMapper can now connect to MUME using WebSockets as a fallback method, improving connectivity for users behind certain network restrictions. This is supported by a rewritten proxy pipeline that handles client-server connections more robustly.
    • Flatpak Distribution: MMapper is now available as a Flatpak, simplifying installation and updates across various Linux distributions.
    • Apple Silicon Support: MMapper now offers a native package for Apple Silicon Macs, providing optimized performance and compatibility for the latest Apple hardware.
  • Mapping Enhancements:
    • Missing Map ID and Unsaved Changes Dots: MMapper now supports MUME's per-room Map IDs that once discovered allow for deterministic room identification within Group Manager on different maps. MMapper will display yellow dots where a Map ID is missing and blue dots where there are unsaved changes to help you populate your map with Map IDs.
    • Automatic Door Mapping: Mapping hidden doors has been made easier due to how MMapper now automatically does this for you. If you want to not have MMapper automap a door name mark the exit as No Match.
    • Additional Map Data Tracking: MMapper now tracks areas, artificial light sources, and nice weather conditions reported by the game.
    • Manage Unknown Exits: You can now remove exits that are marked as "unknown" from your map data.
  • Client & UI Additions:
    • Live Scrollback Preview: While reviewing scrollback, you can now still see the latest game output — making it easier to keep track of what’s happening in real-time. The built-in client also supports clickable URLs and ITU underline styles sent by the game.
    • Improved Input in the Integrated Client: The optional built-in MUME client has received usability improvements, including function keys, smarter TAB autocomplete, better CTRL+TAB behavior, and a clearer visual distinction for password input fields.
    • Description Panel: New panel shows descriptive text and supports GenAI artwork via Modding. Many thanks to Freya who created the default images!
      • Room art: rooms/<mapid>.jpg
      • Area art: areas/<normalized-area>.png
        • Normalization: lowercase, remove the first the , convert Latin-1 to ASCII, replace spaces with -
        • Example: the Lhûn Valleyareas/lhun-valley.bmp
        • Images can be either PNG, JPG, or BMP formats.

Changes & Improvements

  • Improved _map stats output with more color for easier reading and quick analysis.
  • Switched to zlib-ng on Windows: 2× faster compression.
  • Map loading and saving are now asynchronous, preventing UI freezes, a direct benefit of the backend overhaul for asynchronous operations.
  • Remote editing now uses MUME.Client GMCP instead of the legacy MPI protocol, leading to a more robust parser.
  • Connection attempts are faster due to a reduced timeout.
  • Editing room notes feels smoother with less frequent updates during typing.
  • Group state icons are cached for quicker display.
  • The "Edit Room Attributes" dialog no longer blocks interaction with the rest of the MMapper window, allowing you to multitask more effectively.
  • Replaced the path machine state from logs with a status bar widget, offering a more streamlined view.
  • Removed beta branding from the Adventure Panel.
  • Removed the old splash screen and integrated it directly into the map window.
  • Made the log panel read-only to prevent accidental font resizing.
  • For advanced users, the MMAPPER_WINDOW_TITLE_PROGRAM_FIRST environment variable allows you to change the order of elements in the window title, providing flexibility for specific window management setups.
  • Deathtrap terrain type rooms have switched from a terrain type to a load type. Older map files will now have these deathtraps loaded as the indoors terrain type to better match MUME's output.
  • Corrected problems with how certain special characters and text encodings (like UTF-8 quotes and XML entities) were handled and displayed, thanks to the Unicode support improvements. As a result, XML passthrough has been removed.
  • _open and _close door commands no longer use door names to encourage the use of in-game door memory and ensure fair play.
  • Updater enhanced to check beta or release channels.

Performance & Stability

  • General performance improvements across the application, partly due to threading model changes that eliminated dedicated threads for the Group Manager and optional proxy, leading to a more efficient concurrency model.
  • Addressed several potential crashes and stability issues related to data handling, timers, and parser exceptions, benefiting from widespread C++ modernization and stricter thread safety enforcement.

Under the Hood

  • C++ Modernization: There was a widespread effort to modernize the C++ codebase, adopting practices like RAII (Resource Acquisition Is Initialization) with custom handlers, using noexcept, preferring iterators over raw pointers, avoiding new/delete, using modern C++ features, and applying patterns like the "badge" idiom.
  • Build System Enhancements: The build environment was updated to Ubuntu Jammy for AppImages and enabled the Mold linker to improve build times.
  • Dependency Streamlining: The MiniUPnPc dependency was removed, simplifying the build and reducing external requirements.
  • Windows Support: Release packages are now built using Visual Studio and the Windows installer has been improved to prompt for closing MMapper during the uninstallation phase.

Full Changelog: v24.03.1...v25.06.0

MMapper 24.03.1

11 Mar 14:41

Choose a tag to compare

Bug fix

  • Do not send MSSP to clients that haven't requested it. This fix helps JMC users.

Mapper 24.03.0

10 Mar 22:18

Choose a tag to compare

New features

  • MMapper will now synchronize the time to the hour using MUME's Mud Server Status Protocol. (Mirnir)
  • The recent whitespace change is now compatible with MMapper where room descriptions are now normalized.

Bug fixes

  • Timers will now trigger for Elves and Half-elves. (Gamor)
  • Some memory leaks were fixed.

Changes

  • The minimum supported version of macOS is now Monterey.
  • The Web Map format has changed its md5 hashing strategy to also normalize on whitespace.
  • The unit test coverage was improved by 3%. (Gamor)

Mapper 23.05.0

30 Apr 22:12

Choose a tag to compare

New features

  • Added support for a rattlesnake mob flag to differentiate between the attention flag
  • The menu bar can now be intelligently hidden until mouseover for a more minimal experience
  • Rattlesnake, attention, and smob hints are now displayed in the emulated exits

Bug fixes

  • The adventurer panel has a corrected XP and TP hourly rate (@mdrcode)
  • Undead kills are now tracked in the adventure panel (@mdrcode)
  • The moon has been fixed follow the game's adjusted synodic month

Changes

  • Map has been updated to support the Ancient Broken Road
  • Time is now synchronized using GMCP Event.Darkness and Event.Sun
  • Moon phases are now considered as part of the visibility counter

Mapper 23.03.0

19 Mar 03:26

Choose a tag to compare

New features

  • Added the Adventure Panel that helps players track, organize, and understand their adventures such as hints, XP, and achievements (@mdrcode )
  • Added the _timers command for players to track things (@lachupe )

Bug fix

  • Fixed crash when editing multiple rooms
  • Fixed Warrens' dawn and dusk messages (@mvancleave99 )
  • RoomPanel now supports dark mode on macOS and Linux
  • Use Char.Vitals GMCP to set riding or position state rather than from the prompt using regular expressions

Changes

  • Internal commands don't have weird output like "--->" anymore
  • Github Actions is now used very extensively for continuous build by the MMapper developers
  • Windows build has stopped using MSYS2 because it upgraded to OpenSSL3 which is not supported by the Qt5 framework

MMapper 23.01.0

01 Jan 20:11

Choose a tag to compare

Bug fix

  • Fixed a prompt regression where it felt slower