home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
bbs
/
fn132bin
/
again
/
ctdlcnfg.doc
< prev
next >
Wrap
Text File
|
1991-09-02
|
38KB
|
782 lines
*----------------------------------------------------------------------------*
* CTDLCNFG.SYS -- Fnordadel v1.32 configuration file.
*----------------------------------------------------------------------------*
* Fnordadel is maintained by Adrian Ashley (elim @ secret) and Royce
* Howland (Mr. Neutron @ RT); any errors in this document are mostly our
* fault. Portions of the text of this file borrowed with thanks from
* ctdlcnfg.sys & ctdlcnfg.doc by orc.
*----------------------------------------------------------------------------*
* To bring up your system, edit this file to suit your tastes, and then
* run configur.tos on it. Configur will create all the system files that
* Fnordadel needs. Then run citadel.tos, and you're off!
*
* The only valid lines in ctdlcnfg.sys are ones that begin with '#'. Anything
* else is assumed to be a comment. Valid lines are of two types:
*
* 1) #define <variable> <value>
* 2) #<variable> <value>
*
* Form (1) is used to set numeric values, like `#define logsize 100'. Note
* that many of these variables are switches; that is, they may only take the
* value 0 or 1. (Actually, any nonzero number is equivalent to 1 in this
* context, but let's keep it simple.)
*
* Form (2) is usually used to set string variables. Which leads us to...
*
* String Fields: The following fields are strings, and must be enclosed in
* quotes. They allow some C-type escape characters in them: '\r' for <CR>,
* '\n' for newline (CR + LF), \nnn for the ASCII character represented by the
* octal number 'nnn', and '\\' for a single '\'.
*
* #reply300 #nodetitle #calloutprefix
* #reply1200 #baseroom #calloutsuffix
* #reply2400 #basefloor #modemsetup
* #reply9600 ^
* #reply19200 +-----<Modem control strings>
*
* The modem control strings have an additional special escape in them.
* Any `%nnn' sequence will make Fnordadel pause for `nnn' tenths of a
* second before continuing. For instance,
*
* #modemsetup "AT\r%10AT S0=1 M1 E0 Q0 X1\r%10"
*
* will send AT\r to the modem, wait one second, send AT S0=1 M1 E0 Q0 X1\r to
* the modem, then wait another second.
*
* NOTE: All numbers in this file should be decimal, as opposed to hexadecimal
* or octal.
*
*----------------------------------------------------------------------------*
#nodetitle "Secret Service: Best in the West!"
* #nodetitle is what Fnordadel uses in the .RS command ("This is ....");
* and if you haven't got a banner.blb in your help directory, it uses this
* field to identify your system to callers. This field must be defined.
#nodename "secret" * 19 chars max. (try to keep under 9)
#nodeid "CA (403) 425-1779" * 19 characters max.
#organization "Fnordadel Development" * 39 characters max.
#domain "Alta" * 19 chars max. (usually 2 chars)
* #nodename is the short name Fnordadel uses for your system in networking.
* Messages from your system will be from "user@<nodename>".
*
* #nodeid is the phone number of your system. Users will never see
* this field. The node id should be in the form `XX (NNN) NNN-NNNN'
* ^ ^ ^
* country (CA = Canada, US = United States) -+ | |
* area code (for North American number) ------+ |
* local number -----------+
*
* #organization is used to identify your system somewhat more descriptively
* than #nodename does. It can say anything, really -- what your system is
* for, where it is located, who you want to win the Stanley Cup -- anything.
* The field will appear so: "...from user @ nodename (organization)"
*
* #domain sets your system's domain. A domain is an arbitrary collection of
* networking systems. Usually, domains are based on geographical regions of
* some kind, but they could be based on anything at all. The Citadel net
* uses state or province as the domain base. If there is no domain for your
* state or province yet, you can either start one yourself or join the domain
* of another region.
#baseroom "Lobby" * 19 characters max.
#basefloor "Ground Floor" * 19 characters max.
* #baseroom tells Fnordadel what you want the first room in the system
* (usually called 'Lobby') to be called. It defaults to Lobby if you don't
* define this field.
*
* #basefloor is used to define what the first floor will be called. It, too,
* defaults to Lobby, or to the same name as #baseroom if #basefloor is
* left undefined.
#syspassword "d:\blort\foo.bar"
* The sysop password allows access from remote to the sysop menu.
* #syspassword is the name of a file, the first line of which is the actual
* sysop password. For example, if you have #syspassword "\sys\password.dat",
* and the first line of that file says "Supercalifragilisticexpialidocious",
* then "Super<etc>..." becomes the sysop password. The password must be at
* least 15 characters long.
#sysop "elim"
#define archive-mail 1
* This defines who the sysop is. Any mail sent to "Sysop" will be sent to
* this user instead. If #sysop is not defined, mail to "Sysop" ends up in the
* Aide> room. When the user named in this field first logs in, he/she will be
* automagically given Aide, Network and Sysop privileges -- so DON'T define
* this field and then forget about logging in as the named user!
*
* `archive-mail' allows the sysop to have all of his/her Mail> (both To and
* From the Sysop) saved to a diskfile, specifically `sysop.msg' in your
* #auditdir. Set `archive-mail' to 1 to enable this feature. Note that
* #sysop should be defined to use this properly, though it doesn't need to be.
#shell "c:\bin\command.tos"
* #shell is the command line interpreter (shell) invoked by the [O]utside
* command in the sysop menu. If you're using doors and have one called
* `shell', it will override #shell.
#define logsize 100
#define messagek 128
#define cryptseed 069
* `logsize', `cryptseed', and `messagek' are all essential and MUST be defined.
*
* `logsize' says how many userlog entries you want your BBS to have. This
* number is fixed when you first configure the system; it can only be changed
* by running lchange.tos. Each userlog entry consumes about 0.5k (512 bytes),
* give or take a few.
*
* `messagek' says how large you want your messagebase to be, in kilobytes.
* Configur will round this number up to the next multiple of 4. Err on the
* side of caution, if at all -- expanding the message base is easier than
* shrinking it, although both are possible using mexpand.tos and mshrink.tos
* respectively.
*
* `cryptseed' is a magic number used by Fnordadel to encrypt all of its
* system files (to hide them from prying eyes). DO NOT change this number
* after you've first configured your system; if you do, all Heg will break
* loose.
#define maxrooms 64
#define mailslots 58
#define sharedrooms 16
* `maxrooms', `mailslots' and `sharedrooms' are also all essential and MUST
* be defined.
*
* `maxrooms' is the maximum number of rooms that may be present on your
* system. The historical limit has been 64, though you are free to change it.
* Note that each room takes a minimum of 1k on disk, as each room is stored
* in a separate disk file. Try to estimate the number of rooms you'll need;
* you can add more later (see rchange.man).
*
* `mailslots' refers to the maximum number of messages accessible to users
* (at any one time) in the Mail> room. This value will affect the size of
* the userlog; each additional mailslot takes (6 * logsize) bytes in the log
* file (see mchange.man).
*
* `sharedrooms' is the maximum number of rooms that may be shared (networked)
* with any given network system. The historical limit is 16; if you have a
* lot of networked rooms, you may want to raise this (see nchange.man).
#msgdir "c:\sys"
#sysdir "c:\sys"
#roomdir "c:\rooms"
#helpdir "c:\help"
#auditdir "c:\audit"
* These fields MUST be defined. They are the names of directories where
* Fnordadel will store its various datafiles.
* #msgdir is where the messagebase lives (ctdlmsg.sys);
* #sysdir is where the floor, userlog, and other system files live;
* #roomdir is where the room files live;
* #helpdir is where all your helpfiles, menus and other good things are;
* & #auditdir is where Fnordadel will put the call log, network log, etc.
#netdir "c:\net"
* Also known as #spooldir (either works), this is where Fnordadel will put
* all the stuff it needs to network with other systems. You must have this
* defined, even if you don't plan to network, because another system may
* call yours and send you (the Sysop) mail, at the very least.
#define keephold 1
#holddir "c:\hold"
* If you have `keephold' set to 1, Fnordadel will save users' held-messages
* on disk. If they terminate and login again sometime later, their messages
* will be retrieved. If `keephold' is set to 0, Fnordadel will still save
* the held messages to disk, but they get deleted when the users log out.
* `#holddir' designates the directory in which the held messages are to be
* stored. Note that each user may have at most one held message at any given
* time.
#define call-log 1
#define audit-files 1
#define audit-calls 1
#define audit-exit 1
#define download 200
* If `call-log' is 1, the system will keep a call log in #auditdir, recording
* who called when and did what. If `audit-calls' and/or `audit-exit' are set
* to 1, a call log (called `calllog.sys') will be kept; `audit-calls' records
* login and logout times of callers while `audit-exit' records when the system
* was brought up & down. If `audit-files' is set to 1, file accesses by users
* will be recorded in `filelog.sys'.
*
* Defining `call-log' is the same as defining `audit-calls' and `audit-exit'.
*
* `download' is the number of kilobytes any given user can download in a day.
* If this is set to zero, unlimited downloading is permitted.
#define receiptk 80
#receiptdir "a:\inbound"
* The Citadel network allows files to be sent and received between systems.
* If your Fnordadel is networking, you need these two defined. `receiptk'
* is the number of kilobytes your system will accept in file transfers from
* other systems, and #receiptdir is where these files go. If you have more
* than `receiptk' kilobytes worth of files in your #receiptdir, Fnordadel
* will not take any more files during networking. (This is to avoid filling
* your disk to overflowing...) So this means that you should regularly empty
* your #receiptdir.
#define loginok 1
#define readok 0
#define enterok 0
#define roomok 1
#define infook 1
#define allmail 1
#define allnet 0
#define alldoor 1
* These parameters govern certain behaviours of Fnordadel.
* loginok - if 1, anyone can call and login at any time (an open system).
* - if 0, new callers will only be able to leave Mail to the Sysop,
* presumably to request an account.
* readok - if 1, people not logged in yet will be able to read messages.
* - if 0, they won't.
* enterok - if 1, people not logged in yet will be able to enter messages.
* - if 0, they won't.
* roomok - if 1, everyone who is logged in can create rooms.
* - if 0, only Co-Sysops and Aides can do so.
* infook - if 1, everyone who creates a room can create its room info.
* - if 0, only Co-Sysops and Aides can create room info.
* allmail - if 1, everyone can send Mail>.
* - if 0, only Co-Sysops & Aides can send mail to anyone but
* `Sysop'.
* allnet - if 1, all new users get network privileges automatically.
* - if 0, the Sysop has to give out netprivs individually.
* alldoor - if 1, all new users get door privileges automatically.
* if 0, the Sysop must give out door privs individually.
#define defshowtime 1
#define deflastold 0
#define deffloormode 1
#define defreadmore 0
#define defnumleft 0
#define defautonew 0
* These binary flags set the default values for certain user configuration
* options. They are normally not options settable by the user unless he/she
* is an expert, so they will define the defaults inheritted by non-experts.
* If these variables are not explicitly set, they will take on default values
* matching the example values shown above.
* defshowtime - if 1, message creation time is shown in message headers.
* - if 0, message creation time is not shown.
* deflastold - if 1, the last old message in the room is displayed
* when the user executes [N]ew.
* - if 0, the last old message is not displayed.
* deffloormode - if 1, the user is put into floor mode.
* - if 0, the user is not put into floor mode.
* defreadmore - if 1, the "more" prompt is automatically active during
* message reading.
* - if 0, the "more" prompt is not automatically active.
* defnumleft - if 1, the number of messages remaining to be read is
* shown in message headers.
* - if 0, the number of messages remaining is not shown.
* defautonew - if 1, die-hard STadel or Citadel-86 fans will be at
* home, since new messages in Lobby> will be shown
* automatically at login time.
* - if 0, new Lobby> messages are not automatically shown.
#define getname 0
#define autozerolimit 0
* With the following, a value of 0 means
* "unlimited".
#define msgenter 10
#define mailenter 10
#define anonmailmax 1000
#define infomax 1000
#define maxcalls 0
#define maxtime 0
#define maxclosecalls 0
#define closetime 0
#define mincalltime 0
#define newusermsgs 50
* If `getname' is set to 1, Fnordadel will require users to login using their
* name and password, instead of just their password. This adds an extra
* layer of security, because to crack an account a cracker must not only
* guess a valid password of someone in your user log, but he must ALSO guess
* the name of the user to which the password belongs. Tricky.
*
* `autozerolimit' is a binary flag which controls how the system reduces users'
* time and call limits. The first time a user signs on during a given day,
* his/her count of calls and times are reduced by the amount of the limit.
* (e.g., if you have `maxtime' set to 60 minutes, and the user has 150
* cumulative minutes, his/her total will be reduced to 90 (150 minus 60), and
* he/she therefore won't be allowed on today.) If you set the `autozerolimit'
* flag, all cumulative totals are reset to zero on a new day. (All past sins,
* no matter how great, are forgiven...) If you have a lot of doors which
* crash and chew up lots of your users' time, or if you're just a kind person,
* you might want to set this flag. Of course, if you're a kind person, you
* probably won't be using any of this limit crap anyway.
*
* `msgenter' is the maximum number of messages enterable by any one user in any
* one room (except Mail>) in any one login session. Users on the console,
* Aides & Co-Sysops are exempt from the msgenter restriction. If the value is
* 0, no message entry limit is placed on any user.
* You would use this parameter to prevent ruggies from scrolling your message
* base (or, at least, to make it slightly more difficult for them to do so),
* or perhaps to control enthusiastic users' tendency to post a lot of small
* messages in a row.
*
* `mailenter' is just like `msgenter', but controls the Mail> room only.
*
* `anonmailmax' is the maximum size of Mail> messages enterable by users who
* are not logged in. Use this to limit vandalism through anonymous mail if
* your system is in validation mode (i.e. #loginok is 0, and users are not
* allowed to create their own accounts). The default is 1000 characters; the
* acceptable range is 100 to 10000 characters.
*
* `infomax' is the maximum size of room info files when room info is created
* by users who aren't Aides or Co-Sysops. The default is 1000 characters;
* the acceptable range is 100 to 10000 characters.
*
* `maxcalls' is the maximum number of times any user may call in one day. All
* Aides, Co-Sysops and console users are exempt from this limit. If the value
* is 0, there is no limit placed on any caller.
*
* `maxtime' is the maximum number of minutes of connect time any user can have
* in one day. All Aides, Co-Sysops and console users are exempt from this
* limit. If the value is 0, there is no limit placed on any caller.
* The limit is checked only at time of login. If you set the limit to 15
* minutes, for example, a user could still call once and stay connected for as
* long as desired. But on the next call that day, he/she would be informed
* that the limit had been exceeded, and not be allowed to sign on. At his/her
* next login attempt on any day following today (could be many days later),
* the `maxtime' value is subtracted from his/her accumulated time, and the
* limit checked again. Thus if he/she really* hogs the system today, he/she
* might not be able to sign on for any number of days. This approach seems a
* good compromise between freedom for the users and control for the Sysop.
* NOTE: the system adds at least `mincalltime' minutes of connect time per
* call, even* for calls where the user is prevented from logging on by one of
* these limit values. See the description of `mincalltime', coming up.
*
* `maxclosecalls' is the maximum number of close calls any user may make in one
* day. ("Close call" is defined in the next parameter description.) Aides,
* Co-Sysops, and console users are exempt from this limit. If the value is 0,
* there is no limit placed on any caller, and the following parameter is
* unused.
*
* `closetime' is the maximum number of minutes separating two calls by the same
* user, for those two calls to be recognised as "close calls". If the value is
* 0, there is no limit placed on any caller, even if `maxclosecalls' is not 0.
* Example: if `closetime' is define as 15, and user Foobar calls once at 12:30
* and again at 12:42, the time between the two calls is 12 minutes. Since 12
* < 15, the system will know the calls are close, and possibly prevent the user
* from signing on, if the `maxclosecalls' value has been exceeded.
* This parameter, like `msgenter', was designed to help a Sysop control ruggie
* abuse. Ruggies attempting to scroll a message base will run into the limit
* placed by `msgenter', and therefore usually attempt a series of short,
* closely grouped calls to enter more messages. Using `maxclosecalls' and
* `closetime', a Sysop can prevent this sort of rapid-fire calling, increasing
* the hassle factor for the would-be ruggie, and giving other Aides and
* Co-Sysops a greater chance to sign on to the system before the ruggie has
* done major damage, and take appropriate steps.
*
* `mincalltime' defines the minimum number of minutes that each call "counts"
* toward a user's cumulative daily connect time. I.e. if you set
* `mincalltime' to 5, each call less than 5 minutes in duration will still
* count for 5 minutes. If you define `mincalltime' to 0, or leave it
* undefined, the system assigns the value `1'.
*
* `newusermsgs' controls how many messages on the entire system will be new to
* a first-time caller. The value defaults to 50 if not present, and setting it
* to 0 means that all messages should be new. You would set it to a non-0
* value to prevent users from being swamped on their first call, or from using
* excessive system time while reading every single message on the system.
#define numbanners 0
#define bannerblb 0
#define width 79
#define esc 0
#define showusage 1
#define showrecd 1
#define aide-forget 1
#define aidekillroom 1
#define sysopsleep 1
#define vaporize 0
* `numbanners' is the number of rotating banners to use. They live in files
* banner.1, banner.2, ... . If this parameter is 0, it means just use the
* normal system banner file, banner.blb. Max value is 999.
*
* `bannerblb' tells the system whether to display the banner.blb file after a
* rotating banner. Set this to 1 if you'd like that to be done.
*
* `width' is Fnordadel's default screen width, used when nobody is logged in.
*
* `esc' tells Fnordadel whether to display ESCape characters or not. If this
* is set to 1, ESCs will be passed through and will thus allow VT-52 graphics
* or whatever. Set this to 0 if you don't want screen gymnastics.
*
* If `showusage' is set to 1, Fnordadel will report free disk space every
* time someone does .R(ead) D(irectory) or .R(ead) E(xtended-dir), from remote
* or console. If set to 0, free space is reported only when the user is on
* the console. The reason you'd set this to zero is that (A) Your setup may
* take a while to find free space; or (B) You're guarding military secrets
* which would be leaked if someone were to find out how much space you have
* left on your disk.
*
* `showrecd' controls the display of the "Received" flag in Mail>. Fnordadel
* keeps track of whether a mail message has been read by its recipient, and
* will show the author of the message the state of this flag if he/she re-reads
* the message at some future time. Set this variable to `0' if you don't
* want users to see the flag.
*
* If `aide-forget' is 0, Aides cannot forget any rooms. (They will appear to,
* but forgotten rooms will mysteriously reappear on their next call.) If 1,
* Aides can forget rooms like any other user.
*
* If `aidekillroom' is 0, Aides are not permitted to kill rooms. If 1, they
* can do so.
*
* `sysopsleep' controls whether Fnordadel will log off console users (e.g.
* the Sysop) following a delay with no keyboard activity, in the same fashion
* that it does for modem users. Set this variable to `0' if you wish console
* users to be punted, `1' if you wish them to be immune to the time-out.
*
* `vaporize' controls the behavior of the local message purge routine, if you
* make use of it. If `1', messages to be purged are done away with silently,
* and the space they took up is reclaimed by the system (if possible); the
* only notice is a single Aide> message stating the vaporization took place.
* If `0', purged messages are noisily deleted, each being moved into Aide>
* with a message "The following message deleted by Citadel".
#define netlog 1
#define chat 1
#define netdebug 0
#define debug 0
* These four switches allow you to set defaults for certain options. Namely:
*
* netlog - instructs the BBS to keep a log in #auditdir of all network
* activities. Be careful, as this can get quite large if you
* do enough networking and don't delete the file now and then.
* chat - sets the chat mode toggle. If 1, the board will page the
* sysop if a user asks to chat; if 0, it will spew out
* `nochat.blb' from your #helpdir instead.
* netdebug - turns network debugging on/off. If it's on, you'll see some
* gibberish on your screen (or rather, more than usual...) when
* your Fnordadel networks.
* debug - general debugging switch. You should never have to use this.
*
* All four of these variables can be overridden with command line options to
* citadel.tos and/or commands in the sysop menu.
#archiver ARC arctoc
#archiver ZOO zootoc
#archiver LZH lzhtoc
* #archiver is a mechanism for telling Fnordadel how to read the headers
* of various archive formats. For each format you want Fnordadel to
* recognise, write a line of the form
*
* #archiver EXT doorname
*
* where EXT is the extension which distinguishes archives of the type, and
* doorname is the name of a door defined in ctdldoor.sys which will read the
* archive header. Some sample ctdldoor.sys entries defining archiver doors:
*
* arctoc udrtv c:\bin\arc.ttp -v # ARC file reader
* zootoc vx c:\bin\zoo.ttp v # ZOO file reader
* lzhtoc udrtv c:\bin\lharc.tos -v # LZH file reader
*
* So for example, when a user enters .R(ead) H(eader) FOOBAR.LZH, Fnordadel
* will execute the door `lzhtoc' by running `c:\bin\lharc.tos -v FOOBAR.LZH'.
* It is important to put the 'v' flag in the second field; it identifies the
* door as an archiver door. Note also that in the first and third examples we
* have defined user permissions (u, d, r, t) because we are also allowing the
* the door to be used in the standard `!doorname' fashion. In the second
* example, we specify the 'x' flag which tells Fnordadel that the door is
* for the system's internal use only, and so it cannot be accessed directly by
* users (and therefore doesn't care what permissions it's got.)
*
* See the Doors chapter in the Reference Manual for more information.
*----------------------------------------------------------------------------*
* The following fields have to do with Fnordadel networking. It might
* be a good idea to look at the network documentation in the Reference Manual
* before you go through this section.
#define zaploops 1
#define purgenet 1
#define keepdiscards 1
* `zaploops' tells Fnordadel to use the loopzapper. The loopzapper compares
* the time and date stamp on each incoming message with the latest recorded
* message received from that system in that room; if it's earlier, the
* incoming message will be rejected. This is to stop the endless vortexes
* that tend to plague the network now and then (IE: seeing the same messages
* over and over and over because of a loop in the net topography...) The
* loopzapper does take some space and tends to do a lot of munging, so if
* you're running on a floppy system, you may not want to bother. Also, if
* you feed network rooms off only ONE system, and that system has its
* loopzapper on, then you don't need yours.
*
* `purgenet', if 1, tells Fnordadel to purge incoming net traffic when
* citadel.tos is invoked with the `+purge' command-line option. If 0,
* `purgenet' will cause Fnordadel to leave net traffic unmolested.
*
* `keepdiscards' is a flag controllowing whether Fnordadel will keep a copy
* of the messages weeded out by the `zaploops' and `purgenet' functions. If 0,
* no copies are kept. If 1, each message vaporised is written in #netdir, to
* a file of the format `XXXXXXXX.dis', where `XXXXXXXX' is a unique eight-digit
* hex number, being a representation of the date & time (in seconds) the
* message was toasted. The Sysop may peruse these files and optionally grab
* them into the message base if they were deleted in error. Be warned -- the
* file format is a bit funny. It will be made use of in the future (hopefully)
* with a Fnordadel utility to browse the messages & automatically stick
* selected ones back into the message base.
#define forward-mail 1
#define anonnetmail 1
#define anonfilexfer 1
#define pathalias 0
#hub "wherever"
* `forward-mail' tells Fnordadel that your system is able and willing to pass
* on routed network mail to other systems. If you set this to 0, routed mail
* will not be forwarded.
*
* `anonnetmail' allows the Sysop to control whether his system will receive
* net mail from unknown net nodes. If the value is 1, mail will be accepted.
*
* `anonfilexfer' allows the Sysop to control whether his system will engage
* in net file transfers with unknown net nodes. If the value is 1, net file
* transfers will be work; if 0, neither file receiving nor sending will be
* permitted. (An unknown net node is one not in the net list.)
*
* `pathalias' enables the path aliasing feature, for network mail routing. If
* set to 1, Fnordadel will check `ctdlpath.sys' in your #netdir for routes
* to systems that it is not directly connected to. See the Reference Manual
* for more on this.
*
* #hub is another mail routing thing. If Fnordadel cannot find an explicit
* path to another system (either by being connected with it or by finding a
* route in ctdlpath.sys), then it will pass mail on to the system defined by
* #hub, which will presumably know what to do with it. (In actual fact, the
* hub system will do the same things that yours will -- it'll check to see if
* it's directly connected to the destination system; if not, it will check
* ctdlpath.sys; if it still can't figure it out, it will forward to its
* #hub... <etc>)
#define ld-cost 1
#define hub-cost 2
* These 2 defines set the cost (measured in ld-credits, which are given out by
* the sysop) of sending mail using long distance routing and/or forwarding to
* a #hub. Most sysops don't bother with this, but if your users send a lot of
* ld mail and you want to have some control over how much (say, if you're
* paying the ld bills...) then you might want to set these variables.
*----------------------------------------------------------------------------*
* The following stuff has to do with modem stuff; you'll want to read the
* chapter in the Reference Manual entitled "Modem Stuff".
#define usa 1
#define local-time 30
#define ld-time 60
* `usa' tells Fnordadel whether this system is in North America or not.
* If `usa' is 1, Fnordadel will prefix long-distance calls with `1'
* and remove the first 3 digits in the network ID for making local
* calls.
*
* `local-time' is how long it takes Fnordadel to time out when making a
* local call. It defaults to 20 seconds.
*
* `ld-time' is how long it takes Fnordadel to time out when making a
* long-distance call. It defaults to 50 seconds.
#calloutprefix "ATDT"
#calloutsuffix "\r"
* These are for networking dialout. For example, assuming these are defined
* as above, to call a system at 456-7890, Fnordadel will send the string
* "ATDT456-7890\r" to the modem. If you're networking, or even if you just
* want to use Fnordadel to dial out to other boards with, you MUST define
* these.
#define searchbaud 1
#define connectprompt 0
#define connectdelay 0
* `searchbaud' tells the system whether to do baud rate searching. If
* the system does baud-rate searching, it will loop through the
* baudrates -- waiting half a second at each baud rate for a <CR> --
* until a <CR> is detected or 60 seconds are up. If `searchbaud' is 0,
* Fnordadel will assume that the modem only works at 'sysbaud' baud rate
* (see below for a description of the permissible baud-rate codes.)
*
* Note that if your modem returns result codes which tell you what speed
* it's connected at, you can use these instead of making people hit <CR>.
* See below.
*
* `connectprompt' changes the behavior of `searchbaud'. If `connectprompt'
* is 1, Fnordadel will prompt the user to hit <CR>, then wait 10
* seconds for a <CR>, for each baudrate.
*
* `connectdelay' is the number of seconds that the computer needs to
* wait for the modem to stabilize before it starts baud-rate
* searching. (Some modems will drop carrier if you send a character
* out the modem too soon after somebody calls in)
#define sysbaud 1
#define init-speed 2
* `sysbaud' is the range of baud-rates that the system will support. (If
* searchbaud is zero, it's the ONLY baud rate the system will support.)
* This field MUST be defined. `sysbaud' ranges from 0 to 4 -- 0 is 300 baud,
* 1 is 1200/300, 2 is 2400/1200/300, 3 is 9600/2400/1200/300, and 4 is
* 19200/9600/2400/1200/300.
*
* `init-speed' governs the baud rate at which Fnordadel initialises the
* modem. If it is nonzero, the modem will be initialised at the baud
* rate given by `init-speed' -- including baud rates higher than
* `sysbaud'. (Some modems, the Supra and the Prometheus, for example, must be
* initialized at 2400 baud to connect with a caller at 2400 baud.)
*
* (`hs-bug' is another way of setting init-speed. If you specify
* `hs-bug 1' the modem will setup at `sysbaud'.)
#modemsetup "AT &C1 &D2 V0 E0 M0 Q0 S0=1\r%15"
* This field is what Fnordadel sends to the modem to initialise it. This
* MUST be defined. A good trick to use with modems that allow you to save
* settings in nonvolatile RAM is to setup the modem the way you want it, save
* the settings (usually by typing something like "AT&W") and then simply use
* "ATZ\r" as the #modemsetup string. The example above works for the Supra
* 2400 modem. Notice also the "%15" in the string -- recall that this causes
* Fnordadel to pause for 15/10 = 1.5 seconds after sending the string.
* If your modem is behaving oddly, try sticking some delay in -- sometimes
* the #modemsetup will cause the carrier detect line to briefly come high; if
* this happens and Fnordadel detects it, wild and wacky things may ensue.
* The pause will allow things to regain their normal equilibrium.
#reply300 "1"
#reply1200 "5"
#reply2400 "10"
#reply9600 "9600 baud reply"
#reply19200 "19200 baud reply"
#define hayes 1
* If your modem is capable of returning reply strings to tell you
* what baud-rate an incoming call is at, you can bypass the normal
* Fnordadel baud-rate searching code by defining these fields and
* setting your modem up so that it returns the codes (this will
* involve changing your #modemsetup so that it doesn't disable that
* feature.)
*
* For the baud-rate detection magic to work, the reply strings that
* the modem returns must be terminated by a \r. However, when you
* set up the #reply strings, DON'T include the \r in the string --
* if the modem sends a "1\r" back for a 300 baud connect, your
* #reply300 should be "1", NOT "1\r"
*
* #reply300 -- reply the modem gives when a 300 baud caller is detected.
* #reply1200 -- " " " " " " 1200 " " " "
* #reply2400 -- " " " " " " 2400 " " " "
* #reply9600 -- " " " " " " 9600 " " " "
* #reply19200 -- " " " " " " 19200 " " " "
*
* `hayes' tells Fnordadel that your modem returns codes '7' and '3' for BUSY
* and NO CARRIER, respectively, when dialing out. This is useful to speed up
* dialing out, and to avoid certain otherwise unavoidable glitches.
#event NETWORK all 3:01 39 network 0
#define eventclosetime 300
* Events are how Fnordadel interrupts itself to do various things.
* There are three types of event -- PREEMPTIVE, NETWORK, and TIMEOUT.
* A NETWORK event has Fnordadel take over the system and run the
* networker at the time specified, a PREEMPTIVE event has Fnordadel
* take over the system and exit to the outside world at the time
* specified, and a TIMEOUT event has Fnordadel exit to the outside
* world as soon as it can at the time specified (if somebody is using
* the system when this event goes off, a timeout won't kick them off.)
*
* The six fields in a #event line are as follows:
*
* #event <whatever> [days] <time> <duration> <name> <flags>
*
* <whatever> is PREEMPTIVE, NETWORK, or TIMEOUT.
*
* [days] is an optional field. If there, it gives the days that the
* event will happen. This field is either `all', meaning that the
* event happens every day, or any combination of `Mon', `Tue', `Wed',
* `Thu', `Fri', `Sat', or `Sun' -- separated by commas. For example,
* if you wanted an event for Monday, Wednesday, and Saturday, you
* would give the event a days field of `Mon,Wed,Sat'.
*
* <time> is when the event is scheduled to go off (in 24-hour time...
* 3:00pm is 15:00)
*
* <duration> is how long the event is supposed to last -- if Fnordadel
* is brought up after the start of an event but before the event is
* supposed to be over, it will immediately do the event.
*
* <name> is the ascii name of the event (under 20 alphanumeric
* characters.)
*
* <flags> depends on the type of event. If it is a NETWORK event,
* <flags> is which network is going to be run (this is fairly advanced
* stuff -- just use 0 for casual sysopping), otherwise it is the
* condition code that Fnordadel returns to the calling program. (don't*
* use 0 through 3 -- these are already defined within Fnordadel.)
*
*
* The `eventclosetime' variable is measured in seconds. If a user tries to
* execute a time-consuming command when an event is less than this many
* seconds away, the command will be disallowed. Currently the only commands
* affected are doors. Defining this as 0, or leaving it undefined, will
* disable the feature.
#polling 1 4:00 20:00 all
#polling 2 20:01 3:00 all
#define poll-delay 5
* Polling is another way for Fnordadel to do networking. When you have
* polling enabled (i.e; you have #polling events), Fnordadel will attempt
* to call systems for networking after the BBS has been idle poll-delay
* minutes (if you don't specify a poll-delay, it defaults to 5). Note that
* it will only call out if it has stuff (mail, shared rooms, files, etc) to
* send.
*
* This is the format of the #polling command:
*
* #polling <net> <start-time> <end-time> [days]
*
* <net> is the net number to poll (usually 0)
* <start-time> is the time (in 24-hour format) to start polling
* <end-time> is the time to end polling
* [days] is an optional field (see #event above)
*
* The #polling events listed above tell Fnordadel to poll systems in
* network 1 from 4:00am 'til 8:00pm and to poll systems in net 2
* from 8:01pm to 3:00am. The usual setup, however, is something like this:
*
* #polling 0 0:00 23:59 all
*
* This means that your system will poll network #0 all day.
#define timeout 0
#define hourout 0
* Timeout and hourout are another type of event Fnordadel has -- if you've
* got timeout set to 1, Fnordadel will have a timeout event `hourout' hours
* after the system is brought up, and will return a condition code of 1 to
* the calling program. This is handy for doing regular backups.
*----------------------------------------------------------------------------*
* THE END
*----------------------------------------------------------------------------*