Tutorial MUD, part 0

I don’t know how many people still makes MUD servers, or want to make their own MUD server, but I’m guessing it must be more than me. Some of those people might want to make a   server, but just don’t know how.

Don’t worry, in this series I will create a simple MUD server in C++, while describing each and every step of the way for people to get a better understanding of what goes into a MUD server and how to make one.

The server will not be using anything else but what’s already in the standard C++ library, and the standard POSIX system calls. While I will be developing the server on Linux, any UNIX or UNIX-like system (Solaris, AIX, Apple OSX, BSD, etc.) should work just as fine. If I have time, and people want it, I might add an article or two on how to port it to Windows.

For simplicity’s sake, the server will be more Diku-ish than LP-ish or Tiny-ish. All source will be put on GitHub.

I will try go make something each weekend, and post an article about it, but I can’t promise anything.

What you will learn

Those who want to follow this, and to learn from this series might want to know what you will be learning. For starters, I will not teach C++. On the other hand you might probably learn quite a lot about the C++ standard library, how to make a multithreaded network server, parsing formated text files, parsing user input, and how to connect all these separate parts into a working whole.

When you start with this, I expect you to know basic C++. i.e. know the difference between a header file and a source file, know what the different statements do, some things about streams, and how to compile and link C++ programs in a command shell.


Everything I make for the Tutorial MUD server will be in the public domain.

Leave a comment