Mudlet The Mud Client Wed, 04 Feb 2015 09:21:00 +0000 en-US hourly 1 Mudlet 3.0.0 delta! (preview #4) Tue, 20 Jan 2015 09:06:51 +0000 This fourth preview release of Mudlet 3.0 focuses again on an issue with data seen in the 3.0 series – this time an issue from when using the search.

In this version, we only focused on fixing new issues have have been introduced in 3.0 – such that 3.0 is no worse, only better, than 2.1 quality-wise. It is also, of course, better feature-wise :)

Please provide all feedback (don’t delay!) on our forums.

Documentation has been updated for all new features.

Below is the summary of changes in preview #4. See preview #1 and #2 for a list of all the new things in 3.0!

Search replacing content

An issue not present in 2.1 but introduced in the 3.0.0 gamma preview was where using the search the feature would replace one items content with that of another – this has been fixed, and no other issues have been observed with the editor after a weeks worth of testing.

You can also use the snapshots feature of Mudlet to restore any lost data by selecting to load an older profile.

getAreaExits() fixed

A new function introduced in 3.0, getAreaExits(), has had an issue with wrong results fixed and its operations expanded – it can now also mention within each room which exits lead out to another area.

Double-click on timestamp crash fixed

A crash that would happen if you double-clicked on the timestamps has been fixed.

Outstanding issues

There are just a few issues outstanding in order to make the 3.0 final release happen. If you spot any new issues that came since 2.1, please let us know about them!

]]> 0
Mudlet 3.0.0 gamma! (preview #3) Tue, 06 Jan 2015 20:49:28 +0000 This third preview release of Mudlet 3.0 fixes an important issue from the beta – one where the content of an alias/trigger/script could be wiped depending on the way you’ve navigated.

In this version, we only focused on fixing new issues have have been introduced in 3.0 – such that 3.0 is no worse, only better, than 2.1 quality-wise. It is also, of course, better feature-wise :)

Please provide all feedback (don’t delay!) on our forums.

Documentation has been updated for all new features.

Below is the summary of changes in preview #3. See preview #1 and #2 for a list of all the new things in 3.0!

Script content loss

An issue not present in 2.1 but introduced in the 3.0.0 beta was one where depending on the way you navitated the editor, the content of an alias, trigger or script could be wiped. This has been rectified. You can also use the snapshots feature of Mudlet to restore any lost data by selecting to load an older profile.

sendMSDP() fixed

sendMSDP() has been fixed to allow a variable number of variables.

Double-click word selection

Double-click to select a word has been fixed to stop selecting to the left of selection, and the settings window has been fixed to to store the settings for double-click characters properly.


Documentation on has been combed through and updated for all new features present in the upcoming Mudlet 3.0.

Outstanding issues

There are just a few issues outstanding in order to make the 3.0 final release happen. If you spot any new issues that came since 2.1, please let us know about them!

Note: there is a known issue with the gamma release whereby using the search feature will overwrite the contents of what you previously had selected with what you select from the search view (see here).

]]> 0
Mudlet 3.0.0 beta! (preview #2) Wed, 01 Oct 2014 20:41:01 +0000 Mudlet 3.0.0 beta is here – this is the second preview of the upcoming 3.0 release! In this version, we only focused on fixing new issues have have been introduced in 3.0 – such that 3.0 is no worse, only better, than 2.1 quality-wise. It is also, of course, better feature-wise :).

Please provide all feedback (don’t delay!) on our forums.

Documentation is still in progress of being updated for all new features.

Below is the summary of changes in preview #2. See preview #1 for a list of all the new things in 3.0!

Splash screen

The artificial delays in the splashscreen have been removed, making Mudlet startup much faster. Enjoy!

MSDP fixes

You can now toggle MSDP on/off in settings, like you can with GMCP. This is needed for MUDs which disable GMCP if they’re sending MSDP – which would break your GMCP scripts.


The sendMSDP() function has been fixed to work – you can now do sendMSDP(“LIST”, “REPORTABLE_VARIABLES”) for example.

Text cutoff in tabbed chat

Text has been getting cut off in miniconsoles, the most obvious effect of this being seen in tabbed chats like YATCO. This has now been fixed.

Windows installer

The Windows installer has been improved and is now signed, so it does not show the “unknown developer” dialog anymore – the developer is now verified and far less dodgy:




See changelog below for what else has made it in:

  • added a openWebPage() Lua function which opens a URL (it was supposed to make it in the alpha)
  • added a toggle for enabling MSDP in settings
  • fixed a crash when browsing variables tab in the editor
  • fixed option for turning off GMCP not working
  • fixed sendMSDP() to actually work
  • fixed text getting cut off in miniconsoles (and thus tabbed chats) on paste
  • fixed the first letter of ‘What’ in IRE games at login showing up as ￉
  • fixed variables toggling their status when clicking away from them
  • removed artificial delays from the splash screen
  • room deletion has been massively sped up
  • tabs have been reverted to show up as tabs again instead of spaces
]]> 4
Mudlet 3.0.0 alpha! Sat, 13 Sep 2014 02:55:11 +0000 Mudlet 3.0.0-alpha is here! This is an alpha release – that is, a preview of what Mudlet 3.0 will look like. Please be aware that there may be bugs and other issues in this preview release – we are publishing it so we can locate any such issues. If you run into anything, please post them on the thread on our forums.

Documentation is still in progress of being updated for all new features.

Now, onto what’s new!

What’s new

Variables view

Display for variables in Mudlet is in! You can now see, and edit, and search your variables.

