support for non-IRE muds ?

Post Reply
User avatar
Zaphob
Posts: 180
Joined: Wed May 09, 2012 8:07 am
Location: mg.mud.de

support for non-IRE muds ?

Post by Zaphob »

Hi all, I am currently now learning that Mudlet is highly useful for IRE muds, which support some side-way channels for sending more information besides the actual text you see. This is used for all kinds of things like: locations, player status, object / monster details, etc etc. I have no clue. My mud does not have any such functionality.

So, I will need to do a whole lot of text filtering/analysis to exerpt from raw text all the info that you guys get freely and nicely already from the start. However, I do not want to reinvent the wheel much more than needed. So I am looking for any and all info on this process. I am pretty sure, I can't be the only one playing such an old-fashioned style mud around here?

I am thinking about explanations for all the data available via these channels, how Mudlet handles this data, and how I could easily use this already established Mudlet infrastructure, but fill it with information from my mud, of course.

For example, I am looking at the mapper. I am having a hard time to teach Mudlet to understand my movement. But once I may succeed, I may go on to use the Mudlet mapper added functionality for drawing the map, reshaping, autowalking, etc. Or so I hope.

But still, please lets make this not too much about me but, in the end a collected thread for all info for all others in a same position like me. Thanks a lot in advance!

User avatar
Vadi
Posts: 5041
Joined: Sat Mar 14, 2009 3:13 pm

Re: support for non-IRE muds ?

Post by Vadi »

Nobody really gets this info filtered for them in IRE muds... they use triggers to filter it out.

The basic premise is to make a miniconsole, then triggers that match on channel lines and redirect the text to it.

As for the mapper - hm, that's a bit of a tough one - all scripts made so far require a bit of knowledge.

User avatar
KaVir
Posts: 86
Joined: Mon Feb 08, 2010 8:38 pm
Contact:

Re: support for non-IRE muds ?

Post by KaVir »

Zaphob wrote:Hi all, I am currently now learning that Mudlet is highly useful for IRE muds, which support some side-way channels for sending more information besides the actual text you see. This is used for all kinds of things like: locations, player status, object / monster details, etc etc. I have no clue. My mud does not have any such functionality.
I released a protocol snippet last year that would add similar functionality to your mud, along with several other features such as sound, extended colour, unicode support, etc. It also includes support and instructions for using Mudlet's GUI autoinstaller. Last time I checked there were over 20 muds using it, but it's been added to at least one public codebase since then, so I've no idea how many people are using it now.

It's not just IRE muds that can take advantage of Mudlet's more advanced features. Any mud can, if they want to.

User avatar
Zaphob
Posts: 180
Joined: Wed May 09, 2012 8:07 am
Location: mg.mud.de

Re: support for non-IRE muds ?

Post by Zaphob »

Thanks for your insights! Maybe I was not clear enough in my descriptions, but I am also just learning about these IRE-style muds and the infos via sidechannel telnet protocols.

Also thanks KaVir for your snippet. However, when I said "my" mud, it didn't mean I can change it at all. I just play it. By the way it is this mud: MorgenGrauen (wikipedia). Maybe this may make it clearer as to what I am looking for.

OK, I now have to think about how to best make a miniconsole. I have seen some fance GUIs around here, but I think something small would fit better for a start. I am already learing some Lua, and fooling around with basic triggers, aliases, scripts, etc. but I fear it may take some more weeks and months until my mapper comes alive..


edit: Another example. I recently learned about IsPromt(), but it will not recognise my Prompt. I now need to rebuild something like this for my multi-line triggers. Also, I need to find a way to grab multiple lines of text and treat them as one long line. This should be doable somehow, but I feel like walking in very very small steps.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: support for non-IRE muds ?

Post by Heiko »

1. isPrompt() returns true if a MUD line ends with a telnet GA signal. Most MUDs support GA events (=prompt indicators). Ask your admins on how to enable them in game.

2. multi line triggers: read the manual section on AND triggers and search this forum to get more information (especially on line spacers). Mudlet has the most feature rich trigger engine of all clients. There is no need to reinvent the wheel. Use the high level features of Mudlet's multi state machine trigger engine (-> AND triggers).

3. mapping: The only problem in mapping MUDs that don't support MUD supplied room IDs is that you need to tell the mapper where you are and when you've moved to a new room. The latter isn't difficult and can be achieved with a few triggers, but the former requires a lot of effort and cannot be perfect e.g. if you're magically moved to some other room than your scripts expect you'll be seriously lost. The only thing you can really do about this is to check the room description against a SQLite db or talk to your MUD admins and ask them to add ATCP or GMCP and MUD supplied room IDs.

Adding speed walking is trivial. getPath( from_ID, to_ID ) calculates the path with the fastest travel time and sets up a Lua table with the commands that you need to use to get there e.g. west, north, jump off cliff, climb rock, down and another Lua table that holds the respective room IDs. When your triggers detect that you've entered a new room you simply issue the next path command. An even simpler approach is to automatically walk the path with tempTimer() and a suitable timeout. Then you don't even need room detection.

In any case you can produce a useful mapping script for Morgengrauen quickly, but it will not be completely fool proof as is the case with MUDs that supply room IDs. Talk to your admins. It doesn't take more than half an hour of work to add ATCP and hash the file names of the rooms. Avalon has ample ATCP support and it uses the same MUD driver as Morgengrauen. They can ask Xtian for help.

User avatar
Zaphob
Posts: 180
Joined: Wed May 09, 2012 8:07 am
Location: mg.mud.de

Re: support for non-IRE muds ?

Post by Zaphob »

Heiko wrote: 3. mapping: The only problem in mapping MUDs that don't support MUD supplied room IDs is that you need to tell the mapper where you are and when you've moved to a new room.

In any case you can produce a useful mapping script for Morgengrauen quickly, but it will not be completely fool proof as is the case with MUDs that supply room IDs.
OK lets focus on this for once. You say there are next to no problems, and I can produce a script quickly, but I've been looking at this for some days and weeks now, without much success.

OK, I have looked at other mapping scripts and found some useful bits and pieces here and there, but I do not yet see the whole picture.

Right now, I succeeded in reading my mud, so I know when obvious exits are mentioned. I store them all in a table. Now I can compare this to my active room, and see if all exits are already mapped. However, this is where I stop already again, because I run into all kinds of problems.

If I find an exit that has not been mapped yet, I would like to do so. However, I would like it to look differently than exits which I have seen from both sides. So, this should be an unvisited exit somehow. I was thinking, maybe I can just draw an exit line, without a room to it, but seems like it can't be done? Then I tried to create a temporary room myself, but it did not show on the map. I think maybe because I did not put it in the same Area. Again, I don't find any short tutorial for this, but have to figure it all out myself with the help of some mapping scripts from the forums (which hopefully do not rely on ATCP)


After I finish this step, I would like to create some alias that will recognize my movement attempts, then adjust my current position accordingly. However, I would have to wait for that movement to end, to see if it was succesful or not. Otherwise, I will screw up my map pretty quickly by repeatedly running into directions that do not have exits in the mud. Jeez. I try to not reinvent the wheel too much, but it sure feels like it.

Thanks for reading through it.

User avatar
chris
Posts: 493
Joined: Fri Jun 17, 2011 5:39 am

Re: support for non-IRE muds ?

Post by chris »

If you haven't checked it out, my mapper script is for a LP mud:
https://github.com/Chris7/3k-Scripts

There's also a wiki documenting the functions. Realistically, you can use this script for any mud provided you replace the triggers matching the room name/desc/exits.

Also, check out the exit stubs functions to add stub exits to non-existent rooms.

Post Reply