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. ============================================================================