This feature covers tables, so you can explore them by expanding them, both indexed and key-based ones. Functions are visible as well – since those are variables in Lua, although you cannot see their contents or edit them.

As there are a fair bit of Mudlet and Lua functions that come with Mudlet, a feature to toggle hiding certain was was added. Press Show Hidden Variables to view hidden variables. You can also set variables you don’t want to see to be hidden by checking the hidden variable checkbox.

Lastly, you can also have variables be saved for you from one session to another! Ticking the checkbox by the variable name will have Mudlet re-create that variable when you launch the profile again.

Double-click word selection

You can now double-click in the main window or a miniconsole to select a word! You’ve also got the option of choosing what characters will the selection stop on – in case you don’t want to select quotes and such:


Mapper room exits window

Mappers room exits window has been reworked, now allowing you to create and select the door type on an exit, lock exits so they aren’t used in speedwalking, and set a weight on them to make them more or less desirable to take when pathfinding.

Custom exit lines

Custom exit lines creation improved a fair bit and is much easier to work with. Creation of custom exit lines is much easier  – you can undo any point you create using the right-click menu, as well as change the properties (line type, colour, and an finishing arrow).

Adding a line - you can now easily undo the last step or finish creation

Adding a line – you can now easily undo the last step or finish creation

Editing existing lines has also been improved, you can add/remove points on an existing line without having to redo it from scratch:

Editing an exiting line allows you to add/remove points along the line

Editing an exiting line allows you to add/remove points along the line

Custom Line Properties _064

Editing properties of an existing line


Database scripting fixed

A series of issues with the database (db:) functions have been fixed. Thanks to Jor’Mox especially for assistance in identifying the issues. If you have previously added a version of DB.lua as a script in your Mudlet profile, delete it, so you use the latest version that comes with Mudlet.

GMCP issue on IRE muds

An issue where if too much data came from GMCP on IRE MUDs would cause Mudlet to disconnect / get garbled / crash has been fixed. The workaround for that was to enable the ‘Force compression off’ option – you can now re-enable it.

Looping aliases

A common mistake Mudlet newbies made that crashed Mudlet was create an alias that calls itself – so once used, it would call itself infinitely. Basic protection has been put in place now where if you’re putting something into the ‘substitution’ field that matches your alias pattern, Mudlet will auto-revert your change and not allow you to go through with it.

Mac installer

The Mudlet Mac installer has been revamped to offer a modern an aesthetic experience:


Mac tab completion focus loss

The input line will no longer lose focus on Macs after you use Tab to auto-complete a word.


Native MSDP support has been added to Mudlet! MSDP data is available in msdp, sendMSDP() allows you to send commands back to the MUD, and the usual events are raised for incoming MDSP messages.

Keyboard navigation

Keyboard navigation has now been enabled in the connection window: you can use the arrow keys to select and press Enter to connect to a MUD.

You can also use keyboard navigation in the script editor: pressing up and down keys will switch between aliases/triggers/scripts, and left/right keys will expand/collapse a group.


Under the hood, Mudlet has been upgraded to Qt 5. You should not see any adverse effects of this, but do mention to us if you do. Qt5 offers some pretty exciting opportunities for Mudlet that we’ll be taking of in the future.


  • Any variant of a direction – numeric (“1″), long (“north”), short (“n”) can now be provided to mapper functions.
  • HTTPS is now supported by for downloads (this means downloading from Dropbox will work again).
  • Fixed a GMCP command being sent when GMCP isn’t enabled at login; this was messing up autologin in some MUDs.
  • Mudlets profile tabs are now re-orderable: you can now click and drag them around to change their position.
  • A button for the module manager has been added to the toolbar as well, so you can access it you aren’t using the menu.
  • An issue where error messages that contained tabs in them were pretty difficult to highlight as the text would move around has been fixed.
  • Various mapper functions have been optimized to be far quicker when you’ve got very large maps.
  • Gauge-related functions now allow <center> and other alignment tags to work properly in gauge text.
  • createMiniConsole() can now be called for existing consoles to resize & move them.
  • db:aggregate(field reference, aggregate function, query) has been added, allowing you run an aggregate function on field(s).
  • db:query_by_example(database, example) has been added, allowing a new way of querying the database.
  • getAreaExits(areaID) has been added, allowing you to retrieve a list of exits going into an area.
  • getExitStubs1(roomid) has been added, similar to getExitStubs() but the results are indexed from 1. getExitStubs() has been fixed to return nil when the roomID doesn’t exist.
  • Geyser.Label:addChild(cons, container) has been added, allowing you to create nestable labels.
  • Geyser.Label:setOnEnter(function)Geyser.Label:setOnLeave(function) have been added, allowing you to run functions when a mouse enters and leaves a labels area.
  • Geyser.MiniConsole:clear() and Geyser.Label:clear() have been added, allowing you to wipe the contents of respective windows.
  • Geyser.MiniConsole:resetFormat() has been added, allowing you to reset text formatting in a miniconsole.
  • replace() has been improved to work on
  • Geyser.MiniConsole:setBold()Geyser.MiniConsole:setUnderline(), and Geyser.MiniConsole:setItalics() have been fixed to work.
  • installModule()uninstallModule()reloadModule(), and getModulePath() have been added, allowing you to control the module system from scripts.
  • resetRoomArea(roomID) has been added, allowing you to clear the area a room belongs to.
  • setAppStyleSheet(stylesheet) has been added, allowing you to override the OS (Windows/Mac/Linux) look of Mudlet. This, in tandem of Mudlets already already customisable in-game interface, allows you to completely customise Mudlets entire interface to your desired look. As an example, try setAppStyleSheet([[QScrollBar { background-color: red }]]) to set the background of scollbars to red. Have a look at some examples you can use and documentation.
  • shms(seconds, bool) has been added, given a number of seconds, returns the hours, minutes and seconds.
  • showColors() has been improved to be clickable, allow filtering and an an optional column number: showColors(columns), showColors(filterColor), showColors(columns, filterColor).
  • stopSounds() has been added to stop all currently playing sounds.
  • table.deepcopy(table) has been added, allowing you to create clones of tables.
  • getMudletVersion({|”major”|”minor”|”revision”|”build”|”string”|”table”}) has been added, allowing you to retrieve the Mudlet version you’re running on. If you’d like to use this to check for existence of new functions though, check for their existence instead of hardcoding to a Mudlet version, as that is more flexible.
  • fg() and bg() functions now accept the “main” parameter for the console, and in case of an invalid colour, report it – making for easier scripting with those functions.
  • Event system has been fixed to handle numbers over 999999 (they would previously be reset to 0).
  • A set of crashing bugs, although relatively uncommon, have been fixed.

