/
circle30bpl11/lib/
circle30bpl11/lib/etc/
circle30bpl11/lib/misc/
circle30bpl11/lib/plrobjs/
circle30bpl11/lib/text/
circle30bpl11/lib/text/help/
circle30bpl11/lib/world/
circle30bpl11/lib/world/shp/
Frequently Asked Questions for Circle DikuMud
============================================================================
Last updated: 9 Mar 1996

This is the latest version of the CircleMUD FAQ for the CircleMUD Mailing 
list at circle@pvv.unit.no.  It is still rather new, so any contributions 
and corrections are more than welcome.  This file is intended to cover 
common questions related to the CircleMUD distributon source by Jeremy
Elson <jelson@cs.jhu.edu>, and not general DikuMud questions.

This FAQ is currently maintained by Alex Fletcher (bka Furry) 
<furry@cambot.res.jhu.edu>  Please direct corrections to this address.
The original author was Ryan Watkins (aka VampLestat)

============================================================================
Contents
============================================================================

Section 1: Introduction
  Subject: 1.1  I've never played a MUD before.  What should I do?
  Subject: 1.2  What is CircleMUD?
  Subject: 1.3  What is History of CircleMUD?
  Subject: 1.4  Where is the original CircleMUD so I can check it out?

Section 2: Resources
  Subject: 2.1  Where do I find the source code for CircleMUD?
  Subject: 2.2  Where do I find areas, etc for CircleMUD?
  Subject: 2.3  I have questions about CircleMUD.  Where should I go?
  Subject: 2.4  How do I subscribe/unsubscribe to the Mailing list?
  Subject: 2.5  What platforms has CircleMUD been ported to?
  Subject: 2.6  How can I submit code or areas for use with CircleMUD?

Section 3: Compiling and Running CircleMUD
  Subject: 3.1    Compiling
  Subject: 3.1.1  Why do I get many syntax errors with Sun's 'cc' compiler?
  Subject: 3.1.2  Why do I get all sorts of errors with 'crypt' functions
                  and header files?
  Subject: 3.1.3  When I try to compile, why do I get a lot of "undefined 
                  symbols" referenced in comm.o for functions like socket,
                  accept, and bind?
  Subject: 3.1.4  On Linux, why won't 'make' find header files?
  Subject: 3.2    Running
  Subject: 3.2.1  I typed 'autorun' but then my terminal just froze.
  Subject: 3.2.2  I typed 'bin/circle' and got lots of boot messages, but
                  then it said 'Entering game loop' and froze.
  Subject: 3.2.3  Okay, I think the MUD is running but why don't I get a 
                  login prompt?
  Subject: 3.2.4  When I run Circle under Linux, it tells me 'connection 
                  refused' when the MUD boots, and then dies.  Why?

Section 4: Code Changes for CircleMUD 2.20
  Subject: 4.1  How do I fix the bug where people can junk more coins than
                available.?
  Subject: 4.2  How do I fix the 'vstat' bug?

Section 5: CircleMUD 3.0 Questions
  Subject: 5.1  Are there any bugs in patch level 9?
  Subject: 5.2  How do I access Online Creation?
  Subject: 5.3  When will the production release of Circle 3.0 be????
  Subject: 5.4  If someone logs in and just sits at the password prompt,
                the MUD hangs.


============================================================================
Section 1: Introduction
============================================================================

**Subject: 1.1  I've never played a MUD before.  What should I do?

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 administred 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 Axl's DikuMUD list, which you can find via Mosaic or another WWW
browser at http://oz.plymouth.edu/~j_herlih/mudlist.  There's a list of
CircleMUD sites at http://www.cs.jhu.edu/~jelson/circle/sites.html.


**Subject: 1.2  What is CircleMUD?

CircleMUD is a DikuMud derivitave, developed by Jeremy Elson
<jelson@cs.jhu.edu>, 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)  

Also, note that CircleMUD is a Diku derivative and its users must follow the
DIKU license agreement  - most notable that it cannot be used to make
money in any way, the original developers names have to be in the login
screen that the 'credits' command always present the same information, etc..

This is from the 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 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 9, released on February 9, 1996.


**Subject: 1.3  What is History of CircleMUD?

Version 2.20:  November 17, 1993
Version 2.11:  September 19, 1993
Version 2.10:  September 1, 1993
Version 2.02:  Early August
Version 2.01:  July 20, 1993
Version 2.00:  July 16, 1993

Version 3.00 is currently in beta right now and is up to patch level 9.
The final release is due out Real Soon Now(tm).  Dont 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.


**Subject: 1.4  Where is the original CircleMUD so I can check it out?

CircleMUD is a public code base, freely distributable, but the author of
Circle don't actually run one personally.  There used to be CircleMUD, and
while Jeremy Elson continues to develop it, there is no original CircleMUD
on the net.  If you want to play Circle, download the source and start your
own.  :)


