MUD Help

Started by
5 comments, last by Koobs 11 years, 11 months ago
Hello,

I have been trawling arond for a good while looking for the answer to this particular question. How do you develop a MUD? I mean an old school text based one. I am not looking for a step by step guide or sample code or anything. I am a programmer by trade (Well only recently Gradudated but.....). I am just looking to get an idea of the basic architecture etc that would go into one. Basically I know next to nothing about programming multi-user system at all, let alone a MUD in particular and am just looking for a place to start.

Thanks for any help I get and apologies to any moderators if this is in the wrong place etc.
Advertisement
Start by writing a single-player "MUD"; just make sure it's easy to get to all your game state data (good design will give you this anyway).

From there, you'll need to host a server that simply responds to requests from clients (Give me game state data from map coordinates (0, 0) to (10, 10), because my player is at (5, 5)).

Global chat etc. can be polled by the client or pushed by the server.

Start by writing a single-player "MUD"; just make sure it's easy to get to all your game state data (good design will give you this anyway).

From there, you'll need to host a server that simply responds to requests from clients (Give me game state data from map coordinates (0, 0) to (10, 10), because my player is at (5, 5)).

Global chat etc. can be polled by the client or pushed by the server.


Traditional MUDs run through TELNET so there is no specialised client, the basic idea is to have the server run the entire game and the clients mearly send text commands using the TELNET protocol (To which the server responds with the appropriate text).

TELNET is a plaintext protocol so at the most basic level you just open a socket and start sending text, data is sent as 7 bit characters (most significant bit is set to 0 (so bytes with values from 0-127 are treated as data) , if the most significant bit is 1 the byte is treated as a command (See http://support.microsoft.com/kb/231866 ).

a good place to start would be a simple chat, (The server just has ask each user for a name when they connect and then keep track of them and add their name in front of any message they send before sending it off to the other users)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Thanks muchly for the assistance gentlemen and or ladies. I am going to write a single player of the game I hope to make then move it onto a server....I hope.
You could also download the source to a MUD. I know the DIKU source is readily available.
I made a simple one nearly 20 years ago in Visual Basic 3 using a null modem cable and win 95 file sharing.

It's just a Multi User Database with some tweaks. Each record had a list of text "links" to other records. Planning the room layout on paper when you enter the data gives the dungeon impression. All the monsters were just computer operated users that traveled the same network of links. Then build on it like letting links link to scripts, adding the battle system. (I gave all items attack values, it was fun attacking my little brother with fuzzy dice and flowers.)

A few years ago I thought about porting the code to PHP. But I lost interest and the code.

I hope maybe this helps, if not, it was fun reminiscing.

Good Luck
I ran across these recently when I was writing a little Lua based MUD:
http://www.skotos.net/articles/DAWNOF.shtml

It's a series of articles from the inventor of MUDs himself, Richard Bartle. It is probably higher level than you are looking for; he barely mentions the actual server parts. It's mostly a discussion of the game logic parts. Still, a very good read.

What language are you writing in? I've got this little C++ and Lua MUD sitting around. It was a rush job for a class assignment, so it is likely significantly less well thought out and definitely less featurefull than a "for real" MUD, but it is small and it mostly works. It might be good inspiration if you want to write your own. It has an async select based server what for the telnets, with Lua doing pretty much everything else. It also comes with an IRC bot so you don't actually have to use telnet!

This topic is closed to new replies.

Advertisement