Last but not least, have a look here as well as here (navigate to newer pages) for a list of changes that went into making of 3.0 – which is pretty big!


Development-wise, things did get stale throughout the last year, but now we’re back in full swing! Mudlet’s code hosting has been moved to Github (pull requests welcome), and we’ve setup continuous integration builds for the C++ code and started on unit testing for Lua code.

Big thanks to Ahmed Charles, Chris Mitchell, Damian Monogue, Heiko Köhn, Jor’Mox, Florian Scheel, phasma, Phoenix, Stephen Lyons, stratum nine and Vadim Peretokin for enabling the 3.0 release!

]]> 0
Windows download link inoperational Fri, 31 Jan 2014 05:29:40 +0000 The link to download the Windows version of Mudlet is not currently working, so use this one instead. We are currently investigating the issue.

]]> 0
Call for MUD map stats! Sat, 30 Nov 2013 19:37:15 +0000 In complement to the Mudlet map call, we’d also like to gather MUD map statistics from those who haven’t got a Mudlet map for their game. If possible, please provide detail on our forums or email privately to The details we are interested in are:

  • total map size (including wilderness / grid-space – so all rooms in the MUDs)
  • total number of exits, number of wilderness (grid-zone) areas, number of non-wilderness areas, number of wilderness rooms, number of non-wilderness rooms.

Thank you!

]]> 0
Call for maps! Fri, 29 Nov 2013 23:04:01 +0000 We on the Mudlet team are investigating Mudlet’s pathfinding performance. Mudlet has been available to players for five years now, and the mapper capability of it for about three – allowing plenty of time for people to find ways to push the client to the limits. We’ve had anecdotal evidence that the pathfinding performance isn’t up to par on everybody’s combination of machine and map – so we’d like to do some concrete investigation on this, and improve the performance.

We’ll do the investigation in two stages:

  1. collect real-world Mudlet maps: this would show us what kinds of scenarios are practically used out there, so that when optimizing the pathfinding algorithm, we account for all cases that are practical, and don’t need to have the impractical ones slowing pathfinding down.
  2. create a benchmark: this would help us test current performance on all of the maps we gather, and improved performance as we optimize the algorithm. We’ll also release this benchmark to you, the users, so you can test on  your own hardware setups and give us some numbers.


We’ll start by collecting maps to analyze. If you’ve mapped something in Mudlet, please help us improve by submitting your map!

]]> 1
Updated Linux installers Sat, 21 Sep 2013 23:52:15 +0000 The generic Linux installers have been updated to include the recent libhunspell library that they require, since some older systems (ie, Ubuntu 10.10) provide an older version than Mudlet requires.

In other news, development on Mudlet 3.0 is steadily coming along as well! Mudlet is also five years old now, with work having started back in August 2008.

]]> 5
Mudlet 2.1! Tue, 08 Jan 2013 04:14:31 +0000 Hot on the heels of 2.0, Mudlet 2.1 is here – bringing more useful features and fixing things up.

New Mapper features

Two new features were added to the mapper: showing of doors on the map, and setting weights on exit.


Mudlet mapper doors

The mapper can now visually show you where doors are with a little rectangle on the exit. The graphic we went with is minimalistic and looks good on both small and big zooms – a square in the middle of the exit. The doors status can be set to – open (green color), closed (yellow color) or locked (red color).

Doors are purely visual and don’t affect pathfinding, however your speedwalking scripts can make use of the information to auto-open doors and so forth.

Doors are set the the API – see setDoor() and getDoors() functions for doing so.

Exit weights

The next feature that does affect pathfinding are exit weights. Like room weights which Mudlet already has, exit weights can make certain exits be more or less desirable for taking. For example, if one exit takes away your ability to talk for 5 seconds while the other doesn’t at all, but you have two of them in a row – obviously the two in a row are more desirable than the one. Using exit weights, you can tell Mudlet which exits are more or less desirable to take, and thus be quicker in your speedwalking.

See the new setExitWeight() and getExitWeights() functions for doing so.

New map format

With these two map features in, Mudlet’s map format was upgraded. This means that maps made earlier 2.1 and on 2.1 will load on Mudlet 2.1 okay, but maps maps made on the new 2.1 will not load properly on 2.0, and anything earlier.

Open Telnet support

