-
Notifications
You must be signed in to change notification settings - Fork 22
Lich and Mudlet for playing Gemstone Dragonrealms with a screen reader
Mudlet is an open source MUD Client, with excellent screen reader support.
Lich is a scripting engine for Simutronics based games. It is compatible with Dragonrealms, and Gemstone, and provides a robust scripting engine for both games, and for our purposes, it works as an authentication layer, since Mudlet can't authenticate directly to Simutronics games.
When we combine Lich, and Mudlet, we have an excellent platform for someone to play Gemstone, or Dragonrealms with the help of a screen reader.
Note: The help of a sighted person is required one time for the initial installation and configuration of Lich. They will need to input your username and password into the Lich launcher one time.
If you are not familiar with Mudlet, the writeup on the Mudlet wiki on using Screenreaders is highly recommended.
On first launch of Mudlet you will be prompted to create a profile.
- Connect
- Profile Name: Whatever you like. I named mine
l8000
- Server Address:
127.0.0.1
- Port:
8000
- Click the Options tab, tick
Open Profile on Mudlet Start
(This is optional, but I find it helpful)
- Profile Name: Whatever you like. I named mine
Simutronics games are XML based, and Mudlet isn't an XML enabled client. As such, we need to squelch raw XML output from the game. For this we create a trigger to hide the XML feed from our screen reader.
- Add trigger
- Name: DR/GS XML Cleanup
- For 1. Add
<[^>]+>
and select Perl Regex in the dropdown menu on the far right. - Tick
match all
- For the body of the trigger add
for i=1, #matches do
selectString(matches[i], 1)
replace("")
end
After that that one which is very necessary for readability, consider adding the following as well:
This is a generic squelch function for anything we want to squelch that isn't caught in our XML filter above. This one filters out the >
string which is a proxy for the command prompt in Simutronics games
- Add trigger
- Name: Squelch Strings
- Under 1. Add
.+
and select Perl Regex in the dropdown menu on the far right. - Tick
match all
- For the body of the trigger add
selectString(">", 1)
replace("")
After going through the first-time Lich setup, and saving your login info, you can launch lich from the command line by going to your lich folder, Shift+Right-Click, Open PowerShell Window here, and in the newly opened window type:
.\lich.rbw --login YourCharacterNameYouSavedTheLoginToEarlier --without-frontend --detachable-client=8000
Note: This process can be drastically simplified by creating a bat file to automate it. Simply create a file named CharacterName.bat (name it for your character) inside your lich folder and inside put the following:
@echo off
cd c:\ruby4lich5\lich5
start lich.rbw --login YourCharacterNameYouSavedTheLoginToEarlier --without-frontend --detachable-client=8000
Please make sure to replace
YourCharacterNameYouSavedTheLoginToEarlier
with your actual character name!
In Mudlet, create a profile for, and connect to localhost port 8000
Any questions or feedback, please feel free to contact me directly on Discord. My username is destahd.