<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Dead Souls Mudlib - Installation FAQ</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> <link href="style.css" media="screen" rel="stylesheet" type="text/css"> <meta name="Keywords" content="mudos,lpmud,dead souls,dead,souls,mud,installation"> <meta name="Description" content="Installation guide for the Dead Souls mudlib."> </head> <body> <a name="top"></a> <!-- Begin: Header --> <div id="header"> <p id="headertext">Dead Souls - Installation FAQ</p> <p id="subheadertext">By Cratylus @ Frontiers, February 2006. Updated July 2006.<br> </p> </div> <!-- End: Header --> <p><span>IMPORTANT NOTE:</span> After installation, check the <a href="hotfix.html">HOTFIX PAGE</a> for late-breaking patches.<br> </p> <p>NOTE: As of June 6 2006 the Windows version<span style="font-weight: bold;"> IS AVAILABLE AGAIN</span>.<span style="font-weight: bold;"><a href="http://dead-souls.net/news.html"></a></span><br> </p> <h1>FAQ Index</h1> <ul> <li><a href="#1">Is this FAQ really necessary?</a> </li> <li><a href="#2">Where do I get Dead Souls?</a></li> <li><a href="#2.1">Why is there only one version? Where are the UNIX and Windows versions?</a></li> <li><a href="#3">Where do I get patches?</a></li> <li><a href="#4">Should I apply the available patches during an install?</a></li> <li><a href="#6">How do I install the Windows version of Dead Souls?</a></li> <li><a href="#7">Hold up, these Windows instructions aren't working</a></li> <li><a href="#8">How do I install the UNIX version of Dead Souls?</a></li> <li><a href="#9">I'm having trouble getting Dead Souls for UNIX to work</a></li> <li><a href="#10">Why does compiling MudOS for Dead Souls throw so many warnings?</a></li> <li><a href="#11">Why is there a windows-format mudos.cfg in /secure/cfg? I'm running unix.</a></li> <li><a href="#12">How do I enable database support?</a></li> <li><a href="#13">How do I upgrade from one version of Dead Souls to another?</a></li> <li><a href="#14">The patch doesn't work! I'm getting a million errors!</a></li> <li><a href="#16">Ok, it's running. Now what?</a></li> </ul> <a name="1"></a> <h1>Is this FAQ really necessary? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>Normally, no. If you just follow the instructions included in the Dead Souls packages, you'll be fine 90% of the time. However, a non-trivial number of folks have run into difficult circumstances. For those folks, this document is meant to illuminate how the install process works, why some things are as they are, and suggest some solutions to the more common obstacles.</p> <a name="2"></a> <h1>Where do I get Dead Souls? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>You should only ever download from the site listed below. Some other sites tend to mirror these or copy data, then fail to update their data regularly. The following will always have the most recent version, and it is the only one officially authorized to distribute Dead Souls.</p> <p>Download the latest version from the following: </p> <ul> <big> </big><li><big><a href="http://dead-souls.net/code/dead_souls.zip"><span style="text-decoration: underline;">http://dead-souls.net/code/dead_souls.zip</span></a></big></li> <big></big> </ul> <a name="2.1"></a> <h1>Why is there only one version? Where are the UNIX and Windows versions? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>Starting in Dead Souls 2.0r22 the two separate versions have been merged into one distribution download file. Now it doesn't matter whether you want to use Dead Souls on Windows or UNIX, there's just one file to download, and it contains everything you need for both operating systems.</p> <p>This merge accomplishes the following: </p> <ul> <li>Ensures 100% identical lib versions for the different OSes.</li> <li>Limits the clutter involved with releasing new versions.</li> <li>Lowers the amount of labor and time involved in releasing new versions.</li> <li>Simplifies installation and upgrades for new users.</li> </ul> <a name="3"></a> <h1>Where do I get patches? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p> </p> <br> <ul> <li><a href="http://dead-souls.net/code/patches/"><big><span style="text-decoration: underline;">http://dead-souls.net/code/patches/</span></big></a></li> </ul> <a name="4"></a> <h1>Should I apply the available patches during an install? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>No. Patches are for already-installed Dead Souls muds. A new Dead Souls install does not need and must not use patches. If you're upgrading from one Dead Souls version to another, please read the upgrade section further down in this document.</p> <a name="6"></a> <h1>How do I install Dead Souls in Windows? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>NOTE: If you are using Windows, USE THESE INSTRUCTIONS. There is no benefit in trying to download Cygwin and modify the UNIX source code and trying to get it to compile in Windows, unless you know exactly what you're doing. Yes, people have tried to do this and complained.</p> <p>First make sure you are running Windows NT 4, Windows 2000 or above, Then: </p> <ol> <li>unzip the distribution file</li> <li>move and rename it so that it is c:\ds, and that the folders c:\ds\win32 and c:\ds\lib are where the binary and library files are, respectively.</li> <li>run c:\ds\runmud.bat</li> <li>if you lack a favorite telnet client, open a command line window by clicking on Start->Run... and entering: cmd</li> <li>connect to your Windows computer by telnetting to port 6666. If you are using the command window, type: <span class="command">telnet localhost 6666</span> </li> <li>Enter the name you want your admin to have, and answer the questions provided. Make sure you are the first person to log in, because that first person is automatically made admin.</li> <li>When you finish entering the admin's info, the mud will automatically reboot.</li> <li>log in as your admin character.</li> <li>change your mud's name with the admintool command. Navigate to the "driver" menu (as of this writing, it's option 4, and then the "change the MUD's name" option (as of this writing, it's option r). Enter the name desired, allow the mud to shut down.</li> <li>log in again after the mud reboots.</li> <li>check the <a href="http://dead-souls.net/hotfix.html">HOTFIX PAGE</a> for late-breaking fixes.</li> <li>start reading the guide and the handbook and the manual.</li> </ol> <a name="7"></a> <h1>Hold up, these Windows instructions aren't working <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>There are a few common reasons for this. </p> <ul> <li>A recent fix may be available. Check the <a href="http://dead-souls.net/hotfix.html">HOTFIX PAGE</a> for late-breaking fixes.</li> <li>Download only from the sites mentioned above. Those are the only ones sure to have the latest version. Other sites can be out of date.</li> <li>On at least one occasion, Winzip has somehow corrupted the archive as it was extracted. Try using another decompression utility, like winrar.</li> <li> Most Windows PC's these days have firewall software installed. If you try to connect but aren't able to, there's a good chance your connection is being blocked by your firewall. Disable your firewall temporarily and try to reconnect. If the problem goes away, you know now that you have to somehow configure your firewall to allow incoming TCP connections on port 6666. <br> Note: You may also have to permit outbound TCP connections to port 23 on IP address 149.152.218.102 if you want your mud to join the Intermud3 network.</li> <li>You might not be using c:\ds as your base directory. Make sure you are. Putting the mud files on another drive or another folder will cause the mud not to run.</li> <li>Trying to use Windows 98, 95, Me, or 3.x will simply not work. Sorry. Those are not server class operating systems and they use technology incompatible with the mud's requirements.</li> <li>If the mud starts but you get lots of bizarre errors, there may be a couple of reasons for this: <ul> <li>If the c:\ filesystem is NTFS, and the user you logged in as does not own the ds:\ folder, things will fail in odd ways. What is happening is that the mud is trying to write files in a folder it doesn't have permission to, and things get all hosed up. Make sure you have read/write privileges to the c:\ds folder.</li> <li>Zip problems. Some unzipping utilities are known to incorrectly decompress zip files. Specifically, sometimes an archive that contains empty folders will not write those empty folders to your disk. This could cause problems for the mud. If you get lots of errors and things don't work right, and you are sure that you have read/write access to c:\ds, then try reinstalling but with a different unzip utility.</li> </ul> </li> </ul> <a name="8"></a> <h1>How do I install Dead Souls in a Linux/UNIX box? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>First make sure of a couple of things: </p> <ul> <li>DO NOT use fileroller (a GUI based app) to decompress the package. If you ignore this warning you are very likely to end up with really confusing errors and problems. Instead use the normal unix command line. For example: <span class="command">unzip -d ds ds2.1.zip</span></li> <li>NOTE: If you don't use the "-d" flag to specify the name of the new directory you want to create, the archive will dump everything into your current working directory, which may look ugly if that's not your intention.</li> <li> Don't use an existing driver binary, even if it's from a previous (or even the same) Dead Souls distribution. If you're doing a fresh install, always, always, always do the complete and exact installation procedure, including the driver compile. If what you're looking to do is an upgrade, read the upgrade section further down in this document. Once we're set on those requirements and you've uncompressed the tarball, we can continue with the installation procedure.</li> <li>cd to the directory where all mud files reside. Called $MUDHOME in the rest of these UNIX instructions.</li> <li>cd to v22.2b14</li> <li>type: <span class="command">./configure</span></li> <li>type: <span class="command">make</span></li> <li>type: <span class="command">make install</span></li> <li>If the previous step fails, just manually copy the "driver" file into $MUDHOME/bin/</li> <li>edit $MUDHOME/bin/mudos.cfg (provided). The two lines to change are mudlib directory and binary directory. For example, if your $MUDHOME is /home/joe/mud, then the mudlib directory line will look like this: <br> /home/joe/mud/lib <br> <br> and bin: <br> /home/joe/mud/bin </li> <li>edit $MUDHOME/bin/startmud (provided) and change the $MUDHOME definition.</li> <li>manually run the mud: <span class="command">$MUDHOME/bin/driver $MUDHOME/bin/mudos.cfg <span style="color: rgb(0, 0, 0);">.</span></span> If you properly edited the startmud script, you can just type: <span class="command">./startmud</span></li> <li>telnet to your machine, using the port specified in mudos.cfg. For example: <span class="command">telnet localhost 6666</span></li> <li>Create a new user. Just answer the questions. Make sure you are the first person to log in, because that person is automatically given admin privileges.</li> <li>You'll get booted out. Reboot the MUD, telnet back in, and you're now running Your Very Own MUD. If startmud is running, the MUD should restart automatically.</li> <li>check the <a href="http://dead-souls.net/hotfix.html">HOTFIX PAGE</a> for late-breaking fixes.</li> </ul> <a name="9"></a> <h1>I'm having trouble getting Dead Souls for UNIX to work <a class="backtotop" href="#top">(Back to Top)</a></h1> <ul> <li>first, stop using Fedora. Ha ha just kidding.</li> <li>Your compiler may be trying to run a distributed "make" by default. That's a no-go for MudOS. Try disabling that at compile time by using this instead of the normal make command line: <br> <span class="command">make -j 1<br> make install<br> </span> </li> <li>A recent fix may be available. Check the <a href="http://dead-souls.net/hotfix.html">HOTFIX PAGE</a> for late-breaking fixes. </li> <li>Download only from the sites mentioned above. Those are the only ones sure to have the latest version. Other sites can be out of date.</li> <li>Most of the problems with unix installs involve permissions conflicts. If you uncompress the package as root user, for example, then try to run it as an unprivileged user, the process won't be able to read and write to the directories it uses, and errors will result. If you uncompressed as root and want to run it as another user (in this example, username: joe), then you'll want to cd to the directory that contains the mud directory and issue a chown command, like this: <br> <span class="command">su - root<br> cd /home/joe<br> chown -R joe ds2.1</span></li> <li>If you don't follow the instructions, and instead use a previously compiled driver, you may skip a step which copies a unix-compatible mudos.cfg file over the default Windows-compatible mudos.cfg. To correct this, copy the template config into the proper directory: <br> <span class="command">cd /home/joe/ds2.1<br> cp bin/mudos.cfg.orig lib/secure/cfg/mudos.cfg</span></li> <li>Then edit lib/secure/cfg/mudos.cfg to point to the correct bin and lib directories.</li> <li>Another problem that can occur if you use an older driver is that the lib may expect options or features that the older driver doesn't support. If this is what's happening, you need to start over, but this time actually follow the instructions exactly, step by step.</li> <li>If you get a bunch of errors about a missing log directory, you probably used fileroller to uncompress the tarball. Fileroller is apparently the default uncompression utility for Fedora. Other Linux distros may also use it. Start your installation over and this time use the command line as directed in the installation instructions.</li> <li>If the driver compile fails complaining about extra_ref in parser.c, then you probably followed older instructions, and not the instructions included in the latest package. You should no longer use ./build.MudOS (unless you know exactly the ramifications of what you're doing). Instead use the ./configure script as per the current instructions, which you should follow closely.</li> <li>If the driver craps out complaining about a hosed up swap file, you're probably running Fedora, and you probably haven't changed your hostname from the original "localhost.localdomain" or whatever nonsense they use. What mudos expects is that when it asks your machine for its hostname, that it receive something like "alpha", and not something like "alpha.bravo". If your machine is under the impression that its name is localhost.localdomain, it will supply that name to mudos, which will eventually choke on it. <br> If you're good at C, you can edit lines 66 and 76 of v22.2b14/swap.c and correct this behavior. But the common sense fix is to stop being a noob and give your computer a proper hostname already.</li> <li>Some hosting services may provide you unix shells so tightly restricted that you cannot successfully compile the mudos driver. You may need to submit a problem ticket with your hosting service to resolve the issue. Let them know that the source compiles fine on various versions of SuSE and Fedora, as well as Solaris 8, 9, and 10, various BSD's, and even IRIX (!). If you can get them to give me a free temporary account for testing purposes, I'll take a look and see if I can help.</li> <li>If you've tried everything but the compile keeps breaking, try compiling as root (obviously a last resort, and just for testing).</li> <li>If the problem is that it compiles, but when you run the driver no sefuns load and the driver segfaults, it is possible that you compiled on a 64-bit x86 box. It seems that MudOS compiled on 64-bit x86 Linux doesn't work right. A fix is in the works, but until it is available, you can do one of two things: boot into 32-bit mode and then compile, or compile it on a 32-bit box and move it to the 64-bit box.<br> </li> <br> </ul> <a name="10"></a> <h1>Why does compiling MudOS for Dead Souls throw so many warnings? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p> Beats me. This is one of those complaints I don't really know how to respond to. At the end of the compile, you'll have a driver that works. It's been tested on GCC 2, 3, and 4. It's worked for Fedora Linux, SuSE Linux, and various versions of Solaris. It works. Ignore the compile schmutz.</p> <a name="11"></a> <h1>Why is there a windows-format mudos.cfg in /secure/cfg? I'm running unix. <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>This is a symptom of my obsession to have the Windows lib and the unix lib be absolutely identical. During a fresh install, this file is overwritten with a unix version, if you follow the install instructions.</p> <a name="12"></a> <h1>How do I enable database support? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>I don't know. I don't understand databases at all, so it's pointless for me to try to get that MudOS functionality working. If you develop a procedure for it, please share it with me and I will document it so others can benefit from your leetness. I might suggest that it's probably easier to do this using LPC sockets in the lib, rather than trying to do it using driver-level support. If you don't know what that means, you'll need to play around with Dead Souls for a while, get the hang of it, and then revisit the question.<br> </p> <a name="13"></a> <h1>How do I upgrade from one version of Dead Souls to another? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>For your convenience, patches are available to move from one minor revision of Dead Souls to another. But there isn't a patch for every possible upgrade. There is a patch to upgrade from ds2.0r12 to ds2.0r14, for example, but there is no patch to upgrade from ds2.0r10 to ds2.0r14. As of now, there are no plans to make patches to upgrade from one version of Dead Souls to another. For example, do not expect a ds2.0 -> ds2.1 patch.</p> <p>The upgrade for both Windows and UNIX is the same. Basically a Dead Souls patch is a pretty unsophisticated upgrade system. In the case of the UNIX patch, you use the tar command to copy the patch files over your existing lib directory.</p> <p>In the case of the Windows patch, it is a folder called lib which you copy over your mud's c:\ds\lib folder. Sometimes just overwriting is insufficient to fully bring up a previous release to the current release. In such cases, a daemon called update.c is included, which contains instructions for detailed modification of specific files. These instructions are read by the mud and executed automatically after reboot.</p> <p>Obviously, this kind of update patching is intended for muds that do not do extensive lib system rewrites. For example, if you are running ds2.0r21, and your mud creation has been limited to individual home directories and the domains/ directories, then an upgrade to ds2.0r22 and beyond will be utterly painless.</p> <p>On the other hand, if you've done extensive customizing of the player object, simulated efun subsystem, daemons, and so forth, then you may run into problems after an update. The typical update patch does include some changes to the player object, for example, so the indiscriminate overwriting of the previous information with the updated files means that your work basically disappears.</p> <p>For this reason it is critical always to perform a full backup of all your mud files before implementing a patch upgrade. Carefully follow the instructions included in the patch releases to ensure optimal effect. Because these instructions are not expected to be static, the details will not be included in this document. Read the <a href="http://dead-souls.net/RELEASE_NOTES">/doc/RELEASE_NOTES</a> file to know what has changed between releases and to determine whether an upgrade is worth the risk. Please note that RELEASE_NOTES contains an overview of major changes. It does not document every difference between versions. <a name="14"></a></p> <h1>The patch doesn't work! I'm getting a million errors! <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>If you're getting lots and lots of errors when you try to run after patching, it may be that your driver is too old. Some Dead Souls releases include tweaks to the driver. If enough time has passed since the install of your driver, it may be that the current lib expects things of the driver that your old lib didn't, and you now can't run. To get around this you could just do a fresh install of the lib. Or you could follow these instructions:</p> <p>For UNIX: </p> <ol> <li>Download the full version of the latest Dead Souls distribution.</li> <li>Uncompress it to some temporary directory other than your mud dir.</li> <li>Compile the driver as if you were going to do a new install.</li> <li>Copy the new driver binary over your old one.</li> <li>Restart the mud.</li> </ol> <p>For Windows: </p> <ol> <li>Shut down the mud.</li> <li>Download the full version of the latest Dead Souls distribution.</li> <li>Uncompress it to some temporary directory other than your mud dir.</li> <li>Copy the new driver binary over your old one ( c:\ds\win32\driver.exe ).</li> <li>Restart the mud.</li> </ol> <a name="16"></a> <h1>Ok, it's running. Now what? <a class="backtotop" href="#top">(Back to Top)</a></h1> <p>Log in and read the following: </p> <ul> <li>The in-game Player's Handbook</li> <li>Read the <a href="http://dead-souls.net/ds-admin-faq.html">Dead Souls Admin FAQ</a>.</li> <li>Read the <a href="http://dead-souls.net/ds-creator-faq.html">Dead Souls Creator's FAQ</a>.</li> <li>Read the <a href="http://dead-souls.net/example.html">Quick Creation System Example Page</a>.</li> <li>Read the <a href="http://dead-souls.net/debugging.html">Debugging Guide</a>.</li> <li>Read the <a href="http://dead-souls.net/editor.html">Editor Tutorial</a>.</li> <li>The in-game Creator's Manual.</li> <li>The in-game Administrator's Guidebook.<br> </li> </ul> <h1>The End <a class="backtotop" href="#top">(Back to Top)</a></h1> <p><a href="http://dead-souls.net/index.html">Return to Dead Souls Homepage</a></p> <hr> <p style="text-align: center;">Last Updated June 2006</p> </body> </html>