Mudlet 2.1 gains open telnet support – which means that the users are now able to implement, with their effort, support for new telnet protocols in Mudlet. Mudlet already supports Aardwolf’s 102, ATCP, GMCP and MXP protocols – these are built-in and require no effort to enable. However, if you’d like to make something else work, such as MSDP or MSP, you now have the ability to make it happen. See the addSupportedTelnetOption(), sendSocket() functions and the sysTelnetEvent event for making it happen – along with this guiding writeup. Enjoy!

New MUD added

Slothmud has been added to Mudlets pre-existing MUD list. It’s a long-running game that makes great use of MXP, and was used for MXP compatibility testing during Mudlets MXP development.

Improvements in this update

  • added a cancel button in label-making
  • added addSupportedTelnetOption() and a sysTelnetEvent event for open telnet support
  • added IRE.Rift to default list of enabled modules
  • added multiview option to menu bar
  • added setDoor(), getDoors() for adding foors to maps
  • added setExitWeight(), getExitWeights() for adding weights to cardinal or special exits
  • added setMergeTables() for specifying which GMCP modules should be merged, and which should be replaced (only for use in certain low-level scripts)
  • display({}) will now show {} instead of {\n}
  • improved script editor timer’s view to make it more intuitive

Fixes in this update

  • fixed display() showing ‘nil’ after non-table items
  • fixed Geyser.MiniConsole:setTextFormat()
  • fixed gmod.enableModule() to work again
  • fixed mapOpenEvent to go off on createMap(), Geyser.Mapper:new() or Vyzor.Map()
  • map label message stayed on screen
  • Package Exporter won’t show temporary items
  • sysDisconnectionEvent will properly fire when the MUD disconnects you


Big thanks to everybody who provided feedback on desired new features and problems! Communicating with us is the best way to bring relevant issues to our attention.

]]> 7
Mudlet 2.0 Overview Thu, 03 Jan 2013 09:41:11 +0000 Mudlet 2.0 is now available for download for Windows, OSX and Linux platforms! Mudlet is a Free and Open Source game client for playing online text-based MUDs.

What is Mudlet?

It is a game client for on-line text games, MUDs. There are hundreds of these games out there, some existing for several decades! Pick up Mudlet and jump into playing any of these games – all of which have involved storylines, unique PvP and PvE systems, crafting, sailing, travelling in space and many other things you wouldn’t think of!

New Addition: Mudlet Mapper

The highlight of this release is the addition of a mapper – an extension of Mudlet that allows you to create, view, and speedwalk on a map of the game you’re playing.

Feature rich

Mudlets mapper sports both 2D and 3D views, extremely efficient pathfinding, ability to plot text and images onto the map, map image backgrounds and on-map notes, custom exit lines to explain the most difficult of geography, room highlights, per-room data storage and more. The mapper covers your basic g geography  needs of mapping and speedwalking, and allows you to go way further by turning the map into a tool you can build on.

It supports everything from mapping wilderness areas in their original ASCII, to 3D room format or 2D room format. Complicated geography can be explained away with custom exit lines, and you can choose to map entire MUDs to be on display at once – performance is not an issue. Relevant rooms can be marked with a character, entire areas can be labelled or given a background to set the feel.

Speedwalking can be accomplished both via cardinal and special exits; special exits are completely scriptable and support complex sequences of events to make them happen. Preferred rooms for speedwalking can be singled out with room weights, or and rooms you’d like to avoid can be locked out of speedwalking altogether – or you can also just lock an exit from being used, keeping the room available.


Like Mudlet, the mapper is designed for speed. It easily scales to thousands of rooms in the map and single area – here’s 31k rooms in one area, shown at once. Not bad, huh? The image itself takes up 9.6k x 6.3k pixels.

Pathfinding (working out a way to get from A to B) is extremely quick – on absolutely giant worlds, it doesn’t give any noticeable freezes. You won’t feel lagged down having giant maps and needing to walk around in them, at all.

Highly scriptable

The mapper is highly customizable and scriptable – there are over 60 functions to completely manipulate the mapper and map data. This allows you to build amazing scripts with this map interaction – scripts that track people visually on the map, scripts that plot your demesne of power, and many more things you can imagine.

This makes a lot of tools possible as well – for example, a complete Cmud → Mudlet map importer was scripted within Mudlet.

Map auto-download

If your MUD provides public maps, Mudlet makes it very easy for your players to obtain the map and keep it up to date. This makes for a much more welcoming experience to new players, who don’t feel as lost once they press a map button get a layout of the world – just by pressing the Map button, Mudlet will automatically download the games map for them.

At the moment, all IronRealms games – Achaea, Aetolia, Imperian, Lusternia and Midkemia Online support this feature! If you would like to see your MUD added, get in touch.


Mudlet 2.0 introduces support for MXP! This makes clickable links and menus within games work, so give it a go – you might find it personally way easier to deal with clicking on text than typing out long commands. This can give a more welcoming experience to new players as well when they’re exploring the world of MUDs.

Modules & Packages

Mudlet 2.0 introduces a new feature of Mudlet package. Mudlet packages can contain multiple aliases, triggers, scripts, keys and so on – bundled together with any other resources that your script might require (such as artwork for a GUI, or sounds). All this is easily installable as a whole within Mudlet.

This not only allows users to create and share fully fledged UIs without fuss with others, but also allows your MUD to have a distinct look & feel as soon as a Mudlet user connects to it – Mudlet supports automatic UI download and updating from your MUD server.

Getting rid of a package is easy as well – removing the package will uninstall all triggers, aliases, scripts and other resources that it brought in.

Package exporter

To create the said packages, a new tool is available in Mudlet that makes the task much easier now. It allows you to select multiple triggers, aliases, timers, scripts, keys or buttons and export them altogether as one.


