Don't try to use your own copy of CircleMUD! There are two levels of MUD users: players and administrators. Administrators do what you're trying to do now -- get a copy of a MUD's source code, compile it, and run it. Players use MUDs that are being administered by someone else. If you try to actually run a MUD before you've ever played one, you'll get very confused indeed! Your best bet for now is to play someone else's MUD first. There are a large number of excellent MUDs out there already, some of which are based on CircleMUD code. A good place to start looking is the Mud Connector The CircleMUD web server also has a smaller CircleMUD Site List.
First, a Mud is not a learning project. It has thousands of lines
to it many of which are obscure and unclear to even moderately skilled
programmers. Those little, ``Hello, world,'' programs are for learning,
maybe little math tests, etc. A Mud is a pretty ambitous project to
start with. That's like trying to run before you can walk, and while
there's more difficult things than a mud to start with, there's a ton
of easier things you should start with. Second, if you are persistent,
get a good C reference book and read the code, try to comprehend what
everything is doing (to some small extent). You should probably avoid
comm.c as it is home to the socket functions which general C books don't
cover and are usually explained in other books on network programming.
Then try small projects, something similar to what already exists. This
way, you can get away with a cut-and-paste job and changing some of the
code. Adding a simple version of races isn't all that difficult, just
examine the class code in class.c and the CON_QCLASS block in
interpreter.c, cut, paste, and modify. Also look at structs.h
, for
"#define CLASS_"
You'll begin understanding more and more of the
code as you copy and change it, eventually you'll be able to write a whole
function by yourself. Spend time learning, going with haste will hurt you
more than it will help you.
Many common questions arise from new mud admins. It is a good idea to pay attention to them and take their answers to heart. These include things like the following:
I don't have any coding experience with MUDs, but do have a lot of ideas for my own. I have played many MUDs for a LONG time, though.
Read the FAQ. Mud Experience doesn't help a huge amount. Code experience does.
I am interested in having a level system of 1-50 mortal and 51-60 imms. I am also interested in adding races and classes. How can I accomplish these things?
By checking the FTP Site under contrib. Learn a lot from there. Learn from the Snippets page, and *know* the FAQ.
Also, is there anything that I should know about CircleMUD being a "newbie" to it?
See the above comment.
CircleMUD is a DikuMud derivitave, developed by
Jeremy Elson and is from the
Gamma v0.0 of DikuMud created by Hans Henrik Staerfeldt, Katja Nyboe, Tom
Madsen, Michael Seifert and Sebastian Hammer at DIKU (Computer Science
Instutute at Copenhagen University). Note that CircleMUD is a Diku
derivative, so its users must follow the DIKU license agreement---most
notably that it cannot be used to make money in ANY way, the original
developers' names must be in the login screen that the credits
command always presents the same information, etc.
Quoting from CircleMUD's release.doc
:
"CircleMUD is highly
developed from the programming side, but highly UNdeveloped on the
game-playing side. So, if you're looking for a huge MUD with billions of
spells, skills, classes, races, and areas, Circle will probably disappoint
you severely. Circle still has only the 4 original Diku classes, the
original spells, the original skills, and about a couple dozen areas. On
the other hand, if you're looking for a highly stable, well-developed,
well-organized "blank slate" MUD on which you can put your OWN ideas for
spells, skills, classes, and areas, then Circle might be just what you're
looking for."
The latest full release of Circle is 2.20, released on November 17, 1993. Currently 3.0 is in beta, at patch level 14, released on July 3, 1998.
Version 3.00 is currently in beta right now and is up to patchlevel 14. The final release is due out Real Soon Now(tm). Don't bother posting requests for it. It will be out when Jeremy gets it done, and it will be announced on the mailing list and the newsgroup rec.games.mud.diku.
CircleMUD is a public code base, freely distributable, but the author of Circle doesn't actually run one personally. There used to be CircleMUD, and while Jeremy Elson continues to develop it, there is no original CircleMUD any more. To see other MUDs that are using the CircleMUD code base, check out this Site List.
UNIX is not an operating system of itself, it's a type (flavour, if you will) of operating systems. Many different kinds of UNIXes exist. Some of them are free, some of them are not. How to tell if you have a UNIX operating system? Well, UNIXes have the `ps' command, tend to have a `%' or `#' prompt, give you a home directory, `who' will show who else is on the system, etc. Many UNIX systems (such as Linux) strive to be POSIX compatible, so you'll probably see POSIX mentioned, too. POSIX is, roughly, the standards which UNIX operating systems go by. It says what makes an operating system part of the UNIX family and so forth. Some UNIX operating systems are not 100% POSIX compatible, actually, most aren't. The following are types of UNIX (but not all the existing flavours): Linux, FreeBSD, BSD, BSDi, Solaris. There are others. UNIX operating systems are command-based and Microsoft does not make a variant.