About this project

jiMUD is a desktop MUD client built with Electron and TypeScript, based on the web client for ShadowMUD. It brings the ShadowMUD text-world client experience to installable desktop applications for Windows, Linux and macOS, and adds tooling for character management, mapping and in-game content creation. Distribution and installation: Windows builds ship as MSI and EXE installers plus a portable EXE that keeps all files inside one folder. Linux users can choose DEB, Snap (normal and classic confinement), Flatpak, RPM or AppImage packages; AppImageLauncher is suggested for AppImage integration. Some behaviour is platform dependent: the tray icon ignores click events with app indicators on Linux, Wayland child windows are not reliably kept on top of their parent (a workaround is forcing the X11 platform with --ozone-platform=x11), and auto-updating is only supported for AppImage, DEB or RPM. Building from source requires Node.js 20 LTS or 22+, npm, TypeScript 2.3+ and CPython. A typical flow is to clone the repository, run npm install, then run npm run release:win, release:linux (or release:linux-slim to skip Flatpak) or release:mac; build and package files are written to the dist folder. For development, npm run rebuild, npm run compile and npm run start launch the client directly from the source folder. npm run build:debug-compile creates a standalone unpacked application under dist/ARCH-unpacked that can be run without installation. Docker-based builds are covered in a separate document. The documentation set describes the interface, profiles, speedpaths, commands and functions, preferences, scripting, customization, assets, a mapper, a character manager, immortal (staff) tools and a code editor that includes an area designer. Command line arguments cover help and version output, enabling developer tools for all windows, overriding the settings and map files, loading one or more characters from the character database by name or id, opening the code editor with or without a client, portable data directory options, custom data directories, loading window layouts and ignoring or skipping layout saves, forcing an instance when single-instance mode is enabled, opening new windows or tabs, setting a custom error log path, and enabling crash reporting to a local folder. Known limitations are documented at length: npm install or update can fail with EALLOWGIT on newer npm versions; Linux Wayland child-window and tray issues as noted above; snap permission problems when immortal tools build the path navigation drop-down (classic confinement plus --classic can help); the Windows spellchecker does not always work with en-US; Unicode right-to-left text selection renders incorrectly; MXP images are limited to line height and cannot be selected or copied; backup data tied to a specific operating system may revert to defaults or be ignored; text selection in the command input can be lost when focus moves; dragging multiple files and dropping them outside the application only transfers the first file; the advanced editor can lose some colours on paste, leave styles stuck, show inconsistent flashing, behave oddly with heavily nested reverse styles, and drop styles when corrected from the context menu; the mail composer inherits editor issues and does not work while an in-game editor or input prompt is active. Performance advice is to avoid --disable-gpu. The mapper and code editor each have their own known-issues sections.