home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / games / mud-faq / diku next >
Encoding:
Internet Message Format  |  1997-09-18  |  45.7 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!tribune.meitca.com!uunet!in2.uu.net!144.212.100.12!news.mathworks.com!iagnet.net!newsfeed.internetmci.com!164.67.42.145!nntp.info.ucla.edu!134.87.113.1!news.bc.net!torn!kone!news.ccs.queensu.ca!fletcher
  2. From: fletcher@democracy.queensu.ca (Alex)
  3. Newsgroups: rec.games.mud.diku,rec.games.mud.announce,rec.answers,news.answers
  4. Subject: FAQ: [diku] rec.games.mud.diku FAQ
  5. Supersedes: <Diku_872273982@democracy.queensu.ca>
  6. Followup-To: poster
  7. Date: 16 Sep 1997 19:44:57 GMT
  8. Organization: Queen's University, Kingston
  9. Lines: 960
  10. Approved: rgm-announce-request@theurgy.digex.net,news-answers-request@mit.edu
  11. Message-ID: <Diku_874442702@democracy.queensu.ca>
  12. NNTP-Posting-Host: democracy.queensu.ca
  13. Summary: This is the official FAQ for rec.games.mud.diku as well
  14.     as being the official FAQ for DikuMuds in general.  It should
  15.     be read by anyone who wishes to post to the rec.games.mud.diku
  16.     newsgroup.
  17. Keywords: diku faq periodic
  18. Originator: fletcher@democracy.queensu.ca
  19. Xref: senator-bedfellow.mit.edu rec.games.mud.diku:53085 rec.games.mud.announce:3020 rec.answers:33965 news.answers:112407
  20.  
  21. Archive-name: games/mud-faq/diku
  22. Posting-Frequency: Biweekly
  23. Last-modified: 1997/4/15
  24. Version: 3.13
  25. URL: http://democracy.queensu.ca/~fletcher/Circle/
  26.  
  27.                             REC.GAMES.MUD.DIKU FAQ
  28.                                  Version 3.13
  29.                                        
  30.                                       
  31.    A note on FTP sites:
  32.           If you discover that a site is no longer valid, or you have a
  33.           new site to submit, please let me know. Thank you very much.
  34.           
  35.      _________________________________________________________________
  36.                                       
  37. Recent Changes
  38.  
  39.      * Added a basic list of DikuMud derivatives that are freely
  40.        available.
  41.      * Added a question about lag. Specifically a definition.
  42.      * Added a section on porting to Linux.
  43.      * Addition to creditation questions.
  44.      * Updates and additions to the resource section.
  45.        
  46.      _________________________________________________________________
  47.                                       
  48. Credits
  49.  
  50.      * Originally authored and compiled by Frederick Myers [reni]
  51.        <mondays@bsu-cs.bsu.edu>
  52.      * Original HTML conversion by Ryan Watkins [VampLestat]
  53.        <vamp@csulb.edu>
  54.      * Recent updates, upkeep, HTML by Alex Fletcher [Furry]
  55.        <fletcher@democracy.queensu.ca>
  56.        
  57.    The following people have lent a hand with contributions/comments for
  58.    this document...
  59.    
  60.      * Sebastan Hammer - Donated notes on DikuII and on DikuMud history.
  61.      * Adam Coggins - Spelling and grammar checking.
  62.      * Dean Gaudet - Provided a list of common stock Diku bugs and
  63.        init_socket patch.
  64.      * Furey at Merc Industries - Provided some technical info for
  65.        starting a mud.
  66.      * Michael Brundage - Provided the noecho patch and some other bug
  67.        fixes.
  68.      * Nick Borko - VMS TinTin CPU fix.
  69.      * Derek J. Middleton and Russel Schultz - provided basic
  70.        instructions to port DikuMud Gamma 0.0 to Linux.
  71.      * Others... Jeffery Bennett, Bombman, Dan Brumleve, Mort, Sven
  72.        Nielsen, Nino Ruffini, Derek Snider, and Naved Surve.
  73.        
  74.    Please let me know if I have missed anyone...
  75.    
  76.      _________________________________________________________________
  77.                                       
  78. Overview
  79.  
  80.    This document will be posted approximately bi-weekly to
  81.    rec.games.mud.diku.
  82.    
  83.    Approximate size of this document: 40k
  84.    
  85.    This file is the FAQ for the rec.games.mud.diku newsgroup as well as a
  86.    general game FAQ for DikuMud games. This FAQ is divided up into three
  87.    different sections:
  88.    
  89.      * Introduction (general information and background)
  90.      * Implementor / Building (questions concerning starting a mud,
  91.        building areas, etc)
  92.      * Resources (well known ftp sites for various DikuMud utilities,
  93.        patches, and sources).
  94.        
  95.    More information on muds can be received from the
  96.    rec.games.mud.announce General Three Part FAQ, online within whichever
  97.    mud you decided to play, and from the various web and ftp sites
  98.    located at the end of this document.
  99.    
  100.    All information is correct to the best of my knowledge. The author
  101.    takes no responsibility for any inaccuracies contained in this
  102.    document. Please let me know of any corrections to make to this
  103.    document.
  104.    
  105.    This document may be distributed freely. Any use of any of the
  106.    contents here-in must be credited and the author should be notified.
  107.    In light of several publishing companies 'stealing faqs', BY NO MEANS
  108.    IS THIS DOCUMENT TO BE USED FOR 'FOR_PROFIT' GAINS WITHOUT THE
  109.    EXPLICIT WRITTEN CONSENT OF THE AUTHOR. THIS INCLUDES INCLUDES USING
  110.    THIS DOCUMENT ON "FAQ CD-ROMS".
  111.    
  112.    Patches Note: If you decide to use one of the patches in this FAQ,
  113.    please take the time to put the authors (Dean Gaudet and Jeffery Stine
  114.    of ArcticMud for the socket patch and Michael Brundage for the noecho
  115.    patch) in your lib/credits file. These three individuals have donated
  116.    their work for the better of others, so please give credit where
  117.    credit is due.
  118.    
  119.      _________________________________________________________________
  120.                                       
  121. Questions
  122.  
  123. Introduction
  124.  
  125.    "What is a DikuMud?"
  126.    "Where did this DikuMud come from?"
  127.    "Where and how do I connect to a DikuMud?"
  128.    "Where can I find out where these muds are located?"
  129.    "Ok, I'm connected, what do I do now?"
  130.    "What is a client program, or TinTin?"
  131.    "Is there anything I can do about enourmous CPU usage of VMS TinTin?"
  132.    "Ok, I have a character, now what do I do?"
  133.    "What are hit points, mana, and movement?"
  134.    "What are some other things I should know?"
  135.    "What is a crash?"
  136.    "What is lag?"
  137.    "What is some of the slang or jargon I hear on these muds?"
  138.    "What about this newsgroup, rec.games.mud.diku?"
  139.    "What is DikuII, and when can I expect to see it?"
  140.    "Where can I find so-and-so?"
  141.    "Now I know where to find it... what is available?"
  142.    
  143. Implementors / Building
  144.  
  145.    "I really like DikuMuds, I want to start my own!"
  146.    "What is the difference between Circle, Merc and Silly?"
  147.    "Well, I do not want to run my own mud, but I would like to create an
  148.       area."
  149.    "Ok, I think I can start my own, but I hear there are bugs with the
  150.       stock code, what are these?"
  151.    "Are there any RFC's of interest?"
  152.    "What runs on Linux?"
  153.    "How can I make the original DikuMud run on Linux?"
  154.    "Are there any books of interest to admins?"
  155.    "Are there any muds available with online creation?"
  156.    "When is Circle 3.0 going to be released?"
  157.    "Are there any mailing lists for administrators?"
  158.    "Do I need to follow the license agreement?"
  159.    "Should I credit my area authors too?"
  160.    
  161. Resources
  162.  
  163.    Web Resources
  164.    FTP Resources
  165.      _________________________________________________________________
  166.                                       
  167. Introduction
  168.  
  169.    "What is a Diku Mud?"
  170.           A DikuMud is s specific species of one of the fastest growing
  171.           forms of computer games called Mud. For more information on
  172.           muds in general, please consult the general mud FAQ posted on
  173.           rec.games.mud.announce.
  174.           DikuMuds are highly influenced on the AD&D format for
  175.           adventuring. Though DikuMuds are not an exact duplicate of
  176.           AD&D, both share many common qualities, enough so a person who
  177.           is familar with AD&D will feel quite at home with the DikuMud
  178.           world. But by no means is AD&D experience required for a person
  179.           to prove to be successful.
  180.           While some muds are based on pure social interaction and some
  181.           based on pure fighting, DikuMuds have evolved into an
  182.           intelligent compromise between the two.
  183.           
  184.    "Where did this DikuMud come from?"
  185.           DikuMud was originally developed by Katja Nyboe, Tom Madsen,
  186.           Hans Henrik Staerfeldt, Michael Seifert, and Sebastian Hammer.
  187.           A small bit of background of DikuMud, according to Sebastian
  188.           Hammer:
  189.           
  190.      "The game originated at the Department of Computer Science at the
  191.      University of Copenhagen (in Danish: Datalogisk Institut ved
  192.      K|benhavns Universitet; or, amongst friends: DIKU) The foundations
  193.      of the code were laid out in March of 1990. Our background
  194.      (Mud-wise) was primarily Abermud (LpMud was just emerging at the
  195.      time), and our object was to make a better AberMud. We wanted to
  196.      make it fast, compact and CPU-efficient. We wanted to allow more
  197.      than the 18 (or so) players-at-a-time that AberMuds permitted in
  198.      those days, and we wanted a bigger world, so that players could
  199.      truly get lost in there (back then, 500 room AberMuds seemed the
  200.      norm). Also, we wanted to make it more interesting for players to
  201.      cooperate, rather than just run madly around in search of beasts to
  202.      kill.
  203.      
  204.      I guess we reached some of our goals, but far from all of them.
  205.      Currently, we are working on DikuMud II, which is still under
  206.      debugging. We have ceased to support the original code in any way,
  207.      since so many "improved" versions have started to circulate"
  208.      
  209.    "Where and how do I connect to a DikuMud?"
  210.           DikuMuds are located on different computers throughout the
  211.           world. These computers can be at universities, companies, or
  212.           even be personal workstations. To connect to these games, you
  213.           need two things -
  214.           
  215.          1. Access to telnet.
  216.          2. The mud's host name or IP number and the protocal port that
  217.             the particular mud is running on.
  218.             
  219.           
  220.           Telnet is, to put it very simply, like a telephone. From the
  221.           computer, you 'dial in' where you want to connect to and you
  222.           are in (assuming the game is up).
  223.           Since many people play from a Unix based platform, I will use
  224.           that for examples on how to connect. Asgard.cs.bsu.edu 6969
  225.           will be the mud we will use as an example to connect to.
  226.           (147.226.112.94 was the IP number of that same machine).
  227.           From a unix based machine - (The % is the prompt)
  228.  
  229.                 % telnet asgard.cs.bsu.edu 6969
  230.                         or
  231.                 % telnet 147.226.112.94 6969
  232.                         or
  233.                 % telnet <enter>
  234.                 telnet> open asgard.cs.bsu.edu 6969
  235.  
  236.    "Where can I find out where these muds are located"
  237.           Word of mouth is a good way. So are the news groups. Different
  238.           muds are always being mentioned in rec.games.mud.diku plus a
  239.           listing is posted every few weeks in rec.games.mud.announce.
  240.           Also, look for the Mud Connector (http://www.mudconnect.com/).
  241.           
  242.    "Ok, I'm connected, what do I do now?"
  243.           Many DikuMuds have a lot of differences on how a person goes
  244.           about making a character. But there are some common
  245.           similarities between all of them.
  246.           
  247.         Name
  248.                 This will be your character's name for the game. It is
  249.                 suggested that you do not make up a name that is
  250.                 complicated to spell (something like Gustralieb would be
  251.                 a pain for other players to type) or something that could
  252.                 possibly be the name of a monster in the game (something
  253.                 like Dragon or Guard has a great possibility of being a
  254.                 monster (or mob) in the game). If your name is one of the
  255.                 above, you can find yourself being killed at times when a
  256.                 sensible name could have saved your life.
  257.         Password
  258.                 This is what will prevent other people from playing your
  259.                 character. Pick a password word that is hard to guess and
  260.                 one that you currently do not use on another mud or
  261.                 system. This is very important because it takes little
  262.                 effort for a mud admin to find your password of your
  263.                 character, your site and your username. Bad passwords
  264.                 include your real name, character name, and anything less
  265.                 than 3 characters. It is recomended that you choose
  266.                 something that includes some non-standrard Alpha
  267.                 characters such as # or @ or * (you get the idea). So, a
  268.                 password like #Chapo1* would be a good, hard to guess
  269.                 password.
  270.         Sex
  271.                 No, not if you get any, but what gender you want to be.
  272.                 Most commonly this will be Male or Female, but a few muds
  273.                 have the option of being Other or Neuter.
  274.         Class
  275.                 There are usually four basic classes that DikuMuds
  276.                 usually have.
  277.                     1. Cleric - a healer
  278.                     2. Warrior - a fighter
  279.                     3. Magic User - a spell caster
  280.                     4. Thief - a rogue
  281.                 Some muds also have many other split style classes such
  282.                 as Rangers, Paladins, Bards, etc. Usually on the log-on
  283.                 screen, there will be some sort of online help that will
  284.                 help you in the decision of your class.
  285.                 There are a few other things some muds include such as
  286.                 hometown and races. For these items, there should be
  287.                 sufficient online help to guide you through on the
  288.                 paticular DikuMud you are playing.
  289.                 
  290.    "What is a client program, or TinTin?"
  291.           A client program is basically a program that you use to connect
  292.           to a mud that has many enchanced features to help (in some
  293.           peoples' opinion... 'cheat') in the game. The most commonly
  294.           used Unix clients for DikuMuds are TinTin and TinyFugue. TinTin
  295.           was specifically designed for play on DikuMuds and is only
  296.           available for Unix platforms. There is now a Beta version of
  297.           WinTin for Windows '95 however. TinyFugue was designed for
  298.           MUSHes and other TinyMuds, but has been adapted for use with
  299.           DikuMuds. Both of these feature things like macros, aliases,
  300.           and triggers. Sites where you can find these two clients are
  301.           listed later in this document.
  302.           Further info on clients programs and their functions is
  303.           contained in the bi-weekely rec.games.mud.announce FAQ.
  304.           
  305.    "What can I do about the enourmous CPU usage of VMS TinTin?"
  306.           Quick and easy fix:
  307.           
  308.           + Edit the file main.c
  309.           + Find the following line:
  310.                 time.tv_usec=0;
  311.           + Change the 0 to 500000
  312.           + Recompile and you are all set.
  313.             
  314.    "Ok, I have a character, now what do I do?"
  315.           The first thing you would want to do is get to know the mud and
  316.           its commands. Some things you can do is type:
  317.           
  318.         HELP
  319.                 This will give a general listing of the commands
  320.                 available.
  321.         HELP <keyword>
  322.                 This will give you a more precise definition. An example
  323.                 of what you could type is HELP SAY. This will give you an
  324.                 explanation and proper syntax for the command say.
  325.         INFO
  326.                 Will give you a brief introduction to the paticular mud
  327.                 you are playing.
  328.         COMMANDS
  329.                 This command is not on all muds, but what it does is
  330.                 gives you a listing of all the commands available to your
  331.                 character.
  332.         NEWS
  333.                 Will provide the latest news of the mud.
  334.                 
  335.           
  336.           Ask around. Most people are generally nice by nature and will
  337.           offer some (sometimes a lot, sometime very very little) help if
  338.           you ask nicely and are not annoying about it.
  339.           Read everything you see. Things like the MOTD (Message Of The
  340.           Day, which you see right before you enter the game) will often
  341.           provide very important information.
  342.           
  343.    "What are hit points, mana, and movement?"
  344.           
  345.         Hit Points
  346.                 A numeric representation of the amount of hits/damage
  347.                 that your character can take. Every time you are hit, you
  348.                 lose some amount of hit points. You are considered
  349.                 officially dead when you reach -11 hit points, though at
  350.                 0 you can not do anything except for hope there is
  351.                 someone around who will heal you.
  352.         Mana
  353.                 This is the amount of spells you can cast. Every time you
  354.                 cast a spell, a certain amount of mana is subtracted from
  355.                 your working total of mana. Mana is like the working
  356.                 energy that you can use to cast spells.
  357.         Movement
  358.                 This is the amount that you can walk/run etc etc. A
  359.                 decent comparison could be the amount of energy your
  360.                 player has. Some skills also subtract from your movement
  361.                 points.
  362.                 
  363.    "What are some other things that I should know?"
  364.           Don't be annoying. Such things are constanly whinning to other
  365.           players and wizards will be the quickest way of being rejected
  366.           by the players of the mud.
  367.           Avoid player killing unless it has been explicitly allowed on
  368.           the mud you are playing. Usually if player killing is not
  369.           allowed on a mud, and someone violates this, it is dealt with
  370.           very sternly.
  371.           Avoid unnecessary shouts. Such things as shouting
  372.           "LAAAAAAGGGG", "GOODBYE SO-AND-SO", "LEVEL!!!", etc generally
  373.           do nothing but annoy other players and can be taken care of by
  374.           using tell or say.
  375.           Don't litter. Leaving junk around does nothing more than drain
  376.           the machine's resources. See if the mud you are playing has the
  377.           junk command, sacrifice command, or a dump where you can
  378.           dispose of uneeded items.
  379.           Remember, that it is only a game and the main purpose is for
  380.           you, as a player, to have fun, explore, and talk to people. And
  381.           do not let mud playing take priority over your school/job work,
  382.           which happens all too often.
  383.           
  384.    "What is a crash?"
  385.           A crash occurs when
  386.              1. The system that the mud is located fails, or
  387.              2. The actual mud itself fails.
  388.           When a mud crashes, you will be thrown out of the game and you
  389.           will not be able to connect back to the game until it is
  390.           rebooted.
  391.           Because of crashes, the importance of saving your character is
  392.           very important. All you need to to do is type 'save' and your
  393.           character is saved, that's it. No excuses. Fortunately, many
  394.           muds have made it so that the mud saves your character every so
  395.           often.
  396.           In event the game does crash, and you lose items/experience,
  397.           then often (not always, and it is not required) immortals/gods
  398.           will reimburse your items. But remember, the keywords for you
  399.           to get reimbursed are politeness and courtsey. Chances are, if
  400.           you lost something, other players did too. Avoid telling your
  401.           local god 100 times that you lost something. Usually, if you
  402.           told them once, they know and will get to you as soon as they
  403.           can. And remember, nowhere does it say they have to reimburse
  404.           you.
  405.           In the event of a crash, do not go straight to rec.games.mud.diku
  406.           and post a message saying "Blah mud crashed 4 seconds ago, what
  407.           happened?" That posting will usually be met with negative
  408.           reponses. POST TO THE NET ONLY AS A LAST RESORT. If the game is
  409.           going to be down for an extended amount of time or if there are
  410.           serious problems, usually there will be a message at the port
  411.           the game ran on, or there will be a posting on rec.games.mud.diku
  412.           concerning the down time.
  413.           
  414.    "What is lag?"
  415.           Lag is the result of an overstrained Internet. It comes in two
  416.           varieties, machine lag in which the machine the MUD runs on is
  417.           overburdened, and network lag caused by a poor network
  418.           connection between the enduser and the MUD's host machine.
  419.           Machine lag can be created by other processes gobbling up CPU
  420.           processing time or RAM, or simply by trying to run an overly
  421.           exotic MUD on an inadequate machine. Machine lag will cause all
  422.           actions to be slowed down, but for the most part everything is
  423.           slowed down equally. Machine lag can be fixed by upgrading the
  424.           hardware the MUD uses or by the MUD implementors better
  425.           optimizing the MUD.
  426.           Network lag is typically the result of a breakdown or bottleleg
  427.           somewhere on the Internet. Massive or rerouted traffic on the
  428.           Internet as a whole will cause traffic jams that make
  429.           communicating between the MUD and the enduser difficult.
  430.           Typically, the communications problem is sporadic and the lag
  431.           will come and go in "bursts". Multiple commands will go thru
  432.           simultaneously, followed by a period when seemingly no response
  433.           occurs. Network lag is sometimes caused by the MUD's machine if
  434.           the MUD has an inadequate hookup to the Internet. Utilities
  435.           like PING and TRACEROUTE are good for tracking down the
  436.           location of network lag.
  437.           The two types of lag have different effects on the MUDder.
  438.           Since machine lag slows everything down, all actions take
  439.           longer. Machine lag is essentially like operating in slow
  440.           motion. There is little real danger (other than becoming
  441.           inattentive from boredom) to machine lag since you essentially
  442.           have a longer reaction time. Network lag, on the other hand, is
  443.           MUCH worse. It may take many seconds, even minutes, for a
  444.           command to be entered, be processed and the response to that
  445.           action to come back to the user. Obviously, the situation could
  446.           have dramatically changed in the meantime. In short, the user
  447.           might be responding to an event that the MUD thinks happened
  448.           many seconds in the past. Or more to the point, you might
  449.           already be dead before you even register that you should be
  450.           thinking about fleeing.
  451.           Each MUD has its own policy on how lag related problems are
  452.           resolved. Commonly though, most MUDs will refuse reimbursement
  453.           for lag induced death simply because it is an aspect of the
  454.           game that the implementors have no control over and for the
  455.           most part can not be verified.
  456.           From Jeffrey Bennett (Batopr@SneezyMUD)
  457.           
  458.    "What is some of the slang or jargon I hear on these muds?"
  459.           
  460.   brb        --- Be right back.
  461.   brt        --- Be right there.
  462.   rl         --- Real life.  Something like "I'm bored rl" is commonly
  463.                  heard.
  464.   brb rl     --- Put the two together and you get "Be right
  465.                  back, real life".  You know, like going to the bathroom.
  466.   pk, pk'ing --- Player Killer and Player Killing.
  467.   newbie     --- Someone who is new to the game.  Associated with the word
  468.                  clueless.
  469.   mob        --- A mobile, a monster in the game.
  470.   immort     --- A player who has achived immortality on the mud and is
  471.                  considered a god.
  472.   imp(s)     --- The person(s) who run the mud.  They have final say over
  473.                  everything.
  474.   afk        --- Away from keyboard.
  475.   afw        --- Away from window.
  476.   inv        --- Your inventory, what you have on you and is not
  477.                  currently equiped.
  478.   equip      --- The items that you are currently using.  Like the armour
  479.                   you are wearing.
  480.  
  481.    "What about this newsgroup, rec.games.mud.diku?"
  482.           This newsgroup was designed to help filter a lot of traffic
  483.           that flowed through the newsgroup rec.games.mud. The newsgroup
  484.           is designed for discussions about anything pretaining to
  485.           DikuMud games. Anyone or anything is open, though messages that
  486.           obviously have no purpose, like "Big Fat Hairy Mud
  487.           Rules/Sucks!!!!" are generally frowned upon and are a waste of
  488.           peoples' time and of network resources.
  489.           
  490.    "What is DikuII, and when can I expect to see it?"
  491.           DikuII is exactly that, the second version of DikuMud. The
  492.           latest word is that this code will not be released due to the
  493.           politics and pains of releasing public code. Unless of course,
  494.           you have the April Fools DikuII release of a couple of years
  495.           ago. However, all this aside, ValhallaMud runs on the DikuII
  496.           code and is run by some of the original DikuMud authors.
  497.           
  498.    "What other derivatives are available then?"
  499.           There are a large number of derivatives of the original
  500.           DikuMud, far too many to list in fact, but a quick summary can
  501.           be made. The first real variant on the DikuMud Gamma code was
  502.           the Alfa DikuMud code. Not too many changes were made, but a
  503.           number of bugs were corrected, and several new areas were
  504.           added. In the time following this, other variants were
  505.           released, for example Copper, Sequent, Pirate, TECHv3, and so
  506.           forth, most without too many changes to the original code. As
  507.           more new ideas came to the forefront, SillyMud was released,
  508.           MercMud, and CircleMUD. MercMud has since branched off into a
  509.           large number of other derivatives such as ROM, Envy, SMAUG, The
  510.           Isles (NiMud), Ember, Oblivian, and more. The differences
  511.           between these are generally in the basic features, but the
  512.           MercMud tree introduced a new file format to the game for area
  513.           files. Instead of all of the rooms being stored in one big
  514.           file, they stored each area in its own file instead, making
  515.           adding and removing areas somewhat easier.
  516.           Each generation of DikuMud code tends to remove a number of
  517.           bugs and problems from earlier code while introducing new
  518.           features, bells, and whistles. If you are planning on using one
  519.           of these derivatives, you are advised to find the one that
  520.           suits your needs the most.
  521.           See also the question on the differences between Silly, Merc,
  522.           and Circle based muds in the next section.
  523.           
  524.    "Where can I find so-and-so?"
  525.           If you are looking for a paticular client/patch/source, check
  526.           the bottom list and look at those ftp sites. I try to maintain
  527.           a general list of what is at these sites, but I can not always
  528.           keep up-to-date of these sites' contents, so you will have to
  529.           actually log in those sites and look around, chances are what
  530.           you are looking for is at one of those sites.
  531.           If by chance you do not find what you are looking for at one of
  532.           those sites, then use the archie server. Archie is a archive
  533.           database searcher that will aid in hunting down a paticular
  534.           program or whatever it is you seek. Don't post to the newsgroup
  535.           asking how to use archie, ask someone at your site if they can
  536.           help. If you can not get help locally, then post the question
  537.           to newsgroup such as news.newusers.questions or look in
  538.           news.answers.
  539.           
  540.      _________________________________________________________________
  541.                                       
  542. Implementor / Building
  543.  
  544.    "I really like DikuMuds, I want to start my own!"
  545.           Well, before you go off and do that, there are some things you
  546.           need to know or have.
  547.           A good, working knowledge of C. Though with the amount of
  548.           enhanced muds that are available, this is still a good thing to
  549.           know because you are never going to find 100% bug free code.
  550.           A machine. Some general requirements include:
  551.           + 32-bit processor
  552.           + 8+ megs available (greater than 16 is desirable)
  553.           + 2-8 megs of available memory
  554.           + Network bandwith running (to Internet) at about 50
  555.             kilobits/second
  556.           + Explicit System Administrator Approval. Muds do not go
  557.             unnoticed on any machine where there are any other users. Get
  558.             this before you do anything or you could find hours and hours
  559.             of hard work down the drain.
  560.           + A large amount of time to devote to actual work on the mud
  561.             and time to spend online in the game doing administrative
  562.             duties. This has caused the eventual death of many muds.
  563.           + A creative mind. Be creative about your work, no one really
  564.             cares for a dull, boring mud.
  565.           
  566.           DikuMuds are not very CPU intensive, so very little CPU time is
  567.           needed for all practical purposes.
  568.           
  569.    "What is the difference between Circle, Merc, and Silly?"
  570.           There is a lot of differences between the codes, some that are
  571.           easily recognizable by players, some that are not.
  572.           CircleMUD is the closest to the original Gamma Diku with a lot
  573.           of the bugs patched plus a lot of new features built in. It can
  574.           compile on almost any platform, including Amigas and Windows 95.
  575.           SillyMud is a very large and heavily modified release and if I
  576.           remember what the author of this code (or maybe it was someone
  577.           else) said is "it is big and it is ugly". Silly is filled with
  578.           features but is has not been patched up to run on all systems,
  579.           so beware it might take some hacking to get this to work on
  580.           your machine.
  581.           MercMUD is yet another highly developed and very different
  582.           release. It has been made to work with a variety of machines
  583.           including Macintosh and is very compact. The MercMUD base has
  584.           branched off into a number of different bases now, including
  585.           ROM, EnvyMUD, and SMAUG.
  586.           It is recommended that you give each release your attention to
  587.           find out which code is best for you, because none is
  588.           specfically better than the other in general terms, it is up to
  589.           you find out what you prefer.
  590.           Further additions to this section are welcome, including
  591.           comparing new code bases that exist.
  592.           See also the question on which derivatives are available in the
  593.           previous section.
  594.           
  595.    "Well, I do not want to run my own mud, but I would like to create an
  596.           area."
  597.           Some tips in writting an area:
  598.            1. Get documentation - Basic DikuMud documention has been
  599.               upgraded and released by the Curious Areas Workshop, and
  600.               their Builders' Handbook can teach the most inexperienced
  601.               beginner how to create an area.
  602.            2. Ask a wizard at the mud you would like to build for for the
  603.               documentation specifically for that mud. This is helpful
  604.               because the actual format for area creation and many of the
  605.               different bitvectors vary greatly from mud to mud.
  606.            3. Planning. Plan out your area. Make a detailed map and think
  607.               of a good general story or theme for your area before you
  608.               start construction.
  609.            4. Don't just make an area for the sake of it. If you make an
  610.               area just for the sake of it, this usually shows and people
  611.               do not want a boring, non-planned area. All you will do is
  612.               waste your time and the admin's time.
  613.            5. Many other helpful tips are given in the C.A.W. Builders'
  614.               Handbook, and are available online at:
  615.               http://democracy.queensu.ca/~fletcher/VieMud/Caw/Bhndbk/tips.html
  616.             
  617.    "Ok, I think I can start my own, but I hear there are bugs with the
  618.           stock code, what are these?"
  619.           Unfortunatly, all code will have bugs, here are some of the
  620.           more well known bugs that should be looked at when starting
  621.           your own bugs.
  622.           (NOTE: These are all fixes that require knowledge of C... told
  623.           you you needed to know C.)
  624.           + Problem with realloc() in db.c with the world, and to a
  625.             lesser extent mob_index and obj_index.
  626.           + Problem in do_pour. This bug allows players to preform 'pour
  627.             cup cup' and have an infinite water supply.
  628.           + Problem on do_taste. A player can taste the bread, but when
  629.             he tastes the bread, it will apply the breads fill value
  630.             without actually eating the bread, thus having an infinite
  631.             bread supply.
  632.           + Problem in nanny(). In nanny(), if a player answers 'no' to
  633.             the 'is that really your name?', the name pointer is never
  634.             set to NULL. So, when you drop link, the same pointer will be
  635.             free [using free()] again inside free_char().
  636.           + Problem in generic_find(). Uses str_cmp() instead of isname()
  637.             in FIND_OBJ_EQUIP.
  638.           + Problem in affect_from_char(). The variable hjp is given the
  639.             value hjp-next after hjp has been free()'d.
  640.           + Problem in shop.c. A has the scroll 'a tattered scroll' he
  641.             wishes to sell. Upon selling the item, a check is made for
  642.             the keyword scroll in the shopkeeper's inventory. Since
  643.             scrolls of identify and scrolls of recall are produced by the
  644.             shop and have the keywords 'scroll', the game assumes that
  645.             the first scroll is one of these items and destroys the item
  646.             and never places it back for resale.
  647.           + Problem in the init_socket. The ports do not seem to clear
  648.             freely, so you end up with a lot of port binds. Here is a
  649.             patch provided by Dean Gaudet <dgaudet@arctic.org>
  650.  
  651.     int init_socket(int port)
  652.      {
  653.       int s, sbuf, opt;
  654.       struct sockaddr_in sa;
  655.       struct linger ld;
  656.  
  657.       memset(&sa, 0, sizeof(struct sockaddr_in));
  658.       sa.sin_family = AF_INET;
  659.       sa.sin_port = htons(port);
  660.  
  661.       if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
  662.       exit(0);
  663.            }
  664.           opt = 1;
  665.      if (setsockopt(s,SOL_SOCKET,SO_REUSEADDR, (char *)&opt, sizeof(opt)) < 0)
  666. {
  667.         exit(1);
  668.          }
  669.           ld.l_onoff = 0;       /* let's make sure this isn't on */
  670.           ld.l_linger = 1000; /* who cares what this is */
  671.  
  672.      if (setsockopt(s, SOL_SOCKET, SO_LINGER, (char *)&ld, sizeof(ld)) < 0) {
  673.         exit(1);
  674.      }
  675.  
  676.      ......
  677.  
  678.      if (bind(s, (struct sockaddr *)&sa, sizeof(sa)) < 0) {
  679.         if( close(s) ) {
  680.             syslogf("init_socket: error closing socket: %s", strerror(errno));
  681.             exit(1);
  682.         }
  683.         exit(0);
  684.      }
  685.      if( listen(s, 5) < 0 ) {
  686.         exit(1);
  687.      }
  688.      return(s);
  689.  }
  690.           + Check for unused variables by compiling with the -Wunused
  691.             flag. This will help in streamlining your code.
  692.           + Many typos, especially look in constants.c, act.obj1.c and
  693.             act.other.c
  694.           + Echo on/off:
  695.  
  696.             in interpreter.c, add this to the other includes:
  697.                    #include <arpa/telnet.h>
  698.             create the following strings:
  699.                     char echo_off[]={IAC,WILL,TELOPT_ECHO,'\0'};
  700.                     char echo_on[]={IAC,WONT,TELOPT_ECHO,'\n','\r','\0'};
  701.             make the following macros:
  702.                     #define ECHO_ON(d)     SEND_TO_Q(echo_on,(d))
  703.                     #define ECHO_OFF(d)    SEND_TO_Q(echo_off,(d))
  704.  
  705.             Then place in appropriate places where you want to turn
  706.             echo'ing on or off.
  707.  
  708.    "Are the any RFC's of interest?"
  709.           The following RFC's can be of interest to Diku Implementors:
  710.           + RFC 1413: Telnet Identification Protocol
  711.           + RFC 854: Telnet Protocol
  712.           + RFC 857: Telnet Echo Option
  713.           RFC's are located on many sites including nic.ddn.mil and
  714.           wuarchive.wustl.edu.
  715.           
  716.    "What runs on Linux?"
  717.           CircleMUD and ROM 2.4 were both developped on Linux, so neither
  718.           should have any problems compiling on Linux. Other muds such as
  719.           MercMUD and EnvyMUD have been reported to compile with very few
  720.           problems.
  721.           
  722.    "How can I make the original DikuMud run on Linux?"
  723.           From Derek J. Middleton with corrections from Russell Schutlz
  724.           To port DikuMud gamma 0.0 over to Linux, there are a couple
  725.           things that should be modified. This may not be everything, but
  726.           here is what needs to be done right off the bat:
  727.           
  728.          1. Add this to your #include section:
  729.               #if defined(linux) || defined(SYSV)
  730.               #include <sys/utsname.h>
  731.               #include <unistd.h>
  732.               #endif
  733.          2. Change all calls to the srandom() function to srand()
  734.          3. I believe there are two references like this. Change:
  735.  
  736.               gettimeofday(&last_time, (struct timeval *) 0);
  737.          to:
  738.               gettimeofday(&last_time, (struct timezone *) 0);
  739.          4. In addition, the init_socket() function needs to be re-worked
  740.             quite a bit. This is what I have:
  741.  
  742. int init_socket(int port) {
  743.   int s;
  744.   char opt = 1;
  745.   struct sockaddr_in sa;
  746.   struct hostent *hp;
  747.   struct linger ld;
  748.   struct utsname hostinfo;
  749.   char *hostname;
  750.  
  751.   /* get the current hostname */
  752.   if (uname(&hostinfo)<0) {
  753.     perror("uname");
  754.     exit(1);
  755.   }
  756.   hostname = hostinfo.nodename;
  757.  
  758.   memset(&sa, 0, sizeof(sa));
  759.  
  760.   hp = gethostbyname(hostname);
  761.   if (hp == NULL)
  762.   {
  763.     perror("gethostbyname");
  764.     exit(1);
  765.   }
  766.   sa.sin_family = hp->h_addrtype;
  767.   sa.sin_port   = htons(port);
  768.   s = socket(AF_INET, SOCK_STREAM, 0);
  769.   if (s < 0)
  770.   {
  771.     perror("Init-socket");
  772.     exit(1);
  773.   }
  774.   if (setsockopt (s, SOL_SOCKET, SO_REUSEADDR,
  775.                   &opt, sizeof (opt)) < 0)
  776.   {
  777.     perror ("setsockopt REUSEADDR");
  778.     exit (1);
  779.   }
  780.  
  781.   ld.l_onoff = 1;
  782.   ld.l_linger = 1000;
  783.  
  784.   if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &ld, sizeof(ld)) < 0)
  785.   {
  786.     perror("setsockopt LINGER");
  787.     exit(1);
  788.   }
  789.  
  790.   if (bind(s, (struct sockaddr *) &sa, sizeof(sa)) < 0)
  791.   {
  792.     perror("bind");
  793.     close(s);
  794.     exit(1);
  795.   }
  796.   listen(s, 3);
  797.   return(s);
  798. }
  799.  
  800.           Once this is done, you should be well on your way to having the
  801.           Gamma DikuMud running on your Linux system.
  802.           
  803.    "Are there any books of interest to admins?"
  804.           Yes, these should be available at your local bookstore:
  805.              _Unix Network Programming_
  806.                    Stevens, Richard W.
  807.                    Prentice Hall, 1990
  808.              _The C Programming Language_
  809.                    Kernighan, Brian W.
  810.                    Ritchie, Dennis M.
  811.                    Prentice Hall, 1988
  812.                    [This is THE bible on C programming]
  813.                 
  814.    "Are there any muds available with online creation?"
  815.           The Isles is a Merc based DikuMud with Online Creation among a
  816.           lot of other enhancements.
  817.           There is a copy of Envy mud with a ported version of The Isles
  818.           OLC in it.
  819.           SMAUG, a newer code release based on Merc has a built in OLC
  820.           system.
  821.           Circle 3.x is also going to have online creation. (See the next
  822.           question)
  823.           
  824.    "When is Circle 3.0 going to be released?"
  825.           See the CircleMUD FAQ for more details on CircleMUD 3.x
  826.           
  827.    "Are there any mailing lists for administrators?"
  828.           CircleMUD has a mailing list at <listserv@post.queensu.ca>. To
  829.           subscribe, send it a piece of mail with the body 'subscribe
  830.           circle <first name> <last name>'.
  831.           MercMUD and EnvyMUD have a mailing list at
  832.           <merc-l-request@webnexus.com>
  833.           To subscribe to this, send a piece of mail to that address with
  834.           the word 'subscribe' in the body.
  835.           ROM also has a mailing list now. This can be found at
  836.           <rom-request@cmc.net>. To subscribe, send a piece of mail to
  837.           this address with the word 'subscribe' in it.
  838.           
  839.    "Do I need to follow the license agreement?"
  840.           YES YES YES YES YES!! No matter how much you have or think you
  841.           have changed in the code, you must included both the 'credits'
  842.           file and the names of the authors in the initial logon screen.
  843.           There are no ifs, ands, or buts about this.
  844.           
  845.    "Should I credit my area authors too?"
  846.           Of course you should! The best way to do this is to either have
  847.           a help entry for 'areas' or 'zones' with a listing of zones and
  848.           their authors. Another way to do this would be to use the Merc
  849.           family method of having an 'areas' command which lists the
  850.           areas and authors. A final method would be to list them in the
  851.           credits of your mud. If all of your authors are credited
  852.           publically, it gives people more incentive to release areas to
  853.           the public and to create areas for your mud.
  854.           To aid this, Nino Ruffini (Steppin of JediMUD) has lent his
  855.           time in order to compile a fairly extensive listing of areas
  856.           and their authors. This has been posted once to rgmd, and will
  857.           soon be found on a web page near you! Keep your eyes peeled for
  858.           it.
  859.           
  860.      _________________________________________________________________
  861.                                       
  862. Resources
  863.  
  864.    Below is a list of commonly used sites for DikuMud related items. All
  865.    sites/contents are subject to change.
  866.    
  867. Web Resources
  868.  
  869.    There are a good number of resource sites online and more seem to crop
  870.    up every day. The following is by no means a definitive list of
  871.    available resources, but should serve as a good starting point.
  872.    
  873.    http://www.dikumud.com/diku/
  874.           The official DikuMud homepages.
  875.  
  876.    http://www.efn.org/~rtaylor/
  877.           This is the official release site of ROM.
  878.           
  879.    http://www.circlemud.org/
  880.           The official CircleMUD homepages, complete with links to the
  881.           CircleMUD FAQ, various documentation for running a CircleMUD,
  882.           etc.
  883.           
  884.    http://democracy.queensu.ca/~fletcher/Circle/
  885.           This is the official CircleMUD FAQ site, as well as being the
  886.           official home of this FAQ. Also found here are a number of
  887.           CircleMUD code snippets, and links to CircleMUD area updates.
  888.           
  889.    http://democracy.queensu.ca/~fletcher/VieMud/Caw/
  890.           The official Curious Areas Workshop homepages. These pages
  891.           include area releases and the C.A.W. Builders' Handbook.
  892.           
  893.    http://www.mudconnect.com/
  894.           The Mud Connector. This site has links to many online
  895.           resources, as well as links to over 400 muds.
  896.           
  897.    http://www.eden.com/~hsoi/mud/
  898.           This site is the quintessential Macintosh Mudding Resource
  899.           site, with links to Mac Clients, code, and so forth.
  900.           
  901.    http://www.goodnet.com/~esnible/mudinfo.html
  902.           A site with many links to building resources online, as well as
  903.           links to several area archives.
  904.           
  905.    http://www.game.org/heirarchy.html
  906.           A page listing the approximate family tree of the DikuMud
  907.           server, complete with links to the home sites of many of the
  908.           DikuMuds listed.
  909.           
  910.    http://tf.tcp.com/~hawkeye/tf/
  911.           This is the homepage of the TinyFugue Client. This page gives
  912.           complete instructions on how to go about using the client and
  913.           how to get it.
  914.           
  915. FTP Resources
  916.  
  917.    ftp://ftp.math.okstate.edu/pub/muds/
  918.           This site contains a general mishmash of mud related software.
  919.           Unfortunately, it is somewhat out of date in general.
  920.           
  921.    ftp://ftp.pvv.unit.no/pub/mud/
  922.           This has the server software for MUME as well as a few
  923.           utilities for DikuMuds. There are also some clients available
  924.           here.
  925.           
  926.    ftp://ftp.tcp.com/pub/mud/
  927.           This site is mostly out of date, but has a fairly large amount
  928.           of mud related items, including having the most recent releases
  929.           of the TinyFugue client.
  930.           
  931.    ftp://marble.bu.edu/pub/diku/
  932.           This site is an older site pertaining to DikuMuds.
  933.           
  934.    ftp://grind.isca.uiowa.edu/unix/mud/dikumud/
  935.           This site contains a fair number of servers as well as a few
  936.           areas, but does not tend to be updated very often.
  937.           
  938.    ftp://ftp.envy.com/pub/mud/
  939.           This is the official release site of EnvyMud.
  940.           
  941.    ftp://ftp.game.org/pub/mud/diku/
  942.           Probably one of the largest and most up to date FTP sites. It
  943.           contains almost every single DikuMud related server that has
  944.           been publically released.
  945.           
  946.    ftp://ftp.circlemud.org/pub/CircleMUD/
  947.           This is the offical site of the CircleMUD distribution. It
  948.           contains various releases of the CircleMUD server, as well as a
  949.           plethora of CircleMUD administrator contributed code and areas.
  950.           
  951.    ftp://ftp.io.com/pub/mud/
  952.           This site contains a number of items relevant to DikuMuds, as
  953.           well as being the homesite for the Hidden Worlds Mud.
  954.           
  955.    ftp://democracy.queensu.ca/pub/USERS/fletcher/Caw
  956.           The official release site of Curious Areas Workshop, an area
  957.           building group, also known for the C.A.W. Builders' Handbook.
  958.           
  959.    ftp://ftp.cis.ufl.edu/pub/src/games/mud/
  960.           The official site of the SillyMUD distribution.
  961.           
  962.    ftp://ftp.lysator.liu.se/pub/lpmud/clients/
  963.           A site for PMF, an alternative client to TinTin.
  964.           
  965.    ftp://princeton.edu/pub/tintin++/dist/
  966.           The official release site of the TinTin++ client.
  967.           
  968.      _________________________________________________________________
  969.                                       
  970. Final Word
  971.  
  972.    Playing a mud of any sort is NOT a right. The people who run the game
  973.    and the people who owns/runs the system that you are playing from are
  974.    not required to let you play. If you abuse your privledge of playing,
  975.    there are good chances that it will be taken away.
  976.    
  977.      _________________________________________________________________
  978. -- 
  979. Erm... Yeah.  Whatever.
  980.