Creating a mud

Posted by Abergard on Sun 23 May 2004 08:59 AM — 18 posts, 88,986 views.

Poland #0
I would like to creat a mud. Can anybody help me to find code etc.? Please.
Australia Forum Administrator #1
Read this first:

http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=2293
Poland #2
I read that. I know that it's difficult to create a mud but i really fall in love with them. I want to create something from myself. Of course i was playing muds but only a few were "good". I know what players want from mud and i want to make that...
Poland #3
...And of course im not alone...I have friends who want to do the same as i
USA #4
Sounds like you really want to make a MUD then. For the Smaug source, check out http://www.gammon.com.au/downloads/dlsmaug.htm
Poland #5
Hmmm....I have the source...What shall i do next.?
USA #6
http://www.gammon.com.au/smaug/howtocompile.htm

I don't want to be discouraging, but you really, really should be aware of what you're getting into before you do this.

I would start with being an immortal on a MUD somewhere, before you start trying to be administrator/coder.

Do you know how to program? Do you know Unix/Linux environments?
USA #7
Ksilyan's right. you should understand what your doing. it's not how you think it will be. BUT it is fun and rewarding once you get into it. i highly suggest to download cygwin if your using windows, and download the smaugfuss package. that is the best codebase you'll get here. you should learn C++ if you don't know already. i've been teaching myself for the past two years or so and it's very fun and interesting yet very hard. but if it's something you want to have fun with, then go for it. who knows, maybe something will come out of it. and always have fun doing it.
Australia Forum Administrator #8
You can make a MUD by simply taking an existing server (eg. SMAUG) and changing the area files. There is an area editor on this site for Windows that simplifies that.

However you will be stuck with some hard-coded words (like Thoric) which are in the server source, not the area files. To change those you need to compile. Read the reference given above for how to do that.

A good starting point would be to take a precompiled server (see downloads area here) and start getting the hang of how it all works, admin commands and so on. Don't try to change too much until you understand how the existing things work.

Have fun, and good luck!
Poland #9
;) thanks....I'm going to learn a lot and make a good mud !!!
Poland #10
i Know that's stupid question, but how can i use Cygwin and what for...?
USA #11
Cygwin is a Unix sub-environment that runs on Windows. You use it mainly to compile but also sometimes to run a MUD if you don't have access to (or can't afford) a proper Unix environment.

Most of the MUD world is based on Unix code, generally because Unix is much better about it all than Windows is. That's why people are still using Unix/Cygwin, and most people who try to do Windows are told to do so "at their own risk". :)
Poland #12
what kind of risk ? ;)
USA #13
Mostly that things won't work or will be very hard to make work. :)

And most people who can help tend to know Unix environments, not SMAUG on Windows.
Australia Forum Administrator #14
Bearing in mind that, these days, installing Linux is about as simple as installing Windows. You boot from a CD, answer a few questions (what is your name, where do you live), and it does everything for you with a graphical installer.

The reasons I would favour Unix over Windows for a MUD server are:

  • More reliable - Windows tends to crash or freeze more often than Linux installations, which generally run for weeks if not months without needing a reboot.
  • You can install new things without the "you need to restart the computer to complete the installation" message.
  • Faster - the same program, running on the same hardware (dual-boot) will tend to run faster under Linux than under Windows.
  • Better networking - a test program I wrote a while ago demonstrated that a Windows server tends to slow down quite a bit when you hit about 100 simultaneous connections. By contrast, Linux is geared up to handle many connections, that is why many web servers are Linux, not Windows.
  • Free software - things like the compiler, SQL server, web server, and many other things, are free under Linux (admittedly you can use Cygwin under Windows, but if you are going to do that you may as well go the whole hog and run Linux).
  • More support - stuff like the "startup" script are geared to a Linux installation.
  • Better tools - installing snippets is easier with "patch" and "diff" which work best under Unix (again, they work OK under Cygwin too).
  • Viruses and worms - you know most PCs these days are Windows PCs, and that is exactly what the worm/virus/trojan horse writers are targetting. With Linux you tend to be left alone.
  • Better firewalling - Linux comes with built-in firewall tools (again, I know that XP does too) which make it easier to secure your connections.


I don't really want to start an operating system "flame war", and I use Windows (for example to develop MUSHclient), and like a lot of aspects of it, however for good, solid, computing, I think it is hard to pass by Linux.
USA #15
Yes, installing Linux is becoming almost trivial. You do need to know more or less what to select for packages if you only want to do it once, but even if you leave something out you can install it later. The only thing you need to be careful with is the firewall. You really don't want a weak firewall on a server machine.

Quote:
You can install new things without the "you need to restart the computer to complete the installation" message.
Unfortunately, not always. I've found that when you install certain RH Erratum packages, it asks you to reboot the machine. Quite a bother. Reminds me of Windows. :P

Quote:
Faster - the same program, running on the same hardware (dual-boot) will tend to run faster under Linux than under Windows.

Hmm. Interesting. What kind of program? If it's something you compiled, are you optimizing the same way? Is it perhaps that g++'s optimizer is just better than VC++'s?
Australia Forum Administrator #16
I think it was a MUD server a while back. It loaded area files, which involved some file IO, some calculations, and general stuff.

As for optimizing the "same way" - I think I selected maximum optimization for each compiler (Visual C++ and gcc) however I'm not sure if I compared Cygwin with Linux.

I'm gradually phasing out dual-boot PCs in favour of ones dedicated to a particular operating system, but I think I have one left.

I can try again, perhaps you can suggest a suitable test program - something that would compile on both platforms.
Australia Forum Administrator #17
Quote:

Is it perhaps that g++'s optimizer is just better than VC++'s?


Perhaps, but whatever the reason, better optimisation, better file IO, faster OS calls, if it's faster, it's faster. :)