The new Module manager, alongside the Package manager, can install Mudlet packages as well for you – in a way that’ll make managing multiple profiles or developing a script easy.

Modules allow a single script to be synchronized across the profiles you’ve installed it at – so if you edit or update the script on one profile, saving it will instantly synchronize it with all profiles that make use of it.

As well as that, modules can synchronize directly to disk on save, which makes the life of a script author much easier – there’s no need to re-export every time you’re done working with a script.


Full GMCP support is now available within Mudlet with 2.0 – so for MUDs that support it, you can enjoy hassle-free data use in your scripts. GMCP is the successor of ATCP – it allows the MUD and the client to communicate out of band, send complex messages while being easy to deal with client-side and not requiring any special parsing.

Colour logging

Full color logging is now available in Mudlet – you can either select to log specific parts, or have it permalog, or even go scroll back and save a part that you haven’t logged – in color, as you saw it.

Mudlet also allows you to log, or permalog, in plain text as well.

Notable improvements

A variety of things of things were improved in this latest update:

  • you can now use the ‘cancel’ button to stop Mudlet from closing if you closed it accidentally
  • Mudlet will now open maximized if you’ve closed it maximized
  • Mapper will now remember it’s checkboxes and panel status

For scripters:

  • new on connect and disconnect events
  • event handlers can now be inside tables, and it’s possible to register new events via API
  • print() is now available, works the same way as in Lua’s interpreter
  • searching in Mudlet is case-insensitive now
  • installPackage() and uninstallPackage(), along with downloadFile(), help you do automatic updates

… and more. For a complete list of changes, see the changelog available here.

We would like to thank everybody who made our 2.0 release happen – both in detailed feedback and problem reports, code contributions, wiki help, forums moderation and everything else. This is a client made by MUD players for MUD players – and for you, the community. Thank you!


]]> 3
Mudlet 2.0 is now available! Wed, 02 Jan 2013 21:34:00 +0000 The final version of Mudlet 2.0 is now available! This is the official latest stable release, superseding 1.1.1. The highlight of the release is the fully-scriptable mapper that is available within Mudlet. Enjoy!




Please provide all the feedback you’ve got for our 2.0 release on our forums! If you’d like to place a feature request for new versions, please do so here.


(an overview of 2.0 will be coming soon)

