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 >
Text File  |  1991-09-02  |  38KB  |  782 lines

  1. *----------------------------------------------------------------------------*
  2. * CTDLCNFG.SYS -- Fnordadel v1.32 configuration file.
  3. *----------------------------------------------------------------------------*
  4. * Fnordadel is maintained by Adrian Ashley (elim @ secret) and Royce
  5. * Howland (Mr. Neutron @ RT); any errors in this document are mostly our
  6. * fault.  Portions of the text of this file borrowed with thanks from
  7. * ctdlcnfg.sys & ctdlcnfg.doc by orc.
  8. *----------------------------------------------------------------------------*
  9. * To bring up your system, edit this file to suit your tastes, and then
  10. * run configur.tos on it.  Configur will create all the system files that
  11. * Fnordadel needs.  Then run citadel.tos, and you're off!
  12. *
  13. * The only valid lines in ctdlcnfg.sys are ones that begin with '#'.  Anything
  14. * else is assumed to be a comment.  Valid lines are of two types:
  15. *
  16. *   1) #define <variable> <value>
  17. *   2) #<variable> <value>
  18. *
  19. * Form (1) is used to set numeric values, like `#define logsize 100'.  Note
  20. * that many of these variables are switches; that is, they may only take the
  21. * value 0 or 1.  (Actually, any nonzero number is equivalent to 1 in this
  22. * context, but let's keep it simple.)
  23. *
  24. * Form (2) is usually used to set string variables.  Which leads us to...
  25. *
  26. * String Fields:  The following fields are strings, and must be enclosed in
  27. * quotes.  They allow some C-type escape characters in them: '\r' for <CR>,
  28. * '\n' for newline (CR + LF), \nnn for the ASCII character represented by the
  29. * octal number 'nnn', and '\\' for a single '\'.
  30. *
  31. *       #reply300    #nodetitle    #calloutprefix
  32. *       #reply1200    #baseroom    #calloutsuffix
  33. *       #reply2400    #basefloor    #modemsetup
  34. *       #reply9600                 ^
  35. *       #reply19200                 +-----<Modem control strings>
  36. *
  37. * The modem control strings have an additional special escape in them.
  38. * Any `%nnn' sequence will make Fnordadel pause for `nnn' tenths of a
  39. * second before continuing.  For instance,
  40. *
  41. *     #modemsetup "AT\r%10AT S0=1 M1 E0 Q0 X1\r%10"
  42. *
  43. * will send AT\r to the modem, wait one second, send AT S0=1 M1 E0 Q0 X1\r to
  44. * the modem, then wait another second.
  45. *
  46. * NOTE: All numbers in this file should be decimal, as opposed to hexadecimal
  47. * or octal.
  48. *
  49. *----------------------------------------------------------------------------*
  50.  
  51. #nodetitle "Secret Service: Best in the West!"
  52.  
  53. * #nodetitle is what Fnordadel uses in the .RS command ("This is ....");
  54. * and if you haven't got a banner.blb in your help directory, it uses this
  55. * field to identify your system to callers.  This field must be defined.
  56.  
  57. #nodename "secret"            * 19 chars max. (try to keep under 9)
  58. #nodeid "CA (403) 425-1779"        * 19 characters max.
  59. #organization "Fnordadel Development"    * 39 characters max.
  60. #domain "Alta"                * 19 chars max. (usually 2 chars)
  61.  
  62. * #nodename is the short name Fnordadel uses for your system in networking.
  63. * Messages from your system will be from "user@<nodename>".
  64. *
  65. * #nodeid is the phone number of your system. Users will never see
  66. * this field. The node id should be in the form `XX (NNN) NNN-NNNN'
  67. *                                                ^    ^    ^
  68. *     country (CA = Canada, US = United States) -+    |    |
  69. *         area code (for North American number) ------+    |
  70. *                                  local number -----------+
  71. *
  72. * #organization is used to identify your system somewhat more descriptively
  73. * than #nodename does.  It can say anything, really -- what your system is
  74. * for, where it is located, who you want to win the Stanley Cup -- anything.
  75. * The field will appear so: "...from user @ nodename (organization)"
  76. *
  77. * #domain sets your system's domain.  A domain is an arbitrary collection of
  78. * networking systems.  Usually, domains are based on geographical regions of
  79. * some kind, but they could be based on anything at all.  The Citadel net
  80. * uses state or province as the domain base.  If there is no domain for your
  81. * state or province yet, you can either start one yourself or join the domain
  82. * of another region.
  83.  
  84. #baseroom "Lobby"            * 19 characters max.
  85. #basefloor "Ground Floor"        * 19 characters max.
  86.  
  87. * #baseroom tells Fnordadel what you want the first room in the system
  88. * (usually called 'Lobby') to be called.  It defaults to Lobby if you don't
  89. * define this field.
  90. * #basefloor is used to define what the first floor will be called.  It, too,
  91. * defaults to Lobby, or to the same name as #baseroom if #basefloor is
  92. * left undefined.
  93.  
  94. #syspassword "d:\blort\foo.bar"
  95.  
  96. * The sysop password allows access from remote to the sysop menu.
  97. * #syspassword is the name of a file, the first line of which is the actual
  98. * sysop password.  For example, if you have #syspassword "\sys\password.dat",
  99. * and the first line of that file says "Supercalifragilisticexpialidocious",
  100. * then "Super<etc>..." becomes the sysop password.  The password must be at
  101. * least 15 characters long.
  102.  
  103. #sysop "elim"
  104. #define archive-mail 1
  105.  
  106. * This defines who the sysop is.  Any mail sent to "Sysop" will be sent to
  107. * this user instead.  If #sysop is not defined, mail to "Sysop" ends up in the
  108. * Aide> room.  When the user named in this field first logs in, he/she will be
  109. * automagically given Aide, Network and Sysop privileges -- so DON'T define
  110. * this field and then forget about logging in as the named user!
  111. *
  112. * `archive-mail' allows the sysop to have all of his/her Mail> (both To and
  113. * From the Sysop) saved to a diskfile, specifically `sysop.msg' in your
  114. * #auditdir.  Set `archive-mail' to 1 to enable this feature.  Note that
  115. * #sysop should be defined to use this properly, though it doesn't need to be.
  116.  
  117. #shell "c:\bin\command.tos"
  118.  
  119. * #shell is the command line interpreter (shell) invoked by the [O]utside
  120. * command in the sysop menu.  If you're using doors and have one called
  121. * `shell', it will override #shell.
  122.  
  123. #define logsize        100
  124. #define messagek    128
  125. #define cryptseed    069
  126.  
  127. * `logsize', `cryptseed', and `messagek' are all essential and MUST be defined.
  128. *
  129. * `logsize' says how many userlog entries you want your BBS to have.  This
  130. * number is fixed when you first configure the system; it can only be changed
  131. * by running lchange.tos.  Each userlog entry consumes about 0.5k (512 bytes),
  132. * give or take a few.
  133. *
  134. * `messagek' says how large you want your messagebase to be, in kilobytes.
  135. * Configur will round this number up to the next multiple of 4.  Err on the
  136. * side of caution, if at all -- expanding the message base is easier than
  137. * shrinking it, although both are possible using mexpand.tos and mshrink.tos
  138. * respectively.
  139. *
  140. * `cryptseed' is a magic number used by Fnordadel to encrypt all of its
  141. * system files (to hide them from prying eyes).  DO NOT change this number
  142. * after you've first configured your system; if you do, all Heg will break
  143. * loose.
  144.  
  145. #define maxrooms    64
  146. #define mailslots    58
  147. #define sharedrooms    16
  148.  
  149. * `maxrooms', `mailslots' and `sharedrooms' are also all essential and MUST
  150. * be defined.
  151. *
  152. * `maxrooms' is the maximum number of rooms that may be present on your
  153. * system.  The historical limit has been 64, though you are free to change it.
  154. * Note that each room takes a minimum of 1k on disk, as each room is stored
  155. * in a separate disk file.  Try to estimate the number of rooms you'll need;
  156. * you can add more later (see rchange.man).
  157. *
  158. * `mailslots' refers to the maximum number of messages accessible to users
  159. * (at any one time) in the Mail> room.  This value will affect the size of
  160. * the userlog; each additional mailslot takes (6 * logsize) bytes in the log
  161. * file (see mchange.man).
  162. *
  163. * `sharedrooms' is the maximum number of rooms that may be shared (networked)
  164. * with any given network system.  The historical limit is 16; if you have a
  165. * lot of networked rooms, you may want to raise this (see nchange.man).
  166.  
  167. #msgdir   "c:\sys"
  168. #sysdir   "c:\sys"
  169. #roomdir  "c:\rooms"
  170. #helpdir  "c:\help"
  171. #auditdir "c:\audit"
  172.  
  173. * These fields MUST be defined.  They are the names of directories where
  174. * Fnordadel will store its various datafiles.
  175. *     #msgdir is where the messagebase lives (ctdlmsg.sys);
  176. *     #sysdir is where the floor, userlog, and other system files live;
  177. *     #roomdir is where the room files live;
  178. *     #helpdir is where all your helpfiles, menus and other good things are;
  179. *   & #auditdir is where Fnordadel will put the call log, network log, etc.
  180.  
  181. #netdir   "c:\net"
  182.  
  183. * Also known as #spooldir (either works), this is where Fnordadel will put
  184. * all the stuff it needs to network with other systems.  You must have this
  185. * defined, even if you don't plan to network, because another system may
  186. * call yours and send you (the Sysop) mail, at the very least.
  187.  
  188. #define keephold 1
  189. #holddir "c:\hold"
  190.  
  191. * If you have `keephold' set to 1, Fnordadel will save users' held-messages
  192. * on disk.  If they terminate and login again sometime later, their messages
  193. * will be retrieved.  If `keephold' is set to 0, Fnordadel will still save
  194. * the held messages to disk, but they get deleted when the users log out.
  195. * `#holddir' designates the directory in which the held messages are to be
  196. * stored.  Note that each user may have at most one held message at any given
  197. * time.
  198.  
  199. #define call-log    1
  200. #define    audit-files    1
  201. #define audit-calls    1
  202. #define audit-exit    1
  203. #define download    200
  204.  
  205. * If `call-log' is 1, the system will keep a call log in #auditdir, recording
  206. * who called when and did what.  If `audit-calls' and/or `audit-exit' are set
  207. * to 1, a call log (called `calllog.sys') will be kept; `audit-calls' records
  208. * login and logout times of callers while `audit-exit' records when the system
  209. * was brought up & down.  If `audit-files' is set to 1, file accesses by users
  210. * will be recorded in `filelog.sys'.
  211. *
  212. * Defining `call-log' is the same as defining `audit-calls' and `audit-exit'.
  213. *
  214. * `download' is the number of kilobytes any given user can download in a day.
  215. * If this is set to zero, unlimited downloading is permitted.
  216.  
  217. #define receiptk    80
  218. #receiptdir "a:\inbound"
  219.  
  220. * The Citadel network allows files to be sent and received between systems.
  221. * If your Fnordadel is networking, you need these two defined.  `receiptk'
  222. * is the number of kilobytes your system will accept in file transfers from
  223. * other systems, and #receiptdir is where these files go.  If you have more
  224. * than `receiptk' kilobytes worth of files in your #receiptdir, Fnordadel
  225. * will not take any more files during networking.  (This is to avoid filling
  226. * your disk to overflowing...)  So this means that you should regularly empty
  227. * your #receiptdir.
  228.  
  229. #define loginok    1
  230. #define readok    0
  231. #define enterok    0
  232. #define roomok    1
  233. #define infook    1
  234. #define allmail    1
  235. #define allnet  0
  236. #define alldoor 1
  237.  
  238. * These parameters govern certain behaviours of Fnordadel.
  239. *     loginok - if 1, anyone can call and login at any time (an open system).
  240. *             - if 0, new callers will only be able to leave Mail to the Sysop,
  241. *               presumably to request an account.
  242. *     readok  - if 1, people not logged in yet will be able to read messages. 
  243. *             - if 0, they won't.
  244. *     enterok - if 1, people not logged in yet will be able to enter messages.
  245. *             - if 0, they won't.
  246. *     roomok  - if 1, everyone who is logged in can create rooms.
  247. *             - if 0, only Co-Sysops and Aides can do so.
  248. *     infook  - if 1, everyone who creates a room can create its room info.
  249. *             - if 0, only Co-Sysops and Aides can create room info.
  250. *     allmail - if 1, everyone can send Mail>.
  251. *             - if 0, only Co-Sysops & Aides can send mail to anyone but
  252. *        `Sysop'.
  253. *     allnet  - if 1, all new users get network privileges automatically.
  254. *             - if 0, the Sysop has to give out netprivs individually.
  255. *     alldoor - if 1, all new users get door privileges automatically.
  256. *        if 0, the Sysop must give out door privs individually.
  257.  
  258. #define defshowtime  1
  259. #define deflastold   0
  260. #define deffloormode 1
  261. #define defreadmore  0
  262. #define defnumleft   0
  263. #define defautonew   0
  264.  
  265. * These binary flags set the default values for certain user configuration
  266. * options.  They are normally not options settable by the user unless he/she
  267. * is an expert, so they will define the defaults inheritted by non-experts.
  268. * If these variables are not explicitly set, they will take on default values
  269. * matching the example values shown above.
  270. *    defshowtime  - if 1, message creation time is shown in message headers.
  271. *             - if 0, message creation time is not shown.
  272. *    deflastold   - if 1, the last old message in the room is displayed
  273. *               when the user executes [N]ew.
  274. *             - if 0, the last old message is not displayed.
  275. *    deffloormode - if 1, the user is put into floor mode.
  276. *             - if 0, the user is not put into floor mode.
  277. *    defreadmore  - if 1, the "more" prompt is automatically active during
  278. *               message reading.
  279. *             - if 0, the "more" prompt is not automatically active.
  280. *    defnumleft   - if 1, the number of messages remaining to be read is
  281. *               shown in message headers.
  282. *             - if 0, the number of messages remaining is not shown.
  283. *    defautonew   - if 1, die-hard STadel or Citadel-86 fans will be at
  284. *               home, since new messages in Lobby> will be shown
  285. *               automatically at login time.
  286. *             - if 0, new Lobby> messages are not automatically shown.
  287.  
  288. #define getname        0
  289. #define autozerolimit    0
  290.                 * With the following, a value of 0 means
  291.                 * "unlimited".
  292. #define msgenter    10
  293. #define mailenter    10
  294. #define anonmailmax    1000
  295. #define infomax        1000
  296. #define maxcalls    0
  297. #define maxtime        0
  298. #define maxclosecalls    0
  299. #define closetime    0
  300. #define mincalltime    0
  301. #define newusermsgs    50
  302.  
  303. * If `getname' is set to 1, Fnordadel will require users to login using their
  304. * name and password, instead of just their password.  This adds an extra
  305. * layer of security, because to crack an account a cracker must not only
  306. * guess a valid password of someone in your user log, but he must ALSO guess
  307. * the name of the user to which the password belongs.  Tricky.
  308. *
  309. * `autozerolimit' is a binary flag which controls how the system reduces users'
  310. * time and call limits.  The first time a user signs on during a given day,
  311. * his/her count of calls and times are reduced by the amount of the limit.
  312. * (e.g., if you have `maxtime' set to 60 minutes, and the user has 150
  313. * cumulative minutes, his/her total will be reduced to 90 (150 minus 60), and
  314. * he/she therefore won't be allowed on today.)  If you set the `autozerolimit'
  315. * flag, all cumulative totals are reset to zero on a new day.  (All past sins,
  316. * no matter how great, are forgiven...)  If you have a lot of doors which
  317. * crash and chew up lots of your users' time, or if you're just a kind person,
  318. * you might want to set this flag.  Of course, if you're a kind person, you
  319. * probably won't be using any of this limit crap anyway.
  320. *
  321. * `msgenter' is the maximum number of messages enterable by any one user in any
  322. * one room (except Mail>) in any one login session.  Users on the console,
  323. * Aides & Co-Sysops are exempt from the msgenter restriction.  If the value is
  324. * 0, no message entry limit is placed on any user.
  325. * You would use this parameter to prevent ruggies from scrolling your message
  326. * base (or, at least, to make it slightly more difficult for them to do so),
  327. * or perhaps to control enthusiastic users' tendency to post a lot of small
  328. * messages in a row.
  329. *
  330. * `mailenter' is just like `msgenter', but controls the Mail> room only.
  331. *
  332. * `anonmailmax' is the maximum size of Mail> messages enterable by users who
  333. * are not logged in.  Use this to limit vandalism through anonymous mail if
  334. * your system is in validation mode (i.e. #loginok is 0, and users are not
  335. * allowed to create their own accounts).  The default is 1000 characters; the
  336. * acceptable range is 100 to 10000 characters.
  337. *
  338. * `infomax' is the maximum size of room info files when room info is created
  339. * by users who aren't Aides or Co-Sysops.  The default is 1000 characters;
  340. * the acceptable range is 100 to 10000 characters.
  341. *
  342. * `maxcalls' is the maximum number of times any user may call in one day.  All
  343. * Aides, Co-Sysops and console users are exempt from this limit.  If the value
  344. * is 0, there is no limit placed on any caller.
  345. *
  346. * `maxtime' is the maximum number of minutes of connect time any user can have
  347. * in one day.  All Aides, Co-Sysops and console users are exempt from this
  348. * limit.  If the value is 0, there is no limit placed on any caller.
  349. * The limit is checked only at time of login.  If you set the limit to 15
  350. * minutes, for example, a user could still call once and stay connected for as
  351. * long as desired.  But on the next call that day, he/she would be informed
  352. * that the limit had been exceeded, and not be allowed to sign on.  At his/her
  353. * next login attempt on any day following today (could be many days later),
  354. * the `maxtime' value is subtracted from his/her accumulated time, and the
  355. * limit checked again.  Thus if he/she really* hogs the system today, he/she
  356. * might not be able to sign on for any number of days.  This approach seems a
  357. * good compromise between freedom for the users and control for the Sysop.
  358. * NOTE: the system adds at least `mincalltime' minutes of connect time per
  359. * call, even* for calls where the user is prevented from logging on by one of
  360. * these limit values.  See the description of `mincalltime', coming up.
  361. *
  362. * `maxclosecalls' is the maximum number of close calls any user may make in one
  363. * day.  ("Close call" is defined in the next parameter description.)  Aides,
  364. * Co-Sysops, and console users are exempt from this limit.  If the value is 0,
  365. * there is no limit placed on any caller, and the following parameter is
  366. * unused.
  367. *
  368. * `closetime' is the maximum number of minutes separating two calls by the same
  369. * user, for those two calls to be recognised as "close calls".  If the value is
  370. * 0, there is no limit placed on any caller, even if `maxclosecalls' is not 0.
  371. * Example: if `closetime' is define as 15, and user Foobar calls once at 12:30
  372. * and again at 12:42, the time between the two calls is 12 minutes.  Since 12
  373. * < 15, the system will know the calls are close, and possibly prevent the user
  374. * from signing on, if the `maxclosecalls' value has been exceeded.
  375. * This parameter, like `msgenter', was designed to help a Sysop control ruggie
  376. * abuse.  Ruggies attempting to scroll a message base will run into the limit
  377. * placed by `msgenter', and therefore usually attempt a series of short,
  378. * closely grouped calls to enter more messages.  Using `maxclosecalls' and
  379. * `closetime', a Sysop can prevent this sort of rapid-fire calling, increasing
  380. * the hassle factor for the would-be ruggie, and giving other Aides and
  381. * Co-Sysops a greater chance to sign on to the system before the ruggie has
  382. * done major damage, and take appropriate steps.
  383. *
  384. * `mincalltime' defines the minimum number of minutes that each call "counts"
  385. * toward a user's cumulative daily connect time.  I.e. if you set
  386. * `mincalltime' to 5, each call less than 5 minutes in duration will still
  387. * count for 5 minutes.  If you define `mincalltime' to 0, or leave it
  388. * undefined, the system assigns the value `1'.
  389. *
  390. * `newusermsgs' controls how many messages on the entire system will be new to
  391. * a first-time caller.  The value defaults to 50 if not present, and setting it
  392. * to 0 means that all messages should be new.  You would set it to a non-0
  393. * value to prevent users from being swamped on their first call, or from using
  394. * excessive system time while reading every single message on the system.
  395.  
  396. #define numbanners    0
  397. #define bannerblb    0
  398. #define width        79
  399. #define esc        0
  400. #define showusage    1
  401. #define showrecd    1
  402. #define aide-forget    1
  403. #define aidekillroom    1
  404. #define sysopsleep    1
  405. #define vaporize    0
  406.  
  407. * `numbanners' is the number of rotating banners to use.  They live in files
  408. * banner.1, banner.2, ... .  If this parameter is 0, it means just use the
  409. * normal system banner file, banner.blb.  Max value is 999.
  410. *
  411. * `bannerblb' tells the system whether to display the banner.blb file after a
  412. * rotating banner.  Set this to 1 if you'd like that to be done.
  413. *
  414. * `width' is Fnordadel's default screen width, used when nobody is logged in.
  415. *
  416. * `esc' tells Fnordadel whether to display ESCape characters or not.  If this
  417. * is set to 1, ESCs will be passed through and will thus allow VT-52 graphics
  418. * or whatever.  Set this to 0 if you don't want screen gymnastics.
  419. *
  420. * If `showusage' is set to 1, Fnordadel will report free disk space every
  421. * time someone does .R(ead) D(irectory) or .R(ead) E(xtended-dir), from remote
  422. * or console.  If set to 0, free space is reported only when the user is on
  423. * the console.  The reason you'd set this to zero is that (A) Your setup may
  424. * take a while to find free space; or (B) You're guarding military secrets
  425. * which would be leaked if someone were to find out how much space you have
  426. * left on your disk.
  427. *
  428. * `showrecd' controls the display of the "Received" flag in Mail>.  Fnordadel
  429. * keeps track of whether a mail message has been read by its recipient, and
  430. * will show the author of the message the state of this flag if he/she re-reads
  431. * the message at some future time.  Set this variable to `0' if you don't
  432. * want users to see the flag.
  433. *
  434. * If `aide-forget' is 0, Aides cannot forget any rooms.  (They will appear to,
  435. * but forgotten rooms will mysteriously reappear on their next call.)  If 1,
  436. * Aides can forget rooms like any other user.
  437. *
  438. * If `aidekillroom' is 0, Aides are not permitted to kill rooms.  If 1, they
  439. * can do so.
  440. *
  441. * `sysopsleep' controls whether Fnordadel will log off console users (e.g.
  442. * the Sysop) following a delay with no keyboard activity, in the same fashion
  443. * that it does for modem users.  Set this variable to `0' if you wish console
  444. * users to be punted, `1' if you wish them to be immune to the time-out.
  445. *
  446. * `vaporize' controls the behavior of the local message purge routine, if you
  447. * make use of it.  If `1', messages to be purged are done away with silently,
  448. * and the space they took up is reclaimed by the system (if possible); the
  449. * only notice is a single Aide> message stating the vaporization took place.
  450. * If `0', purged messages are noisily deleted, each being moved into Aide>
  451. * with a message "The following message deleted by Citadel".
  452.  
  453. #define netlog        1
  454. #define chat        1
  455. #define netdebug    0
  456. #define debug        0
  457.  
  458. * These four switches allow you to set defaults for certain options.  Namely:
  459. *
  460. *     netlog   - instructs the BBS to keep a log in #auditdir of all network
  461. *                activities.  Be careful, as this can get quite large if you
  462. *                do enough networking and don't delete the file now and then.
  463. *     chat     - sets the chat mode toggle.  If 1, the board will page the
  464. *                sysop if a user asks to chat; if 0, it will spew out
  465. *                `nochat.blb' from your #helpdir instead.
  466. *     netdebug - turns network debugging on/off.  If it's on, you'll see some
  467. *                gibberish on your screen (or rather, more than usual...) when
  468. *                your Fnordadel networks.
  469. *     debug    - general debugging switch.  You should never have to use this.
  470. *
  471. * All four of these variables can be overridden with command line options to
  472. * citadel.tos and/or commands in the sysop menu.
  473.  
  474. #archiver ARC arctoc
  475. #archiver ZOO zootoc
  476. #archiver LZH lzhtoc
  477.  
  478. * #archiver is a mechanism for telling Fnordadel how to read the headers
  479. * of various archive formats.  For each format you want Fnordadel to
  480. * recognise, write a line of the form
  481. *
  482. * #archiver EXT doorname
  483. *
  484. * where EXT is the extension which distinguishes archives of the type, and
  485. * doorname is the name of a door defined in ctdldoor.sys which will read the
  486. * archive header.  Some sample ctdldoor.sys entries defining archiver doors:
  487. *
  488. * arctoc udrtv    c:\bin\arc.ttp -v    # ARC file reader
  489. * zootoc vx    c:\bin\zoo.ttp v    # ZOO file reader
  490. * lzhtoc udrtv    c:\bin\lharc.tos -v    # LZH file reader
  491. *
  492. * So for example, when a user enters .R(ead) H(eader) FOOBAR.LZH, Fnordadel
  493. * will execute the door `lzhtoc' by running `c:\bin\lharc.tos -v FOOBAR.LZH'.
  494. * It is important to put the 'v' flag in the second field; it identifies the
  495. * door as an archiver door.  Note also that in the first and third examples we
  496. * have defined user permissions (u, d, r, t) because we are also allowing the
  497. * the door to be used in the standard `!doorname' fashion.  In the second
  498. * example, we specify the 'x' flag which tells Fnordadel that the door is
  499. * for the system's internal use only, and so it cannot be accessed directly by
  500. * users (and therefore doesn't care what permissions it's got.)
  501. *
  502. * See the Doors chapter in the Reference Manual for more information.
  503.  
  504. *----------------------------------------------------------------------------*
  505. * The following fields have to do with Fnordadel networking.  It might
  506. * be a good idea to look at the network documentation in the Reference Manual
  507. * before you go through this section.
  508.  
  509. #define zaploops    1
  510. #define purgenet    1
  511. #define keepdiscards    1
  512.  
  513. * `zaploops' tells Fnordadel to use the loopzapper.  The loopzapper compares 
  514. * the time and date stamp on each incoming message with the latest recorded
  515. * message received from that system in that room; if it's earlier, the
  516. * incoming message will be rejected.  This is to stop the endless vortexes
  517. * that tend to plague the network now and then (IE: seeing the same messages
  518. * over and over and over because of a loop in the net topography...)  The
  519. * loopzapper does take some space and tends to do a lot of munging, so if
  520. * you're running on a floppy system, you may not want to bother.  Also, if
  521. * you feed network rooms off only ONE system, and that system has its
  522. * loopzapper on, then you don't need yours.
  523. *
  524. * `purgenet', if 1, tells Fnordadel to purge incoming net traffic when
  525. * citadel.tos is invoked with the `+purge' command-line option.  If 0,
  526. * `purgenet' will cause Fnordadel to leave net traffic unmolested.
  527. *
  528. * `keepdiscards' is a flag controllowing whether Fnordadel will keep a copy
  529. * of the messages weeded out by the `zaploops' and `purgenet' functions.  If 0,
  530. * no copies are kept.  If 1, each message vaporised is written in #netdir, to
  531. * a file of the format `XXXXXXXX.dis', where `XXXXXXXX' is a unique eight-digit
  532. * hex number, being a representation of the date & time (in seconds) the
  533. * message was toasted.  The Sysop may peruse these files and optionally grab
  534. * them into the message base if they were deleted in error.  Be warned -- the
  535. * file format is a bit funny.  It will be made use of in the future (hopefully)
  536. * with a Fnordadel utility to browse the messages & automatically stick
  537. * selected ones back into the message base.
  538.  
  539. #define forward-mail    1
  540. #define anonnetmail    1
  541. #define anonfilexfer    1
  542. #define pathalias    0
  543. #hub    "wherever"
  544.  
  545. * `forward-mail' tells Fnordadel that your system is able and willing to pass
  546. * on routed network mail to other systems.  If you set this to 0, routed mail
  547. * will not be forwarded.
  548. *
  549. * `anonnetmail' allows the Sysop to control whether his system will receive
  550. * net mail from unknown net nodes.  If the value is 1, mail will be accepted.
  551. *
  552. * `anonfilexfer' allows the Sysop to control whether his system will engage
  553. * in net file transfers with unknown net nodes.  If the value is 1, net file
  554. * transfers will be work; if 0, neither file receiving nor sending will be
  555. * permitted.  (An unknown net node is one not in the net list.)
  556. *
  557. * `pathalias' enables the path aliasing feature, for network mail routing. If
  558. * set to 1, Fnordadel will check `ctdlpath.sys' in your #netdir for routes
  559. * to systems that it is not directly connected to.  See the Reference Manual
  560. * for more on this.
  561. *
  562. * #hub is another mail routing thing.  If Fnordadel cannot find an explicit
  563. * path to another system (either by being connected with it or by finding a
  564. * route in ctdlpath.sys), then it will pass mail on to the system defined by
  565. * #hub, which will presumably know what to do with it.  (In actual fact, the
  566. * hub system will do the same things that yours will -- it'll check to see if
  567. * it's directly connected to the destination system; if not, it will check
  568. * ctdlpath.sys; if it still can't figure it out, it will forward to its 
  569. * #hub... <etc>)
  570.  
  571. #define ld-cost        1
  572. #define hub-cost    2
  573.  
  574. * These 2 defines set the cost (measured in ld-credits, which are given out by
  575. * the sysop) of sending mail using long distance routing and/or forwarding to
  576. * a #hub.  Most sysops don't bother with this, but if your users send a lot of
  577. * ld mail and you want to have some control over how much (say, if you're
  578. * paying the ld bills...) then you might want to set these variables.
  579.  
  580. *----------------------------------------------------------------------------*
  581. * The following stuff has to do with modem stuff; you'll want to read the
  582. * chapter in the Reference Manual entitled "Modem Stuff".
  583.  
  584. #define usa        1
  585. #define local-time    30
  586. #define ld-time        60
  587.  
  588. * `usa' tells Fnordadel whether this system is in North America or not. 
  589. * If `usa' is 1, Fnordadel will prefix long-distance calls with `1'
  590. * and remove the first 3 digits in the network ID for making local
  591. * calls.
  592. *
  593. * `local-time' is how long it takes Fnordadel to time out when making a
  594. * local call. It defaults to 20 seconds.
  595. *
  596. * `ld-time' is how long it takes Fnordadel to time out when making a
  597. * long-distance call.  It defaults to 50 seconds.
  598.  
  599. #calloutprefix "ATDT"
  600. #calloutsuffix "\r"
  601.  
  602. * These are for networking dialout.  For example, assuming these are defined
  603. * as above, to call a system at 456-7890, Fnordadel will send the string
  604. * "ATDT456-7890\r" to the modem.  If you're networking, or even if you just
  605. * want to use Fnordadel to dial out to other boards with, you MUST define
  606. * these.
  607.  
  608. #define searchbaud    1
  609. #define connectprompt    0
  610. #define connectdelay    0
  611.  
  612. * `searchbaud' tells the system whether to do baud rate searching.  If
  613. * the system does baud-rate searching, it will loop through the
  614. * baudrates -- waiting half a second at each baud rate for a <CR> --
  615. * until a <CR> is detected or 60 seconds are up. If `searchbaud' is 0,
  616. * Fnordadel will assume that the modem only works at 'sysbaud' baud rate 
  617. * (see below for a description of the permissible baud-rate codes.)
  618. *
  619. * Note that if your modem returns result codes which tell you what speed
  620. * it's connected at, you can use these instead of making people hit <CR>.
  621. * See below.
  622. *
  623. * `connectprompt' changes the behavior of `searchbaud'.  If `connectprompt'
  624. * is 1, Fnordadel will prompt the user to hit <CR>, then wait 10
  625. * seconds for a <CR>, for each baudrate.
  626. *
  627. * `connectdelay' is the number of seconds that the computer needs to
  628. * wait for the modem to stabilize before it starts baud-rate
  629. * searching. (Some modems will drop carrier if you send a character
  630. * out the modem too soon after somebody calls in)
  631.  
  632. #define sysbaud        1
  633. #define init-speed    2
  634.  
  635. * `sysbaud' is the range of baud-rates that the system will support. (If
  636. * searchbaud is zero, it's the ONLY baud rate the system will support.)
  637. * This field MUST be defined.  `sysbaud' ranges from 0 to 4 -- 0 is 300 baud,
  638. * 1 is 1200/300, 2 is 2400/1200/300, 3 is 9600/2400/1200/300, and 4 is 
  639. * 19200/9600/2400/1200/300.
  640. *
  641. * `init-speed' governs the baud rate at which Fnordadel initialises the
  642. * modem. If it is nonzero, the modem will be initialised at the baud
  643. * rate given by `init-speed' -- including baud rates higher than
  644. * `sysbaud'. (Some modems, the Supra and the Prometheus, for example, must be
  645. * initialized at 2400 baud to connect with a caller at 2400 baud.)
  646. *
  647. * (`hs-bug' is another way of setting init-speed.  If you specify
  648. * `hs-bug 1' the modem will setup at `sysbaud'.)
  649.  
  650. #modemsetup "AT &C1 &D2 V0 E0 M0 Q0 S0=1\r%15"
  651.  
  652. * This field is what Fnordadel sends to the modem to initialise it.  This
  653. * MUST be defined.  A good trick to use with modems that allow you to save
  654. * settings in nonvolatile RAM is to setup the modem the way you want it, save
  655. * the settings (usually by typing something like "AT&W") and then simply use
  656. * "ATZ\r" as the #modemsetup string.  The example above works for the Supra
  657. * 2400 modem.  Notice also the "%15" in the string -- recall that this causes
  658. * Fnordadel to pause for 15/10 = 1.5 seconds after sending the string.
  659. * If your modem is behaving oddly, try sticking some delay in -- sometimes
  660. * the #modemsetup will cause the carrier detect line to briefly come high; if
  661. * this happens and Fnordadel detects it, wild and wacky things may ensue.
  662. * The pause will allow things to regain their normal equilibrium.
  663.  
  664. #reply300   "1"
  665. #reply1200  "5"
  666. #reply2400  "10"
  667. #reply9600  "9600 baud reply"
  668. #reply19200 "19200 baud reply"
  669. #define hayes        1
  670.  
  671. * If your modem is capable of returning reply strings to tell you
  672. * what baud-rate an incoming call is at, you can bypass the normal
  673. * Fnordadel baud-rate searching code by defining these fields and
  674. * setting your modem up so that it returns the codes (this will
  675. * involve changing your #modemsetup so that it doesn't disable that
  676. * feature.)
  677. *
  678. * For the baud-rate detection magic to work, the reply strings that
  679. * the modem returns must be terminated by a \r.  However, when you
  680. * set up the #reply strings, DON'T include the \r in the string --
  681. * if the modem sends a "1\r" back for a 300 baud connect, your
  682. * #reply300 should be "1", NOT "1\r"
  683. *
  684. * #reply300   -- reply the modem gives when a   300 baud caller is detected.
  685. * #reply1200  --   "    "    "     "    "   "  1200   "     "    "     "
  686. * #reply2400  --   "    "    "     "    "   "  2400   "     "    "     "
  687. * #reply9600  --   "    "    "     "    "   "  9600   "     "    "     "
  688. * #reply19200 --   "    "    "     "    "   " 19200   "     "    "     "
  689. *
  690. * `hayes' tells Fnordadel that your modem returns codes '7' and '3' for BUSY
  691. * and NO CARRIER, respectively, when dialing out.  This is useful to speed up
  692. * dialing out, and to avoid certain otherwise unavoidable glitches.
  693.  
  694. #event NETWORK    all  3:01 39 network  0
  695. #define eventclosetime 300
  696.  
  697. * Events are how Fnordadel interrupts itself to do various things. 
  698. * There are three types of event -- PREEMPTIVE, NETWORK, and TIMEOUT.
  699. * A NETWORK event has Fnordadel take over the system and run the
  700. * networker at the time specified, a PREEMPTIVE event has Fnordadel
  701. * take over the system and exit to the outside world at the time
  702. * specified, and a TIMEOUT event has Fnordadel exit to the outside
  703. * world as soon as it can at the time specified (if somebody is using
  704. * the system when this event goes off, a timeout won't kick them off.)
  705. *
  706. * The six fields in a #event line are as follows:
  707. *
  708. * #event <whatever> [days] <time> <duration> <name> <flags>
  709. *
  710. * <whatever> is PREEMPTIVE, NETWORK, or TIMEOUT.
  711. *
  712. * [days] is an optional field.  If there, it gives the days that the
  713. * event will happen.  This field is either `all', meaning that the
  714. * event happens every day, or any combination of `Mon', `Tue', `Wed',
  715. * `Thu', `Fri', `Sat', or `Sun' -- separated by commas.  For example,
  716. * if you wanted an event for Monday, Wednesday, and Saturday, you
  717. * would give the event a days field of `Mon,Wed,Sat'.
  718. *
  719. * <time> is when the event is scheduled to go off (in 24-hour time...
  720. * 3:00pm is 15:00)
  721. *
  722. * <duration> is how long the event is supposed to last -- if Fnordadel
  723. * is brought up after the start of an event but before the event is
  724. * supposed to be over, it will immediately do the event.
  725. *
  726. * <name> is the ascii name of the event (under 20 alphanumeric
  727. * characters.)
  728. *
  729. * <flags> depends on the type of event.  If it is a NETWORK event, 
  730. * <flags> is which network is going to be run (this is fairly advanced
  731. * stuff -- just use 0 for casual sysopping), otherwise it is the
  732. * condition code that Fnordadel returns to the calling program. (don't*
  733. * use 0 through 3 -- these are already defined within Fnordadel.)
  734. *
  735. *
  736. * The `eventclosetime' variable is measured in seconds.  If a user tries to
  737. * execute a time-consuming command when an event is less than this many
  738. * seconds away, the command will be disallowed.  Currently the only commands
  739. * affected are doors.  Defining this as 0, or leaving it undefined, will
  740. * disable the feature.
  741.  
  742. #polling 1 4:00 20:00 all
  743. #polling 2 20:01 3:00 all
  744.  
  745. #define    poll-delay 5
  746.  
  747. * Polling is another way for Fnordadel to do networking.  When you have
  748. * polling enabled (i.e; you have #polling events), Fnordadel will attempt
  749. * to call systems for networking after the BBS has been idle poll-delay
  750. * minutes (if you don't specify a poll-delay, it defaults to 5).  Note that
  751. * it will only call out if it has stuff (mail, shared rooms, files, etc) to
  752. * send.
  753. * This is the format of the #polling command:
  754. *
  755. *    #polling <net> <start-time> <end-time> [days]
  756. *
  757. * <net> is the net number to poll (usually 0)
  758. * <start-time> is the time (in 24-hour format) to start polling
  759. * <end-time> is the time to end polling
  760. * [days] is an optional field (see #event above)
  761. *
  762. * The #polling events listed above tell Fnordadel to poll systems in
  763. * network 1 from 4:00am 'til 8:00pm and to poll systems in net 2
  764. * from 8:01pm to 3:00am.  The usual setup, however, is something like this:
  765. *     #polling 0 0:00 23:59 all
  766. *
  767. * This means that your system will poll network #0 all day.
  768.  
  769. #define timeout    0
  770. #define hourout 0
  771.  
  772. * Timeout and hourout are another type of event Fnordadel has -- if you've
  773. * got timeout set to 1, Fnordadel will have a timeout event `hourout' hours
  774. * after the system is brought up, and will return a condition code of 1 to
  775. * the calling program.  This is handy for doing regular backups.
  776. *----------------------------------------------------------------------------*
  777. *                THE END
  778. *----------------------------------------------------------------------------*
  779.