home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS - Coast to Coast
/
simteldosarchivecoasttocoast2.iso
/
citadel
/
k2ne603b.zip
/
CTDL_MAN.ZIP
/
INSTALL3.MAN
< prev
next >
Wrap
Text File
|
1988-02-25
|
117KB
|
2,908 lines
INSTALLATION MANUAL
CITADEL-86 V3.03
by Hue, Jr.
C-86 Test System Sysop
(612) 866-1804
88Mar01
Table of Contents
I. Introduction & Requirements 2
I.1 ... but first, a caveat. 2
I.2 Introduction 2
I.2 Requirements 3
II. INSTALLATION 4
II.1 Tickling DOS configurations 4
II.2 Making your modem do the right thing 4
II.3 Citadel-86 Operating Procedures
(and other epic fantasies) 5
II.3.a Who's this masked Temporary file, anyways? 6
II.3 (con't) 6
II.4 Other Data Files 7
II.5 The ole' configuration file 8
II.5.a But first, a word on moral values ... 8
II.5.b Section 1 of CTDLCNFG.SYS 9
Part 1 of Section 1: MEANINGLESS MISCELLANEA 10
Part 2 of Section 1: REQUIRED ODD STUFF 11
Part 3 of Section 1: DATA FILE SIZES 12
Part 4 of Section 1: DATA FILE LOCATIONS 14
Part 5 of Section 1: POLICY OPTIONS 15
Part 6 of Section 1: MODEM HANDLING 16
II.5.c Section 2 of CTDLCNFG.SYS 18
II.5.d Section 3 of CTDLCNFG.SYS 24
II.6 The Big Step -- Your first experience with CONFG 27
II.7 CTDL -- That Childhood Experience 28
II.8 When the inevitable happens 29
II.9 Installation -- Advanced Topics 29
II.9.a Command Line options 30
II.9.b BAT files and program termination ERRORLEVELS 31
II.9.c Making BAT files and command line options
work for you 31
II.9.d Extreme options in CTDLCNFG.SYS 33
Appendix -- Exhibit copy of CTDLCNFG.SYS. 36
-1-
I. Introduction & Requirements
Hi. This is the Citadel-86 Installation Manual. This manual comes in
two parts. In the first part we hope to present a very short intro-
duction to Citadel-86 and give you an idea of the requirements of running
Citadel-86.
The second part of the Manual will contain a comprehensive (we hope!)
discussion of general operation of Citadel-86 and a step-by-step
installation guide.
If you are looking for documentation covering the day to day operations
of Citadel-86, please read MANUAL3.DOC. Just ignore the blood spots
in there -- we sweated blood to write that.
I.1 ... but first, a caveat.
Citadel-86 has a number of eccentricities in it; in fact, some people
might describe it as one giant eccentricity, and an explanation is,
perhaps, in order. One of the authors of this manual, Hue, Jr., is also
the principal porter and caretaker of Citadel-86. Citadel-86 derives
directly from the version 2.10 of Citadel written by Cynbe ru Taren for
CP/M, and contains a number of the apparent oddities that originally
appeared in Cynbe's code. Hue, Jr., feeling that there may have been
certain reasons in Cynbe's mind for what he did, has been somewhat loathe
to change how certain things worked. This may indicate a certain lack of
ambition on his part; if so, so be it. Whatever the case, he has chosen
to leave them in, due to his faith that Cynbe knew what he was doing.
I.2 Introduction
Citadel-86 is part of a growing family of BBSes that are termed
"room-based" systems. These systems are characterized as excellent
messaging systems in which the message base is partitioned into various
'areas' that enhance the focus of the topics on that particular system
(if well-managed); the areas are usually termed 'rooms' in order to
provide a highly familiar metaphor for the common user.
Some room-based systems have an additional structure added on to them,
known sometimes as 'hallways' or 'floors', which give addition focus.
Citadel-86 has a 'floor' capability, which is optionally available to the
users. Floors allow the sysop and aides to partition the collection of
rooms into 'subject floors' (or 'topical floors'), so that rooms may be
grouped as needed.
Room-based systems normally feature an extremely streamlined set of
commands, in which those used the most often are mnemonic 'single-stroke'
commands whereby the user supplies the first letter of the command to
execute and the system provides the rest of the command. The speed
and ease-of-use of such a command set, in conjunction with the room
concept, has combined to make room based systems extremely popular and
heavily used in several sections of the United States.
Citadel-86 also has file upload and download abilities, integrated
with the room metaphor, and a network capability.
-2-
I.3 Requirements
There are a number of requirements connected with running a Citadel-86
system. The most important one, though, is perhaps the most ignored, and
that is experience with Citadel-86 or similar BBS software from a user
standpoint. It can't be stressed enough that you should have at least a
month of day-to-day experience with Citadel-86 as a normal user, learning
the various commands relating to messages and files, and in general
becoming not only familiar, but comfortable with the Citadel-86 style of
bbsing before aspiring to sysopdom.
More formally, Citadel-86 is capable of running on two classes of
machines using the same executable code. The first is the Zenith Z-100,
an 8085/8088 machine. The second category contains the IBM PCs, ATs, and
close clones (note that a Z-100 does NOT constitute a close clone,
although it is supported). These two classes are similar enough that we
do not need to discuss the requirements for each class separately.
o Operating System: PC- or MS- DOS 2.x or 3.x is required. While not
every single version of DOS that falls in the 2.x to 3.x range has been
tested with Citadel-86, we have not had any reports of problems with
those versions of DOS. Version 1.x of MSDOS is a NO NO!
o RAM: We suggest that at least 256K RAM be made available to Citadel-86.
This is in addition to RAM for MS-DOS, TSR programs, etc.
o Disk storage: A hard disk is, naturally, highly desirable. However,
you can run Citadel-86 on a two floppy system, but if you must do so,
you should also try to make sure that you can have a relatively large
RAM disk available; due to Citadel-86's structure, disk access is
quite frequent. While hard drives (and RAM drives!) do not mind
frequent disk accesses, floppy drives have been known to burn out
under constant usage unless certain options concerning RAM drives
are taken advantage of within Citadel-86.
o An auto-answer modem and the hardware (cables, etc.) requisite to hook
it up to your computer: While a Hayes or compatible is by far the most
popular modem in usage, Citadel-86 can be configured to use several
other types of modems.
o A copy of the Citadel-86 software: Typically, Citadel-86 comes in the
form of three archives. The first is called RUNTIME.ARC, and is
absolutely necessary. It contains the required executables to bring
Citadel-86 up, various help files, and a configuration file. The
second is called SUPPORT.ARC, and contains what little documentation is
available for Citadel-86. It is not strictly necessary, but
useful (or at least comforting). The third is called UTILEXE.ARC, and
contain the utilities available for Citadel-86. (If you don't have
these, they may possibly be on Test System in a room called
Necessities].)
o Some patience!
-3-
II. INSTALLATION
In this section we explore the installation procedure for Citadel-86,
investigating territory ranging from a general overview of the operating
procedures of Citadel-86 to the details of setting up a system.
We'll begin with a very short section on DOS and modem configuration.
Then we get to the red, raw meat of Citadel-86: a description of how to
prepare and operate Citadel-86, and a discussion of the data files that
Citadel-86 needs or generates. Following that will be a walk-through of
actually setting up a basic Citadel-86 installation, at the end of which
you should have a working Citadel-86 system.
Easy, right?
II.1 Tickling DOS configurations
First comes the only required DOS configuration that must be performed,
and that is to place the line "FILES=20" in your CONFIG.SYS file on your
boot disk. If such a line already exists (or more than 20 is specified),
then you don't need to worry about anything. If such a line doesn't
exist, then please put it into CONFIG.SYS, save the file, and reboot your
system so that it'll take effect. IF YOU DON'T, CITADEL WILL BE VERY
PEEVISH!
If you don't understand what we're gabbing about, then please consult
your DOS manuals. CONFIG.SYS is an important part of the DOS system; it
will do you good to learn what it's about.
We AREN'T going to discuss DOS batch files in here. We'll leave that
for a later advanced section, because Citadel-86 exits with different
ERRORLEVELs; the exact levels vary with the reason that Citadel-86 exited.
We feel that it would be better not to cause excess confusion now, because
you'll be confused soon enough as it is.
We AREN'T going to discuss Citadel-86 command line parameters here,
either. While such things exist, we deem these to be the subject of an
advanced section, and so we leave them for later attention in this manual.
II.2 Making your modem do the right thing
The Citadel-86 basic requirements in the area of modems are:
o Modem can be hooked up to the computer
o Modem can auto-answer the phone
o Modem supports true carrier detect (very preferably on pin 8)
o Modem can be hung up
That sounds pretty darn basic, and it is. However, if you want to take
advantage of some of the default configurations of Citadel-86 for the
modem, here's what we suggest for your modem in terms of characteristics:
o Hayes or (semi) compatible
or
o Carrier detect on pin 8 (normal for most modems)
o Carrier hangs up modem when DTR is dropped
-4-
Like we said, Citadel-86 is not restricted to Hayes/compatible
modems, although they are of course the most popular modem used. But
other modems, such as TransModems, have been used successfully with
Citadel-86. This makes our job, as the manual writers, substantially
more difficult. Due to the overwhelming popularity of the Hayes compatible
modems, we're going to confine most of our advice on modem configuration
to Hayes and compatibles.
The first thing to bear in mind is that "compatible" is often a
slippery term. Our advice is based on our own experience with our Hayes
compatible modems; if what we say doesn't seem to jibe with your modem's
documentation, then use a little imagination and search.
Hayes modems are not normally correctly configured fresh from the
factory, so you must configure yours. Usually, a combination of two
methods are used to achieve the correct configuration. First, DIP
switches on the modem usually control several different functions,
including auto-answer mode. However, on some Hayes compatibles they
don't exist; the functions they usually serve are then either accessed
via software, or not at all. Second, (as you might have guessed), software
can be used to configure the modem, through the use of AT commands.
We strongly suggest that you have your modem manual available at this
point.
First, you want to make sure that your modem will drop carrier when DTR
is dropped; the opposite of this is sometimes called the "forced DTR"
function, and can be found in the DIP switches. Make sure that the modem
does not have "forced DTR" on.
Next, you need to ensure that the modem is not "forcing carrier
detect". Instead, it should only have carrier detect true when there is
actually a caller online; otherwise your Citadel-86 will not work
correctly.
Finally, you want to make sure that the modem will auto-answer when
Citadel-86 is up. This can be selected either by DIP switch or through
software. Even if you have a modem that has a DIP switch that controls
this function, you may want to use software instead, for finer control of
how your modem acts. You'll find later in this manual that you can
specify a string of commands to be sent to the modem when Citadel-86 first
comes up, which you can use to activate auto-answer mode.
The above comments apply equally well to non-Hayes compatible modems,
although the details of how to initialize the modem will differ greatly.
More detail on initialization of the modem will appear later in this
manual in Section II.5.b: Part 6 of Section 1: MODEM HANDLING.
II.3 Citadel-86 Operating Procedures (and other epic fantasies)
Citadel-86 comes with a whole mess of files. However, only three of
these files are important, because they constitute the beginnings and
necessities of Citadel-86. They are:
-5-
o CTDLCNFG.SYS. This file will contain your description of how you want
your system set up. Decisions concerning the location of important
data files, system policies, and other semi-arcane things are described
for Citadel-86's use. The CTDLCNFG.SYS that should have accompanied
your system is a template of a very generic system, and we plan to
guide you through it later in this manual.
o CONFG.EXE. This executable program digests CTDLCNFG.SYS, converting
the information contained therein into a form that is far easier to
digest by computer programs. It is also responsible for generating new
data files when necessary (typically only when a new system is first
built!) and analyzing old data files. It produces a highly temporary
yet necessary file called CTDLTABL.SYS.
o CTDL.EXE. This is the main executable program of Citadel-86. It
expects to find CTDLTABL.SYS (remember that name?). If it finds it, it
reads it, erases it, and then continues to try to bring up the rest of
the system, using the information that it found in CTDLTABL.SYS. If
there are no severe abnormalities during CTDL.EXE's use, it will write
a new version of CTDLTABL.SYS for use the next time you bring up
CTDL.EXE.
II.3.a Who's this masked Temporary file, anyways?
CTDLTABL.SYS has been passed off so far as a temporary file, generated
by CONFG.EXE from digesting CTDLCNFG.SYS, and required by CTDL.EXE.
However, for a mere temporary file, it merits more discussion. We said
that CTDL.EXE expects to find it; you may have figured out that if it's
not there, then CTDL.EXE won't function properly. This is correct, and
the proper corrective action is to run CONFG.EXE. DON'T TRY TO USE AN OLD
VERSION OF CTDLTABL.SYS THAT YOU MAY HAVE SAVED IN CASE OF A CRASH! Yes,
we know that running CONFG.EXE to generate a new CTDLTABL.SYS can take a
while if you're running a big system. We mentioned that CONFG.EXE
analyzes old data files; as it happens, the results of this analysis is
also placed in CTDLTABL.SYS, and used to enhance access to various parts
of Citadel-86, such as the log.
If you use an old version of CTDLTABL.SYS, the older information can
cause Citadel-86 to look for messages that no longer exist, lose track of
new rooms and log accounts, and other behaviors that a sysop generally
finds disruptive to domestic tranquility. So, really, "Just say no." Run
CONFG.EXE if you lose your current CTDLTABL.SYS through a crash or power
loss. (This can be automated. See section II.9 for advice on
batch files.)
II.3 (con't)
Back to the subject. We now know the purposes of the three primary
files of Citadel-86. CTDLCNFG.SYS contains information that only the
sysop can supply; CONFG.EXE processes CTDLCNFG.SYS and other data files,
producing CTDLTABL.SYS; CTDL.EXE requires CTDLTABL.SYS, and constitutes
the main executable of Citadel-86.
-6-
So, in short form, here's how you run Citadel-86:
o Modify CTDLCNFG.SYS to taste.
o Run CONFG.EXE.
o Run CTDL.EXE as many times as desired, as long as each run is
terminated normally.
If you crash, either from a fatal bug or power loss or whatever, just
run CONFG.EXE again.
II.4 Other Data Files
When you run CONFG.EXE for the first time, a number of data files are
created, and they're what we're going to talk about in this section.
These files contain the information -- accounts, rooms, messages, and
other things -- that make up any BBS. The capacities of these files are
selectable by the sysop, and once selected they remain the same size as
CTDL.EXE runs (don't panic, though -- they can be changed through the use
of Citadel-86 utilities!). And with no more delay....
o CTDLMSG.SYS. This file contains all the messages in the system.
o CTDLROOM.SYS. This file contains information about the rooms in your
system. The size of this file is given later in this
manual.
o CTDLLOG.SYS. This file contains all the accounts for users on your
system. The size of this file is given later in this
manual.
o CTDLNET.SYS. This file, if it exists, will be 0 bytes long when
initially generated by CONFG.EXE.
o CTDLFLR.SYS. This file contains information about the floors in your
system. This is the only file of this group is not
static; it grows as you add floors to your system.
Don't panic, though. Each floor only takes 21 bytes.
These, however, are not the only data files that are associated with
Citadel-86. CTDL.EXE may, on occasion, generate data files also. These
files, unlike those generated by CONFG.EXE, are not static; however, they
are almost always very small.
o CTDLARCH.SYS. This file contains data about auto-archiving of rooms
(an advanced topic to be covered under day-to-day
operations).
o CTDLNET.SYS. This file, created by CONFG.EXE, will be expanded by
CTDL.EXE if you are participating in a network.
o CALLLOG.SYS. This file, an optional text file, is updated as each
caller hangs up.
o CTDLDIR.SYS. This file contains data about the directory rooms on
your system, specifically the name of the DOS directory
associated with each directory room on your system.
There are also the collection of help files that came with
Citadel-86, which we talk about in Section X.
-7-
II.5 The ole' configuration file
So... we're done with that dull, but necessary, overview. Now we get
down to that fun stuff, the screechy details of deciding those system
policies that can be enforced through the Citadel-86 software, where
certain data files or groups of data files will be kept on your system,
and some other details. We do this by editing the file CTDLCNFG.SYS
mentioned earlier in this manual, so you may want to haul out your editor.
Or you may not. Instead, it might be better to first read through this
section along with a printout of CTDLCNFG.SYS, (we've included a copy of
it in this file as well; see pages 35-42) comparing, taking notes,
understanding what is required and what questions you will have to answer
in order to set up your Citadel-86.
We've decided to divide the CTDLCNFG.SYS file into four sections in
this manual. The first section covers the utter necessities that must be
set correctly for Citadel-86 to come up, options that cannot be shut off,
and some miscellaneous doodads that aren't strictly required for a basic
system, but that we'd like you to set anyway. This first section makes up
the bulk of the CTDLCNFG.SYS parameters, and is the only one that you must
fill out in order to bring up Citadel-86; the rest of the sections
constitute options that are not necessary for a basic Citadel-86
(although, of course, they ARE useful!). If you're using a 'virgin' copy
of CTDLCNFG.SYS, the options in the rest of the sections have been set to
what we feel are harmless values.
The second section is made up of options that are useful, but not
necessary, for the operation of Citadel-86.
The third section is made up of options related to Citadel-86's
networker.
The fourth section covers extremely optional parameters designed to
make modem handling very flexible when necessary. (Don't read this
unless you have a captive, well-fed assembly-language programmer nearby.)
II.5.a But first, a word on moral values ...
There are two methods that values are set in CTDLCNFG.SYS. One method
is related to our reference to the fourth section, above, and will
thus be covered in that advanced section. The other method for setting
parameter values, used with the rest of CTDLCNFG.SYS, looks like this:
#<parameter name> <parameter value>
The '#' MUST be in the left-most column of the file in order for
CONFG.EXE to recognize it as a parameter. Indenting this line a space
provides an easy way to disable or save an old value when experimenting
and causes CONFG.EXE to ignore the line.
A parameter value will usually either be a numerical value or a string
value, and we'll tell you for each parameter whether your selection should
be numerical or a string. When it is numerical, always use decimal (with
the exception of the fourth section).
-8-
String values are always enclosed in quotes. Most string values are
used to indicate where to find certain files, but some string values are
special in that certain hard-to-express codes may need to be used in order
to accomplish something; this occurs almost exclusively when communicating
with odd modems (such as TransModems). Therefore, certain parameter
string values in CTDLCNFG.SYS will allow formatting "directives" to be
placed within them, which will be interpreted during the execution of
CTDL.EXE to do special things. The general format of a directive is a
backslash ('\') followed by a either a character that indicates a specific
action, or a sequence of three digits that represent an OCTAL value that
you need to be in this particular position to accomplish what you wish to
accomplish. Here is the list of characters that perform special actions
when following a backslash:
n: CR-LF
t: Tab character
b: Non-destructive Backspace
r: CR
f: Formfeed
": Put out a quote (allows quotes to appear in your strings)
\: Backslash
So, if you wanted to insert a CR/LF into a string value, you would type
"...\n..."
If you needed to have the binary value of 6 in a string value, you would
type
"....\006...."
Not all parameter string values accept these formatting directives;
those that don't will simply ignore them. We have marked those parameters
that do accept them both in this manual and in CTDLCNFG.SYS. (OCTAL
values, you say! Well.... the gentleman who donated the code to do the
formatting directives, a certain Dalnefre' of SynTel, is a C hacker, and
did it that way. We feel that it might be worth changing sometime in
the future, too.)
One more note. Certain of the string values in CTDLCNFG.SYS end up
being printed to the users via Citadel-86's formatter. In these cases,
when you use the CR/LF formatting directive ("\n"), remember to have a
space follow it -- otherwise, Citadel-86's formatter probably won't send
a CR/LF to the caller's terminal!
II.5.b Section 1 of CTDLCNFG.SYS
We're finally looking at CTDLCNFG.SYS. The file starts (or at least
our virgin copy does) with a short introduction to itself, which basically
tells you to consult this manual if you find it too terse. A short list
of supported formatting directives is also included.
-9-
Part 1 of Section 1: MEANINGLESS MISCELLANEA
We're going to start Section 1 with some miscellaneous parameters.
------
#nodeTitle
The first parameter you should find is called nodeTitle. It is a string
value that obeys formatting directives, and is subject to formatting
considerations. nodeTitle is the title of your installation that is
printed when carrier is detected on your system. More precisely,
nodeTitle will show up in the following place on your system:
Welcome to <#nodeTitle>
Running ...
However, nodeTitle may not necessarily be printed at this point,
because if a file named BANNER.BLB exists on your system in the right
place, it will be printed in place of the "Welcome to <nodeTitle>" part.
For more details, refer to Part 3 of this manual, on day to day operations
(when it comes into existence). EXAMPLE:
#nodeTitle "Test System\n Truly a Heaven in Reverse"
The #nodeTitle is printed out on .Read Status commands, also. There is no
formal limit on the length of this parameter, but you should definitely
use BANNER.BLB for long #nodeTitles, or to vary it easily.
------
#nodeName
nodeName is, in reality, purely a network parameter, and if you have no
plans to ever join a C86net, then there is no need to fill in this
parameter. However, it has always been traditional, even before there was
a net for any Citadel system anywhere, to fill in this and the next
parameter (and, so, sentimentally we feel this belongs in this
Miscellaneous section). nodeName is a string value which does NOT accept
formatting directives (i.e., formatting directives will be ignored). It
can be no longer than 19 letters long. It should be a short, mnemonic
name for your system. An EXAMPLE of a reasonable value:
#nodeName "ODD-DATA" -- The original Citadel
If you ever do join a C86net, messages from your system appearing on
another Citadel-86 node of that net will look something like this
82Nov23 from Cynbe ru Taren @ODD-DATA
except that ODD-DATA would be replaced with your value for #nodeName.
-10-
------
#nodeId
As mentioned, this parameter is a network parameter that has
traditionally always been set, even for non-network Citadels. If you have
no plans to ever be on a C86net, then you don't have to set this string
value parameter to anything important. If you do plan to join one,
though, (we'll go over this in more detail in the section on the network),
then you do have to set this parameter correctly. The format of this
parameter is
"<Country code><Area Code><Phone number>"
all of which applies to the phone that your system resides on. Country
code is a two letter sequence indicating what country you live in (US is
the United States, CA is Canada. Other country codes may be found in
COUNTRY.DOC. see page xx). Area code is the area code of your system (yes,
we are aware that there is a clear bias towards US-style telephony). And
Phone number is, of course, the phone number that your system is on. You
can put punctuation (such as parenthesis and dashes), but please be
conservative with them. This string value does not obey formatting
directives. Here's a fairly generic example:
#nodeId "US (612) 866 1804" -- Some system somewhere
Part 2 of Section 1: REQUIRED ODD STUFF
------
#baseRoom
OK, now we're out of the miscellanea and into parameters that you have
to set, starting with baseRoom. Citadel-86 always has a minimum of three
rooms, the Aide> room for housekeeping, the Mail> room for private
correspondence, and the <baseRoom>, which is the room that a caller is
always initially placed in. (Historical note: the old CP/M Citadel called
this room the Lobby>; we've only made the name of the Lobby> selectable by
the sysop.) This parameter is a string value that obeys formatting
directives and goes through the Citadel-86 formatter, and you must limit
yourself to 19 characters or less for this value. And one more note --
Citadel-86 will append the '>' to this name when it prints the room prompt
for this room, you don't have to put it in yourself. If you wished to
emulate the old CP/M Citadel, you'd set baseRoom thus:
#baseRoom "Lobby"
There is no default for this parameter.
------
#MainFloor
MainFloor is analogous to #baseRoom. Any Citadel-86 V3 has a base
floor, just as it has an Aide> room, etc. This parameter allows you to
name this base floor. This parameter is a string value which cannot be
longer than 19 characters, and specifies the name of your base floor. So,
if you want to name your base floor MAIN FLOOR, you'd have
#MainFloor "MAIN FLOOR"
There is no default value for this parameter.
-11-
------
#CRYPTSEED
Citadel-86 automatically encrypts all sensitive data files. While the
algorithm used can, of course, be broken by the determined, particularly
since the code is available for perusal, the encryption does provide
protection against casual eyes, mistakes, and amateur system breakers. We
do encourage you to take precautions of your own, such as not opening
directory rooms that look at sensitive data.
CRYPTSEED is an encryption seed that Citadel-86 uses to encrypt your
data; if someone should acquire of all of your data files but for
CTDLCNFG.SYS, then they still won't have access to your system until they
figure out what your CRYPTSEED is. DON'T EVER CHANGE THIS VALUE WHILE
RUNNING A CITADEL-86, OR EVERYTHING WILL BECOME MESSED UP!
We do not know of any value that you can select that will "deactivate"
the encryption process (to be frank, we don't understand the encryption
algorithm ourselves). Pick a value at random; the value should be a
value less than 65536. Here's an example:
#CRYPTSEED 69 -- a little hubris for the shy
Part 3 of Section 1: DATA FILE SIZES
------
#MESSAGEK
MESSAGEK defines how much disk space you wish to allocate for messages
on your installation. There is no way to define how many messages you
want in your system, or how fast they turnover. All the messages in your
system will reside in CTDLMSG.SYS, and thus the number of messages in your
system at any given moment will depend on the length of the messages being
entered into the system by your users. The turnover rate of your messages
will depend on how busy your system is. As an example, Test System has a
611K message base, which holds 2100 messages +/- 300, of which some are of
fairly good length. Turnover seems to between 3 weeks and a month, since
80-160 messages are entered a day. However, Test System is also a busy
system.
The sysop of an installation should also keep in mind that very large
systems, with many new messages, can be intimidating to new users, so
large message spaces should be approached with caution. Remember, there
is a utility for expanding the message base, but not for shrinking it.
This is a numerical value which you specify in 'K', which is actually
1024 bytes/K. So, for example, to specify a 250K message file
#MESSAGEK 250 -- 250K message base
------
#MSG-SLOTS
This numerical parameter specifies how many messages per room will
be used on this system (the lone exception is the Mail>, which is covered
by the following parameter). If you wanted to use Citadel-86's
traditional number of messages per room, you'd have
#MSG-SLOTS 58
-12-
------
#MAIL-SLOTS
This is a numerical parameter specifying how many messages per log
record that you wish to reserve for Mail. The Mail> room is the only
room in the system whose data is not kept in CTDLROOM.SYS. Instead, the
file CTDLLOG.SYS contains the "Mail>" room, reserving for each account
enough room for MAIL-SLOTS Mail messages. Therefore, this parameter gives
you the ability to decide the maximum number of Mail> messages per user
that they can access. Please remember that if a user gets more messages
in Mail> than there are MAIL-SLOTS between two successive logins, then
they will lose the earlier messages sent to them. Another consideration
is that many users like to review old Mail when engaged in an in-depth
private conversation. Therefore, setting MAIL-SLOTS to a low value may
not be the attractive alternative that it first seems. However, it should
go without saying a high MAIL-SLOTS value may eat up more room than
necessary on your drives. The section on LOGSIZE will give an exact
formula for how much space your log will take up. If you wanted to use
what Citadel-86 used before V3, you'd have
#MAIL-SLOTS 58
------
#MAXROOMS
This numerical parameter specifies the maximum number of rooms your
system will support. Since the baseRoom, Aide>, and Mail> room are
necessary, the smallest value you can give is 3. The largest number is
65536 (probably). If you wanted to have a 64 room system, you'd have
#MAXROOMS 64
You can use the following formula to estimate the number of bytes a
room file will take up on your system:
# of bytes = MAXROOMS * (50 + (6 * MSG-SLOTS))
------
#LOGSIZE
This numerical parameter gives you, the sysop, the ability to decide
how many accounts will be available on your system. If you run a system
in which more accounts are used than there are accounts reserved, then new
accounts are generated by killing old accounts. The account that will be
replaced with the new account is that account which has not been used in
the longest time (in other words, accounts that are not used will be the
first to be killed).
All space is reserved immediately for these accounts. The size of
this file can be estimated from the formula
# of bytes = LOGSIZE * (82 + MAXROOMS + (6 * MAIL-SLOTS))
so if you are operating in a restricted environment, plan accordingly.
If you need to, you can expand the size of the log through the use of
the DATACHNG utility, but the log cannot be shrunk. This is a numerical
value. Here is an example:
#LOGSIZE 180 -- Usually adequate.
-13-
Part 4 of Section 1: DATA FILE LOCATIONS
Now we discuss where you want the data files to be located on your
system. These parameters are all specified in the same way, as a string
value (which does not obey formatting directives, naturally) that tells
Citadel where on your system the given data file or files associated with
the given parameter is located.
Simply use the MSDOS relative directory specification. You can
ONLY specify a directory that is a subdirectory of the current directory
on the disk that you specify (if you don't specify a disk, then the
current disk will be assumed). So, some sample valid specifications would
be "c:", "a:system", "b:msgs", and "i:bark". Some sample INVALID
specifications include "c:\citadel\msgs" (that is an absolute
specification, rather than relative), "a:\audit" (ditto), and "i:.."
(".." is technically not a subdirectory, but a parent directory).
If CONFG.EXE cannot find the directory that you specify, it will
attempt to create that directory, after asking permission.
------
HELPAREA
This parameter specifies where all of your Help files will be located.
These files are *.HLP, *.BLB, and *.MNU. Normally, you should create this
directory and place the help files in the directory before bringing up
Citadel-86, since help files are usually online at all times.
#HELPAREA "c:helps" -- helps subdirectory on drive C:
------
LOGAREA
This parameter specifies the location of your CTDLLOG.SYS file (this
file is sized by your LOGSIZE parameter).
#LOGAREA "c:system" -- put it in a general system dir
------
ROOMAREA
This parameter specifies the location of CTDLROOM.SYS, CTDLARCH.SYS,
and CTDLDIR.SYS.
#ROOMAREA "system" -- another general system dir
------
MSGAREA
This parameter specifies the location of CTDLMSG.SYS.
#MSGAREA "c:msg" -- give msgs there own place in the sun
------
FLOORAREA
This parameter specifies the location of CTDLFLR.SYS.
#FLOORAREA "floors"
-14-
Part 5 of Section 1: POLICY OPTIONS
Now we enter the POLICY part of the CTDLCNFG.SYS file. The parameters
discussed here represent the parts of your policy that can be enforced via
the Citadel-86 software.
------
#AIDESEEALL
This parameter is a toggle that gives you some power over the scope of
your aides' "vision". If you set this parameter to 1, then your aides
have access to all public AND private rooms (but not invite rooms, unless
the have been invited). If this parameter is set to 0, then aides only
have access to public rooms, plus those private and invite rooms that
they've been invited to. So, if you want your aides to see all public and
private rooms, you would have
#AIDESEEALL 1 -- See all but invite rooms
if you don't want your aides to be so nosy, then you'd have
#AIDESEEALL 0 -- See only public rooms.
------
#LOGINOK
The LOGINOK parameter controls whether your system is an "open" or
"closed" system. If you set LOGINOK to 1, the system will allow anyone to
log in as a "new" user; that is, it will ask a caller who uses an
unrecognized password if they wish to login as a new user. If LOGINOK is
set to 0, the system will simply tell the caller without a valid password
that there is no record of that password, and that they should leave
Mail> to the sysop; the only way to enter new users into the system is
from the system console. If you want an open system, for example, you
would have
#LOGINOK 1 -- let the riff-raff in!
------
#ENTEROK
ENTEROK controls whether a caller who is not logged in can enter
messages or not. If ENTEROK is 1, then a caller who has not logged in
can enter messages; if it is 0, then they must log in first, except for
Mail to the sysop. Setting ENTEROK to 0 can reduce vandalism; setting
it to 1 gives your callers the privilege of anonymity.
#ENTEROK 0 -- log in first, folks!
------
#READOK
READOK controls whether an unlogged caller can read messages. If
READOK is 1, then they may. If READOK is 0, then an unlogged caller can
only read the policy statement available in the Mail> room (POLICY.HLP),
and the help files. Setting READOK to 0 can discourage unwelcome callers
from using scarce system time.
#READOK 0 -- gotta login to read these gems...
-15-
------
#ROOMOK
ROOMOK controls who can create new rooms on your system. If ROOMOK is
1, then any logged in user of the system may create new rooms. If ROOMOK
is 0, then only aides may create new rooms on your system.
#ROOMOK 1 -- a liberal policy
------
#ALLMAIL
ALLMAIL controls who can use the Mail> room. If ALLMAIL is 1, then
any user may use Mail> to send private messages to any other user on the
system. If ALLMAIL is 0, then only Aides may use the Mail> room in a
general manner; regular folk can only use Mail> for messages to Sysop.
Setting ALLMAIL to 0 may be appropriate on tightly focused systems
operating in a small environment.
#ALLMAIL 1 -- the normal policy
Part 6 of Section 1: MODEM HANDLING
We now enter into defining the essential details of your communications
hardware.
------
#IBM
You use this parameter to tell your Citadel-86 if your system is
running on an IBM PC/XT/AT or compatible, or if it is running on a Zenith
Z-100 (set it at 0). If you have an IBM, you'd have
#IBM 1 -- Big Boo
------
#COM
This parameter is meaningful only for IBMs, and selects which COM port
the modem is attached to (on Z-100s only J2 ports are supported). For
IBMs, only COM ports 1 and 2 are supported.
#COM 1 -- If you are using COM1.
------
#SYSBAUD
The SYSBAUD parameter is used to tell Citadel-86 what baud rates your
hardware will support. Citadel-86 cannot normally be configured to run
high baud rates while excluding lower baud rates (i.e., operate
correctly at 1200 baud but not at 300 baud). A value of 0 indicates that
the system is a 300 baud system, 1 indicates 300/1200, 2 indicates
300/1200/2400, 3 indicates 3/12/24/48, and 4 indicates 3/12/24/48/96.
#SYSBAUD 1 -- A 3/12 system.
------
#SEARCHBAUD
IF YOU ARE A NOVICE, WE SUGGEST SETTING THIS PARAMETER TO 1, EVEN IF
YOU DO HAVE AN INTERNAL HAYES MODEM. ONLY PLAY WITH THE SEARCHBAUD
PARAMETER AFTER YOU HAVE A CITADEL-86 INSTALLATION THAT WORKS CORRECTLY.
-16-
The SEARCHBAUD parameter is used to tell Citadel-86 how to find the
baud rate of the caller. If the value of this parameter is 1, then
Citadel-86 will search for the correct baud rate by switching through each
of the valid baud rates for this installation, searching for a half second
at each baud rate for a carriage return from the caller. If the value
of this parameter is 0, then Citadel-86 assumes that you have a
failure-proof method of detecting the baud rate of the caller, and will
execute the interpreter routine CHECKBAUD to find it. If you check the
advanced section on interpreter routines, you'll notice that CHECKBAUD is
set up to handle a Hayes/compatible 1200 baud internal modem on an IBM,
by checking the modem's high speed pin. This is the only way which we are
aware of for infallibly detecting the baud rate of the modem; Hayes result
codes are NOT a guaranteed method, although we detail support for Hayes
result codes later in this manual.
#SEARCHBAUD 1 -- Normal setting
------
#modemSetup
This parameter is used to initialize your modem. It is a string value
parameter that obeys the formatting directives; however, you should be
warned that Citadel-86 automatically appends a "\r" to the end of this
string before sending it to the modem.