▸ RELEASE: Mudlet-2.0
▸ FIX: default package installation was incorrect
▸ Fix Ahmed Charles: buffer::deleteLines() isn’t safe when deleting multiple lines (purely academic as this function is never used to delete more than one line, but it’s clearly a bug nevertheless)
▸ FIX: mapper visual editor regression: moving single rooms
▸ install a few default packages in new profiles
▸ UPDATE: different icons for 3k und 3s
▸ NEW Vadim Peretokin: mapper remembers settings
▸ NEW Chris Mitchell: mapper open event & support for new games 3Kingdom and 3Scapes with mapper script
▸ Merge branch ‘3k’
▸ UPDATE: sync with latest mudlet-lua
▸ NEW: uninstallPackage() Lua function
▸ UPDATE: mapper: the missing map script reminder is only shown once because it’s too error prone (->init script sequence) to remove and generally pretty annoying
▸ add games 3k & 3s
▸ NEW: package exporter can now build fully fledged Mudlet packages with a package configuration file and arbitrary additional content. This is currently limited to windows because of missing quazip in other builds
▸ FIX: modules sync patch broke package installation
▸ NEW Chris Mitchell: package exporter (cannot make mpackages or zip packages yet)
▸ version name
▸ FIX Chris Mitchell: modules didn’t sync correctly
▸ NEW: mapper: setMapZoom(int) to zoom the mapper if you don’t have a mouse wheel
▸ NEW: mapper: createMapImageLabel() SYNTAX: int labelID = createMapImageLabel( int area, string filePath, float posx, float posy, float posz, float width, float height, float zoom, bool showOnTop=true )
▸ NEW: major mapper upgrade part 2 new label features complete
▸ NEW: major mapper update  & new map export function exportMapArea() grid area fast render optimization dropped because it is too intransparent for the user when a large number of grid maps needs to be resized on slow machines
▸ NEW: mapper custom lines complete
▸ FIX: event handlers got called multiple times
▸ NEW: mapper: shrink + spread selected room group | misc mapper fixes tbc.
▸ NEW: installPackage()
▸ FIX: incorrect mini console size
▸ Mudlet 2.0-test7 release
▸ temporarily reenable old labels
▸ UPDATE: mudlet-lua updated to latest
▸ NEW: Mapper visualizes one way exits | custom lines show correctly now
▸ FIX: getRoomCoordinates() now returns nil, nil, nil on fail instead of raising a Lua error
▸ NEW: mapper visualize one way exits
▸ NEW Vadim Peretokin: import/export map buttons  | copy maps to other profiles | getAreaTableSwap() to deal with areas with duplicate names
▸ Fix Chris Mitchell: exit stubs to same room don’t show
▸ FIXES Vadim Peretokin: button UI update | Linux compile | GMCP strip \r | Lua function conditions behave more Lua like with respect to their return value
▸ NEW: greying out of locked objects part2
▸ NEW: greying out locked objects part 1
▸ FIX: showToolBar() moves focus to tool bar
▸ FIXES: screen renders correctly with changing button bars | GUI: remember color on unsaved color triggers
▸ UPDATE: IRE mapper script updated to latest project version
▸ FIX by Kenneth Chik: logging no longer stops unexpectedly
▸ FIX: ‘>’ were not translated correctly to HTML
▸ FIX: button clicks were not reliable
▸ FIX: link and mouse selection problems in timestamp mode
▸ FIX: insertLink() | FIX: make setExitStub() more Lua customs compliant
▸ NEW: sysConnectionEvent &+sysDisconnectionEvent | FIX: mapdownload from server is more resilient
▸ FIX: loadMap() automatically opens the mapper now
▸ NEW: sysDownloadError passes file name as event parameter
▸ FIX: disappearing scroll bar with active tool bars|NEW: windowResizeEvents pass consoleName  as parameter now
▸ FIX: enable map download without open mapper
▸ remove debug messages for final 2.0 release
▸ UPDATE: Mudlet Lua API reference updated to current online version
▸ FIX: on broken maps not all special exit ids correspond to room ids. until the source of the problem has been found this is a workaround
▸ Vadim Peretokin: improved error reports for send()
▸ NEW Vadim Peretokin: allow to use functions in tables as event handlers
▸ NEW: fast non grid maps mapper widget resize
▸ FIX by Vadim Peretokin: error messages in event handler function calls
▸ NEW: limited MXP send PROMPT attribute support to write to command line NOTE: PROMPT must be at the very end of the tag otherwise it’s not supported because of performance considerations because this feature is not widely used
▸ Patch by Nick Clark: switch session tabs with crtl+tab|fix: mini console got focus
▸ switch to quazip library instead of luazip for easier windows builds
▸ patch by Chris Mitchell: feature: scriptable mapper user menus
▸ patch by Chris Mitchell: update profile modules
▸ mapper: fast map loading and map initialization
▸ mapper: Fix 3D rendering
▸ mapper: map editor: room moves only after right click move again
▸ mapper: new fully featured map labels
▸ mapper: list widget that hold the currently selected rooms shows up if multiple rooms are selected to allow for easy room selection|general room selection improvements
▸ mapper: new features of the visual map editor: select custom lines and edit the points visually or delete the line with delete key|ensure custom lines are visible even if the originating room isn’t
▸ fixed item editing & deletion of new special exits dialog
▸ patch by Vadim Peretokin: add a config file to packages that contains the package name instead of always using the file name as package name
▸ patch by Carter Dewey: make search function in trigger editor case insensitive
▸ patch Vadim Peretokin: redesigned special exit dialog|new delete special exit with delete key functionality
▸ Fix: Ubuntu 12 compile
▸ patch by Steven Rose: Fix:disable event handlers in disabled groups|Fix:getWindowMainWindowSize()
▸ Features: mapper clickable labels, move, delete|center area map on area switch|Fix:getSpecialExitSwap()|Fix:mapper GUI edit existing special exit
▸ mapper: extended room selction with control+LMB=add room to current group selection, alt+LMB=move map with mouse|Fix: room weight GUI
▸ Fix: small MXP issue|Fix: include proper openGL headers for Qt4.8
▸ Fix: Z_STREAM_END handling
▸ Fix: mapper exit dialog crash
▸ Fix: Geyser locale problems on Linux
▸ Fix: text copy to clipboard
▸ critical Fix: package manager|Fix: button packages
▸ FIX: timer regression
▸ misc fixes: alias and timer package install issues | offset timer problem | misc changes
▸ mapper: visual room selection with LMB+crtl key again, panning now with LMB+crtl
▸ FIX:timer packages|FIX:Alias sometimes didn’t enable in packages|FIX: misc
▸ FIX: special exit locking|FIX: special exit add different exit cmd to same roomID|FIX:buttons: always run checkbox button scripts on startup, but no other buttons
▸ fix: crash on invalid buffer selection
▸ fix: old maps couldn’t be loaded properly
▸ Mudlet-2.0-test4-final
▸ Mudlet-2.0-test4
▸ Merge branch ‘master’ of ssh://
▸ Chris Mitchell: shared modules history and fixes for his  mapper patch
▸ misc bug fixes
▸ Merge branch ‘master’ of ssh://
▸ Fix: make irc-window resizeable on macs
▸ misc bug fixes
▸ clean up generic mapper script
▸ Debian BSD compile patch by Martin Hoekstra
▸ large feature patch by Chris Mitchell shared moduly system|mapper improvements|new Lua functions|misc
▸ include default ire mapper script
▸ preliminary generic mapper script
▸ misc and mudlet-lua update
▸ mapper speed upgrade
▸ mapper upgrades
▸ server auto gui server controlled upgrade ability
▸ misc new functions|256color fix|last touches
▸ finished sound support
▸ buffer search
▸ mapper upgrade 3
▸ mapper upgrade2
▸ make map scrollable|map no longer centred if current room is being moved
▸ mac-rc8
▸ missing files
▸ initial mac build
▸ new func: setAppStyleSheet(css) to fully customize Mudlet
▸ generic sound path
▸ Allow multiple xml files per package|better unzip function|package icons
▸ automatic GUI package download and install controlled by server
▸ patch V. Peretokin: build fixes for Linux
▸ Merge branch ‘packages’
▸ package system implemented
▸ package definition and install
▸ save and restore room user data
▸ improved path finding speed significantly
▸ Fix: copyToHtml misses last character in line
▸ show timer statistics and general statistics upgrade
▸ dots in profile names must be allowed
▸ added missing ui file
▸ proper removal from profile list|prevent out-of-branch recursion
▸ improved connection dialog
▸ Merge branch ‘vc’
▸ mudlet now complies on both MSVC10 and MinGW4.4
▸ turn off debug logging for release version
▸ Merge branch ‘mxp’
▸ godWars2 compatibility
▸ mxp links done
▸ ignore < and > inside parameters
▸ new feature: MXP
▸ missing part of geyser bug fix commit
▸ added credits to Karsten Bock to the about dialog
▸ critical bug fix geyser
▸ unix build fix
▸ bugfix: GMCP table merging
▸ windows build modifications
▸ new option for de facto auto logging  in conjunction with the auto save option i.e. the state of the log button is remembered if the profile was saved and logging is resumed on future sessions.
▸ support for user defined spell check dictionaries and option to disable spell check
▸ cancel option for both profile and application close events
▸ heavily improved spell check with suggestions
▸ patch Karsten Bock: Geyser improvements 2
▸ patch Karsten Bock: Geyser improvements
▸ Fixes #767640, Need a saveMap([location]) function
▸ Extended reconnection notification to special options. It looks much better.
▸ Fixes #731331, Mudlet should warn that a restart is necessary after the GMCP option is toggled
▸ Made the error box have rounded corners, making it a bit nicer. Screenshot:
▸ Added missing linebreaks to logging & replay recording
▸ Fixes #591888, getNetworkLatency is registered twice
▸ Fixes #551230 ( – better tooltip for latency indicators
▸ Fixes #550316 (, enables Client.Map for ATCP
▸ improved error messages in permAlias
▸ if using LuaJIT, adjust the cpath to look in /usr/lib as well – it doesn’t by default
▸ Renamed ‘Script Editor’ -> ‘Script editor’ in strings
▸ Added a helpful warning window when the map is open and mudlet.mapper_script isn’t defined as true. Mapping scripts should define this variable at initialization to let Mudlet know that a mapping script exists. Otherwise, users are left wondering why isn’t the mapper not working.
▸ Cleanup of Lua API error messages Fixed capitalization in menu entries
▸ Made LuaJIT optional and preferred if it exists
▸ Window title will now reflect the currently selected profile.
▸ Tab bar will be hidden is only one tab is left (it would stay if you closed all tabs but one, wasting screen space)
▸ Added true/false = roomExists(id)
▸ bugfix: ansi bgcolors were not always displayed correctly
▸ Mudlet-2.0-rc3: registerAnonymousEventHandlerFunction(e,f) to allow for scriptable event handlers|Mac GUI fix
▸ added new Geyser files contributed by Karsten Bock
▸ log to html fix|copytohtml fixes|MAC GUI linedelta 2small fix
▸ Mudlet-2.0-rc2 | new Geyser features by Karsten Bock
▸ bugfix: unresponsiveness after import
▸ bugfix: temptrigs/timers showing after import
▸ bugfix: logon screens are now properly displayed
▸ 2 bugfix patches by BenH mccp & mouse selection | gmcp tables can now be merged instead of being replaced if the keys are registered to be merge tables
▸ mapper upgrade
▸ misc mapper updates
▸ onConnect() and sendSocket()
▸ missing files
▸ manual update
▸ more mapper functions
▸ mapper: more functions
▸ mapper upgrade
▸ missing updated file
▸ windows problems with lib lua_yajl needs to be compiled into Mudlet
▸ ADD: missing God Wars II icon
▸ FIX: gmcp fix2 (data integrity + child event propagation)
▸ FIX: scroll bug | ADD: GodWars2 profile
▸ gmcp fixes 1
▸ sysDataSendRequest to intercept command sending|tempBeginOfLineTrigger()|tempExactMatchTrigger()
▸ centerview( roomID ) function
▸ patch Vadim Peretokin: GMCP support
▸ added missing file
▸ git update to Mudlet-1.2.0-pre4


]]> 4
2.0-test8 Sat, 29 Dec 2012 10:08:24 +0000 2.0-test8 is now available for Windows, OSX and Linux!

