Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > MUD Coding
Click here to Register

Reply
 
Thread Tools
Old 03-25-2007, 04:28 PM   #21
shadowfyr
Senior Member
 
Join Date: Oct 2002
Posts: 310
shadowfyr will become famous soon enough
Umm.. ff f9, also known as IAC EOR/GA.

Its a go-ahead code sent by some muds, and apparently implimented in the TMI-2 mudmail editor, though not on prompts... Some muds support it, others don't. Mushclient has a feature you can turn on for, "Convert IAC EOR/GA to newline.", which allows prompts to function as though they actually had a /n in them, but it only works *if* the prompt has IAC EOR/GA at its end. In any case, if the mud sends and the client recognized this, then its trivial to determine if the line is a prompt or not.

But yeah, lots of screwy stuff has been added to Mushclient to get around this stuff, including the fact that while a line will "display" as its recieved (most never exceed the packet size), triggers that attempt to look at the line and figure out what is going on only fire "after" the newline, hence converting the IAC EOR/GA to a newline to make the prompt trigger immediately. If you can't, then you get something like this in script:

[code] OnPluginPacketRecieved () {
if stored packet then
retrieve packet
add new packet to old packet
onpluginpacketrecieved = false
exit function;

'do some regular expression checking.
if complete prompt then
do some stuff to it and put in changed_line
world.simulate changed_line
else if no newline
store packet
onpluginpacketrecieved = false
else
on pluginpacketrecieved = true ' Let the client handle it.
}[/quote]

You can do some crazy things with Mushclient, some of it just to work around silly BS like having no control over what the mud is actually sending you, substituting words and things into the packet (since you can't do that after a line already exists and a newline has scrolled it), etc. Substitution is a bit easier in some, but most of those use some other sort of system to handle triggers, like maybe keeping a list of triggers that it appears *may* match the line, and throwing out the ones that don't as more data arrives?? Who knows...

But yeah, the MXP spec is rather screwy in some places.. Though, in the case of that element thing, what is means is that a line containing the element will substitute the
[code] "<FONT COLOR=Red><B>"[/quote]

part for it, so the code you get is like:

[code] RName My Big Room<\b>

<FONT COLOR=Red><B>My Big Room<\b>[/quote]

XML includes a way to add element replacement like that as well, but what people forget is that this isn't XML, its HTML with some goofy things tacked on, and in the spirit of HTML the behaviour of when and if certain attributes get terminated differs based on *what* those things are. Something like a color, one would presume, would continue to be present until changed, other things are line by line based. Unfortunately, like HTML, zMud liked to try to guess what was intended when tags where mangled. A condition that has resulted, in the browser world, in 3-4 different clients, none of which actually correctly follow the W3C specs or can display their test page, and where the page design standards end up instead being set by the quircks and idiocies of the most popular browser.
shadowfyr is offline   Reply With Quote
Old 03-26-2007, 10:08 AM   #22
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
I don't think anybody here is forgetting that MXP isn't XML, just lamenting the fact that Zugg knew of XML's existence and yet still chose to ignore some of the most important parts, before then writing an inconsistent spec to describe his creation.

My current plan is to buffer data as it comes in, and flush it after every new line, every ANSI sequence, and the end of every block of data read from the network. The last one isn't technically correct but is necessary since few muds I'm aware of will send a Go-Ahead for their prompts by default. I'll then attempt to process MXP tags in the buffer before committing the results to the output window.

Or maybe I'll just abandon MXP support altogether if that doesn't work out well enough! ZMP is easier to implement and to extend to cover everything that MXP does.
Kylotan is offline   Reply With Quote
Old 03-29-2007, 02:26 AM   #23
erdos
 
Posts: n/a
  Reply With Quote
Old 03-29-2007, 07:36 AM   #24
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
Kylotan is offline   Reply With Quote
Old 03-29-2007, 02:07 PM   #25
erdos
 
Posts: n/a
  Reply With Quote
Old 03-30-2007, 07:42 AM   #26
Lanthum
Member
 
Join Date: Oct 2002
Location: Suburbs of Chicago
Posts: 138
Lanthum is on a distinguished road
Send a message via MSN to Lanthum
Lanthum is offline   Reply With Quote
Old 03-30-2007, 10:24 AM   #27
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
Yes, in fact one major aim of my client will be to showcase some new features in my own servers. However I will gain more traction with the client if it supports other MUDs and any of their advanced features, and if the new features in question are based on exploiting well-known standards that other games can implement. That way hopefully the whole genre can progress together.
Kylotan is offline   Reply With Quote
Old 03-30-2007, 02:38 PM   #28
scandum
Senior Member
 
Join Date: Jun 2004
Posts: 315
scandum will become famous soon enough
It should be possible to create a special log syntax that adds a time stamp to each text and MSP message. That way you could play back a log file and edit it quite easily as well.

I ran a MMC (Mud Master Chat) server script for 3 months once and precisely zero people connected. I doubt it'll work unless you enable it by default, which in turn will annoy a lot of people who don't like phone home software.

How to negotiate character mode is a well kept secret =]
scandum is offline   Reply With Quote
Old 03-30-2007, 05:16 PM   #29
shadowfyr
Senior Member
 
