(no subject)

From: Jeremy Elson (jelson@blaze.cs.jhu.edu)
Date: 06/27/96


                FREQUENTLY ASKED QUESTIONS FOR CIRCLE DIKUMUD
                                       
   
Last updated: 23 June, 1996

    Preamble

This is the latest version of the CircleMUD FAQ for the CircleMUD Mailing list
at circle@pvv.unit.no. To join this list, send mail to majordomo@pvv.unit.no
with subscribe circle in the body of the message.

This FAQ 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@circlemud.org>, and not
general DikuMud questions.

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

The most recent version of this FAQ can always be found on the web pages
located at: http://cspo.queensu.ca/~fletcher/Circle/ and on the circlemud ftp
site at: ftp://ftp.circlemud.org/pub/CircleMUD/FAQ
  __________________________________________________________________________



    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 the 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.1.5 -- While compiling the mud, why do I get
                                  'undefined symbol' errors?
                
               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?
                Subject: 3.2.5 -- My Mud crashed and my connection got
                                  closed. What can I do?
                
   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 11?
          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.
          Subject: 5.5 -- How do I add a new class?
          Subject: 5.6 -- Is there a complete coding.doc?
          

  __________________________________________________________________________

    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 the complete MUD list, which you can find via
          Mosaic or another WWW browser at http://www.absi.com/mud.
          There's a list of CircleMUD sites at
          http://www.circlemud.org/sites.html.
          
   Subject: 1.2 -- What is CircleMUD?
          CircleMUD is a DikuMud derivitave, developed by Jeremy Elson
          <jelson@circlemud.org>, 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 notably 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 presents 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 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 11, released
          on April 14, 1996.
          
   Subject: 1.3 -- What is the 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 11. 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, there is a list of Circle-based MUDs at
	  http://www.circlemud.org/sites.html.
          
  __________________________________________________________________________


    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.circlemud.org in the directory
          /pub/CircleMUD. There is a web site for CircleMud as well,
          located at: http://www.circlemud.org/
          
   Subject: 2.2 -- Where do I find areas, etc for CircleMUD?
          A number of Circle-mud based Implementors have submitted areas
          to the public and they are archived at the same sites as the
          CircleMUD source (ftp.circlemud.org) but in the directory
          /pub/CircleMUD/contrib.
          
   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 will have 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.

	  There is also a new project called the CircleMUD Documentation
	  Project which will eventually be a repository for all Circle-
	  related information.  It's still very new as of June 1996, but
	  hopefully will become a valuable resource as more documentation
	  is added.

          If you still have questions after reading the doucmentation,
          you can try asking on the CircleMUD mailing list (see Section
          2.4).

          If you want to contact the author, Jeremy Elson, his email
          address is jelson@circlemud.org.
          
   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 hundreds of 
          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?

	Version 2.20 of CircleMUD compiles mainly on BSD UNIX systems but
	has trouble under SVR4-based systems such as Solaris.  The author
	has personally compiled and tested v2.20 under the following OS's:
          + Ultrix 4.0
          + IRIX 4.0.1, 4.0.4, and 4.0.5
          + SunOS 4.1.1, 4.1.3
          + AIX 3.2
          + Linux 0.99.11 (amongst others)
          + ConvexOS V10.2
            
        Reports have come in that v2.20 compiles with relatively minor changes
	on the following systems:
          + NeXTStep 2.1 and 3.0
          + HP/UX 9.0

	Version 3.0, although still officially in beta-testing, is much
	more portable because it uses the GNU autoconf system, meaning you
	only need to type 'configure' to have it automatically determine
	various features of your system and configure the code accordingly.
	3.0 compiles without changes under most BSD and SVR4 systems,
	including SunOS, Solaris, Ultrix, IRIX, AIX, and others.

	Version 3.0 is also being ported to various non-UNIX platforms.
	As of patchlevel 11, you can compile Circle under OS/2 2.x and 3.x
	with the OS/2 port of gcc, and Windows 95/NT using Microsoft Visual
	C++ version 4.0.

	CircleMUD users are working on porting the 3.0 source to other
	non-UNIX platforms as well.  Amiga and VMS versions should be
	available within the next few months.
          
   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 for area/lib files.
          
  __________________________________________________________________________

    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?  At the end of compiling,
			  why does the linker tell me it can't find the crypt
			  function?
		(This information applies ONLY to Version 3.0 of the code)
		CircleMUD normally uses the UNIX crypt() function to enrypt
		players' passwords.  Because of export restrictions imposed
		by the U.S., some systems do not have the crypt() function.
       		'configure' will usually be able to figure out whether or not
		your system has crypt(), but if it guesses incorrectly and
		you see problems with the crypt() function or headers,
		you can manually disable password encryption by going into
		the sysdep.h source file and uncommenting the line that
		reads:
			#define NOCRYPT

                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 with
		their old passwords!
                
        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?
		SVR4 systems require the socket and nsl libraries for
		network programs.  You shouldn't see this error any more
		with version 3.0 because 'configure' should automatically
		use those libraries for you; however, if you still have
		problems, try adding '-lsocket -lnsl' to the line in the
		Makefile that links all the object files together into
		the 'circle' binary.

		If you're using V2.20 and you have this error, the best thing
		to do is simply to use V3.0 instead.  If you insist on using
		2.20, go into the Makefile and search for the comment next
		to "SVR4".
                
        Subject: 3.1.4 -- Every time I try to compile Circle (or any other
			  piece of software) under Linux, it gives me errors
			  and says it cannot find include header files in
			  the linux/ and asm/ directories.
		Under Linux, you cannot compile any program unless you
		install the kernel source code because the kernel source
		includes the ANSI C header files.  You need the files in
		/usr/include/linux, which are distributed separately
		from the rest of /usr/include.

		The easiest way to do this if you're using the Slackware
		Linux distribution is simply to install the 'K' series of
		disks which is the kernel source.

		Otherwise, you'll have to set up your include files manually.
		The easiest way to get these is to download kernel source
		from sunsite.unc.edu:/pub/Linux or tsx-11.mit.edu:/pub/Linux.
		Get the kernel source that matches the kernel you're running
		(type 'uname -a' to find your kernel version).  Then unpack
		the kernel into the /usr/src directory.  It's 6 megabytes
		compressed, 25 megabytes uncompressed.

		Read the README file and make the symbolic links you need for
		/usr/include/asm and /usr/include/linux.
 
		Now compile the mud.  This will take care of most of the
		errors.  You may have to do 'make config' and 'make dep' as
		well, in order to make 'linux/config.h' and other files that
		get generated by these steps.

		You can remove the whole kernel source tree except for
		'include' at this point and get most of your 25 megs back.

		(Thanks to Michael Chastain for providing this answer.)

        Subject: 3.1.5 -- While compiling the mud, why do I get errors
                          like these:
                          foo.c:1231: Undefined symbol '_whereamI'
                          referenced from text segment
                You forgot to include a source file into the make.  Go
                edit your Makefile and make sure all the necessary *.c
                files are in there.

                
   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
		MUD will start running in the background and you'll get
		the normal UNIX prompt back immediately (see section 3.2.3).
		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
                          "gethostbyaddr: connection refused" when the
			  MUD boots, and then dies. Why?
		You need to make sure you have Networking and TCP/IP support
		compiled into your Linux kernel, even if you aren't actually
		connected to the Internet.  The easiest way to do this if
		you're using Slackware is to install one of Slackware's
		precompiled networking kernels.  Also, make sure to install
		Slackware's 'N' series of disks which contains other networking
		support files.

		If Slackware's precompiled kernel isn't available you'll
		have to compile the kernel yourself.  First make sure the
		kernel source is installed in /usr/src/linux (see question
		3.1.4) and follow the instructions in /usr/src/linux/README.
		When you do 'make config' it will ask you a series of
		questions about which kernel features you want; make sure to
		answer 'Y' to "Networking support" and "TCP/IP support".
                
        Subject: 3.2.5 -- My Mud crashed and my connection got closed.
                          What can I do?
                Just because your connection got closed from the mud (for
                example, if you get too much information sent to you and
                the telnet session gets closed), this doesn't always mean
                that the game itself crashed. Before reporting something
                as a crash bug, make sure that the game itself crashed,
                and above all, try to duplicate the circumstances before
                reporting it as a crash bug.
                
  __________________________________________________________________________

    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 Jeremy Elson
          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 Jeremy Elson:
          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 11?
          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.
          Update: OLC will probably be in release 3.01 now.
          
   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.
	  (Version 3.0 only)
          Your system's POSIX non-blocking I/O might be broken.  Look in
	  the source file sysdep.h at the comment above the line that
	  says "#define POSIX_NONBLOCK_BROKEN" for a possible fix.

          If you decide to use the POSIX_NONBLOCK_BROKEN constant and it
	  fixes your problem, please send mail to Jeremy <jelson@circlemud.org>
	  and let him know exactly what kind of system you're using and
	  what you had to do to fix it.
          
   Subject: 5.5 -- How do I add a new class?
          Adding a new class is fairly easy in 3.0, in fact, someone has
          taken the time to put together a fairly complete document on
          adding a class, in this case a Knight class.
          The class.doc is available at the same location as this
          FAQ:
	  ftp://ftp.circlemud.org/pub/CircleMUD/docs/class.doc
	  http://cspo.queensu.ca/~fletcher/Circle/class.html
	  http://cspo.queensu.ca/~fletcher/Circle/class.doc

   Subject: 5.6 -- Is there a complete 'coding.doc'?
          No. Look at the README.NOW in the docs directory. It isn't
          complete, nor does anyone have the entire thing.
          
                                 RTFM



This archive was generated by hypermail 2b30 : 12/18/00 PST