This update brings more improvements all around in the client and the mapper! It also fixes the miniconsoles border bug that appeared between test5 and test7, so miniconsoles are fine and proper again.

Custom exit lines

Mapper-wise, there have been several feature improvements. Custom exit lines are now finished – this feature allows you to draw exits on the map that geographically don’t quite make sense:

Custom exit lines – dotted style

To create them, select and then right-click on the room you’d like the line to originate from. Select ‘custom exit line’ to spawn a dialog, where you’ll want to choose the line style (dotted, solid, dashed, dashed-dotted or dashed-dotted-dotted), line color, and optionally, whener the line should have an arrow pointing at the end. Then click on the direction of the original room you’d like the line to start from to begin drawing it. Once you do that, left click on the map to put points down of the line – and when you reach the destination room, right-click to stop drawing it.

If you’ve drawn your line and feel that it’s less than perfect, you can fix it up. Left-click on the line to select it – doing so will cause all of the points to light up, which you can hold by left-clicking and dragging about:

Lastly, right-clicking on the line will offer you the option of deleting it.

Room expand/shrink

The the room expand and shrink features were completed. To use them, select a group of rooms, right-click on one of them and select expand or shrink – and enter the factor by which to expand or shrink all exits inbetween.

Mudlet maps as .pngs

You can now export Mudlet areas as separate images! Use the exportAreaImage(areaid) to save the picture of the area into your profile folder. Try it out, the maps look amazing! Here is an example map of the Lithmeria MUD.

Quicker grid maps

Gridmaps in the mapper got improved and optimized – and now scrolling about and zooming is much, much quicker. A gridmap can be used to represent large ASCII maps – wildernesses or like. To turn an area into grid mode, do setGridMode(areaid, true).

Module manager updates