============================================================================
Section 2: Resources
============================================================================

**Subject: 2.1  Where do I find the source code for CircleMUD?

Circle's complete source code and areas are available for anonymous FTP at
ftp.cs.jhu.edu (128.220.13.50) in the directory /pub/CircleMUD.  They are
also available at cambot.res.jhu.edu (128.220.39.22) in the same directory.
There is a web site for CircleMUD as well, located at:
http://www.cs.jhu.edu/~jelson/circle.html


**Subject: 2.2  Where do I find areas, etc for CircleMUD?

A number of CircleMUD based Implementors have submitted areas to the
public and they are archived at the same sites as the CircleMUD
source (see 2.1) but in the directory /pub/CircleMUD/submissions.


**Subject 2.3  I have questions about CircleMUD.  Where should I go?

If you have general questions about the MUD such as how to get it running,
how to add new spells, how to add new skills, etc., the first place you
should look is the documentation.  coding.doc has information about how
to add new spells, skills, commands, etc.  building.doc has information
about how to create new worlds, how to read the database files, etc.
There are many other documents in the doc directory with useful information.

If you still have questions *after* reading the doucmentation, you can try
asking on the CircleMUD mailing list.  The mailing list is located at
circle@pvv.unit.no (see Section 2.4).

If you want to contact the author, Jeremy Elson, his email address is
jelson@jhu.edu.


**Subject: 2.4  How do I subscribe/unsubscribe to the Mailing list?

To subscribe to the mailing list send a message to majordomo@pvv.unit.no
with any subject and the message body should be simply 'subscribe circle'.
To unsubscribe from the list send a message to majordomo@pvv.unit.no with 
the words 'unsubscribe circle' as the message body. DO NOT send 
subscription/unsubscription requests to the list in general. There are 
currently almost a hundered people on the list, and it will only irritate
a ton of people who have no power to remove you from the list.


**Subject: 2.5  What platforms has CircleMUD been ported to?

Jeremy Elson has personally compiled CircleMUD under: Ultrix 4.0, IRIX
4.0.1, 4.0.4, 4.0.5, SunOS 4.1.1, 4.1.3, AIX 3.2, Linux 0.99.11, ConvexOS
V10.2.  It is also known to compile with minor modifications under:
NeXTStep 2.1 and 3.0

If you have a BSD-compatible system, chances of getting Circle to compile
easily are pretty good.  Non-BSD systems will probably have trouble with
certain functions; getting Circle to compile for the first time on such
systems may be difficult and time-consuming.  SVR4 compatibility is on the
horizon; many functions have already been converted to be SVR4 compatible,
but the code has not yet been fully ported.

CircleMUD was ported to the Amiga by Jean-Jack Riethoven
<J.J.M.Riethoven@ab.agro.nl> and is available at ftp.cs.jhu.edu in
/pub/CircleMUD/amiga/.  Questions about the Amiga source should be directed
to Jean-Jack Riethoven <J.J.M.Riethoven@ab.agro.nl>, not Jeremy Elson.


**Subject: 2.6  How can I submit code or areas for use with CircleMUD?

Currently, you can upload code or areas to the incoming directories
off of the CircleMUD directories on the ftp sites.  These portions
of code or areas will probably not be added to the full release of
CircleMUD unless you make arrangements with Jeremy for code items,
or with me, Alex (both email addresses listed above).


============================================================================
Section 3: Compiling and Running CircleMUD
============================================================================
**Subject: 3.1    Compiling

This subsection deals with some common compiling problems experienced by
people attempting to set up a CircleMUD.

**Subject: 3.1.1  Why do I get many syntax errors with Sun's 'cc' compiler?

Because Circle is written in ANSI C, and Sun's standard 'cc' compiler
isn't capable of compiling ANSI C code.  You can try 'acc', Sun's ANSI C 
compiler, but it costs extra money to get it from Sun so your sysadmin
may not have installed it.  Most don't.  The best solution is to get the
GCC compiler from ftp.gnu.ai.mit.edu and install it, if you have enough
time and space.

**Subject: 3.1.2  Why do I get all sorts of errors with 'crypt' functions
                  and header files?

Because of export restrictions imposed by the U.S., some systems do not
have the capability of encrypting data using the normal UNIX crypt()
functions.  You can defeat the problem by adding the line:
#define NOCRYPT
as the first line of your utils.h file.  Be warned, however, that doing
this causes the MUD to store players' passwords in plaintext rather than
as encrypted strings.  Also, if you move from a system which has crypt
to one that doesn't, players won't be able to log in until you manually
set their passwords under the new, unencrypted system.

**Subject: 3.1.3  When I try to compile, why do I get a lot of "undefined 
                  symbols" referenced in comm.o for functions like socket,
                  accept, and bind?

