Want your MUD to be compatible with the most modern MUD client available? Implementing some basic telnet sub-option negotiation can elevate your players’ experience to the next level. Read on for some suggestions and a sneak peek into a new feature available next release.
Mudlet is a very advanced MUD client and implementing the following techniques in your MUD server can help leverage the power of these features, making your MUD stand out from the crowd and draw in more players. Thankfully using these techniques will not alienate players should they choose to use a different client, they simply will not see the benefits of choosing Mudlet.
Send the IAC GA
command (Interpret As Command Go Ahead). Telnet data is split into packets and this command signals that your server is done sending a full block of packets so Mudlet is now free to display or use this data. An appropriate time may be at the end of a character prompt. Mudlet’s network latency indicator (ping rate) shown in the bottom right corner of the client and isPrompt() trigger type in scripts also rely on this functionality from your server.
Implement support for 256 bit colours. This is essentially RGB colours from the web except in the MUD world it is not default. Most off the shelf code bases (and most clients) only support the basic 16 colour ANSI schema.
GMCP and MSDP protocols can provide out-of-band data to your players. This has typically been utilised to provide mapping information and character vitals which can then be used to update Mudlet’s built in mapper window or draw GUI displays (i.e. health and mana gauges).
IRE games support a whole host of data using GMCP. Using this method provides data directly to Mudlet variables and your players no longer have to use triggers to scrape the incoming text to find their health and mana points, room names or exits. By using Mudlet’s event system and adding an appropriate variable to the event handler it will be monitored and scripts can be called automatically when this variable changes, adding yet another layer of automation that your players will appreciate.
GMCP authentication is just one of the many features implemented into Mudlet that will be available on the next release. This extension provides a standardised and flexible approach to MUD client authentication, improving compatibility and enabling support for OAuth authorisation flows. By adopting this extension both MUD and client developers can simplify login processes and enhance user experience.
Remove all server side text wrapping where possible. MUD and telnet clients (typically) use fixed-width fonts and most older code bases use a fixed length of 80 characters per line. The modern day player has a wider screen that can hold much more information. So how many characters should you be using per line? Eliminate the guess work and allow the player to decide. Mudlet will auto-wrap as necessary to the window size the user has chosen.
Default to sending the UTF-8 character set. As Mudlet defaults to receiving this character set your server doesn’t need to explicitly negotiate for it. But if you wish to use a different one, negotiate using the CHARSET telnet sub-option.
Implement TLS over telnet and encrypt everything. This HTTPS equivalent feature shows your players you care about their data and privacy. Mudlet can also determine if your player connects over an unencrypted channel and alert them that your server offers encryption!
Sounds and ambient music can be provided using Mud Client Media Protocol (MCMP). Add some village background noise upon entering town or the clash of swords when combat begins. Perhaps that NPC has a particular blood-curdling battle cry.
Make a frontend GUI. With the above programmed into your server you can now consider making a frontend GUI in Mudlet to utilise all those extra server side features. Building a user interface which can be automatically (or optionally) downloaded for your players upon connection with the latest version has brought MUDs to the graphical age. Of course you don’t need to go that far if you are keeping it retro. Your server could simply provide functions that are processed client side such as help files or expanded aliases and triggers.
Discord. Got a Discord server for your game? Change the Discord button in Mudlet to open your own instead of Mudlet’s and allow your game to show up in their profiles. Free advertising.
As you can see, Mudlet offers a variety of ways to enhance your players gaming experience, from latency indicators to encryption right through to full-blown GUI’s accompanied with sound and music. Mudlet is taking text based gaming to the next level and keeps on pushing the limits of this decades old niche.
If you’ve got a MUD you wish to show off list your game in Mudlet’s game selection start up screen.
Join the developers and hundreds of players on Discord for coding help, ideas or just a general chat about MUDs.
Want more info or wish to collaborate? Find me as Zooka on Mudlet’s Discord server.