Sometime in college, in a fit of nostalgia, a friend and I tried to get an old MUD we used to play up and running for our own amusement. I got the code, we spent a little money for the server, we had everything we needed. Then I tried to compile the thing and suddenly we were drowning in error messages. Feeble efforts to fix it just caused more problems, and my feeble knowledge regarding C and Linux servers meant we were simply outgunned. It was a failure.

I don't particularly like failing, and in a sea of lost projects, this one has always stood out. So I decided to revive it, at least in concept. In a day and age where MMORPGs have become such an immersive and detailed experience, very old-fashioned text adventure MUDs are not exactly en vogue. But it seemed like getting some sort of MUD, even a very simple one, would be a fun coding exercise.

I had no intention of starting from scratch, but I wasn't going to start with something overtly complicated like I did the last time. I found some code for tinymudserver, a simple MUD server coded in C++ with the basics (server workings, rooms and conversation) without any of the thrills (objects, npcs, fighting and challenge). I'd need a linux environment, so cygwin was installed, first just with the basics. Tried to compile tinymudserver... failure. Added all the missing components the internet said I needed... more failure. Installed all of cygwin components for all time ever... some success, but more failure.

Totally flashbacking at this point, I found an older version of tinymudserver that I was able to get to work. The only problem was rooms or directions weren't up and running. I wanted something simple to start with but movement seemed like something I'd like to have at the very least. So with renewed vigor, I found what was the newest version of tinymudserver. It still gave me errors, but instead of running away and mass deleting my "mud" folder, I sat down and tried to fix them. Surprisingly, the errors weren't so hard to fix. A few changes later, the MUD compiled, and I was pleasantly shocked when the log-in screen popped up and the thing worked with no issues.

Since then, I've added a few more commands that I wanted, some color, classes. I've broken it about a dozen times, but that's part of the fun. For a final victory lap, I even grabbed a copy of the code for that MUD I tried to compile back in college, and with an extra dose of confidence, got that running as well. All that was left was to have my old MUD buddy and wife serve as crash test dummies across the interwebs for a trek down memory lane.

Good times. Good times.

Posted by Kevin on 1:45 PM
Labels: , ,