Update admin.txt

Formatting and typo.
This commit is contained in:
Jason "Opie" Babo 2015-03-26 09:46:39 +00:00
parent b1b7864eb0
commit 3cf5d6dce0

View file

@ -1,7 +1,7 @@
If you have any additions, corrections, ideas, or bug reports please stop by the If you have any additions, corrections, ideas, or bug reports please stop by the
Builder Academy at telnet://tbamud.com:9091 or email rumble@tbamud.com -- Rumble Builder Academy at telnet://tbamud.com:9091 or email rumble@tbamud.com -- Rumble
The tbaMUD Administrators Manual The tbaMUD Administrators Manual
Originally by Jeremy Elson Originally by Jeremy Elson
This document describes how to configure tbaMUD and how to compile it for the This document describes how to configure tbaMUD and how to compile it for the
@ -19,7 +19,7 @@ Contents
1.1 Background and Introduction 1.1 Background and Introduction
1.2 Are you a Player or an Administrator? 1.2 Are you a Player or an Administrator?
1.3 So, youre sure you want to run your own MUD? 1.3 So, youre sure you want to run your own MUD?
1.4 Giving Credit Where Credit is Due 1.4 Giving Credit Where Credit is Due
2 Getting Started 2 Getting Started
@ -55,13 +55,13 @@ Contents
tbaMUD is a derivative of DikuMud, the Multi-User Dungeon developed at DIKU, tbaMUD is a derivative of DikuMud, the Multi-User Dungeon developed at DIKU,
the Department of Computer Science at the University of Copenhagen. The original the Department of Computer Science at the University of Copenhagen. The original
circleMUD, version 1.0, was run by Jeremy Elson at the Johns Hopkins circleMUD, version 1.0, was run by Jeremy Elson at the Johns Hopkins
Universitys Department of Computer Science with moderate popularity from Universitys Department of Computer Science with moderate popularity from
January until September of 1992. The version 1.0 code, which was never released January until September of 1992. The version 1.0 code, which was never released
to the public, was archived and remained inactive for several months after the to the public, was archived and remained inactive for several months after the
death of the original CircleMUD. In the summer of 1993, it was taken out of death of the original CircleMUD. In the summer of 1993, it was taken out of
storage and cleaned up with the intention of making it a public code base that storage and cleaned up with the intention of making it a public code base that
anyone could freely download and use to start a MUD. Version 2.0, the first anyone could freely download and use to start a MUD. Version 2.0, the first
publically available version, was released in June of 1993. CircleMUD was publicly available version, was released in June of 1993. CircleMUD was
maintained as a public code base until 2002 with the final release of CircleMUD maintained as a public code base until 2002 with the final release of CircleMUD
3.1. After development stagnated for 3 years The Builder Academy offered to 3.1. After development stagnated for 3 years The Builder Academy offered to
take over development. After a 4th year of no continued development The Builder take over development. After a 4th year of no continued development The Builder
@ -71,11 +71,11 @@ agreed and the codebase is now known as tbaMUD. The Builder Academy is open to
anyone willing to learn how to build or start their own MUD. anyone willing to learn how to build or start their own MUD.
Thousands of carefully spent hours have gone into the development of this Thousands of carefully spent hours have gone into the development of this
codebase, but it is not a finished product it is only a beginning. It has codebase, but it is not a finished product it is only a beginning. It has
only a small number of spells and skills, and only the 4 original DikuMud only a small number of spells and skills, and only the 4 original DikuMud
classes. From a gamers point of view, it pales in comparison to other MUDs classes. From a gamers point of view, it pales in comparison to other MUDs
which have dozens of spells spread over a dozen classes, and a rich palette of which have dozens of spells spread over a dozen classes, and a rich palette of
skills. Yet from a programmers point of view, tbaMUD is very highly developed. skills. Yet from a programmers point of view, tbaMUD is very highly developed.
While the look and feel of the original DikuMud has been maintained, most of While the look and feel of the original DikuMud has been maintained, most of
the underlying code and many of the structures have been optimized, reworked, the underlying code and many of the structures have been optimized, reworked,
or completely redesigned to be efficient, compact, and easily changeable and or completely redesigned to be efficient, compact, and easily changeable and
@ -84,58 +84,59 @@ world over the past few years, although they were not part of the original
DikuMud release, were added to tbaMUD as well. DikuMud release, were added to tbaMUD as well.
The result is that tbaMUD is a launching pad for your own MUD ideas. Our hope The result is that tbaMUD is a launching pad for your own MUD ideas. Our hope
in releasing it is that it will free potential MUD implementors from having to worry about dealing with bug-ridden code or wasting time reinventing the wheel in releasing it is that it will free potential MUD implementors from having to
worry about dealing with bug-ridden code or wasting time reinventing the wheel
by re-coding standard MUD features, allowing them to devote more effort towards by re-coding standard MUD features, allowing them to devote more effort towards
creatively shaping tbaMUD into their own unique vision of how a MUD should look creatively shaping tbaMUD into their own unique vision of how a MUD should look
and feel. The reason why tbaMUD has so few specialized spells, skills, classes, and feel. The reason why tbaMUD has so few specialized spells, skills, classes,
and races is to encourage implementors just like you to create your own and races is to encourage implementors just like you to create your own
unique system instead of just another stock MUD that everyone has seen before. unique system instead of just another stock MUD that everyone has seen before.
So, it is with this message that we inflict our code on the world: dont just So, it is with this message that we inflict our code on the world: dont just
put another generic MUD on the Net give us something new and exciting, and put another generic MUD on the Net give us something new and exciting, and
have as much fun as possible in the process! have as much fun as possible in the process!
1.2 Are you a Player or an Administrator? 1.2 Are you a Player or an Administrator?
If youve never played a MUD before, jumping right in and trying to run one of If youve never played a MUD before, jumping right in and trying to run one of
your own will probably just get you hopelessly confused. Instead of trying to your own will probably just get you hopelessly confused. Instead of trying to
compile and run the tbaMUD package yourself (which is presumably what youre compile and run the tbaMUD package yourself (which is presumably what youre
trying to do if youre reading this document), you should play someone elses trying to do if youre reading this document), you should play someone elses
copy of tbaMUD first to become familiar with the codebase. copy of tbaMUD first to become familiar with the codebase.
1.3 So, youre sure you want to run your own MUD? 1.3 So, youre sure you want to run your own MUD?
If youre already an old hand at playing MUDs and youve decided you want to If youre already an old hand at playing MUDs and youve decided you want to
start one of your own, here is our advice: sleep on it, try several other MUDs start one of your own, here is our advice: sleep on it, try several other MUDs
first. Work your way up to an admin position and see what running a MUD is first. Work your way up to an admin position and see what running a MUD is
really about. It is not all fun and games. You actually have to deal with really about. It is not all fun and games. You actually have to deal with
people, you have to babysit the players, and be constantly nagged about things people, you have to babysit the players, and be constantly nagged about things
you need to do or change. Running a MUD is extremely time consuming if you do you need to do or change. Running a MUD is extremely time consuming if you do
it well, if you are not going to do it well then don't bother. Just playing it well, if you are not going to do it well then don't bother. Just playing
MUDs is masochistic enough, isnt it? Or are you trying to shave that extra MUDs is masochistic enough, isnt it? Or are you trying to shave that extra
point off your GPA, jump down that one last notch on your next job evaluation, point off your GPA, jump down that one last notch on your next job evaluation,
or get rid of that pesky Significant Other for good? If you think silly or get rid of that pesky Significant Other for good? If you think silly
distractions like having friends and seeing daylight are preventing you from distractions like having friends and seeing daylight are preventing you from
realizing your full potential in the MUD world, being a MUD Administrator is realizing your full potential in the MUD world, being a MUD Administrator is
the job for you. the job for you.
Dont get me wrong: running a production MUD can be great fun. It can also be Dont get me wrong: running a production MUD can be great fun. It can also be
overburdened by politics and plagued by spiteful players devoted to making your overburdened by politics and plagued by spiteful players devoted to making your
life difficult, and otherwise be a highly frustrating endeavour. Thats why I life difficult, and otherwise be a highly frustrating endeavour. Thats why I
started The Builder Academy and develop the tbaMUD codebase. The enjoyment of started The Builder Academy and develop the tbaMUD codebase. The enjoyment of
MUDding without the pesky players! MUDding without the pesky players!
1.4 Giving Credit Where Credit is Due 1.4 Giving Credit Where Credit is Due
If I havent scared you away yet, and youre still sure you want to use tbaMUD, If I havent scared you away yet, and youre still sure you want to use tbaMUD,
please stop for a moment and look at the license in the file license.txt. It please stop for a moment and look at the license in the file license.txt. It
outlines the terms under which you must use tbaMUD. outlines the terms under which you must use tbaMUD.
The license is simple. It boils down to the message, “Dont rip off other The license is simple. It boils down to the message, “Dont rip off other
peoples work.” Unfortunately, this simple message ended up becoming somewhat peoples work.” Unfortunately, this simple message ended up becoming somewhat
long-winded because I am trying to prevent people from abusing DikuMud in the long-winded because I am trying to prevent people from abusing DikuMud in the
future as they have in the past. future as they have in the past.
Also, out of courtesy if nothing else, please keep the credits file intact. You Also, out of courtesy if nothing else, please keep the credits file intact. You
can add your own credits on top of the existing file, but Id appreciate it if can add your own credits on top of the existing file, but Id appreciate it if
you would not simply remove it and all references to the word “Circle” you would not simply remove it and all references to the word “Circle”
everywhere in the MUD. How would you feel if someone took your code and then everywhere in the MUD. How would you feel if someone took your code and then
took credit for it? took credit for it?
@ -150,9 +151,9 @@ itself (using GNU autoconf) and compile under most versions of UNIX, both BSD
and System V derivatives, including Mac OS X. With minor adjustments and System V derivatives, including Mac OS X. With minor adjustments
(documented below), the same source should compile under Microsoft Windows, IBM (documented below), the same source should compile under Microsoft Windows, IBM
OS/2, and the Amiga. Users have also reported getting tbaMUD to compile and run OS/2, and the Amiga. Users have also reported getting tbaMUD to compile and run
under MkLinux, the port of Linux to the Power Macintosh. tbaMUD will not work under DOS, Windows 3.x, Windows for Workgroups 3.x, or Mac System. under MkLinux, the port of Linux to the Power Macintosh. tbaMUD will not work
Specifically, the following variants of UNIX have been tested and are known to under DOS, Windows 3.x, Windows for Workgroups 3.x, or Mac System. Specifically,
work with tbaMUD: the following variants of UNIX have been tested and are known to work with tbaMUD:
SunOS 4.1.4 SunOS 4.1.4
Solaris 2.3 and above Solaris 2.3 and above
@ -164,7 +165,7 @@ Linux 1.x, 2.x
BSD/OS 2.1 BSD/OS 2.1
Mac OS X (10.0 and above) Mac OS X (10.0 and above)
If your system is not listed, dont despair; because of the autoconf program, If your system is not listed, dont despair; because of the autoconf program,
tbaMUD will compile under most versions of UNIX on its own. A large effort was tbaMUD will compile under most versions of UNIX on its own. A large effort was
made to make tbaMUD more portable by converting many of its system calls over made to make tbaMUD more portable by converting many of its system calls over
to POSIX compliance. Converting tbaMUD to POSIX vastly helps portability on to POSIX compliance. Converting tbaMUD to POSIX vastly helps portability on
@ -173,7 +174,7 @@ on some older systems that are not (such as NextSTEP 2.x), it may be more
difficult to compile than it was to compile earlier versions of the code. difficult to compile than it was to compile earlier versions of the code.
(POSIX stands for Portable Operating System Interface for UNIX and is an effort (POSIX stands for Portable Operating System Interface for UNIX and is an effort
to standardize the way UNIX programs talk to the operating system. For more to standardize the way UNIX programs talk to the operating system. For more
information, see Stevens excellent book, Advanced Programming in the UNIX information, see Stevens excellent book, Advanced Programming in the UNIX
Environment.) Environment.)
For a small, private MUD, or a MUD used only for testing and development, about For a small, private MUD, or a MUD used only for testing and development, about
@ -184,7 +185,7 @@ tbaMUD uses virtually no CPU time.
Historically, tbaMUD has always been developed under different variants of UNIX. Historically, tbaMUD has always been developed under different variants of UNIX.
The original CircleMUD was run on a DECstation 3100 running Ultrix 4.0, which The original CircleMUD was run on a DECstation 3100 running Ultrix 4.0, which
remained Circles development platform until v2.0. Starting with v2.0, Circle remained Circles development platform until v2.0. Starting with v2.0, Circle
was developed under various versions of Linux and Solaris over the years was developed under various versions of Linux and Solaris over the years
ranging from Linux 0.99.11 through the current Linux 2.2.x and including ranging from Linux 0.99.11 through the current Linux 2.2.x and including
Solaris x86 5.6. Solaris x86 5.6.
@ -192,10 +193,10 @@ Solaris x86 5.6.
2.2 Downloading and Unpacking the Source 2.2 Downloading and Unpacking the Source
The first step in setting up tbaMUD is to make sure you have the most recent The first step in setting up tbaMUD is to make sure you have the most recent
version of the source. You can always find the most recent version of the version of the source. You can always find the most recent version of the
source at tbaMUDs official website http://tbamud.com. source at tbaMUDs official website http://tbamud.com.
Next, unpack the archive. If you have the .tar.gz version, unpack it using gzip Next, unpack the archive. If you have the .tar.gz version, unpack it using gzip
(GNU unzip) and the tar archiver. If you dont already have them, both of these (GNU unzip) and the tar archiver. If you dont already have them, both of these
utilities can be downloaded from the GNU FTP site <ftp://ftp.gnu.org/pub/gnu/>. utilities can be downloaded from the GNU FTP site <ftp://ftp.gnu.org/pub/gnu/>.
To unpack the archive on a UNIX system, type: To unpack the archive on a UNIX system, type:
@ -210,27 +211,27 @@ available for the Windows platform, which allow users to use Unix tools on that
operating system. operating system.
2.3 Configuring tbaMUD 2.3 Configuring tbaMUD
Note: This section applies only to UNIX users. If youre using Windows, OS/2, or Note: This section applies only to UNIX users. If youre using Windows, OS/2, or
the Amiga, read README.WIN, README.OS2 or README.AMIGA instead. the Amiga, read README.WIN, README.OS2 or README.AMIGA instead.
tbaMUD must be configured using the configure program which attempts to guess tbaMUD must be configured using the configure program which attempts to guess
correct values for various system-dependent variables used during compilation. correct values for various system-dependent variables used during compilation.
It uses those values to create Makefiles and a header file called conf.h. It uses those values to create Makefiles and a header file called conf.h.
From tbaMUDs root directory, simply type From tbaMUDs root directory, simply type
./configure ./configure
If youre using csh, it may not execute “configure” properly, giving you an If youre using csh, it may not execute “configure” properly, giving you an
error message like “Permission denied”. If this occurs, try “sh ./configure” error message like “Permission denied”. If this occurs, try “sh ./configure”
instead. instead.
configure can take several minutes to run if youre using a slow computer. It configure can take several minutes to run if youre using a slow computer. It
will print out various status messages while it works, telling you what will print out various status messages while it works, telling you what
characteristics of your computer it has found. It should create two Makefiles characteristics of your computer it has found. It should create two Makefiles
(src/Makefile and src/util/Makefile) and one header file (src/conf.h). (src/Makefile and src/util/Makefile) and one header file (src/conf.h).
You should only need to run configure once right after you unpack tbaMUD from You should only need to run configure once right after you unpack tbaMUD from
its archive. You will probably compile the source dozens of times as you add its archive. You will probably compile the source dozens of times as you add
new features, but configure only needs to be run before the first time you new features, but configure only needs to be run before the first time you
compile. Please note that there is one exception to this rule: if you move your compile. Please note that there is one exception to this rule: if you move your
@ -239,26 +240,26 @@ recompile the source code. To rerun configure after moving the source, make
sure to delete the file called config.cache and then run configure again. sure to delete the file called config.cache and then run configure again.
2.4 Compiling tbaMUD 2.4 Compiling tbaMUD
Note: This section applies only to UNIX or Cygwin users. If youre using Note: This section applies only to UNIX or Cygwin users. If youre using
windows, OS/2, or the Amiga, read README.WIN, README.OS2, or README.AMIGA instead. windows, OS/2, or the Amiga, read README.WIN, README.OS2, or README.AMIGA instead.
The src directory contains the source code for the main MUD server; src/util has The src directory contains the source code for the main MUD server; src/util has
the source for a dozen or so MUD maintenance utilities. There are two Makefiles, the source for a dozen or so MUD maintenance utilities. There are two Makefiles,
one in each source directory, but all compiling is normally performed from the one in each source directory, but all compiling is normally performed from the
src directory only. To compile the only tbaMUD server itself, type “make”. src directory only. To compile the only tbaMUD server itself, type “make”.
Use “make utils” to compile the utilities, or “make all” to compile both the Use “make utils” to compile the utilities, or “make all” to compile both the
server and the utilities. It is also possible to compile individual server and the utilities. It is also possible to compile individual
utilities from the src/util directory: from src/util, type “make utilities from the src/util directory: from src/util, type “make
[utility-name]”. All compiled binaries go to the bin directory. [utility-name]”. All compiled binaries go to the bin directory.
The stock (unmodified) tbaMUD code should compile with no warnings or errors. The stock (unmodified) tbaMUD code should compile with no warnings or errors.
Despite my best efforts theres a chance that youll have problems compiling Despite my best efforts theres a chance that youll have problems compiling
tbaMUD if youre using some version of UNIX that Ive never seen before. Its tbaMUD if youre using some version of UNIX that Ive never seen before. Its
impossible to give general advice on how to port software, except to say that impossible to give general advice on how to port software, except to say that
you should ask a friend who knows a lot about both UNIX and C to help you. you should ask a friend who knows a lot about both UNIX and C to help you.
Also, if you have problems, you should definitely look at the tbaMUD FAQ Also, if you have problems, you should definitely look at the tbaMUD FAQ
(Frequently Asked Questions list with Answers), which youll find in tbaMUDs (Frequently Asked Questions list with Answers), which youll find in tbaMUDs
/doc directory. /doc directory.
If you do port tbaMUD to some other platform successfully, please share your If you do port tbaMUD to some other platform successfully, please share your
@ -268,37 +269,37 @@ specific name of your operating system and hardware. Full details on porting to
a new system can be found in Porting.txt. a new system can be found in Porting.txt.
The Makefile directs all compiled programs to the /bin directory. Although not The Makefile directs all compiled programs to the /bin directory. Although not
recommended, you may want to put tbaMUDs /bin directory in your $PATH. The recommended, you may want to put tbaMUDs /bin directory in your $PATH. The
reason that this is not recommended is that most of the resources are reason that this is not recommended is that most of the resources are
referenced using relative paths, and thus require that you run the programs referenced using relative paths, and thus require that you run the programs
from the base tbaMUD directory. from the base tbaMUD directory.
3 Running tbaMUD 3 Running tbaMUD
Note: This section applies only to UNIX or Cygwin users. If youre using Note: This section applies only to UNIX or Cygwin users. If youre using
Windows, OS/2, or the Amiga, read README.WIN, README.OS2, or EADME.AMIGA Windows, OS/2, or the Amiga, read README.WIN, README.OS2, or EADME.AMIGA
instead. instead.
3.1 Execution and autorun 3.1 Execution and autorun
1. type autorun & 1. type autorun &
2. Wait a few moments for the server to boot. 2. Wait a few moments for the server to boot.
3. type: telnet localhost 4000 3. type: telnet localhost 4000
tbaMUD should always be run from tbaMUDs “root” directory, not the /bin tbaMUD should always be run from tbaMUDs “root” directory, not the /bin
directory. You can run it manually by typing bin/circle (useful for testing and directory. You can run it manually by typing bin/circle (useful for testing and
debugging). For running the game “for real,” it is better to use the autorun debugging). For running the game “for real,” it is better to use the autorun
shell script provided in tbaMUDs root directory. shell script provided in tbaMUDs root directory.
Autorun lets tbaMUD run itself for long periods of time. It continuously runs Autorun lets tbaMUD run itself for long periods of time. It continuously runs
the game as well as removing old system logs, moving newer system logs to the the game as well as removing old system logs, moving newer system logs to the
log directory, and saving certain log entries to permanent files. log directory, and saving certain log entries to permanent files.
Autorun can be controlled by creating files with certain names. You can use the Autorun can be controlled by creating files with certain names. You can use the
touch command to create a file, and, of course, the rm command to remove a touch command to create a file, and, of course, the rm command to remove a
file. If a file called .fastboot exists, the tbaMUD will reboot immediately file. If a file called .fastboot exists, the tbaMUD will reboot immediately
if it crashes or is shut down instead of waiting 40 seconds as it normally does. if it crashes or is shut down instead of waiting 40 seconds as it normally does.
A file called .killscript will cause the script to terminate itself; i.e. if A file called .killscript will cause the script to terminate itself; i.e. if
you want to bring the game down. If you want to temporarily prevent the MUD you want to bring the game down. If you want to temporarily prevent the MUD
from rebooting, create a file called “pause”; the script will go into a wait from rebooting, create a file called “pause”; the script will go into a wait
loop until pause is removed. loop until pause is removed.
Although you can create these files manually, the shutdown command from within Although you can create these files manually, the shutdown command from within
the MUD has several options which will create these files for you. See the the MUD has several options which will create these files for you. See the
@ -343,7 +344,7 @@ keep one or more sets of game data in addition to the standard set, and choose
which set is to be used at runtime. For example, you may wish to make a copy of which set is to be used at runtime. For example, you may wish to make a copy of
the entire world in a separate directory, so that you can test additions to the the entire world in a separate directory, so that you can test additions to the
world files without subjecting players to unnecessary hazards. The default data world files without subjecting players to unnecessary hazards. The default data
directory is lib. Any core dumps (may they never happen to you!) will take directory is lib. Any core dumps (may they never happen to you!) will take
place in the selected data directory. place in the selected data directory.
-p Port Selection. Allows you to choose on which port the game is to listen -p Port Selection. Allows you to choose on which port the game is to listen
@ -355,8 +356,8 @@ precedence over the port specified in CEDIT or config.c.
3.3 Creating an Implementor Character 3.3 Creating an Implementor Character
The first character to log in to the MUD will be made the maximum (Implementor) The first character to log in to the MUD will be made the maximum (Implementor)
level. If you log in and arent made an implementor, then the playerfile level. If you log in and arent made an implementor, then the playerfile
probably is not empty take the MUD down, delete the index at probably is not empty take the MUD down, delete the index at
tbamud\lib\plrfiles, and start the MUD again. You should fix your stats using tbamud\lib\plrfiles, and start the MUD again. You should fix your stats using
the RESTORE command when you first create the character (i.e. type "RESTORE the RESTORE command when you first create the character (i.e. type "RESTORE
<your-name>". <your-name>".
@ -383,34 +384,34 @@ CEDIT info is saved and takes precedence over settings in config.c
4.2 TEDIT and Text Files 4.2 TEDIT and Text Files
The lib/text directory contains all of the text files read by players. All of The lib/text directory contains all of the text files read by players. All of
these files can be edited online by using the text editor TEDIT. The most these files can be edited online by using the text editor TEDIT. The most
visible file is “motd”, (Message Of The Day), which is the message that mortals visible file is “motd”, (Message Of The Day), which is the message that mortals
see (though not necessarily read!) when they log in. Similarly, the “imotd” see (though not necessarily read!) when they log in. Similarly, the “imotd”
(Immortal MOTD) is seen by immortals when they log in. Other interesting (Immortal MOTD) is seen by immortals when they log in. Other interesting
files are “news” (for the NEWS command), “help” (for the HELP command with no files are “news” (for the NEWS command), “help” (for the HELP command with no
arguments), and others. arguments), and others.
One file is particularly important: “policy”. Despite what anyone tells you, One file is particularly important: “policy”. Despite what anyone tells you,
and your best efforts to the contrary, your MUD will have political problems. and your best efforts to the contrary, your MUD will have political problems.
If anyone tells you that you can run a MUD without politics, theyre wrong. If If anyone tells you that you can run a MUD without politics, theyre wrong. If
you tell your players that youre going to run a revolutionary MUD that doesnt you tell your players that youre going to run a revolutionary MUD that doesnt
have any politics, youre lying. Every MUD has political problems sooner or have any politics, youre lying. Every MUD has political problems sooner or
later. Unfortunately, this usually occurs “sooner”. There are various ways to later. Unfortunately, this usually occurs “sooner”. There are various ways to
make political problems easier to handle, but the best way is to decide on some make political problems easier to handle, but the best way is to decide on some
ground rules from the very beginning, and then set those decisions down in ground rules from the very beginning, and then set those decisions down in
writing. Thats what the “policy” file is for. You probably know what kind of writing. Thats what the “policy” file is for. You probably know what kind of
political problems MUDs have (you are not trying to run a MUD without ever political problems MUDs have (you are not trying to run a MUD without ever
having played one, are you!?) stuff like playerkilling, thieving, kill having played one, are you!?) stuff like playerkilling, thieving, kill
stealing, client use, multiplaying, reimbursements, etc. Decide on your stealing, client use, multiplaying, reimbursements, etc. Decide on your
policies early and make sure your characters know what those policies are. policies early and make sure your characters know what those policies are.
It is also important to write down a set of rules dictating what immortals are It is also important to write down a set of rules dictating what immortals are
allowed to do and not allowed to do. Thats what the “handbook” (Immortal allowed to do and not allowed to do. Thats what the “handbook” (Immortal
handbook) is for. Immortals will always try to bend you as far as they can, so handbook) is for. Immortals will always try to bend you as far as they can, so
its important for you to decide on answers to questions before those questions its important for you to decide on answers to questions before those questions
come up. Can immortals assist players? What about giving a single cure light come up. Can immortals assist players? What about giving a single cure light
for a player about to die? Can immortals kill mobiles for their own enjoyment? for a player about to die? Can immortals kill mobiles for their own enjoyment?
Can they kill players for the same reason? Are they allowed to make policy? Can they kill players for the same reason? Are they allowed to make policy?
Break policy? Moderate disputes? Turn over each others decisions? Break policy? Moderate disputes? Turn over each others decisions?
4.3 World Files 4.3 World Files
The root of the area hierarchy is lib/world/. lib/world/ has 6 subdirectories: The root of the area hierarchy is lib/world/. lib/world/ has 6 subdirectories:
@ -418,17 +419,17 @@ wld, mob, obj, shp, trg, and zon, which is where the world, mobile, object,
shop, trigger, and zone files go, respectively. shop, trigger, and zone files go, respectively.
Each directory has a set of world files in it with the appropriate extension Each directory has a set of world files in it with the appropriate extension
(i.e. the obj subdir will have a bunch of files ending with “.obj”, such as (i.e. the obj subdir will have a bunch of files ending with “.obj”, such as
30.obj, 31.obj, etc.) plus two special files called “index” and “index.mini”. 30.obj, 31.obj, etc.) plus two special files called “index” and “index.mini”.
“index” is a list of which world files are to be loaded by tbaMUD. New zones “index” is a list of which world files are to be loaded by tbaMUD. New zones
can be added in game with the "zedit new" command. “index.mini” controls which can be added in game with the "zedit new" command. “index.mini” controls which
(smaller) set of world files should be loaded in the debugging mode (Mini-Mud (smaller) set of world files should be loaded in the debugging mode (Mini-Mud
Mode, explained below.) Mode, explained below.)
5 System Logs 5 System Logs
tbaMUD writes a wide variety of information to standard output and standard tbaMUD writes a wide variety of information to standard output and standard
error. If youre using the autorun script, the boot messages are put into a error. If youre using the autorun script, the boot messages are put into a
file called “syslog”. During tbaMUDs boot sequence, the system log keeps a file called “syslog”. During tbaMUDs boot sequence, the system log keeps a
record of everything the MUD is doing to initialize itself; this can be useful record of everything the MUD is doing to initialize itself; this can be useful
to determine what the problem is if the MUD dies while it is booting. Once the to determine what the problem is if the MUD dies while it is booting. Once the
game is up and running, the syslog contains player information, recording when game is up and running, the syslog contains player information, recording when
@ -437,13 +438,13 @@ game also records status information about itself, falling generally into two
categories: usage information and errors. categories: usage information and errors.
5.1 Player Information 5.1 Player Information
The player information recorded by tbaMUDs system logs will serve you very well The player information recorded by tbaMUDs system logs will serve you very well
as your players start to make wild claims about strange bugs resulting in them as your players start to make wild claims about strange bugs resulting in them
losing equipment or points. Many mudders prey on the insecurities of a new mud losing equipment or points. Many mudders prey on the insecurities of a new mud
administrator who is terrified that his or her MUD is riddled with bugs and administrator who is terrified that his or her MUD is riddled with bugs and
will do anything to satisfy grumpy players dont let yourself fall into that will do anything to satisfy grumpy players dont let yourself fall into that
trap! tbaMUD is bound to contain bugs, but most of the core systems have been trap! tbaMUD is bound to contain bugs, but most of the core systems have been
well tested, so you should take claims such as “I magically lost all my stuff!” well tested, so you should take claims such as “I magically lost all my stuff!”
with a grain of salt and check your system logs. with a grain of salt and check your system logs.
If a player ever asks you for reimbursement of equipment, money, gold, If a player ever asks you for reimbursement of equipment, money, gold,
@ -453,33 +454,34 @@ check the logs first.
As a sidebar, let me point out that the value of system logs is twofold: 1) As a sidebar, let me point out that the value of system logs is twofold: 1)
they actually provide you with valuable information, and 2) they make your they actually provide you with valuable information, and 2) they make your
players paranoid. When I first started mudding and I heard about this players paranoid. When I first started mudding and I heard about this
mysterious “system log”, it made me incredibly paranoid. Now that Ive done a mysterious “system log”, it made me incredibly paranoid. Now that Ive done a
good deal of MUD administration, Ive seen the same paranoia in many other good deal of MUD administration, Ive seen the same paranoia in many other
players. players.
That paranoia is a very good thing. The system logs become an abstract and That paranoia is a very good thing. The system logs become an abstract and
shapeless but omnipresent force on the MUD. Players hear about “the System Log” shapeless but omnipresent force on the MUD. Players hear about “the System Log”
and then get paranoid that everything they do is being recorded, so they tend and then get paranoid that everything they do is being recorded, so they tend
to behave, lest the evil System Log betray their wrongdoings to the Gods. to behave, lest the evil System Log betray their wrongdoings to the Gods.
For this reason, when you go to check your logs, its a good idea to say something like “Hold on... let me go check the system logs, OK?” because it For this reason, when you go to check your logs, its a good idea to say something
reinforces the syslogs presence in the collective psyche of your players. like “Hold on... let me go check the system logs, OK?” because it reinforces the
syslogs presence in the collective psyche of your players.
Back to the point. When someone claims that theyve been wronged by the evil Back to the point. When someone claims that theyve been wronged by the evil
system, always check the logs. The logs give you power to say things like “What system, always check the logs. The logs give you power to say things like “What
do you mean your items disappeared in rent? It says right here in the logs do you mean your items disappeared in rent? It says right here in the logs
Rasmussen has quit the game. You did not rent at all, you just quit!” Rasmussen has quit the game. You did not rent at all, you just quit!”
To diffuse disputes such as, “The game dumped my stuff, but I had enough To diffuse disputes such as, “The game dumped my stuff, but I had enough
money!!” or “I logged in and my stuff was gone, there must be a bug!!”, two money!!” or “I logged in and my stuff was gone, there must be a bug!!”, two
types of log entries are written. First, every time a character rents, the log types of log entries are written. First, every time a character rents, the log
records the characters per diem rent rate as well as the total amount of money records the characters per diem rent rate as well as the total amount of money
on hand and in the bank. Second, the log records makes a record of all on hand and in the bank. Second, the log records makes a record of all
characters equipment dumped due to insufficient funds. characters equipment dumped due to insufficient funds.
Remember, rent is specified as a daily rate but is amortized on a per-second Remember, rent is specified as a daily rate but is amortized on a per-second
basis! In other words, if you rent at the rate of 100 coins per day and come basis! In other words, if you rent at the rate of 100 coins per day and come
back 36 hours later, youll be charged 150 coins. Or you can be nice and leave back 36 hours later, youll be charged 150 coins. Or you can be nice and leave
rent disabled. rent disabled.
The autorunscript saves 6 levels of raw system logs. In addition, it greps the The autorunscript saves 6 levels of raw system logs. In addition, it greps the
@ -495,10 +497,10 @@ The usage information currently logged by tbaMUD is, as you can see, somewhat
sparse; local MUD admins are encouraged to add to this code as is appropriate sparse; local MUD admins are encouraged to add to this code as is appropriate
for their particular site. for their particular site.
Usage information isnt critical, but it is interesting to look at the usage Usage information isnt critical, but it is interesting to look at the usage
patterns to determine when your peak playing hours are. If youre good at using patterns to determine when your peak playing hours are. If youre good at using
cut and other Unix utilities, you can even dazzle your friends by graphing cut and other Unix utilities, you can even dazzle your friends by graphing
your MUDs system usage. your MUDs system usage.
Note: friends not included with the tbaMUD distribution. Note: friends not included with the tbaMUD distribution.
@ -507,7 +509,7 @@ Just as your first gut instinct should be to look at the logs if a player starts
begging you for something, your first gut instinct in the event of a crash or begging you for something, your first gut instinct in the event of a crash or
unexpected shutdown should also be to look at the system logs. unexpected shutdown should also be to look at the system logs.
A Unix utility called tail is used to look at the last few lines of a text A Unix utility called tail is used to look at the last few lines of a text
file; it is very useful for looking at the last entries in the system log to file; it is very useful for looking at the last entries in the system log to
see the last thing that happened before the shutdown. This can be done in game see the last thing that happened before the shutdown. This can be done in game
with the "file" command by using the "file crash" option. Often, tbaMUD will with the "file" command by using the "file crash" option. Often, tbaMUD will
@ -520,38 +522,38 @@ directory, the game probably detected an internal error and killed itself. Such
shutdowns are always preceded by entries in the system log describing the error. shutdowns are always preceded by entries in the system log describing the error.
If there is no error message at the end of the log, then there probably IS a If there is no error message at the end of the log, then there probably IS a
core dump, so you can use gdb to examine the core dump and determine the core dump, so you can use gdb to examine the core dump and determine the
reason for the crash. The file hacker.txt, generously provided by Furey of MERC reason for the crash. The file hacker.txt, generously provided by Furey of MERC
Industries, offers useful insight into the art and science of debugging youd Industries, offers useful insight into the art and science of debugging youd
be well advised to give it a look-see. be well advised to give it a look-see.
tbaMUD sometimes encounters a serious but non-fatal error; in this case, the tbaMUD sometimes encounters a serious but non-fatal error; in this case, the
error will be written to the system log with the prefix SYSERR, but the MUD error will be written to the system log with the prefix SYSERR, but the MUD
will not shut itself down. You should always be aware of any SYSERRs which occur will not shut itself down. You should always be aware of any SYSERRs which occur
they are often useful for foreseeing imminent danger or averting problems they are often useful for foreseeing imminent danger or averting problems
before they become critical. If a SYSERR does occur, try to determine if a before they become critical. If a SYSERR does occur, try to determine if a
change youve made recently has caused it. Ignoring SYSERRs is like ignoring change youve made recently has caused it. Ignoring SYSERRs is like ignoring
compiler warnings: you can be tempted to ignore them because the game keeps compiler warnings: you can be tempted to ignore them because the game keeps
going even if they exist, but you can easily get yourself into trouble by not going even if they exist, but you can easily get yourself into trouble by not
listening. The autorun script saves all SYSERRs to the file log/errors. listening. The autorun script saves all SYSERRs to the file log/errors.
6 MUD Maintenance 6 MUD Maintenance
6.1 Technical Maintenance 6.1 Technical Maintenance
Once you get the MUD up and running, you will surely want to modify it adding Once you get the MUD up and running, you will surely want to modify it adding
new areas, new features, new code, and new ideas, however these topics are new areas, new features, new code, and new ideas, however these topics are
beyond the scope of this document. See coding.txt, building.txt, and other beyond the scope of this document. See coding.txt, building.txt, and other
documents in the /doc directory and online at http://tbamud.com. This section documents in the /doc directory and online at http://tbamud.com. This section
focuses on some of the simple maintenance thatll be necessary to keep your MUD focuses on some of the simple maintenance thatll be necessary to keep your MUD
running smoothly. Make sure not to get so caught up in being a God that you running smoothly. Make sure not to get so caught up in being a God that you
forgot youre also supposed to be acting as a software engineer! forgot youre also supposed to be acting as a software engineer!
First, you should look at the log/errors file regularly to make sure there are First, you should look at the log/errors file regularly to make sure there are
no recurring problems, particularly problems that may have been caused by code no recurring problems, particularly problems that may have been caused by code
youve added. If the MUD crashes, it will usually generate what is called a youve added. If the MUD crashes, it will usually generate what is called a
“core dump” a big file called “core.#” in your lib directory, created by the “core dump” a big file called “core.#” in your lib directory, created by the
operating system to record the state the game was in the moment before it operating system to record the state the game was in the moment before it
crashed. You should look at the core dump using a debugger such as “gdb” to crashed. You should look at the core dump using a debugger such as “gdb” to
determine why the MUD crashed. See the file “hacker.txt” for more information determine why the MUD crashed. See the file “hacker.txt” for more information
about debugging. about debugging.
6.2 Diplomatic Maintenance 6.2 Diplomatic Maintenance
@ -562,15 +564,15 @@ Well, technically, right. tbaMUD requires very little day-to-day attention in
order to keep the program itself running smoothly. But the MUD itself is just a order to keep the program itself running smoothly. But the MUD itself is just a
series of instructions running on a computer, processing data. Never lose sight series of instructions running on a computer, processing data. Never lose sight
of the fact that there will be dozens, hundreds, or maybe even thousands of of the fact that there will be dozens, hundreds, or maybe even thousands of
people connecting to your MUD and they are not programs. They are people! people connecting to your MUD and they are not programs. They are people!
From the technical side, there are relatively few things you have to do to keep From the technical side, there are relatively few things you have to do to keep
the game running. But you cannot just dump a MUD on the Internet and then ignore the game running. But you cannot just dump a MUD on the Internet and then ignore
it! Spend time on your MUD. Try to keep up with the boards, and make an effort it! Spend time on your MUD. Try to keep up with the boards, and make an effort
to respond to the complaints. Take a look at the bug, typo, and idea files to respond to the complaints. Take a look at the bug, typo, and idea files
from time to time and respond to some of the ideas using Mudmail. Try to from time to time and respond to some of the ideas using Mudmail. Try to
respond to Mudmail you receive from players in a timely manner. Make sure that respond to Mudmail you receive from players in a timely manner. Make sure that
your news, policy and other text files are up-to date and suit the political your news, policy and other text files are up-to date and suit the political
climate on your MUD. climate on your MUD.
If you cannot or just do not want to deal with the player politics, make sure If you cannot or just do not want to deal with the player politics, make sure
@ -582,11 +584,11 @@ Try to remember that running a MUD should be fun. It can sometimes be easy to
lose sight of the ultimate goal of personal enjoyment that MUDs are supposed to lose sight of the ultimate goal of personal enjoyment that MUDs are supposed to
provide, particularly when MUDs start to get crushed under the weight of their provide, particularly when MUDs start to get crushed under the weight of their
own politics or the egos of the administrators. If you find that your MUD is own politics or the egos of the administrators. If you find that your MUD is
more of a source of frustration than enjoyment, dont be afraid to close it. more of a source of frustration than enjoyment, dont be afraid to close it.
Good luck with your MUD! Always feel free to email or stop by The Builder Good luck with your MUD! Always feel free to email or stop by The Builder
Academy and let us know what you think of the MUD, and the interesting things Academy and let us know what you think of the MUD, and the interesting things
youve done with it. We cannot promise a timely response, but we love hearing youve done with it. We cannot promise a timely response, but we love hearing
from people who are using our code. from people who are using our code.
For further information and updates check out http://tbamud.com. For further information and updates check out http://tbamud.com.