Archive-name: games/mud-faq/diku
Posting-Frequency: Biweekly Last-modified: 1997/4/15 Version: 3.13 URL: http://democracy.queensu.ca/~fletcher/Circle/ See reader questions & answers on this topic! - Help others by sharing your knowledge 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/ 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. User Contributions:
[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
Send corrections/additions to the FAQ Maintainer: fletcher@democracy.queensu.ca (Alex)
Last Update March 27 2014 @ 02:11 PM
|
Comment about this article, ask questions, or add new information about this topic: