MXP

benh
Posts: 7
Joined: Sun Mar 13, 2011 6:06 pm

MXP

Post by benh »

Ok, I have been messing about with the code to enable MXP.
Have had some success although formatiing of links seems wrong at the moment and still have some MXP features to include and I think probably a couple of bugs.

It has been fun to do and have found a couple of bugs in the existing code as well.

But is anyone actively working on this and if so what progress is there ? I don't really want to duplicate work that someone else is doing.

Ben

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

Re: MXP

Post by Vadi »

Nothing for server-side there right now. Used to use libmxp, but that had to be disabled because there were too many bugs. You'll find that a lot of muds go by different variations of the MXP syntax - so getting it working for all of them would be complicated.

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

Re: MXP

Post by KaVir »

MXP has the "<SUPPORT>" tag to indicate which tags it supports, so there's no pressing need to implement them all.

Personally there are only three MXP features I consider worth using - the <VERSION> tag, clickable links, and 24-bit colour. And even the colour isn't necessary if the client supports 256 colours (which Mudlet does).

The clickable links are a really nice feature though, and my players love them. I've had some success at faking it in Mudlet with triggers, but I never did get it working 100%. It'd be really nice to see them supported through MXP.

User avatar
Omit
Posts: 190
Joined: Sun Aug 01, 2010 10:54 pm
Location: Middle Earth
Contact:

Re: MXP

Post by Omit »

Some muds also use mxp to send HP/EP clients (like using gmcp, no need to use a trigger to update status bars. just an mxp event)

I would love to see even a limited implementation of mxp.

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

Re: MXP

Post by KaVir »

Omit wrote:Some muds also use mxp to send HP/EP clients (like using gmcp, no need to use a trigger to update status bars. just an mxp event)
Yeah but it's in-band, so you need to send it with other text (otherwise you get blank lines scrolling up the screen) - muds typically send it with the prompt. It's easier and cleaner than capturing the data from the prompt, and it means you don't need to have a specific prompt pattern, but it still suffers from the refresh issue - you have to hit enter to get new data. If there's no text scrolling up your screen, the energy bars won't update.

With MSDP/ATCP I can just sit there with a static text window, watching other players walk across the graphical map while my energy bars slowly refill.

benh
Posts: 7
Joined: Sun Mar 13, 2011 6:06 pm

Re: MXP

Post by benh »

I have got MXP variables mostly working, although think I have a problems integrating them with LUA but probably not to much to work out.

Have links going although I noticed menu type links have a small bug, but probably not hard to fix.
Seem to have problems with colour format of links, at least compared to my current client, so need to look into that.

Clickable links are probably the MXP feature I miss most, although you can get around it I guess with triggers and aliases.

I am testing all of this currently on Discworld, but would be happy to know about other MUDs that use mxp to see how well it works on other MUDs

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

Re: MXP

Post by Vadi »

IronRealms muds also use MXP. As does... the German Avalon, I think. You'll find discrepancies in MXP implementations they use.

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

Re: MXP

Post by Heiko »

Are you using libmxp or have you written your own MXP parser? If you are using libmxp you'd have to completely rewrite libmxp from the ground up to make it useful and bug free.

Writing a new light weight MXP parser from scratch that only covers links and mxp variables is a better idea and certainly a valuable addition to Mudlet.

benh
Posts: 7
Joined: Sun Mar 13, 2011 6:06 pm

Re: MXP

Post by benh »

I am using libMXP. I did not realise it was that buggy, although in kmuddy I know there are problems with A links (at least in Discworld), but I do not know if that is down to the server, libMXP or the client or a combination.

I will have a look at the MXP spec and the libMXP source code and see about fixing it or rewriting it.

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

Re: MXP

Post by Heiko »

You can forget about fixing libmxp. You need a complete rewrite because among other bugs libmxp cannot handle entity substitution properly at all and this is one of the most elementary design concepts of mxp. The best MUD to test mxp related things is materiamagica.com 23 because they have the most extensive MXP support I've ever seen. Make sure to turn on the full mxp feature set (i.e. they use reduced features for mush client) You can see that you've actually turned on the full feature sets when you get elements showing a welcom jpg image.

We really don't need a complete MXP parser because nobody uses it anyways. The only relevant feature of MXP is server side links and maybe variables for those MUDs that don't support GMCP/ATCP at this point. Anything else would be nice but not really necessary.

Post Reply