How to Deal with Some Common Installation Problems If you're not using Bundled Phantasmal, then most of the problems in here are because you didn't follow the instructions in INSTALL correctly -- or you didn't follow them at all. Have you followed the instructions in INSTALL, and followed them carefully and correctly? Q: I try to run DGD, but I get things that look like this: Error within runtime_error: Compilation within compilation Compilation within compilation Config error: initialization failed A: You probably haven't copied the Kernel Library into the kernel directory of Phantasmal. Make sure that's done and try again. For specifics, check the README in the kernel directory. Also, you have to do all the stuff described in the INSTALL document before anything works. You did already, right? Q: I try to run DGD, but I get things that look like this: /kernel/sys/driver.c, 1: cannot include "kernel/kernel.h" /kernel/sys/driver.c, 2: cannot include "kernel/objreg.h" /kernel/sys/driver.c, 3: cannot include "kernel/rsrc.h" /kernel/sys/driver.c, 4: cannot include "kernel/access.h" /kernel/sys/driver.c, 5: cannot include "kernel/user.h" /kernel/sys/driver.c, 6: cannot include "kernel/tls.h" Error within runtime_error: Compilation within compilation Compilation within compilation Config error: initialization failed A: You copied the Kernel Library into the right place, but forgot to put its headers into the include/kernel directory. Make sure that's done correctly and try again. Q: I run DGD and things look good except that there's no game. What gives? A: This is a MUD server. You'll need to connect to it with a telnet client on an appropriate port. Are you already familiar with the process? If not, you may find you're more comfortable trying out CircleMUD or another fully developed MUD. Phantasmal is definitely intended for the experienced crowd, and so are all other existing DGD mudlibs. We're working on it... Q: I run DGD and it gives me error messages about the version I'm using. What do I do? A: It may say that this version of Phantasmal is not tested with DGD beyond version 1.2.blah. If so, then you've got a slightly old Phantasmal or Felix has gotten ahead of me with his constant improvement of DGD. You could use the DGD version that Phantasmal recommends -- look at /usr/System/initd.c for the version check. Or if things keep working you can just ignore the error message, or remove it from /usr/System/initd.c. Or you could see if there's a newer version of Phantasmal, which should be happier with newer versions of DGD. If it gives you a startup error that your version of DGD just isn't good enough for it then you're going to need to upgrade to a later version of DGD, a recent experimental one. Check out "http://phantasmal.sourceforge.net/DGD" and click on a link called something like "Downloading, Compiling and Configuring DGD". It'll tell you how to install an experimental version of DGD. Q: I upgrade from one version of DGD (or even just the Kernel Library) to the next one and everybody except admin stops being a wizard! What gives? A: The Kernel Library stores its listing of who gets wizard privileges in the file "kernel/data/access.data". If you delete this then everybody loses all their privileges. One way to deal with it is to manually reinstate everybody (call the %grant command for all of them again). Another is to grab the file from your old copy of DGD and restore it. If you copy the kernel Library stuff to where it should be rather than symbolically linking it, and you copy the new Kernel Library *over* the old version, you won't get this problem (unless you overwrite the old access.data with the new one, and then you're *really* hosed unless you have a backup). That approach comes with its own set of problems, including potential incompatibilities between future versions of DGD. Hey, it could happen. Q: I run DGD and on startup or shutdown I get a Fatal Error that says "out of sectors". How come? A: To run Phantasmal, you must have a phantasmal.dgd file somewhere. Usually it's in the mudlib directory. In it, if you look hard, you'll find there's a swap_size parameter, probably set to 1024 by default. Try increasing this number. Now see if you still get the Fatal Error. There's a way to detect this problem *before* it bites you. Type %status at the command line of your MUD as an admin. In the upper left of the text display, under "Swap device", you'll see a "sectors" entry. The "sectors" entry shows you how many sectors your MUD uses and how many it *can* use. You can also check out memory usage and number of objects. The numbers tell you how close you are to exceeding your allowed usage of various resources. You may also find that as you come close to the limit in them, it takes more ticks to do things. If this happens then you may run out of ticks before you run out of other resources (like sectors). When the numbers get too close together (if you're using 2015 sectors out of 2048, for instance), you'll want to increase the upper limit in the phantasmal.dgd file. This stuff all works the same for any MUD based on the Kernel Library, so the DGD mailing list is a good place to ask about what the numbers mean and how you can play with them. Q: I'm running DGD and when I try to do a %datadump or a shutdown, I run out of ticks, so it doesn't finish. It can't even shut down! A: Please see the previous question. Q: I'm using the CVS version of DGD on Windows I get the following error during startup: $ ./dgd mud.dgd Jun 16 10:52:30 ** DGD 1.2.47 Jun 16 10:52:30 ** Initializing... Can't parse UNQ data passed to unq_dtd:load! Config error: initialization failed The system log has the following errors: /usr/System/sys/errord(unset) ||| Sun Jun 16 10:52:33 2002 / 0.03 [6] --> Runtime error: Rule 2: bad token [caught] [...] /usr/common/obj/basic_unq_parser(unset) ||| Sun Jun 16 10:52:33 2002 / 0.03 [6] --> Error parsing block: ~DTD{ ~channel{name,level} ~name{string} ~level{int} } [...] --> Runtime error: Can't parse UNQ data passed to unq_dtd:load! A: This could mean that you're using the native Win32 version of CVS rather than the Cygwin version of CVS. It appears to convert line endings to Win32-style or otherwise cause problems for reasons that aren't entirely clear. Use a Unix workstation rather than Windows. Or use the Cygwin version of CVS. Or convert all your line endings after checkout from carriage returns to carriage-return/linefeed pairs. The last solution may not work if you're doing SourceForge development for Phantasmal -- it's vitally important that you never check in anything to SourceForge Phantasmal that has Win32 line endings. Q: When I start DGD, Phantasmal seems to start fine, but when I telnet in I can't log on! A: There is a bug in DGD versions before 1.2.57 which causes Phantasmal to hang for a while on start up. Please upgrade to DGD version 1.2.57 or higher. Or just wait awhile every time you start Phantasmal up again. Q: I can log into Phantasmal by telnetting to localhost on the correct port, but if I try from another machine it won't let me! A: Your machine almost certainly has a firewall. Any recent version of Linux, for instance, comes with this automatically. Even Windows does once you've got WinXP Service Pack 2 or the equivalent working. You'll need to edit the configuration files for your firewall to let you log into whatever port Phantasmal is running on. You can find Phantasmal's port numbers in phantasmal.dgd, but you'll need to check the documentation for your firewall or Operating System to figure out how to change the firewall. Q: People on my local network can log into Phantasmal, but people far away can't! A: Your network administrator almost certainly runs a firewall. Whatever port you're using for Phantasmal isn't being allowed through, which isn't surprising. Firewalls are often used on school or workplace networks specifically to stop unauthorized, possibly-insecure servers like MUDs from working. If you're setting up Phantasmal for some authorized purpose then talk to your network administrator about letting requests through on the appropriate port. If you're *not* running it with appropriate permission, you'll need to either figure out how to defeat the firewall, or hang your head in shame. Or you could run your MUD on a machine that's not at your school or place of work. Getting some kind of broadband at home would work, as would using a professional MUD hosting or colocation service. Any of those will probably cost money, though.