Mudlet Addons
What is this?
This describes how to implement the script repository (ala linux package management, but for mudlet scripts) in Mudlet.
Terminology
Mudlet Addons - scripts made by Mudlet users that other users can install. Terminilogy is similar to Firefox Addons to reduce user confusion.
Mudlet Archive - the place where users can upload and download addons from. Accessible via Mudlet (built-in browser) and just a normal browser.
Lua Rocks
I chose Lua Rocks for this, because it was the best possible solution at the moment. Didn’t document my research through, sorry - but apt isn’t embeddable, mono repository has some issues too.
How it will work
Lua rocks provides us with the repository part of the system. It is designed to fetch and install lua modules onto a users system, but it can also deliver raw files to a specific location - which is what we can make use of in Mudlet.
Use cases:
- install lua rocks (via platform-specific mudlet installer), make the local storage place be in ~/.config/mudlet/addons (see the self-contained isntall, it is possible to hardcode the path so that it doesn’t mess with other installs)
- user launches addon archive window → ask lua rocks for a list of all addons available
- user wants to install a particular archive → ask lua rocks to retrieve it for us
- lua rocks downloads and unpacks the file into a specified local storage place
- mudlet takes file from local storage place, interprets it and adds to the script editor
- that’s it, user is happy
- user wants to upgrade package → need to find out
- user wants to upload package → I suspect we’ll need to add in an interface for that (server side), because main lua repository that uses this does so by screening (and manual work, probably)
What needs to be done
- Interface inside Mudlet for installing for browsing, and installing from the archive (webkit-powered)
- Mudlet⟺Lua rocks interface
- Server-side interface - better styling along with special links for mudlet to understand
Various notes
-
Addons go into the “Addons” group, where each addon is it’s own group. So Triggers→Addons→addon name→addon triggers…, for example. This helps to “self contain” the plugin for easy removal/upgrade.

February 8th, 2009 at 4:02 pm
[...] Mudlet has also received import/export functionality - you can now import/export your whole profile, or selected items (for sharing). It’s rather basic for now, but does the job way better than copy/pasting. A more featureful addons system is being planned. [...]
May 5th, 2009 at 11:59 pm
birthday gift
May 9th, 2009 at 1:47 am
best apartment design