The Module manager was updated with an improved UI and an ability to synchronize modules across other profiles that are open in Mudlet. As well as that, each module can have a help URL specified now, which will open when the user clicks Module Help on the selected module.


Maximized window

Mudlet will now spawn maximized if that’s how you closed it – particularly useful on Ubuntu, as you won’t need to maximize it again manually now if you prefer it that way.

API additions

New functions have been introduced for scripters:

  • installPackage() – a way to install xmls and Mudlet packages via script.
  • exportAreaImage() – exports Mudlets mappers rendering of an area to your profile folder.
  • createMapLabel() was updated – it now allows you to specify whenever the label should be on top or below rooms, and whenever it should be scaled or stay a static size.
  • createMapImageLabel() – allows you to insert image labels (to serve as backgrounds or anything else) on the map.
  • setMapZoom() – allows you to zoom the map – so if you don’t have a scrollwheel, you could use this to zoom on the map.

That covers the major changes. There were other improvements as well – see the full changelog. Note that this post only encompasses changed since test7 – there were loads of features added between test4 and test7, too.

]]> 0
2.0-test7 Thu, 20 Dec 2012 04:28:50 +0000 Just a quick update! Development on the 2.0 release is steaming ahead, since test4, test5 and test6 came by quickly. test7 is the latest today, available for Windows, Mac and Ubuntu. Grab a version of it here, and please provide feedback on it!

A known issue is that miniconsoles will sometimes get covered up – we’re working on figuring out why exactly does this happen and will fix it.

Update: miniconsoles issue worked out, next update will have the fix in.

]]> 0
Mudlet Manual improvements! Mon, 30 Jul 2012 05:46:48 +0000 Mudlet’s manual has moved to the wiki now – and is accessible at! Come check it out. Parts of it are being re-written, improved, and screenshots are being added – all to improve the experience for you. Check out the revised section on Mudlet’s buttons, timers, and dealing with errors in your code.

Note that registration on the wiki is not open by default – we’ve had problems with spambots registering and making bogus spamlinks :( . Until we fix this, please drop by our forums if you’d like to register!

]]> 0
GMCP tutorial Sun, 23 Oct 2011 02:37:06 +0000 For anyone interested in learning GMCP, I’ve written a tutorial – take a look!



  • Feb 23rd, 2013: added a note mentioning that isPrompt() only works on MUDs that support GA
]]> 9
Quick tip: upload your HTML logs easily Wed, 20 Jul 2011 12:25:12 +0000 The nice website at allows you to upload logs in HTML (and thus, in color!) and it’ll display them properly for you. This works with both rightclicking and selecting ‘copy to HTML’ or Mudlet’s HTML logging.

Enjoy this nice combination :)

]]> 0
This week in Mudlet (12-19th June) Sun, 19 Jun 2011 19:11:22 +0000 Lots of Mudlet stuff happened this week, so here’s an update for those out of the loop.

keneanung updated the IRE mapping script and added goto area, among other things. The script was also updated to handle walking through rubble, icons, and received a number of mapping improvements – it now updates the room environment. It also won’t rename rooms when you’re flying or walking on a road anymore. A small, but annoying bit where ‘rf’ wouldn’t find the room if it ended with a dot (from copy/pasting) was fixed as well.

demonnic and Rayth has been busy this week improving Mudlet documentation on the wiki, getting the Lua API function listing into shape. Feel free to join in and help out – every 5mins helps!

chris has published an awesome cMud to Mudlet map importer script – this’ll be handy for those who built up extensive maps in cMud.

JerleMinara published a package that allows Mudlet to connect to Simutronics games – however it requires the final 2.0 release, which is unreleased yet. Stay tuned for when that’ll be available!

A rather notable Mudlet event, the Mudlet-based svo system for Achaea also entered early access this week as well.

]]> 0
Mudlet vs. Cmud Sun, 19 Jun 2011 11:56:05 +0000 A post by Iocun on Achaean forums:

– Free
– Very fast
– Multi-platform
– You can do pretty much anything with it
– Under constant development
– You can make it look really pretty
– Scripting is based on a non-proprietary language (Lua), meaning you can use the acquired knowledge for other things as well
– A helpful community, both on the Mudlet forums and in its Achaean clan
– Really not all that difficult to learn (but that’s hard to generalize. I can’t speak for everyone.)

– Costs
– Much slower
– IMHO inherently less pretty
– Still rich in features though
– Is primarily intended to be used with its own scripting language, making the knowledge less applicable for other things, but offering the advantage of being easier to learn if you already knew zMud. I think you can use Lua in it as well though.
– Again: Easy to learn if you know zMud.
– Not all that difficult to learn initially either
– No idea about how helpful the in-game clan is, having never been in it, but it’s still a widely spread client for which you will be able to get plenty of help.
– Better in-client documentation than Mudlet.

Both are decent clients, but personally I don’t know why you’d want to pay for a client that does the same things slower and uglier than a free one. I have some rather complex and big scripts which I couldn’t even have dreamed of running in zMud. Cmud would have made it somewhat more feasible, but some of my scripts (mostly my own curing system and mapper) would still bog it down horribly.

That’s just a personal opinion, but it’s one that comes from a knowledgeable source!
]]> 3
New script: cMud map importer Sat, 18 Jun 2011 15:22:05 +0000 chris on the forums has published a script that’ll import your cMud map into Mudlet’s mapper. Check it out or recommend to a friend in need!

]]> 0
2.0-rc8 for Macs Thu, 09 Jun 2011 23:22:03 +0000 Thanks for all of the active Mac testers, our new Mac package has been steaming along. Here’s the latest update for it which is pretty much complete.

]]> 0