Join Date: Oct 2002
Posts: 310
shadowfyr will become famous soon enough
shadowfyr is offline   Reply With Quote
Old 03-31-2007, 06:46 AM   #30
scandum
Senior Member
 
Join Date: Jun 2004
Posts: 315
scandum will become famous soon enough
Not exactly what I was talking about. HTML logging sounds like a great idea, and isn't overly difficult to implement, but neither Firefox nor IE is capable of displaying log files of several megabytes.

The joys of over functionality =]

I brain stormed for a minute and wrote a 5 line script in tintin that creates a log file that plays back text in the order of appearance with milli second precision. As usual it's too difficult for most people to thinker up themselves, and once you start adding redundant functionality you end up with so much of it that nobody can find what they're looking for.
scandum is offline   Reply With Quote
Old 03-31-2007, 05:12 PM   #31
shadowfyr
Senior Member
 
Join Date: Oct 2002
Posts: 310
shadowfyr will become famous soon enough
Posted a suggestion about a log intercept in Mushclient and got, "Well, you can just have a trigger and an alias that do a '*' match and uses 'keep evaluating'." Only problem is, the client has three text streams - 1. Server output, 2. User input, 3. Notes/Colornotes produced by script, the later which you can't "trap" that way. Haven't heard a response back about that later issue yet, but... as of last night there was also this announcement:



Mushclient is now freeware and as soon as Nick can rip out the code for user registration and the remains of the original proprietary code for spell checking, its going to also go open source. Any "missing" features at that point can be integrated into the client by anyone willing to spend the time to code it, including replacing the existing custom output window with one that supports correct inlining of MXP objects and text positioning commands (not sure how you really mix those though..), correct sound playback support (we have something, but its script run and flaky), parallel threads to download files (currently only available in the zChat protocol support, not for things like images/files), etc.

If its currently incomplete, partly broken or missing, it will now be possible to build a new version that does it.
shadowfyr is offline   Reply With Quote
Old 04-02-2007, 10:05 AM   #32
scandum
Senior Member
 
Join Date: Jun 2004
Posts: 315
scandum will become famous soon enough
I wouldn't get your hopes up. Talking about features is fun, but few people have the required skills to add a wide range of functionality. And those that do generally have better things to do with their time.
scandum is offline   Reply With Quote
Old 04-02-2007, 12:31 PM   #33
shadowfyr
Senior Member
 
Join Date: Oct 2002
Posts: 310
shadowfyr will become famous soon enough
Bah.. We are talking about people that have coded mappers for Battletech based muds for it, do lots of complex stuff with the Lua scripting, done code work on path mapping for a mapper we don't have yet and even, in my case, experimented with docking windows with the main client window (and that was before you could "access" the main frame handle from the script or retrieve size/position data from it). I have every reason to believe that people "will" work on new features and changes for it from among the existing users.

But yeah. That is one potential problem.
shadowfyr is offline   Reply With Quote
Reply


Thread Tools


Extended mud client protocols - Similar Threads
Thread Thread Starter Forum Replies Last Post
AL Client Lorccan MUD Coding 0 04-11-2005 02:21 PM
An Invitation Extended to You Aidan_RoD Advertising for Players 2 02-17-2005 11:55 PM
New KDE/Linux mud client: KMC cronel MUD Announcements 16 03-13-2003 03:34 PM
Who is the client? Neranz Laverani MUD Administration 0 09-04-2002 01:48 PM
Deadlines for Summer MCM Issue Extended Thoric MUD Announcements 0 05-01-2002 11:36 AM

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 11:42 AM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2022