Because you are using a System V Release 4 (SVR4) variant of UNIX such
as Solaris.  Go to the Makefile in the src directory, search for SVR4,
and follow the instructions you'll find there.

**Subject: 3.1.4  I have just recently tried to compile Circle v.3 under 
                  Linux and have been unsuccessful numerous times.  When I 
                  attempt to "make", it exits on an "Error [2]" after not 
                  being able to find various include header files in 
                  linux/ and asm/.  What can I do?

Your problem is that you have not installed the kernel sources which 
include the ANSI C header files.  You will get the same errors if you
try to compile any program.  You must install the kernel sources.  If
you are using Slackware, these sources are currently on the K series of
disks.

**Subject: 3.2    Running

This subsection deals with some common execution problems experienced by
people attempting to set up a CircleMUD.

**Subject: 3.2.1  I typed 'autorun' but then my terminal just froze.

'autorun' is a script which automatically runs, logs, and reboots the
game for long-term runs.  You should run 'autorun' in the background
by typing 'autorun &'.  The game will then run unattended until you
explicitly shut it down.

**Subject: 3.2.2  I typed 'bin/circle' and got lots of boot messages, but
                  then it said 'Entering game loop' and froze.

It is not frozen, it is just waiting for people to connect.  You have
to run the MUD in the background by typing 'bin/circle &' and then use
telnet to connect to the game.

**Subject: 3.2.3  Okay, I think the MUD is running but why don't I get a 
                  login prompt?

In order to play the MUD, you must connect to it using the telnet
command, i.e. 'telnet localhost 4000'.

**Subject: 3.2.4  When I run Circle under Linux, it tells me 'connection 
                  refused' when the MUD boots, and then dies.  Why?

Because you must install the Linux networking package before running
Circle, even if you plan to only play on the local machine.  If you are
using Slackware, the networking package is on the 'N' series of disks.



============================================================================
Section 4: Code Changes for CircleMUD 2.20
============================================================================

**Subject: 4.1 How do I fix the bug where people can junk more coins than
               available.?

Apprently in Circle 2.2, you can drop any amount of coins, and then be
rewarded with more coins than you had in the first place.  Here is the fix
from jelson@cs.jhu.edu

Around line 480 of act.obj1.c, you will find the code:

         if (!str_cmp("coins", arg) || !str_cmp("coin", arg))
            perform_drop_gold(ch, amount, mode, RDR);
         else {
            /* code to drop multiple items.  anyone want to write it? -je */
            send_to_char("Sorry, you can't do that (yet)...\n\r", ch);
   -->      return;
         }
      } else {
   ....

It should be changed to:

         if (!str_cmp("coins", arg) || !str_cmp("coin", arg))
            perform_drop_gold(ch, amount, mode, RDR);
         else {
            /* code to drop multiple items.  anyone want to write it? -je */
            send_to_char("Sorry, you can't do that (yet)...\n\r", ch);
         }
   -->   return;
      } else {
   ....


**Subject: 4.2  How do I fix the 'vstat' bug?

To the fix for the vstat bug, from jelson@cs.jhu.edu:

In the file act.wizard.c, in the function do_vstat, in the mobile section
of the switch (around line 1150), you'll find the code:

    mob = read_mobile(r_num, REAL);
    do_stat_character(ch, mob);
    extract_char(mob);

Add the line char_to_room(mob, 0) before extract_char(), like this:

    mob = read_mobile(r_num, REAL);
    do_stat_character(ch, mob);
    char_to_room(mob, 0);
    extract_char(mob);

============================================================================
Section 5: CircleMUD 3.0 Questions
============================================================================

**Subject: 5.1  Are there any bugs in patch level 9?

There are no bugs.  Only features.  Seriously though, if perchance
you find a bug, please mail it (along with a possible fix) to Jeremy
and the CircleMUD list.  If the bug is a world related bug, it is a
good idea to mail it to me, Alex, as well.

**Subject: 5.2  How do I access Online Creation?

Online Creation is not yet part of the Circle beta release.  When it
does become part of the release, it'll be accessed through a command
called 'olc'.

**Subject: 5.3  When will the production release of Circle 3.0 be????

I don't know.  Don't ask again.

**Subject: 5.4  If someone logs in and just sits at the password prompt, 
                the MUD hangs (i.e., no one else can connect or do anything)
                until the person enters their password.
Your system's POSIX non-blocking I/O is broken.  To compensate, add the
following line at the very beginning of comm.c:
#define POSIX_NONBLOCK_BROKEN
Then recompile the MUD and try again.  As soon as that is done, write 
mail to jelson@jhu.edu telling Jeremy _exactly_ what type of machine and 
operating system you experienced this problem on.

============================================================================