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 04-12-2011, 01:52 PM   #21
jcp80212
New Member
 
jcp80212's Avatar
 
Join Date: Mar 2010
Location: Denver, CO
Home MUD: Mystic Ruin
Home MUD: TEC
Posts: 13
jcp80212 is on a distinguished road
Re: GUI snippet

Hey thanks for pointing me towards using mushclient, I was able to build a pretty simple window in not that long of time and used a trigger code to snag outstream data that only that client sees. It was also possible to remove the text without leaving a white space which was nice cause the hp ticker got very annoying after a while. I'd love to one day implement that snippet you wrote but for now this is working very nicely. Thanks a lot for all the help you threw out there.
jcp80212 is offline   Reply With Quote
Old 04-13-2011, 08:13 AM   #22
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

Using MUSHClient's omit_from_output feature, I assume? That , and (because the text is actually drawn then removed) won't work for screen readers, and may cause flickering if you send a lot of data. If you want to omit multiple lines you'll need to look at something like Nick Gammon's plugin (although that'll strip all blank lines, making the display look a bit squashed). Other clients will require their own solutions.

Your plugin will also need some way to tell the mud what data it wishes to receive. You could try looking over some of the older threads on the MUSHclient forums for inspiration (particularly the Aardwolf ones from 2006-2008), as your approach is similar to the way the "old school" plugins worked, before the recent push towards out-of-band protocols.

The snippet lets you avoid all of these issues of course, using a generic solution that works on a range of clients, but that's not all it does - it also supports extended colour, client detection, clickable links, inline graphics, unicode characters, sound, etc. And it's public domain, so there are no licence restrictions.

Bryantos also uploaded earlier today, if anyone's interested.
KaVir is offline   Reply With Quote
Old 05-07-2011, 02:04 PM   #23
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

For anyone wishing to use the snippet in a TBAmud derivative, I've now updated the version in the MudBytes code repository to include full TBA installation instructions - you can . I recommend using those instructions rather than the diff file in the TBA section, as the diff appears to have some issues.

I'm now aware of four operational muds using the snippet (not including my own), and at least two other muds using it on their test ports. If you support MSDP (either through the snippet or through your own solution), please contact Scandum so that he can add you to the .
KaVir is offline   Reply With Quote
Old 05-22-2011, 06:20 PM   #24
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

If anyone has used the Merc installation instructions, please be aware that I missed something - thanks go to Bryantos for pointing it out.

In read_from_description(), you need to replace this:
With this:
Without that change, spammed commands will be silently dropped, which can be rather annoying (particularly for movement).
KaVir is offline   Reply With Quote
Old 05-27-2011, 03:24 PM   #25
lothoemas
New Member
 
Join Date: Aug 2010
Name: Chris
Location: Philadelpiha
Home MUD: Ansalon MUD
Home MUD: http://www.ansalonmud.net
Home MUD: http://wiki.ansalonmud.net
Posts: 12
lothoemas is on a distinguished road
Send a message via AIM to lothoemas
Re: GUI snippet

Finally got this in and going, thanks to KaViR and Bryantos. We also just released the first version of our GUI, not far from KaViR's Generic Plugin but I have certainly learned a lot so far and plan on learning more as I hope to get a bitmap version of my ascii mapper going as well as a tracking of our three moons in the top/right corner.

Here is a link to our GUI's wiki page:


And a screenshot:
lothoemas is offline   Reply With Quote
Old 06-14-2011, 05:54 AM   #26
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

I've to resolve a couple of issues that were recently brought to my attention. If you're already using the snippet, I recommend using diff first, so that you don't wipe over your MSSP variables.

The first issue is broken packets. If the client splits the data across multiple packets, the snippet can now handle it correctly. Thanks go to Tyche for pointing this out.

The second issue is a bit more tricky. provides a mechanism for cycling through multiple terminal types, and the mud uses this standard to detect support for XTerm 256 colors. However when used with Windows telnet, the client is left in a terminal emulation mode that appears unable to communicate with the mud - and it refuses to return to the top of the list. Or to put it in simple terms: Windows telnet freezes when it connects to the mud.

My solution is a bit nasty, but it's simple and effective. If the first TTYPE is "ANSI", the mud won't request any further terminal types. This has no impact on dedicated mud clients such as WinTin++ and BlowTorch, as they identify themselves by name on the first TTYPE request.

There is an alternative approach , which I may add in the future, but it comes with a different drawback; the mud would need to pause for a few seconds before displaying the login screen. However this approach would also allow you to avoid the automatic disabling of echo for Windows telnet users.
KaVir is offline   Reply With Quote
Old 08-28-2011, 06:41 PM   #27
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

I've updated the snippet again, primarily because the MSDP specification has undergone several changes since the snippet was released, but also to resolve a few issues I've encountered while helping other people install it.You can download the latest version from MudBytes .

An updated version of the generic MUSHclient plugin can be downloaded from .

The following muds are now using the snippet to offer their players cutting-edge protocol support:If you've added the snippet but aren't on the above list, please let me know!

There are also a few other muds that have implemented their own MSDP solutions, including The 7th Plane (7thplane.net 8888), which has also incorporated a few of the other features from the snippet, ConQUEST (conquest.sdmud.com 5000), Elvenblade (elvenblade.ca 23), and Lowlands (lolamud.net 6969).

Meanwhile, I've seen a few more muds adding support for GMCP, which offers similar functionality to MSDP. Both protocols make it considerably easier to design graphical interfaces, so it's pretty exciting to see more and more muds .

EDIT: If you're using version 3, there's a bug in AllocString() - you need to replace malloc(Size) with malloc(Size+1), to take into account the NUL string terminator. The Mudbytes link now points to version 4, which includes the fix.

Last edited by KaVir : 09-01-2011 at 08:20 AM. Reason: Bugfix
KaVir is offline   Reply With Quote
Old 09-02-2011, 12:27 AM   #28
scandum
Senior Member
 
Join Date: Jun 2004
Posts: 315
scandum will become famous soon enough
Re: GUI snippet

I wasn't sure whether to start a new thread for this, but figured to post this here as the subject is identical.

I finished work on MTH 1.4, a public domain telnet / protocol handling snippet this week and it's now available for download .

MTH 1.3 (released April 6, 2009) added support for NAWS, TTYPE, NEW-ENVIRON, MCCP, and MSSP. The MCCP implementation might be of interest to some because it uses 32K of memory per player, instead of the 138K used by most MCCP implementations.

MTH 1.4 adds support for EOR, MSDP, MTTS, Arachnos, and xterm 256 colors.

follows specification and should work with KaVir's MUSHClient plugin. In addition the MTH snippet has a walkthrough for implementing the ROOM variable, which combined with this provides you with a status bar and fully automatic automapping. Not a whole lot of eye candy, but it's very effective, and will work with any other client that can parse MSDP and has an OOB mapper.

is a standard I created to negotiate terminal capabilities to the server. It's currently only supported by TinTin++, and in MTH it's used to detect 256 color support, and can be used to detect ANSI, VT100, UTF-8, and SCREEN READER support as well. MTTS is very easy to add both client and server side, unlike other alternatives.

is an MSDP based Intermud network. Arachnos is relatively easy to implement for any MSDP enabled MUD. Instead of the traditional Intermud systems where you connect your MUD to a central server, an Arachnos spider connects to your mud using the normal connection, then uses MSDP to receive and transmit chat messages. Intermud gaming spiders are a likely future addition as anyone can create and run a spider. More information is available in the spec.

MTH extends the classic 16 color ANSI color system to a 32 color system using xterm color codes. ANSI supports 6 primary, 6 secondary, and 4 gray-shade colors. MTH adds the 12 , and 4 gray-shade colors. A stand alone version of the color snippet and a screenshot is available . The code also supports color code compression.

Enjoy.
scandum is offline   Reply With Quote
Old 10-12-2011, 05:43 PM   #29
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

While helping Splork get the snippet working in , we came across an interesting problem - it seems that the MXP specification doesn't actually define whether the server should initiate negotiation with IAC WILL MXP or IAC DO MXP. While some clients therefore support both, others support only one or the other. I've therefore updated the snippet to support both (it attempts one if the other fails).

There was also a complaint from another user about the MSSP table being cumbersome to update for non-static fields such as players and uptime. I've therefore changed the table to use function pointers, which should make it much easier to update in future.

Scandum also asked me to change LIST to use an array, as per the latest specification, which I've done.

Other than that there were a couple of bugfixes, but nothing serious. Here's the list of changes:You can download version 5 .

Last edited by KaVir : 10-12-2011 at 05:51 PM. Reason: Changed URL to MudBytes code repository
KaVir is offline   Reply With Quote
Old 11-19-2011, 07:23 PM   #30
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

Version 6 is , and contains the following minor changes:
KaVir is offline   Reply With Quote
Old 08-22-2012, 04:13 PM   #31
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

Version 7 of the snippet is now available (from , and from MudBytes once they accept the latest update), and includes the following changes:If you're updating from an older version of the snippet, please don't forget to make a backup of your MSSP and MSDP variables before copying the latest version, and update the appropriate literals for your mud name, MCCP, etc (in fact I'd recommend doing a diff just to make sure you don't miss anything). You'll need to update to use the new ProtocolNoEcho() function (instructions are in the installation text files), but other than that you shouldn't need to make any additional changes to the rest of your mud.
KaVir is offline   Reply With Quote
Old 11-02-2012, 08:21 AM   #32
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

Just a quick update, in case anyone is using version 7. One of the variables wasn't initialised, resulting in some confusion during negotiation - this has now been fixed, and uploaded for version 8. There are no other changes other than a couple of additions to the ROM installation instructions.
KaVir is offline   Reply With Quote
Old 01-25-2013, 09:43 PM   #33
toast
New Member
 
Join Date: Jun 2012
Posts: 3
toast is on a distinguished road
Re: GUI snippet

I hope this is the right spot for this...

Is there any way I can actually use this GUI snippet as a generic template for every MUD I play on without the MUD having to do anything? I love the centered text, the background and the like. The prompt I think I might be able to change myself, since it's only:
HP:10/10 SP:10/10 AP:10/10>

Thanks in advance!
toast is offline   Reply With Quote
Old 01-26-2013, 08:51 AM   #34
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: GUI snippet

The snippet is a module that needs to be integrated into the mud, and it offers a number of powerful features, with MSDP being the primary one.

The generic plugin is a simple example to showcase the advantages of MSDP, although you can also use it as a starting point for designing your own GUI. You can in theory use the plugin for muds that don't use the snippet, but if they don't support MSDP (or a similar protocol) you'll have to use regular expressions to capture the data. This will require additional work, limit your options, require you to have a specific prompt pattern for data you wish to capture, and the display will only update when new text is sent to the screen - in other words, it'll suffer from the very limitations the snippet was designed to overcome.
KaVir is offline   Reply With Quote
Old 01-26-2013, 09:21 AM   #35
toast
New Member
 
Join Date: Jun 2012
Posts: 3
toast is on a distinguished road
Re: GUI snippet

I see. No problem, I'll definitely show this link to the MUD I play and see if we can get something going.

Thanks a ton for the reply! You're doing the Lord's work here, good sir!
toast is offline   Reply With Quote
Reply


Thread Tools


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 02:38 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