home *** CD-ROM | disk | FTP | other *** search
- 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
- From: fletcher@democracy.queensu.ca (Alex)
- Newsgroups: rec.games.mud.diku,rec.games.mud.announce,rec.answers,news.answers
- Subject: FAQ: [diku] rec.games.mud.diku FAQ
- Supersedes: <Diku_872273982@democracy.queensu.ca>
- Followup-To: poster
- Date: 16 Sep 1997 19:44:57 GMT
- Organization: Queen's University, Kingston
- Lines: 960
- Approved: rgm-announce-request@theurgy.digex.net,news-answers-request@mit.edu
- Message-ID: <Diku_874442702@democracy.queensu.ca>
- NNTP-Posting-Host: democracy.queensu.ca
- Summary: This is the official FAQ for rec.games.mud.diku as well
- as being the official FAQ for DikuMuds in general. It should
- be read by anyone who wishes to post to the rec.games.mud.diku
- newsgroup.
- Keywords: diku faq periodic
- Originator: fletcher@democracy.queensu.ca
- Xref: senator-bedfellow.mit.edu rec.games.mud.diku:53085 rec.games.mud.announce:3020 rec.answers:33965 news.answers:112407
-
- Archive-name: games/mud-faq/diku
- Posting-Frequency: Biweekly
- Last-modified: 1997/4/15
- Version: 3.13
- URL: http://democracy.queensu.ca/~fletcher/Circle/
-
- REC.GAMES.MUD.DIKU FAQ
- Version 3.13
-
-
- A note on FTP sites:
- If you discover that a site is no longer valid, or you have a
- new site to submit, please let me know. Thank you very much.
-
- _________________________________________________________________
-
- Recent Changes
-
- * Added a basic list of DikuMud derivatives that are freely
- available.
- * Added a question about lag. Specifically a definition.
- * Added a section on porting to Linux.
- * Addition to creditation questions.
- * Updates and additions to the resource section.
-
- _________________________________________________________________
-
- Credits
-
- * Originally authored and compiled by Frederick Myers [reni]
- <mondays@bsu-cs.bsu.edu>
- * Original HTML conversion by Ryan Watkins [VampLestat]
- <vamp@csulb.edu>
- * Recent updates, upkeep, HTML by Alex Fletcher [Furry]
- <fletcher@democracy.queensu.ca>
-
- The following people have lent a hand with contributions/comments for
- this document...
-
- * Sebastan Hammer - Donated notes on DikuII and on DikuMud history.
- * Adam Coggins - Spelling and grammar checking.
- * Dean Gaudet - Provided a list of common stock Diku bugs and
- init_socket patch.
- * Furey at Merc Industries - Provided some technical info for
- starting a mud.
- * Michael Brundage - Provided the noecho patch and some other bug
- fixes.
- * Nick Borko - VMS TinTin CPU fix.
- * Derek J. Middleton and Russel Schultz - provided basic
- instructions to port DikuMud Gamma 0.0 to Linux.
- * Others... Jeffery Bennett, Bombman, Dan Brumleve, Mort, Sven
- Nielsen, Nino Ruffini, Derek Snider, and Naved Surve.
-
- Please let me know if I have missed anyone...
-
- _________________________________________________________________
-
- Overview
-
- This document will be posted approximately bi-weekly to
- rec.games.mud.diku.
-
- Approximate size of this document: 40k
-
- This file is the FAQ for the rec.games.mud.diku newsgroup as well as a
- general game FAQ for DikuMud games. This FAQ is divided up into three
- different sections:
-
- * Introduction (general information and background)
- * Implementor / Building (questions concerning starting a mud,
- building areas, etc)
- * Resources (well known ftp sites for various DikuMud utilities,
- patches, and sources).
-
- More information on muds can be received from the
- rec.games.mud.announce General Three Part FAQ, online within whichever
- mud you decided to play, and from the various web and ftp sites
- located at the end of this document.
-
- All information is correct to the best of my knowledge. The author
- takes no responsibility for any inaccuracies contained in this
- document. Please let me know of any corrections to make to this
- document.
-
- This document may be distributed freely. Any use of any of the
- contents here-in must be credited and the author should be notified.
- In light of several publishing companies 'stealing faqs', BY NO MEANS
- IS THIS DOCUMENT TO BE USED FOR 'FOR_PROFIT' GAINS WITHOUT THE
- EXPLICIT WRITTEN CONSENT OF THE AUTHOR. THIS INCLUDES INCLUDES USING
- THIS DOCUMENT ON "FAQ CD-ROMS".
-
- Patches Note: If you decide to use one of the patches in this FAQ,
- please take the time to put the authors (Dean Gaudet and Jeffery Stine
- of ArcticMud for the socket patch and Michael Brundage for the noecho
- patch) in your lib/credits file. These three individuals have donated
- their work for the better of others, so please give credit where
- credit is due.
-
- _________________________________________________________________
-
- Questions
-
- Introduction
-
- "What is a DikuMud?"
- "Where did this DikuMud come from?"
- "Where and how do I connect to a DikuMud?"
- "Where can I find out where these muds are located?"
- "Ok, I'm connected, what do I do now?"
- "What is a client program, or TinTin?"
- "Is there anything I can do about enourmous CPU usage of VMS TinTin?"
- "Ok, I have a character, now what do I do?"
- "What are hit points, mana, and movement?"
- "What are some other things I should know?"
- "What is a crash?"
- "What is lag?"
- "What is some of the slang or jargon I hear on these muds?"
- "What about this newsgroup, rec.games.mud.diku?"
- "What is DikuII, and when can I expect to see it?"
- "Where can I find so-and-so?"
- "Now I know where to find it... what is available?"
-
- Implementors / Building
-
- "I really like DikuMuds, I want to start my own!"
- "What is the difference between Circle, Merc and Silly?"
- "Well, I do not want to run my own mud, but I would like to create an
- area."
- "Ok, I think I can start my own, but I hear there are bugs with the
- stock code, what are these?"
- "Are there any RFC's of interest?"
- "What runs on Linux?"
- "How can I make the original DikuMud run on Linux?"
- "Are there any books of interest to admins?"
- "Are there any muds available with online creation?"
- "When is Circle 3.0 going to be released?"
- "Are there any mailing lists for administrators?"
- "Do I need to follow the license agreement?"
- "Should I credit my area authors too?"
-
- Resources
-
- Web Resources
- FTP Resources
- _________________________________________________________________
-
- Introduction
-
- "What is a Diku Mud?"
- A DikuMud is s specific species of one of the fastest growing
- forms of computer games called Mud. For more information on
- muds in general, please consult the general mud FAQ posted on
- rec.games.mud.announce.
- DikuMuds are highly influenced on the AD&D format for
- adventuring. Though DikuMuds are not an exact duplicate of
- AD&D, both share many common qualities, enough so a person who
- is familar with AD&D will feel quite at home with the DikuMud
- world. But by no means is AD&D experience required for a person
- to prove to be successful.
- While some muds are based on pure social interaction and some
- based on pure fighting, DikuMuds have evolved into an
- intelligent compromise between the two.
-
- "Where did this DikuMud come from?"
- DikuMud was originally developed by Katja Nyboe, Tom Madsen,
- Hans Henrik Staerfeldt, Michael Seifert, and Sebastian Hammer.
- A small bit of background of DikuMud, according to Sebastian
- Hammer:
-
- "The game originated at the Department of Computer Science at the
- University of Copenhagen (in Danish: Datalogisk Institut ved
- K|benhavns Universitet; or, amongst friends: DIKU) The foundations
- of the code were laid out in March of 1990. Our background
- (Mud-wise) was primarily Abermud (LpMud was just emerging at the
- time), and our object was to make a better AberMud. We wanted to
- make it fast, compact and CPU-efficient. We wanted to allow more
- than the 18 (or so) players-at-a-time that AberMuds permitted in
- those days, and we wanted a bigger world, so that players could
- truly get lost in there (back then, 500 room AberMuds seemed the
- norm). Also, we wanted to make it more interesting for players to
- cooperate, rather than just run madly around in search of beasts to
- kill.
-
- I guess we reached some of our goals, but far from all of them.
- Currently, we are working on DikuMud II, which is still under
- debugging. We have ceased to support the original code in any way,
- since so many "improved" versions have started to circulate"
-
- "Where and how do I connect to a DikuMud?"
- DikuMuds are located on different computers throughout the
- world. These computers can be at universities, companies, or
- even be personal workstations. To connect to these games, you
- need two things -
-
- 1. Access to telnet.
- 2. The mud's host name or IP number and the protocal port that
- the particular mud is running on.
-
-
- Telnet is, to put it very simply, like a telephone. From the
- computer, you 'dial in' where you want to connect to and you
- are in (assuming the game is up).
- Since many people play from a Unix based platform, I will use
- that for examples on how to connect. Asgard.cs.bsu.edu 6969
- will be the mud we will use as an example to connect to.
- (147.226.112.94 was the IP number of that same machine).
- From a unix based machine - (The % is the prompt)
-
- % telnet asgard.cs.bsu.edu 6969
- or
- % telnet 147.226.112.94 6969
- or
- % telnet <enter>
- telnet> open asgard.cs.bsu.edu 6969
-
- "Where can I find out where these muds are located"
- Word of mouth is a good way. So are the news groups. Different
- muds are always being mentioned in rec.games.mud.diku plus a
- listing is posted every few weeks in rec.games.mud.announce.
- Also, look for the Mud Connector (http://www.mudconnect.com/).
-
- "Ok, I'm connected, what do I do now?"
- Many DikuMuds have a lot of differences on how a person goes
- about making a character. But there are some common
- similarities between all of them.
-
- Name
- This will be your character's name for the game. It is
- suggested that you do not make up a name that is
- complicated to spell (something like Gustralieb would be
- a pain for other players to type) or something that could
- possibly be the name of a monster in the game (something
- like Dragon or Guard has a great possibility of being a
- monster (or mob) in the game). If your name is one of the
- above, you can find yourself being killed at times when a
- sensible name could have saved your life.
- Password
- This is what will prevent other people from playing your
- character. Pick a password word that is hard to guess and
- one that you currently do not use on another mud or
- system. This is very important because it takes little
- effort for a mud admin to find your password of your
- character, your site and your username. Bad passwords
- include your real name, character name, and anything less
- than 3 characters. It is recomended that you choose
- something that includes some non-standrard Alpha
- characters such as # or @ or * (you get the idea). So, a
- password like #Chapo1* would be a good, hard to guess
- password.
- Sex
- No, not if you get any, but what gender you want to be.
- Most commonly this will be Male or Female, but a few muds
- have the option of being Other or Neuter.
- Class
- There are usually four basic classes that DikuMuds
- usually have.
- 1. Cleric - a healer
- 2. Warrior - a fighter
- 3. Magic User - a spell caster
- 4. Thief - a rogue
- Some muds also have many other split style classes such
- as Rangers, Paladins, Bards, etc. Usually on the log-on
- screen, there will be some sort of online help that will
- help you in the decision of your class.
- There are a few other things some muds include such as
- hometown and races. For these items, there should be
- sufficient online help to guide you through on the
- paticular DikuMud you are playing.
-
- "What is a client program, or TinTin?"
- A client program is basically a program that you use to connect
- to a mud that has many enchanced features to help (in some
- peoples' opinion... 'cheat') in the game. The most commonly
- used Unix clients for DikuMuds are TinTin and TinyFugue. TinTin
- was specifically designed for play on DikuMuds and is only
- available for Unix platforms. There is now a Beta version of
- WinTin for Windows '95 however. TinyFugue was designed for
- MUSHes and other TinyMuds, but has been adapted for use with
- DikuMuds. Both of these feature things like macros, aliases,
- and triggers. Sites where you can find these two clients are
- listed later in this document.
- Further info on clients programs and their functions is
- contained in the bi-weekely rec.games.mud.announce FAQ.
-
- "What can I do about the enourmous CPU usage of VMS TinTin?"
- Quick and easy fix:
-
- + Edit the file main.c
- + Find the following line:
- time.tv_usec=0;
- + Change the 0 to 500000
- + Recompile and you are all set.
-
- "Ok, I have a character, now what do I do?"
- The first thing you would want to do is get to know the mud and
- its commands. Some things you can do is type:
-
- HELP
- This will give a general listing of the commands
- available.
- HELP <keyword>
- This will give you a more precise definition. An example
- of what you could type is HELP SAY. This will give you an
- explanation and proper syntax for the command say.
- INFO
- Will give you a brief introduction to the paticular mud
- you are playing.
- COMMANDS
- This command is not on all muds, but what it does is
- gives you a listing of all the commands available to your
- character.
- NEWS
- Will provide the latest news of the mud.
-
-
- Ask around. Most people are generally nice by nature and will
- offer some (sometimes a lot, sometime very very little) help if
- you ask nicely and are not annoying about it.
- Read everything you see. Things like the MOTD (Message Of The
- Day, which you see right before you enter the game) will often
- provide very important information.
-
- "What are hit points, mana, and movement?"
-
- Hit Points
- A numeric representation of the amount of hits/damage
- that your character can take. Every time you are hit, you
- lose some amount of hit points. You are considered
- officially dead when you reach -11 hit points, though at
- 0 you can not do anything except for hope there is
- someone around who will heal you.
- Mana
- This is the amount of spells you can cast. Every time you
- cast a spell, a certain amount of mana is subtracted from
- your working total of mana. Mana is like the working
- energy that you can use to cast spells.
- Movement
- This is the amount that you can walk/run etc etc. A
- decent comparison could be the amount of energy your
- player has. Some skills also subtract from your movement
- points.
-
- "What are some other things that I should know?"
- Don't be annoying. Such things are constanly whinning to other
- players and wizards will be the quickest way of being rejected
- by the players of the mud.
- Avoid player killing unless it has been explicitly allowed on
- the mud you are playing. Usually if player killing is not
- allowed on a mud, and someone violates this, it is dealt with
- very sternly.
- Avoid unnecessary shouts. Such things as shouting
- "LAAAAAAGGGG", "GOODBYE SO-AND-SO", "LEVEL!!!", etc generally
- do nothing but annoy other players and can be taken care of by
- using tell or say.
- Don't litter. Leaving junk around does nothing more than drain
- the machine's resources. See if the mud you are playing has the
- junk command, sacrifice command, or a dump where you can
- dispose of uneeded items.
- Remember, that it is only a game and the main purpose is for
- you, as a player, to have fun, explore, and talk to people. And
- do not let mud playing take priority over your school/job work,
- which happens all too often.
-
- "What is a crash?"
- A crash occurs when
- 1. The system that the mud is located fails, or
- 2. The actual mud itself fails.
- When a mud crashes, you will be thrown out of the game and you
- will not be able to connect back to the game until it is
- rebooted.
- Because of crashes, the importance of saving your character is
- very important. All you need to to do is type 'save' and your
- character is saved, that's it. No excuses. Fortunately, many
- muds have made it so that the mud saves your character every so
- often.
- In event the game does crash, and you lose items/experience,
- then often (not always, and it is not required) immortals/gods
- will reimburse your items. But remember, the keywords for you
- to get reimbursed are politeness and courtsey. Chances are, if
- you lost something, other players did too. Avoid telling your
- local god 100 times that you lost something. Usually, if you
- told them once, they know and will get to you as soon as they
- can. And remember, nowhere does it say they have to reimburse
- you.
- In the event of a crash, do not go straight to rec.games.mud.diku
- and post a message saying "Blah mud crashed 4 seconds ago, what
- happened?" That posting will usually be met with negative
- reponses. POST TO THE NET ONLY AS A LAST RESORT. If the game is
- going to be down for an extended amount of time or if there are
- serious problems, usually there will be a message at the port
- the game ran on, or there will be a posting on rec.games.mud.diku
- concerning the down time.
-
- "What is lag?"
- Lag is the result of an overstrained Internet. It comes in two
- varieties, machine lag in which the machine the MUD runs on is
- overburdened, and network lag caused by a poor network
- connection between the enduser and the MUD's host machine.
- Machine lag can be created by other processes gobbling up CPU
- processing time or RAM, or simply by trying to run an overly
- exotic MUD on an inadequate machine. Machine lag will cause all
- actions to be slowed down, but for the most part everything is
- slowed down equally. Machine lag can be fixed by upgrading the
- hardware the MUD uses or by the MUD implementors better
- optimizing the MUD.
- Network lag is typically the result of a breakdown or bottleleg
- somewhere on the Internet. Massive or rerouted traffic on the
- Internet as a whole will cause traffic jams that make
- communicating between the MUD and the enduser difficult.
- Typically, the communications problem is sporadic and the lag
- will come and go in "bursts". Multiple commands will go thru
- simultaneously, followed by a period when seemingly no response
- occurs. Network lag is sometimes caused by the MUD's machine if
- the MUD has an inadequate hookup to the Internet. Utilities
- like PING and TRACEROUTE are good for tracking down the
- location of network lag.
- The two types of lag have different effects on the MUDder.
- Since machine lag slows everything down, all actions take
- longer. Machine lag is essentially like operating in slow
- motion. There is little real danger (other than becoming
- inattentive from boredom) to machine lag since you essentially
- have a longer reaction time. Network lag, on the other hand, is
- MUCH worse. It may take many seconds, even minutes, for a
- command to be entered, be processed and the response to that
- action to come back to the user. Obviously, the situation could
- have dramatically changed in the meantime. In short, the user
- might be responding to an event that the MUD thinks happened
- many seconds in the past. Or more to the point, you might
- already be dead before you even register that you should be
- thinking about fleeing.
- Each MUD has its own policy on how lag related problems are
- resolved. Commonly though, most MUDs will refuse reimbursement
- for lag induced death simply because it is an aspect of the
- game that the implementors have no control over and for the
- most part can not be verified.
- From Jeffrey Bennett (Batopr@SneezyMUD)
-
- "What is some of the slang or jargon I hear on these muds?"
-
- brb --- Be right back.
- brt --- Be right there.
- rl --- Real life. Something like "I'm bored rl" is commonly
- heard.
- brb rl --- Put the two together and you get "Be right
- back, real life". You know, like going to the bathroom.
- pk, pk'ing --- Player Killer and Player Killing.
- newbie --- Someone who is new to the game. Associated with the word
- clueless.
- mob --- A mobile, a monster in the game.
- immort --- A player who has achived immortality on the mud and is
- considered a god.
- imp(s) --- The person(s) who run the mud. They have final say over
- everything.
- afk --- Away from keyboard.
- afw --- Away from window.
- inv --- Your inventory, what you have on you and is not
- currently equiped.
- equip --- The items that you are currently using. Like the armour
- you are wearing.
-
- "What about this newsgroup, rec.games.mud.diku?"
- This newsgroup was designed to help filter a lot of traffic
- that flowed through the newsgroup rec.games.mud. The newsgroup
- is designed for discussions about anything pretaining to
- DikuMud games. Anyone or anything is open, though messages that
- obviously have no purpose, like "Big Fat Hairy Mud
- Rules/Sucks!!!!" are generally frowned upon and are a waste of
- peoples' time and of network resources.
-
- "What is DikuII, and when can I expect to see it?"
- DikuII is exactly that, the second version of DikuMud. The
- latest word is that this code will not be released due to the
- politics and pains of releasing public code. Unless of course,
- you have the April Fools DikuII release of a couple of years
- ago. However, all this aside, ValhallaMud runs on the DikuII
- code and is run by some of the original DikuMud authors.
-
- "What other derivatives are available then?"
- There are a large number of derivatives of the original
- DikuMud, far too many to list in fact, but a quick summary can
- be made. The first real variant on the DikuMud Gamma code was
- the Alfa DikuMud code. Not too many changes were made, but a
- number of bugs were corrected, and several new areas were
- added. In the time following this, other variants were
- released, for example Copper, Sequent, Pirate, TECHv3, and so
- forth, most without too many changes to the original code. As
- more new ideas came to the forefront, SillyMud was released,
- MercMud, and CircleMUD. MercMud has since branched off into a
- large number of other derivatives such as ROM, Envy, SMAUG, The
- Isles (NiMud), Ember, Oblivian, and more. The differences
- between these are generally in the basic features, but the
- MercMud tree introduced a new file format to the game for area
- files. Instead of all of the rooms being stored in one big
- file, they stored each area in its own file instead, making
- adding and removing areas somewhat easier.
- Each generation of DikuMud code tends to remove a number of
- bugs and problems from earlier code while introducing new
- features, bells, and whistles. If you are planning on using one
- of these derivatives, you are advised to find the one that
- suits your needs the most.
- See also the question on the differences between Silly, Merc,
- and Circle based muds in the next section.
-
- "Where can I find so-and-so?"
- If you are looking for a paticular client/patch/source, check
- the bottom list and look at those ftp sites. I try to maintain
- a general list of what is at these sites, but I can not always
- keep up-to-date of these sites' contents, so you will have to
- actually log in those sites and look around, chances are what
- you are looking for is at one of those sites.
- If by chance you do not find what you are looking for at one of
- those sites, then use the archie server. Archie is a archive
- database searcher that will aid in hunting down a paticular
- program or whatever it is you seek. Don't post to the newsgroup
- asking how to use archie, ask someone at your site if they can
- help. If you can not get help locally, then post the question
- to newsgroup such as news.newusers.questions or look in
- news.answers.
-
- _________________________________________________________________
-
- Implementor / Building
-
- "I really like DikuMuds, I want to start my own!"
- Well, before you go off and do that, there are some things you
- need to know or have.
- A good, working knowledge of C. Though with the amount of
- enhanced muds that are available, this is still a good thing to
- know because you are never going to find 100% bug free code.
- A machine. Some general requirements include:
- + 32-bit processor
- + 8+ megs available (greater than 16 is desirable)
- + 2-8 megs of available memory
- + Network bandwith running (to Internet) at about 50
- kilobits/second
- + Explicit System Administrator Approval. Muds do not go
- unnoticed on any machine where there are any other users. Get
- this before you do anything or you could find hours and hours
- of hard work down the drain.
- + A large amount of time to devote to actual work on the mud
- and time to spend online in the game doing administrative
- duties. This has caused the eventual death of many muds.
- + A creative mind. Be creative about your work, no one really
- cares for a dull, boring mud.
-
- DikuMuds are not very CPU intensive, so very little CPU time is
- needed for all practical purposes.
-
- "What is the difference between Circle, Merc, and Silly?"
- There is a lot of differences between the codes, some that are
- easily recognizable by players, some that are not.
- CircleMUD is the closest to the original Gamma Diku with a lot
- of the bugs patched plus a lot of new features built in. It can
- compile on almost any platform, including Amigas and Windows 95.
- SillyMud is a very large and heavily modified release and if I
- remember what the author of this code (or maybe it was someone
- else) said is "it is big and it is ugly". Silly is filled with
- features but is has not been patched up to run on all systems,
- so beware it might take some hacking to get this to work on
- your machine.
- MercMUD is yet another highly developed and very different
- release. It has been made to work with a variety of machines
- including Macintosh and is very compact. The MercMUD base has
- branched off into a number of different bases now, including
- ROM, EnvyMUD, and SMAUG.
- It is recommended that you give each release your attention to
- find out which code is best for you, because none is
- specfically better than the other in general terms, it is up to
- you find out what you prefer.
- Further additions to this section are welcome, including
- comparing new code bases that exist.
- See also the question on which derivatives are available in the
- previous section.
-
- "Well, I do not want to run my own mud, but I would like to create an
- area."
- Some tips in writting an area:
- 1. Get documentation - Basic DikuMud documention has been
- upgraded and released by the Curious Areas Workshop, and
- their Builders' Handbook can teach the most inexperienced
- beginner how to create an area.
- 2. Ask a wizard at the mud you would like to build for for the
- documentation specifically for that mud. This is helpful
- because the actual format for area creation and many of the
- different bitvectors vary greatly from mud to mud.
- 3. Planning. Plan out your area. Make a detailed map and think
- of a good general story or theme for your area before you
- start construction.
- 4. Don't just make an area for the sake of it. If you make an
- area just for the sake of it, this usually shows and people
- do not want a boring, non-planned area. All you will do is
- waste your time and the admin's time.
- 5. Many other helpful tips are given in the C.A.W. Builders'
- Handbook, and are available online at:
- http://democracy.queensu.ca/~fletcher/VieMud/Caw/Bhndbk/tips.html
-
- "Ok, I think I can start my own, but I hear there are bugs with the
- stock code, what are these?"
- Unfortunatly, all code will have bugs, here are some of the
- more well known bugs that should be looked at when starting
- your own bugs.
- (NOTE: These are all fixes that require knowledge of C... told
- you you needed to know C.)
- + Problem with realloc() in db.c with the world, and to a
- lesser extent mob_index and obj_index.
- + Problem in do_pour. This bug allows players to preform 'pour
- cup cup' and have an infinite water supply.
- + Problem on do_taste. A player can taste the bread, but when
- he tastes the bread, it will apply the breads fill value
- without actually eating the bread, thus having an infinite
- bread supply.
- + Problem in nanny(). In nanny(), if a player answers 'no' to
- the 'is that really your name?', the name pointer is never
- set to NULL. So, when you drop link, the same pointer will be
- free [using free()] again inside free_char().
- + Problem in generic_find(). Uses str_cmp() instead of isname()
- in FIND_OBJ_EQUIP.
- + Problem in affect_from_char(). The variable hjp is given the
- value hjp-next after hjp has been free()'d.
- + Problem in shop.c. A has the scroll 'a tattered scroll' he
- wishes to sell. Upon selling the item, a check is made for
- the keyword scroll in the shopkeeper's inventory. Since
- scrolls of identify and scrolls of recall are produced by the
- shop and have the keywords 'scroll', the game assumes that
- the first scroll is one of these items and destroys the item
- and never places it back for resale.
- + Problem in the init_socket. The ports do not seem to clear
- freely, so you end up with a lot of port binds. Here is a
- patch provided by Dean Gaudet <dgaudet@arctic.org>
-
- int init_socket(int port)
- {
- int s, sbuf, opt;
- struct sockaddr_in sa;
- struct linger ld;
-
- memset(&sa, 0, sizeof(struct sockaddr_in));
- sa.sin_family = AF_INET;
- sa.sin_port = htons(port);
-
- if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
- exit(0);
- }
- opt = 1;
- if (setsockopt(s,SOL_SOCKET,SO_REUSEADDR, (char *)&opt, sizeof(opt)) < 0)
- {
- exit(1);
- }
- ld.l_onoff = 0; /* let's make sure this isn't on */
- ld.l_linger = 1000; /* who cares what this is */
-
- if (setsockopt(s, SOL_SOCKET, SO_LINGER, (char *)&ld, sizeof(ld)) < 0) {
- exit(1);
- }
-
- ......
-
- if (bind(s, (struct sockaddr *)&sa, sizeof(sa)) < 0) {
- if( close(s) ) {
- syslogf("init_socket: error closing socket: %s", strerror(errno));
- exit(1);
- }
- exit(0);
- }
- if( listen(s, 5) < 0 ) {
- exit(1);
- }
- return(s);
- }
- + Check for unused variables by compiling with the -Wunused
- flag. This will help in streamlining your code.
- + Many typos, especially look in constants.c, act.obj1.c and
- act.other.c
- + Echo on/off:
-
- in interpreter.c, add this to the other includes:
- #include <arpa/telnet.h>
- create the following strings:
- char echo_off[]={IAC,WILL,TELOPT_ECHO,'\0'};
- char echo_on[]={IAC,WONT,TELOPT_ECHO,'\n','\r','\0'};
- make the following macros:
- #define ECHO_ON(d) SEND_TO_Q(echo_on,(d))
- #define ECHO_OFF(d) SEND_TO_Q(echo_off,(d))
-
- Then place in appropriate places where you want to turn
- echo'ing on or off.
-
- "Are the any RFC's of interest?"
- The following RFC's can be of interest to Diku Implementors:
- + RFC 1413: Telnet Identification Protocol
- + RFC 854: Telnet Protocol
- + RFC 857: Telnet Echo Option
- RFC's are located on many sites including nic.ddn.mil and
- wuarchive.wustl.edu.
-
- "What runs on Linux?"
- CircleMUD and ROM 2.4 were both developped on Linux, so neither
- should have any problems compiling on Linux. Other muds such as
- MercMUD and EnvyMUD have been reported to compile with very few
- problems.
-
- "How can I make the original DikuMud run on Linux?"
- From Derek J. Middleton with corrections from Russell Schutlz
- To port DikuMud gamma 0.0 over to Linux, there are a couple
- things that should be modified. This may not be everything, but
- here is what needs to be done right off the bat:
-
- 1. Add this to your #include section:
- #if defined(linux) || defined(SYSV)
- #include <sys/utsname.h>
- #include <unistd.h>
- #endif
- 2. Change all calls to the srandom() function to srand()
- 3. I believe there are two references like this. Change:
-
- gettimeofday(&last_time, (struct timeval *) 0);
- to:
- gettimeofday(&last_time, (struct timezone *) 0);
- 4. In addition, the init_socket() function needs to be re-worked
- quite a bit. This is what I have:
-
- int init_socket(int port) {
- int s;
- char opt = 1;
- struct sockaddr_in sa;
- struct hostent *hp;
- struct linger ld;
- struct utsname hostinfo;
- char *hostname;
-
- /* get the current hostname */
- if (uname(&hostinfo)<0) {
- perror("uname");
- exit(1);
- }
- hostname = hostinfo.nodename;
-
- memset(&sa, 0, sizeof(sa));
-
- hp = gethostbyname(hostname);
- if (hp == NULL)
- {
- perror("gethostbyname");
- exit(1);
- }
- sa.sin_family = hp->h_addrtype;
- sa.sin_port = htons(port);
- s = socket(AF_INET, SOCK_STREAM, 0);
- if (s < 0)
- {
- perror("Init-socket");
- exit(1);
- }
- if (setsockopt (s, SOL_SOCKET, SO_REUSEADDR,
- &opt, sizeof (opt)) < 0)
- {
- perror ("setsockopt REUSEADDR");
- exit (1);
- }
-
- ld.l_onoff = 1;
- ld.l_linger = 1000;
-
- if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &ld, sizeof(ld)) < 0)
- {
- perror("setsockopt LINGER");
- exit(1);
- }
-
- if (bind(s, (struct sockaddr *) &sa, sizeof(sa)) < 0)
- {
- perror("bind");
- close(s);
- exit(1);
- }
- listen(s, 3);
- return(s);
- }
-
- Once this is done, you should be well on your way to having the
- Gamma DikuMud running on your Linux system.
-
- "Are there any books of interest to admins?"
- Yes, these should be available at your local bookstore:
- _Unix Network Programming_
- Stevens, Richard W.
- Prentice Hall, 1990
- _The C Programming Language_
- Kernighan, Brian W.
- Ritchie, Dennis M.
- Prentice Hall, 1988
- [This is THE bible on C programming]
-
- "Are there any muds available with online creation?"
- The Isles is a Merc based DikuMud with Online Creation among a
- lot of other enhancements.
- There is a copy of Envy mud with a ported version of The Isles
- OLC in it.
- SMAUG, a newer code release based on Merc has a built in OLC
- system.
- Circle 3.x is also going to have online creation. (See the next
- question)
-
- "When is Circle 3.0 going to be released?"
- See the CircleMUD FAQ for more details on CircleMUD 3.x
-
- "Are there any mailing lists for administrators?"
- CircleMUD has a mailing list at <listserv@post.queensu.ca>. To
- subscribe, send it a piece of mail with the body 'subscribe
- circle <first name> <last name>'.
- MercMUD and EnvyMUD have a mailing list at
- <merc-l-request@webnexus.com>
- To subscribe to this, send a piece of mail to that address with
- the word 'subscribe' in the body.
- ROM also has a mailing list now. This can be found at
- <rom-request@cmc.net>. To subscribe, send a piece of mail to
- this address with the word 'subscribe' in it.
-
- "Do I need to follow the license agreement?"
- YES YES YES YES YES!! No matter how much you have or think you
- have changed in the code, you must included both the 'credits'
- file and the names of the authors in the initial logon screen.
- There are no ifs, ands, or buts about this.
-
- "Should I credit my area authors too?"
- Of course you should! The best way to do this is to either have
- a help entry for 'areas' or 'zones' with a listing of zones and
- their authors. Another way to do this would be to use the Merc
- family method of having an 'areas' command which lists the
- areas and authors. A final method would be to list them in the
- credits of your mud. If all of your authors are credited
- publically, it gives people more incentive to release areas to
- the public and to create areas for your mud.
- To aid this, Nino Ruffini (Steppin of JediMUD) has lent his
- time in order to compile a fairly extensive listing of areas
- and their authors. This has been posted once to rgmd, and will
- soon be found on a web page near you! Keep your eyes peeled for
- it.
-
- _________________________________________________________________
-
- Resources
-
- Below is a list of commonly used sites for DikuMud related items. All
- sites/contents are subject to change.
-
- Web Resources
-
- There are a good number of resource sites online and more seem to crop
- up every day. The following is by no means a definitive list of
- available resources, but should serve as a good starting point.
-
- http://www.dikumud.com/diku/
- The official DikuMud homepages.
-
- http://www.efn.org/~rtaylor/
- This is the official release site of ROM.
-
- http://www.circlemud.org/
- The official CircleMUD homepages, complete with links to the
- CircleMUD FAQ, various documentation for running a CircleMUD,
- etc.
-
- http://democracy.queensu.ca/~fletcher/Circle/
- This is the official CircleMUD FAQ site, as well as being the
- official home of this FAQ. Also found here are a number of
- CircleMUD code snippets, and links to CircleMUD area updates.
-
- http://democracy.queensu.ca/~fletcher/VieMud/Caw/
- The official Curious Areas Workshop homepages. These pages
- include area releases and the C.A.W. Builders' Handbook.
-
- http://www.mudconnect.com/
- The Mud Connector. This site has links to many online
- resources, as well as links to over 400 muds.
-
- http://www.eden.com/~hsoi/mud/
- This site is the quintessential Macintosh Mudding Resource
- site, with links to Mac Clients, code, and so forth.
-
- http://www.goodnet.com/~esnible/mudinfo.html
- A site with many links to building resources online, as well as
- links to several area archives.
-
- http://www.game.org/heirarchy.html
- A page listing the approximate family tree of the DikuMud
- server, complete with links to the home sites of many of the
- DikuMuds listed.
-
- http://tf.tcp.com/~hawkeye/tf/
- This is the homepage of the TinyFugue Client. This page gives
- complete instructions on how to go about using the client and
- how to get it.
-
- FTP Resources
-
- ftp://ftp.math.okstate.edu/pub/muds/
- This site contains a general mishmash of mud related software.
- Unfortunately, it is somewhat out of date in general.
-
- ftp://ftp.pvv.unit.no/pub/mud/
- This has the server software for MUME as well as a few
- utilities for DikuMuds. There are also some clients available
- here.
-
- ftp://ftp.tcp.com/pub/mud/
- This site is mostly out of date, but has a fairly large amount
- of mud related items, including having the most recent releases
- of the TinyFugue client.
-
- ftp://marble.bu.edu/pub/diku/
- This site is an older site pertaining to DikuMuds.
-
- ftp://grind.isca.uiowa.edu/unix/mud/dikumud/
- This site contains a fair number of servers as well as a few
- areas, but does not tend to be updated very often.
-
- ftp://ftp.envy.com/pub/mud/
- This is the official release site of EnvyMud.
-
- ftp://ftp.game.org/pub/mud/diku/
- Probably one of the largest and most up to date FTP sites. It
- contains almost every single DikuMud related server that has
- been publically released.
-
- ftp://ftp.circlemud.org/pub/CircleMUD/
- This is the offical site of the CircleMUD distribution. It
- contains various releases of the CircleMUD server, as well as a
- plethora of CircleMUD administrator contributed code and areas.
-
- ftp://ftp.io.com/pub/mud/
- This site contains a number of items relevant to DikuMuds, as
- well as being the homesite for the Hidden Worlds Mud.
-
- ftp://democracy.queensu.ca/pub/USERS/fletcher/Caw
- The official release site of Curious Areas Workshop, an area
- building group, also known for the C.A.W. Builders' Handbook.
-
- ftp://ftp.cis.ufl.edu/pub/src/games/mud/
- The official site of the SillyMUD distribution.
-
- ftp://ftp.lysator.liu.se/pub/lpmud/clients/
- A site for PMF, an alternative client to TinTin.
-
- ftp://princeton.edu/pub/tintin++/dist/
- The official release site of the TinTin++ client.
-
- _________________________________________________________________
-
- Final Word
-
- Playing a mud of any sort is NOT a right. The people who run the game
- and the people who owns/runs the system that you are playing from are
- not required to let you play. If you abuse your privledge of playing,
- there are good chances that it will be taken away.
-
- _________________________________________________________________
- --
- Erm... Yeah. Whatever.
-