News/ 2026/ August/ Mudlet 5.0 Release Release 5.0.0 Mudlet 5.0 Release Z ZookaOnGit· August 29, 2026 In this post What’s New? Important Notes New Games A Better First Experience Browser-Based Sign-In Support Copying Text Just Works Major Performance Improvements Community Thanks What’s New? Guided UI tour and new feature callouts, the Base UI starter interface with health bars and chat windows, browser-based sign-in support. The focus of Mudlet 5.0 is first-time player experience, and we have truly delivered on that promise. 5.0 now includes first-launch tutorials, tours and highlights and a redesigned profile selection experience. Important Notes Installation Uninstall your current version. Download the latest release. Reinstall Mudlet. Your profiles, maps, and settings will remain intact. Auto Updates Enable automatic updates in Preferences to receive future fixes and improvements automatically. New Games Four new worlds join Mudlet in 5.0. Each one is already in the game list: open All Games, pick it, and Mudlet fills in the connection details for you. DarkMists Dark Mists is a persistent online fantasy world featuring 24 races and 11 classes, 9 of which branch into distinct subclasses, with dozens of quests and hundreds of skills and spells tied to class, subclass, or race. The world is shaped by the players through active clans and a worship system with direct interaction with the Gods of Dark Mists. The Immortals are present in-game and continue developing new content for the world. The community is welcoming and helpful to newcomers while encouraging competition and growth. Houses remain active and provide guidance and support for new and returning players. Roleplay is required and playerkilling is an integral part of character growth, rewarding wit, courage, and ambition. The world continues to evolve with new discoveries and challenges. Come carve out your legacy in Dark Mists. Play in Mudlet · About · Play in a browser · darkmists.org Rites of Passage MUD Rites of Passage is a PVPVE (Player vs Player vs Environment) MUD where Good and Evil are locked in eternal war. Hunt powerful monsters for legendary loot, then defend it from enemy players hunting you. Every expedition into dangerous territory carries the thrill of both PvE challenge and PvP risk. Play in Mudlet · About · Play in a browser · ropmud.com PhoenixMUD PhoenixMUD is a free classic DikuMUD, online since 1996. 20,685 rooms across 276 zones, 16 classes and 15 races, and 400+ levels of progression: 1-100 to Hero, then three full remort climbs. Play in Mudlet · About · Play in a browser · phoenixmud.net Federation 2 Community Edition Federation 2, the space trading game, is a massively multi-player game set within an exciting world of interstellar commerce and intrigue, in which you interact and collaborate with lots of other players in real-time, and compete against them to climb the ranks. The aim of the game is to amass a larger fortune (in Imperial Groats) than any other player, and to climb the ranks by forging alliances and making friends with the right people. Cooperation is the name of the game in Federation. Play in Mudlet · About · Play in a browser · federation2.com A Better First Experience Mudlet has always been powerful, but 5.0 makes it far more welcoming. New players are now greeted with: first-launch tutorial invitation, guided UI tour, feature callouts highlighting important functionality, redesigned profile selection experience, the new Base UI, a starter interface with health bars, chat windows and a map already configured. The Base UI can also be customized. Health bars, maps and chat windows can be repositioned allowing players to create a layout that works for them without needing to learn Geyser first. The game browser has also been improved with separate My Games and All Games views, making it easier to manage profiles and discover worlds. Sixty seconds inside Mudlet 5.0: the redesigned game browser, the guided tour, the Base UI you can rearrange, and switching between open games with Ctrl+1 to Ctrl+9. Browser-Based Sign-In Support One of the flagship additions in 5.0 is support for browser-based authentication. Games can now allow players to sign in using external identity providers such as Google, Discord and other supported platforms. This modernizes the login process and enables integration with contemporary account management systems. Copying Text Just Works Selecting across several lines no longer drags the leading spaces along with it, so what you paste keeps its shape (#9560). Ctrl+C keeps working after you click on the game window. It is no longer taken away from the command line (#9305). Major Performance Improvements Mudlet 5.0 contains extensive optimization work throughout the client. Notable improvements include: faster processing of game text, faster trigger matching, significantly improved text throughput, faster colour tag handling, reduced memory allocations in exact-match and pattern triggers, better handling of line rewrapping, copying and pasting. Several optimizations specifically target high-volume MUDs processing for heavily scripted profiles, helping Mudlet remain responsive even under extremely busy playing conditions. For display-heavy workflows, throughput has nearly doubled compared to previous versions. Compared to 4.22.0, version 5.0 delivers performance gains across the board: the display pipeline paints 89% quicker, Geyser layout operations take 47-54% less time, ISO 8859-1 decoding is 48% faster, and trigger matching is 24% faster. Running two real Achaea combat systems over 100,000 lines of real game log end to end, Mudlet 5.0 is 12% to 24% faster. Importing 15,000 rooms via Lua code is now 151x faster (66.6s to 0.44s), while removing a 400-child Geyser layout is over 520x faster (4.17s to 0.008s). Community Thanks A huge thank you to everyone who made 5.0 happen. Code came from Andrew Johnson, Carl Yute, Delwing, EazyHood, elements-of-boredom, Ethan Hussong, fed2-community, gesslar, Giorgio Maria Federico Birnthaler, Jay Howard, Jesús Pavón Abián, Manjeet Pathak, Mike Conley, missionz3r0, Morquin, mudzereli, patrck17, Pavel Třešňák, Stephen Lyons and Vadim Peretokin. Translations were written and kept current by Karlo Delgado, Kyrzam, Leris, Pavel Třešňák and Vadim Peretokin. And thank you to our testers, wiki contributors, Discord community members and Patreon supporters. Mudlet remains community-built and community-driven. >changelog — Mudlet-4.22.0…Mudlet-5.0.0 420 changes added UI tour to complement the Mudlet tutorial #9385 feature callouts #9390 sign in to supported games using your browser (e.g. Google, Discord, or the game's own account) #9378 Show tutorial invitation on first launch #9169 warn when two keyboard shortcuts clash #9449 add option to undo the game's own line wrapping #9455 keyboard shortcuts to switch between game tabs #9460 remainingNamedTimer() to check time left on a named timer #9411 Add Federation 2 Community Edition #9500 starter interface with health bars, map and chat for new players #9454 full-window background image/gradient support #9394 help links for packages, wired to the Module Help button #9453 getWindowGeometry(), windowVisible() and getLabelText() functions #9528 widget state getters for titles, stylesheets, tooltips and scroll bars #9645 adjustable containers can be dragged out of their parent #9850 Add PhoenixMUD #9874 drag the starter UI's health bars anywhere you like #9840 drag the starter UI's map and chat anywhere too #9863 Load profiles without connecting, with --offline #9971 getTextFormat() reports which underline style the game asked for #9972 add Dark Mists as default game #9313 Fantasy and sci-fi looks for the starter interface #10002 Add Rites of Passage MUD as a default game #10183 Czech (Čeština) translation #10198 improved faster colour tag processing in cecho, decho and hecho #9426 make keyboard shortcut settings work with screen readers #9322 scripts can now match map menus with their map events #9443 embed leak suppressions file in Mudlet binary #9465 show a simpler trigger editor by default #9450 honor XDG_CONFIG_HOME for Mudlet's config directory #9552 split the games list into My games and All games tabs #9452 do not copy leading spaces in multi-line select #9560 make the New profile button show what it did #9607 ship every default package as an mpackage #9626 make filler widget size in toolbars user settable #9332 credit seven more contributors in the About Mudlet dialog #9675 OSC 8 hyperlink handling, and a setting to turn it off #9731 the starter UI's chat capture is now a trigger tree players can read and copy #9736 "Copy as image" now works without selecting text first #9738 base UI captures your gossips in its chat window #9838 the ISO 8859-1 decoder no longer allocates a string for every character #9856 moving or resizing a Geyser layout no longer lays it out several times over #9919 text and trigger throughput, and a CSI sequence that read freed memory #9916 text throughput by not rewrapping lines that already fit #9928 undoing the game's own wrapping is marked experimental, and no longer advertised #9873 game text draws faster by not laying out blank spaces #9976 link to the full list of changes between your version and an update #9380 downscale images/assets #10075 New Crowdin updates #9721 fixed editor keeps its maximized/full-screen state when toggled back to #9303 Fix console text not redrawing after resizing the window #9369 resize command line box for appendCmdLine/printCmdLine/clearCmdLine #9301 add missing dictionary name #9400 clickable links could show the wrong colours and styling after heavy output #9406 keep saved profile passwords working on Windows after qtkeychain library update #9395 shrink preferences dialog to fit on 1377x768 screen #9407 apply map label edits immediately in label preview #9387 don't load a map if trying to create a mapper & map is already loaded #9415 crash when a package uninstalls itself from its own alias/key/tr… #9383 trigger multi-line attribute resets when adding a sibling trigger #9284 variable editor keeps new variables nested in their parent table #9285 prevent crash from a trigger that endlessly feeds itself #9368 updater not running on close, showing empty changelog #9388 line-initial underscores no longer clipped at certain font sizes (regression of #7866) #9288 Windows crash reports now show the actual cause #9370 trigger editor's extra-options arrow is now visible in dark mode #9412 alias patterns no longer break after editing them #9420 save new modules to the location you choose #9424 deleting lines in triggers no longer corrupts the log file #9429 no more crash when viewing Variables after resetting a profile #9430 clicking into the main window no longer steals copy from the command line #9305 word wrap changed by scripts now shows correctly in Preferences #9410 main display no longer leaves a blank strip when the top border shrinks #9413 Copy button no longer oversized on the connection screen #9417 certificate warnings are now readable in dark mode #9418 debug console shows its black background again #9419 editor copy/paste works after scripts create triggers or aliases #9421 Variables view handles decimal numbers and true/false keys properly #9422 pasting several copied items now works for every item type #9423 tempAnsiColorTrigger now runs function callbacks #9427 package description images now work for packages with spaces in their name #9431 certificate warnings now open settings for the right profile #9432 hidden terminal control sequences no longer show up as text #9433 cap over-long escape sequences to bound memory use #9435 colon-form italic styling no longer corrupts underline #9437 enforce the per-echo character limit #9438 keep non-ASCII characters in MXP custom entities #9439 script editor's search box no longer jumps around #9444 script editor's info banner no longer glares in dark mode #9414 stray ESC sequence no longer corrupts later text #9436 recover from corrupt MCCP compression and stop losing data #9441 cap telnet subnegotiation length to bound memory use #9440 200 byte leak when loading a map #9464 game information sent via MXP is no longer all-lowercase #9447 show connection details when picking a game on a fresh install #9451 stop a malicious game from writing files outside the media folder #9504 guard sendMSDP against disconnected/unnegotiated state #9478 align getTimestamp, getModulePriority, getModulePath failure returns #9480 notepad arrows now visible in dark mode #9488 profile reset no longer forgets which variables to save #9484 remove duplicate cechoLink/dechoLink/hechoLink in GeyserMiniConsole #9477 tempButton and tempButtonToolbar return the created ID #9470 searchRoom returns nil+message for a missing roomID #9467 apply Discord API permission gating consistently #9472 character-at-a-time warning misfires on password prompts #9391 script output no longer breaks the game's colour and control codes #9485 non-English game text no longer garbles after a stray "&" #9489 MXP text now shows correctly on non-English games #9491 tempAnsiColorTrigger can match background colour only #9494 flag invalid aliases and block loops while typing them #9499 triggers created by other triggers react to the current line again #9458 color triggers now work inside 'only pass matches' trigger groups #9442 mapper API error reporting for getMapEvents and addRoom #9473 log no longer duplicates a line when logging is restarted #9490 harden the TLS-upgrade question against reconnects and profile closure #9518 restarting to apply an update no longer leaves a second Mudlet running #9487 exporting a package no longer destroys an existing file when you decline to overwrite #9495 bold text no longer brings back a colour the game already reset #9515 caret-mode Shift+Arrow selection off-by-one and Ctrl+C copy #9393 memory leak when perm* functions receive invalid Lua code #9556 colon-form underline styles now match other terminals #9498 scaleMovie collateral disconnect, isAnsi*Color returns, scrolling messages #9474 replacing the game GUI download dialog no longer cancels the new download #9519 getNamedTriggers no longer drops names when trigger types are mixed #9549 highlight triggers no longer stop later color triggers from matching #9425 variables added while playing are no longer lost when saving #9492 clearing the screen no longer loses the last line from the log #9486 replacing a temp item's script no longer keeps running the old function callback #9496 stop crashes while saving and profiles losing their triggers #9557 crash when a button uninstalls its own package #9558 prevent a rare crash while saving a profile that uses modules #9559 ttsGetQueue out-of-bounds read and ttsClearQueue message #9471 cap the length of inserted text like echoed text #9497 permGroup reports failure properly and listRemove removes consecutive duplicates #9550 garbled error messages in networking and media functions #9551 Fix looping sounds playing only once #9569 setTextFormat leak, createLabel return convention, windowType scrollbox Adjustable.Container resetTitle error and delete leaks Geyser.Button:setState refuses 'down' before writing it lay out new2 boxes, and apply the layout end_update deferred gauge three value CSS shorthand and non-positive maximums Geyser.Window:echo() keeps the stored message media start events fired too early when replaying a just-stopped sound #9611 ttsSetVoiceByName return garbage and stale ttsSpeechStarted text #9595 tempTimer negative time, compile() error slot, killTimer idempotency #9597 strand no heap objects across the remaining lua_error() raises #9605 Windows auto-update failing on a release binary with no checksum #9617 help banners no longer show up in the wrong editor section #9609 script error messages are readable in dark mode again #9606 crash when closing Mudlet while an update is available #9604 crash when opening settings on macOS #9625 killTrigger and killAlias report failure when the item is already dead #9620 event handlers no longer wipe the caller's Lua stack #9621 compare() no longer rejects tables that hold false #9614 removing a game's profile no longer hides it from the All Games list #9608 profiles with parentheses in their name can be opened again #9610 table.n_collect drops values that match an index #9615 stop table.union modifying a table it was given #9613 Sounds going silent when a file fails to load #9612 stop map saves polluting userData with fallback keys #9469 don't replay a sign-in token the game already rejected #9676 Discord getters no longer treat presence text as a format string #9660 Mudlet freezing when a window is set to wrap too narrowly #9623 stop the telnet reader writing a NUL past the data it was given #9677 four Lua API corrections - colours, room name offsets, map window state and printTable #9678 Fix eight Geyser layout and container bugs #9680 Fix temporary trigger/alias/key/timer cleanup evicting same-named items #9682 Fix six command line and console bugs #9683 package lifecycle - queued save outliving the profile, unremovable archives, module priority #9684 module save reaching into the profile after it is destroyed #9690 stop treating long-time Mudlet users as brand new players #9695 a trigger that re-creates itself freezes Mudlet #9697 Fix user key bindings on Ctrl+1 to Ctrl+9 and Ctrl+Tab #9703 profile close during a map operation, Discord presence truncation, and interrupting ttsSpeak() #9686 stop the test-only waitForEvent() wedging Mudlet on macOS #9691 trigger editor and deleted item subtrees leaking memory #9700 mapper scripts stopped being told the map had opened #9709 pausing a track and then playing a different one left you with silence #9710 four security holes in the new browser sign-in #9713 Fix three crashes in the game selection screen #9702 two ways a profile save could lose or resurrect your data #9704 three full-window background bugs - vanishing console, lost border colour, huge cover scaling #9711 getWindowGeometry() and windowVisible() answer for the main window #9714 unbreak development - cloneExportDocument was renamed to takeExportDocument #9732 Fix macOS builds sometimes failing their tests for no reason #9733 Fix triggers being deleted when a script creates a lot of them at once #9724 game text no longer loses a character to a stray escape code #9723 a profile named "." or ".." deletes every profile when removed #9722 new profiles process game text about twice as fast #9705 don't offer updates that don't yet have a sha256 sum #9735 MXP frames overlapping UI packages that reserve screen space #9737 Fix an empty XDG config directory hiding every profile #9712 underscores and descenders no longer clipped at certain font sizes #9743 notepad, IRC client and toolbars outliving their profile #9706 deleting a big Geyser layout no longer freezes Mudlet #9760 brand-new installs get the new-player experience again #9745 a stray escape code no longer silences your game for the rest of the session #9765 gauges no longer make every line of game text expensive #9766 db:create crashing on a single column name as _index #9799 seven Lua library and mapper bugs found while speccing them #9815 three Lua API bugs the core specs found - command history, phantom profiles, package names #9816 preloading a sound no longer plays it, and IRC settings stop losing your password #9817 profile saves silently dropping saved variables that a second global references #9762 delete old maps/modules doing nothing when there is no backup folder #9849 undoing the game's line wrapping no longer merges list entries #9836 Mudlet no longer crashes when adding an event handler after switching scripts #9839 a queued quit no longer runs from inside a profile save #9813 trigger matching no longer allocates memory for every pattern on every line #9852 exact-match triggers no longer copy every line they check #9853 Mudlet no longer copies the whole screen an extra time on every repaint #9854 game text no longer breaks into one character per line with GA forced off #9858 saved variables holding functions come back empty again instead of half-filled #9860 pasted text goes in at the cursor, not at the start of the line #9871 reconnecting a profile to a different game no longer carries the last game's protocols over #9773 the last line of a paragraph no longer goes missing when undoing game wrapping #9859 building a map from a script no longer slows to a crawl as it grows #9763 a trigger with a blank pattern before a real one silently never matches #9851 sharing an area from the generic mapper now carries its room hashes #9364 copying text no longer grabs an extra character or re-wraps the line per character #9855 Geyser elements asked to start hidden no longer appear on screen #9883 a killed alias, key binding or timer can come back to life and fire again #9888 update notes no longer skip releases your platform never got #9891 a profile save no longer blanks, drops or inflates saved variables #9892 the Variables editor no longer creates a junk copy of a variable it cannot name exactly #9908 the Carrion Fields loader no longer fails silently or re-downloads on every reconnect #9921 replaceAll() replaces the wrong characters when a line has accents #9906 a script connecting while the profile is still connecting no longer leaves it connected to nothing #9896 Music stopped with a fade-away right after it starts no longer plays on #9907 Quitting a testing build no longer ends in a LeakSanitizer error #9930 Mudlet no longer crashes when a multiline trigger's script feeds text back #9897 games offering several character sets no longer knock a profile out of UTF-8 #9861 Windows CI builds again after an msys2 update broke Lua module installs #9963 New variables no longer occasionally vanish from the variable editor and profile saves #9944 hidden control codes no longer leave stray characters in the game's text #9901 triggers no longer act on the wrong line after another trigger feeds text #9898 three first-screen defects in the connection dialog #9894 a game that cannot be reached now says so, instead of nothing at all #9914 keep the selected room when right-clicking elsewhere on the map #9932 Crash on macOS 12 shortly after startup #9945 Rare crash if a profile closes while an MXP tag is stalled #9946 Crash when an update download is requested twice in quick succession #9948 Undoing the game's word wrapping no longer merges separate sentences #9872 the starter UI's chat window no longer makes captured lines expensive #9962 A damaged trigger no longer crashes Mudlet while the profile loads #9884 profile saves no longer leak Lua stack slots #9895 Web links carrying a config or preset parameter are no longer misread #9966 nine UI Lua API defects the Wave 4 specs had to pin as pending #9830 your interface no longer stays laid out for the size the window used to be #9890 Variables view no longer loses or corrupts variables in many edge cases #9960 Applying an update no longer crashes Mudlet #9970 dropping an image whose name starts with a digit no longer fails #9628 Plain underline no longer keeps a wavy, dotted or dashed style #9987 Update downloads no longer pile up in the temp directory #9986 Tab through shortcut settings in the order they are shown #9988 Crash when resetting a profile that shows custom map info #10004 Uninstalling the starter interface now removes it from the screen #10030 correct licensing details for (compiled) Mudlet application #9808 Databases are still created when an index names a column that isn't there #10033 Geyser menu parents and user window dock position #10069 Fix a detached profile window blocking the main window from coming to the front #10025 Crash reports are now sent on Linux and macOS #10039 clear answer when committing a closed database #10068 make MUDLET_CRASH_TEST work on clang builds #10063 other bump version to 5.0.0 infrastructure merge release-4.22 back into development #9386 Bump 3rdparty/sentry-native from `fea16b8` to `0f7802f` #9398 Bump 3rdparty/qtkeychain from `7718d0a` to `875f77d` #9399 add Mudlet lua files to those shown by Qt Creator #9409 PTBs shipping without all platforms' installers #9389 Update text for translation in Crowdin #9360 Bump lukka/get-cmake from 4.3.4 to 4.4.0 #9456 Bump actions/setup-node from 6 to 7 #9457 fix else-after-return in codebase #9096 memory leaks found during CI tests now fail the build #9481 stop known ASan leak noise failing the password migration test #9461 test suites no longer clash when run at the same time #9483 document how to record before & after demo videos #9482 Update text for translation in Crowdin #9502 Update sanitizers.cmake to latest upstream #9503 Bump 3rdparty/sentry-native from `0f7802f` to `a182754` #9505 add profile and map save/load round-trip tests #9468 remove unregistered setMiniConsoleFontSize implementation #9479 use std::chrono literals for time durations #9493 decouple telnet engine from UI dialogs #9507 add Qt Widgets dependency audit for the core library #9508 harden the build for the minimum supported Qt version #9510 slim down the AI assistant instructions #9511 harden the Widgets audit script and refresh its baseline #9516 add Discord IPC server stub for end-to-end tests #9475 add performance baseline benchmark for the text and trigger pipeline #9509 decouple profile export and media playback from UI widgets #9512 UI text output and readback Lua API tests #9533 trigger, alias, key and named-timer Lua API tests #9532 clean vestigial widget includes from the Lua engine files #9526 survive xorg.freedesktop.org certificate expiry in CI #9554 re-enable Sentry crash reporting on PTB builds #9553 clear 5 CodeQL warning-level alerts in src/ #9525 guard functional-test lookups with QVERIFY #9524 resolve CodeQL warnings in the telnet code #9523 release resources in test fixture destructors #9522 ignore speech-dispatcher's one-time startup leak in leak detection #9521 extensive mapper Lua API tests #9530 mock TTS engine and local HTTP server for tests #9529 add waitForEvent test helper for async Lua API tests #9527 database and datetime Lua API tests #9531 replace test mocks with real API assertions; config, stopwatch and utils tests #9534 networking, MMCP, media and Discord API contract tests #9535 document un-suppressible <unknown module> CI leak flakes #9561 Update text for translation in Crowdin #9563 bump 3rdparty/sentry-native from `a182754` to `a99d64e` #9564 bump github/codeql-action from 4 to 4.37.3 #9565 decouple profile management (Host) from UI dialogs #9514 decouple the mapper engine from UI dialogs #9513 document the LSan tracer-crash CI flake #9592 window and label geometry/visibility Lua API tests drop attempt cap in setFont round-trip test move media and TTS specs into Media_spec.lua download, HTTP, media and TTS effect tests fix Windows media path assert, spare the media cache run the HTTP fixture server on Windows CI keep the HTTP fixtures byte-exact, harden the Windows step Geyser geometry and visibility tests address review of the Geyser specs deepen the Geyser specs after test-coverage review real-firing timer and script family Lua API tests #9572 ignore multiple build targets #9562 stop suppressing QString leaks in LSan enforcement #9602 make windows safe to destroy while a field has the text cursor #9596 cut PR CI matrix in half and fix build flakes #9618 check mpackage archives match their sources #9624 cover the untested lua-lib surface #9630 Discord effect specs against a fake Discord IPC server #9631 package and module lifecycle specs with a committed fixture kit #9632 busted specs for the Geyser widget classes with no spec home #9665 MMCP effect specs against a scripted chat peer #9629 take re-entrancy depth counts off with scope guards #9687 fix milestone assignment, unbreak the key sequence tests #9679 assign milestones with the built-in token, not a PAT #9696 trim the comments around the experienced-player gate #9707 trim the comments left behind by two merged QA fixes #9708 Update text for translation in Crowdin #9718 leak checking now gates the functional tests #9694 move module documents into their write jobs instead of copying #9699 reject a release tag that does not match APP_VERSION #9701 Bump github/codeql-action from 4.37.3 to 4.37.6 #9730 Bump 3rdparty/edbee-lib from `a3ae51b` to `62ca709` #9728 Bump 3rdparty/sentry-native from `a99d64e` to `a185ce8` #9727 Update autocompletion data in Mudlet #9720 tidy up how CI installs Lua #9734 Bump lukka/get-cmake from 4.4.0 to 4.4.2 #9729 keep the profile-removal file list from going stale #9739 fix Windows CI losing the per-user luarocks tree #9752 a media player no longer announces its own destruction #9746 keep QTest's output visible when ctest runs on Windows #9751 fix two tests still opting in with an empty XDG config dir #9810 drop comments that restate the code beside them #9681 rename the six tests Windows refuses to launch without elevation #9753 test coverage for the IRC configuration and media playback APIs #9772 busted specs for the last uncovered lua-lib functions #9774 busted specs for the last uncovered UI functions #9775 Add functional tests for the profile lifecycle Lua API #9776 Add tests for the core and misc Lua functions that had none #9802 fix a test running against the real config dir, and guard the recipe #9811 fix the main window restore baseline the map dock invalidates #9828 Add CMake presets for every platform, and one home for AI assistant skills #9742 stop the telnet test stub losing data sent before a client connects #9862 Update text for translation in Crowdin #9875 retry the LeakSanitizer tracer crash instead of failing the leak job #9812 document the xdotool no-op drag-step trap in the video workflow #9870 give the undo-server-wrap tests a known starting buffer #9866 Bump 3rdparty/edbee-lib from `a3ae51b` to `9a91551` #9900 Bump 3rdparty/sentry-native from `a185ce8` to `724479b` #9899 stop the development ccache from going stale #9905 MXP frame placement test no longer depends on the startup window size #9876 test the guard that keeps a cleared shortcut from swallowing every key #9886 Guide AI assistants to prefer Lua specs over C++ functional tests #9925 link the Linux CI builds with mold #9927 Auto-setup build environment for Claude Code web sessions #9931 spec the multiline trigger behaviour that does not need a functional test #9943 Functional tests no longer abort at random during profile setup #9977 Tidy up unused CI steps and dependencies #9969 Convert telnet parsing and wrap functional tests to busted specs #9980 Convert trigger-pipeline functional tests to busted specs #9981 Convert console text and logging functional tests to busted specs #9979 Build several functional tests into one executable #9993 build Linux and macOS against Qt 6.11.1 #10003 Functional tests bind an ephemeral port instead of fixed ones #9995 Build the remaining window tests into the grouped test binary #9996 measure the display in PipelineBenchmark, and make its corpus realistic #9997 stop a glyph overflow test measuring the wrong row #9990 Two functional tests no longer race over the real config directory #9998 Build the profile functional tests into one executable #10008 Build the telnet functional tests into one executable #10000 Give every functional test a config directory of its own #10012 Build the trigger functional tests into one executable #10014 Build the editor functional tests into one executable #10015 Build the map functional tests into one executable #10016 Build the package functional tests into one executable #10017 Build the starter UI functional tests into one executable #10021 Build the teardown functional tests into one executable #10024 Build the media functional tests into one executable #10022 build macOS and Linux releases with optimisation, as Windows does #10011 Functional tests no longer fail or corrupt config under portable mode #10020 Add tests for untested Geyser functions #10042 Fail the build when make.mudlet.org rejects an upload #10032 Add tests for untested Lua library internals #10044 cover untested media and mapper behaviour with tests #10045 upload Qt DLLs so Windows crash reports symbolicate #10048 cover the updater's version comparison and CredentialManager's async API #10060 Test ctelnet's out-of-band protocol handling #10067 Test three engine-to-interface links so cutting one fails a test #10084 Gate four untested console behaviours with specs #10085 Test the TLS upgrade offer and download cancel through their real wiring #10086 Give the Lua test suite room on slow macOS and Windows runners #10089 cover the map download chain with functional tests #10070 Remove link-time optimization settings that never took effect #10079 Update autocompletion data in Mudlet #10121 Bump 3rdparty/edbee-lib from `62ca709` to `9a91551` #10141 Update autocompletion data in Mudlet A new mpkg release no longer breaks unrelated tests #10107 > contributors — Mudlet-4.22.0…Mudlet-5.0.0 20 people, 416 commits Vadim Peretokin 349 Jay Howard 21 Mike Conley 11 Stephen Lyons 7 Ethan Hussong 6 Delwing 4 EazyHood 3 elements-of-boredom 2 JA Jesús Pavón Abián 2 Andrew Johnson 1 Carl Yute 1 fed2-community 1 gesslar 1 Giorgio Maria Federico Birnthaler 1 Manjeet Pathak 1 missionz3r0 1 Morquin 1 mudzereli 1 patrck17 1 Pavel Třešňák 1 Download Mudlet Download 5.0.0 from GitHub Discuss on the forum ← Older post 4.22 – mapping, made friendlier Newer post → Mudlet 5.1 Release
DarkMists Dark Mists is a persistent online fantasy world featuring 24 races and 11 classes, 9 of which branch into distinct subclasses, with dozens of quests and hundreds of skills and spells tied to class, subclass, or race. The world is shaped by the players through active clans and a worship system with direct interaction with the Gods of Dark Mists. The Immortals are present in-game and continue developing new content for the world. The community is welcoming and helpful to newcomers while encouraging competition and growth. Houses remain active and provide guidance and support for new and returning players. Roleplay is required and playerkilling is an integral part of character growth, rewarding wit, courage, and ambition. The world continues to evolve with new discoveries and challenges. Come carve out your legacy in Dark Mists. Play in Mudlet · About · Play in a browser · darkmists.org
Rites of Passage MUD Rites of Passage is a PVPVE (Player vs Player vs Environment) MUD where Good and Evil are locked in eternal war. Hunt powerful monsters for legendary loot, then defend it from enemy players hunting you. Every expedition into dangerous territory carries the thrill of both PvE challenge and PvP risk. Play in Mudlet · About · Play in a browser · ropmud.com
PhoenixMUD PhoenixMUD is a free classic DikuMUD, online since 1996. 20,685 rooms across 276 zones, 16 classes and 15 races, and 400+ levels of progression: 1-100 to Hero, then three full remort climbs. Play in Mudlet · About · Play in a browser · phoenixmud.net
Federation 2 Community Edition Federation 2, the space trading game, is a massively multi-player game set within an exciting world of interstellar commerce and intrigue, in which you interact and collaborate with lots of other players in real-time, and compete against them to climb the ranks. The aim of the game is to amass a larger fortune (in Imperial Groats) than any other player, and to climb the ranks by forging alliances and making friends with the right people. Cooperation is the name of the game in Federation. Play in Mudlet · About · Play in a browser · federation2.com