home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / bbs / fn132bin / fdman / chapter.13 < prev    next >
Text File  |  1991-09-03  |  46KB  |  1,133 lines

  1.  
  2.  
  3. Chapter 13:  Miscellaneous                                               151
  4.  
  5.  
  6.  
  7.  
  8. 13  Miscellaneous
  9.  
  10.  
  11.    Yup, this is  the good old "miscellaneous"  chapter, that place where  we
  12. put stuff which either  didn't seem to fit into any other chapter,  or which
  13. we figured didn't deserve a chapter of its own.  So here we go.
  14.  
  15.  
  16.  
  17. 13.1  Things to Make Fnordadel Work or Work Better
  18.  
  19.    Most of the programs we  mention in this section are available on  RT and
  20. secret.   If you can't  find them anywhere else,  phone one of our  systems.
  21. See Appendix A [Fnordadel Support], page 170.
  22.  
  23.    Here are a few things you will *absolutely need* to avoid trouble:
  24.  
  25.   o If  you have a  hard drive,  TOS 1.4 (or  greater, like  TOS 1.6 in  the
  26.     STE), or  both, make sure you  have foldr100.prg installed in your  AUTO
  27.     boot  folder.   You  may not  need foldr100.prg  if you  have access  to
  28.     another program that does a similar function,  for example Revolver from
  29.     Intersect Software  or the hard drive  boot handler supplied with  newer
  30.     ICD host  adaptor-based hard drives.   Both of these products allow  you
  31.     to allocate buffers for extra folders, a necessary  thing due to bugs in
  32.     TOS. Even  if you don't  have a hard  drive, TOS 1.4  and 1.6 will  need
  33.     these extra buffers because of bugs they have.
  34.  
  35.   o If  you  have TOS  1.4  or  greater,  you must  also  have  poolfix3.prg
  36.     installed  in your  `auto' boot  folder.    These versions  of TOS  have
  37.     some  bugs that  are corrected  by  the poolfix  program,  so make  sure
  38.     it is  correctly installed before  going any further.   We also  include
  39.     poolfix4, which is a version of poolfix3 with hacks  to permit it to run
  40.     in any position in  your auto folder.  (poolfix3 likes to be  first, but
  41.     so do some other  auto programs.)  poolfix4 is *NOT* from Atari;  it was
  42.     done by somebody else.  Therefore, use it at your own risk.
  43.  
  44.   o If  you have TOS  1.4 or greater,  and wish  to run  your system with  a
  45.     high-speed modem,  you will  need to install  tos14fx2.prg in your  AUTO
  46.     folder.    This Atari fix  solves a  glitch with  RTS/CTS flow  control,
  47.     something fairly necessary at speeds of 9600 bps and higher.
  48.  
  49.    Here are some things you will probably want, to make life nicer:
  50.  
  51.   o If you  only have  512K of RAM,  you might want  to consider getting  an
  52.     upgrade  to 1MB,  especially if you  do not  own a  hard drive.    There
  53.     are a  lot of things that can  make running your system easier  and more
  54.     enjoyable, such  as RAMdisks and command shells.   But they  need memory
  55.     to run.  Pretty well all models of ST lose  about 100K of RAM to GEM and
  56.     TOS. Fnordadel itself needs another 200K or so.   On a machine with 512K
  57.     tops,  memory can disappear  pretty quickly, leaving  little or no  room
  58.     for the niceties.
  59.  
  60.   o No matter what model  of ST you have, and whether you have a  hard drive
  61.     or not, if you do not have a new version of  TOS (1.4 or 1.6, the latter
  62.     available standard  [and only]  on the STE  machines), then we  *highly*
  63.     recommend getting  a TOS upgrade.   Disk performance is *much*  improved
  64.  
  65.  
  66.  
  67. Chapter 13:  Miscellaneous                                               152
  68.  
  69.  
  70.  
  71.  
  72.     under  newer versions  of TOS,  although if  you are  running on  floppy
  73.     disks  you won't  notice it  much due  to their  inherently slow  access
  74.     times and data transfers rates.  The new  versions of TOS also provide a
  75.     lot of  other enhancements and fixes  that are worth having,  especially
  76.     if you use the GEM desktop a lot.
  77.  
  78.   o A display ``accelerator'',  such as the excellent Quick ST,  from Branch
  79.     Always  Software, is  a useful  addition.   Early versions  of Quick  ST
  80.     are  available in  the public  domain, so  try to  get ahold  of a  copy
  81.     and  try it  out.    If you  like it,  you can  pick  up the  commercial
  82.     version for about  $20.  Quick ST  provides a very nice speed-up  to all
  83.     screen display  operations used in  Fnordadel, and many operations  used
  84.     in GEM-based programs as well.
  85.  
  86.  
  87.  
  88. 13.2  Logging and Debugging
  89.  
  90.    Fnordadel  has  various  ways of  logging  its  actions  for  your  later
  91. perusal.   They include the  call-log and the net-log.   In addition,  there
  92. are both normal and network-specific debugging flags for  still more useless
  93. information.
  94.  
  95.  
  96. 13.2.1  The call-log
  97.  
  98.    The call-log is kept in  the file `calllog.sys', which is stored  in your
  99. #auditdir.   It records information about  callers, file downloads that  may
  100. occur, and system up/down times.   It can be defined to document any  or all
  101. of these things; see `ctdlcnfg.doc' for precise directions on  how.  Suffice
  102. it to  say that  if you define  the `ctdlcnfg.sys'  variable call-log to  be
  103. `1', it will cause  a call-log to be kept, documenting system  up/down times
  104. as well as caller information, but not file downloads.
  105.  
  106.    When the system is brought up, a line of the form
  107.  
  108.       System brought up <date> @ <time>
  109.  
  110. will be written to `calllog.sys'.  When the system is taken down,
  111.  
  112.       System brought down <date> @ <time>
  113.  
  114. will be  written.  And  when a user  has called, you'll  see a line of  this
  115. form:
  116.  
  117.       <username>          :  <date> <in> - <out> (<baud>) [flags]
  118.  
  119. The meanings are as follows:
  120.  
  121. username   is the name of the user;
  122.  
  123. date       is the date on which he/she called;
  124.  
  125. in         is the user's login time;
  126.  
  127. out        is the user's termination time;
  128.  
  129.  
  130.  
  131. Chapter 13:  Miscellaneous                                               153
  132.  
  133.  
  134.  
  135.  
  136. baud       is the baud  rate at which the  call was made, or ``console''  if
  137.            the login was from the Console;
  138.  
  139. flags      documents anything unusual  about the call.  The  following flags
  140.            are defined:
  141.  
  142.            +          New user.
  143.  
  144.            R          User  was   denied  access  to   the  system  due   to
  145.                       a  login  restriction  (see  Section   10.2.11  [Login
  146.                       restrictions], page 139).
  147.  
  148.            P          The  user was  punted off  by the  use  of the  [P]oll
  149.                       command from the Sysop's Net menu.
  150.  
  151.            e          An event punted the user off (see  Chapter 7 [Events],
  152.                       page 93).
  153.  
  154.            t          The user timed  out (meaning that he went for  about 3
  155.                       minutes without hitting a key).
  156.  
  157.            k          The user was  Killed while online (see [K]ill  user in
  158.                       Section 5.2 [User Status Commands], page 80).
  159.  
  160.            p          The  user did  a .T(erminate)  P(unt), which  restores
  161.                       all  of  his  non-vital  settings  to  their  pre-call
  162.                       state.
  163.  
  164.            s          The user did  a .T(erminate) S(tay).  This  means that
  165.                       he logged off without hanging up; this  is a good clue
  166.                       as to the identity of the next person to login.
  167.  
  168.            G          A user on the Console was kicked  off when carrier was
  169.                       detected; this  happens if you're  on the Console  and
  170.                       you use `^L M' instead of [T]erminate.
  171.  
  172.            D          The  user unceremoniously  disconnected without  using
  173.                       [T]erminate.   This  doesn't hurt  anything, but  it's
  174.                       bad style.
  175.  
  176.            E          The  user  was an  ``EVILE''  user;  he  entered  more
  177.                       than a  tolerable number of consecutive bad  commands,
  178.                       meaning that either
  179.  
  180.                        1. he's *really* clueless, or
  181.  
  182.                        2. he had extreme line noise problems.
  183.  
  184.            r          The user was punted by having  the modem reinitialised
  185.                       on him;  this is accomplished by using  [R]einitialise
  186.                       from the Sysop menu.
  187.  
  188.            c          The  user  called,  but   was  denied  access  to  the
  189.                       system  due  to  exceeding  the maxcalls  limit;   see
  190.                       Section 10.2.4 [Calls per day], page 135.
  191.  
  192.  
  193.  
  194. Chapter 13:  Miscellaneous                                               154
  195.  
  196.  
  197.  
  198.  
  199.            T          The user was denied access due to  having exceeded the
  200.                       maxtime limit;  see Section  10.2.5 [Connect time  per
  201.                       day], page 135.
  202.  
  203.            C          The user was denied access due to  having exceeded the
  204.                       maxclosecalls limit;  see Section 10.2.6 [Close  calls
  205.                       per day], page 136.
  206.  
  207.    The  call-log is  one  of  the  few  things in  Fnordadel  that  are  not
  208. self-maintaining; it will  continue to grow indefinitely, so it needs  to be
  209. periodically deleted.    You may wish  to use  the utility program  callstat
  210. to process  your call-log and generate  some statistics about your  system's
  211. usage.  See `callstat.man' for details.
  212.  
  213.  
  214. 13.2.2  The file-log
  215.  
  216.    If you  have  the `ctdlcnfg.sys'  variable audit-files  set to  `1',  the
  217. system will keep a log of user file downloads from your system.   The log is
  218. kept in a file called `filelog.sys', located in your #auditdir.
  219.  
  220.  
  221.  
  222. 13.2.3  The net-log
  223.  
  224.    If you have the `ctdlcnfg.sys' variable netlog defined, or  if you invoke
  225. citadel  with `+netlog'  on the  command  line, Fnordadel  will  keep a  log
  226. of  all network  activity in  a file  called `netlog.sys',  located in  your
  227. #auditdir.   Most of  the junk that  gets printed to  the screen during  any
  228. networking is  written to this file,  so you'll have  a pretty good idea  of
  229. what your  system's been up  to.   If you  do any long-distance  networking,
  230. it's probably a good idea to watch this file regularly  to keep tabs on mail
  231. transfers, failed calls, and anything else that costs you money.
  232.  
  233.    As with the call-log, the  net-log can get quite large quite  quickly, so
  234. keep an  eye on it and  nuke it every now  and then.   If you find  yourself
  235. never looking at it,  you may simply wish to stop telling Fnordadel  to keep
  236. it.  If you're  not running with a hard drive, you probably won't  have room
  237. for this file.
  238.  
  239.  
  240. 13.2.4  Debugging
  241.  
  242.    Ah yes, debugging---we know  it's our favourite!  Fnordadel has  a couple
  243. of debugging options which  can be specified on the command line  to citadel
  244. or can be defined in `ctdlcnfg.sys' (as with netlog above).   They are debug
  245. and netdebug.
  246.  
  247.    debug  causes seemingly  random  debugging stuff  to  be printed  out  at
  248. seemingly random times; it  won't affect the operation of the board  at all,
  249. though.
  250.  
  251.    netdebug  operates on  network  things;  you'll  notice that  still  more
  252. junk will  get printed  on the  screen (and written  to `netlog.sys'  during
  253. networking when you have this turned on.
  254.  
  255.  
  256.  
  257. Chapter 13:  Miscellaneous                                               155
  258.  
  259.  
  260.  
  261.  
  262.    In general,  you shouldn't have to  worry about stuff  like this, but  if
  263. you're having a problem and  we tell you to turn debugging on to  help track
  264. it down, you'll know what to do.
  265.  
  266.  
  267. 13.2.5  Crashes
  268.  
  269.    Sadly, your Fnordadel will probably  crash on you at some point.   You'll
  270. come up  to the  system,  switch on  the monitor,  and see  the screen  come
  271. to life  showing the GEM  desktop or your favorite  command shell, not  your
  272. Fnordadel!  Aie!  What to do?
  273.  
  274.    Happily, most  crashes encountered  by Fnordadel  can be  semi-gracefully
  275. handled.     This   means  that  the  system  is  able  to  write   out  the
  276. `ctdltabl.sys' file and prevent you from having to  reconfigure your system.
  277. You should be able to start right back up if  you see that `ctdltabl.sys' is
  278. there.
  279.  
  280.    Just to  be on  the safe  side, though,  Fnordadel will  stick a  message
  281. about the crash  in a file called -- oddly  -- `crash'.  This file  lives in
  282. the same  directory as `ctdltabl.sys', so  look for it  and read it if  it's
  283. there.   There's an outside chance it might  tell you something useful.   If
  284. your system crashes  and you can't find a  crash file, that means  the crash
  285. was a  bad one.   `ctdltabl.sys' probably won't  be there either, so  you'll
  286. have to reconfigure things.   It would probably be in your best  interest to
  287. reboot your system as well.
  288.  
  289.  
  290.  
  291. 13.3  Help Files
  292.  
  293.    One  of the  standard system  directories  defined in  `ctdlcnfg.sys'  is
  294. #helpdir; it's where the  help files, menus and ``blurbs'' go.   These files
  295. are all just standard  ASCII text, and are therefore freely editable  by the
  296. Sysop.    We think  the set  provided  with Fnordadel  is pretty  good,  but
  297. nothing is above improvement.
  298.  
  299.    In general,  the  files ending  in  `.mnu' (the  menus) and  `.blb'  (the
  300. ``blurbs'') should  not be deleted or  renamed, because Fnordadel looks  for
  301. them specifically.   Most of  the files ending in  `.hlp', however, are  not
  302. bound by any  such restriction, and may be  renamed or disposed of  at will.
  303. Exceptions are:
  304.  
  305. `dohelp.hlp'
  306.            general novice help; called by [H]elp
  307.  
  308. `policy.hlp'
  309.            system policy; force-fed to new users on their first call
  310.  
  311. `summary.hlp'
  312.            extended command summary; called by `.?'
  313.  
  314.  
  315.  
  316. Chapter 13:  Miscellaneous                                               156
  317.  
  318.  
  319.  
  320.  
  321. `topics.hlp'
  322.            the main hot-helps menu; called by .H(elp) ?
  323.  
  324.    In order to  customize your system, you  may create any number of  `.hlp'
  325. files, and  integrate them with the  online help system (see Section  13.3.1
  326. [Hot-help system],  page  156).   You will  also want  to edit  some of  the
  327. other help files provided.   In particular, most of the `.blb'  files should
  328. be looked  at and changed as  required, and `policy.hlp' and  `localbbs.hlp'
  329. should be modified.  The `.mnu' files should never need any modifications.
  330.  
  331.  
  332. 13.3.1  The hot-help system
  333.  
  334.    Any text file you like  can be displayed by the .H(elp) command if  it is
  335. in the #helpdir  directory, ends with the  extension `.hlp', and your  users
  336. can find out its name.   However, if your help files contain  special codes,
  337. they can be made to point to other (hopefully related) help  files.  This is
  338. encoded in a help file by placing lines of this form in it:
  339.  
  340.       %topic<tab>Description
  341.  
  342.    The name  topic must correspond  to a  help file ending  in `.hlp',  i.e.
  343. `topic.hlp'.  All % lines in a file will be assigned  a letter, and when the
  344. help file has  finished printing out, the user  will be prompted to  enter a
  345. letter corresponding to the further help file he wishes to  read.  Don't put
  346. too many  % lines in any  given file, though, or  the first few will  scroll
  347. off the top of the screen before the prompt appears.
  348.  
  349.    Another thing  you can do  in the `.hlp'  files is  specify lines of  the
  350. form
  351.  
  352.       %%Some text of your choice
  353.  
  354. to give  the help  system the  cue that  `Some text of  your choice'  should
  355. be displayed  while and  *only* while it  is processing  the `.hlp' file  in
  356. hot-help mode.   Some  `.hlp' files (e.g.   `policy.hlp' and  `summary.hlp')
  357. are called  up both  in the hot-help  system and somewhere  else, where  the
  358. menu-handling procedure  is not done.   The %% lines,  which you can use  as
  359. headings or  what have you,  will thus  appear when the  file is being  used
  360. as a  menu, and disappear  when it is  being used as  a one-shot display  of
  361. information.
  362.  
  363.    An  example will  make  this easier  to  figure out.    Suppose  that  we
  364. have  a help  file  called  `society.hlp' (let's  say  we run  a  non-profit
  365. organisation...)  This file might say something like this:
  366.  
  367.       The Foobar Non-Profit Society Creed:
  368.       We are dedicated to being our society.
  369.  
  370.       %%For more information on the Non-Profit Society, see:
  371.  
  372.       %MEETINGS       Times and locations of upcoming meetings.
  373.       %MEMBERS        The most recent membership list.
  374.       %GOSSIP         Neat new gossip from our members.
  375.  
  376. When the user types
  377.  
  378.  
  379.  
  380. Chapter 13:  Miscellaneous                                               157
  381.  
  382.  
  383.  
  384.  
  385.       .H(elp) society
  386.  
  387. he or she will see:
  388.  
  389.       The Foobar Non-Profit Society Creed:
  390.       We are dedicated to being our society.
  391.  
  392.       For more information on the Non-Profit Society, see:
  393.  
  394.       [A] MEETINGS    Times and locations of upcoming meetings.
  395.       [B] MEMBERS     The most recent membership list.
  396.       [C] GOSSIP      Neat new gossip from our members.
  397.  
  398.       Select [A-C] or [RETURN] to exit:
  399.  
  400. If, for some reason,  the file `society.hlp' was ever displayed to  the user
  401. by one  of the other  help mechanisms in  the code he or  she would see  the
  402. following:
  403.  
  404.       The Foobar Non-Profit Society Creedo:
  405.       We are dedicated to being our society.
  406.  
  407.    At this  point  the user  will do  as instructed,  we  hope.   Using  the
  408. hot-help system  carefully allows you  to construct  a hierarchical sort  of
  409. help system; see the distribution help file set for an example of this.
  410.  
  411.  
  412. 13.3.2  BLurB files
  413.  
  414.    The following `.blb' files are  referenced by Fnordadel.  If  they aren't
  415. present, your users will probably see a little error  message which says `No
  416. help file  <whatever>'.   Or we  may have had  the foresight  to build in  a
  417. hard-wired message that actually means something sensible.
  418.  
  419. `banner.blb'
  420.            The opening  banner; spit  out to users  when they first  connect
  421.            with your system.
  422.  
  423. `banner.n'
  424.            The   optional  rotating   banner   files,   `banner.1'   through
  425.            `banner.n'.
  426.  
  427. `deny.blb'
  428.            Used only  if you're running  a closed  system (loginok is  `0').
  429.            It is shown to  new users; it should say something about  how new
  430.            users need to leave the Sysop mail to get an account.
  431.  
  432. `entry.blb'
  433.            This  is printed  for non-Expert  users when  they  are about  to
  434.            enter a  message;  it should say  stuff about  how the  formatter
  435.            works and so on.
  436.  
  437.  
  438.  
  439. Chapter 13:  Miscellaneous                                               158
  440.  
  441.  
  442.  
  443.  
  444. `fakeerr.blb'
  445.            This is  displayed to remote users when  the Sysop hits the  `^E'
  446.            command  on the  console.    Say what  you  like, but  if  you're
  447.            courteous,  you'll put  something in  that's suitably  apologetic
  448.            for your cavalier butchering of the user's login session.
  449.  
  450. `logout.blb'
  451.            A message  printed after  a user .T(erminate)s  from the  system,
  452.            just before carrier is lost.
  453.  
  454. `maxcalls.blb'
  455.            A message  given to  users who  are denied system  access due  to
  456.            exceeding  the maxcalls  limit;  see  Section 10.2.4  [Calls  per
  457.            day], page 135.
  458.  
  459. `maxclose.blb'
  460.            This message is given  to users who are denied system  access due
  461.            to exceeding the  maxclosecalls limit; see Section  10.2.6 [Close
  462.            calls per day], page 136.
  463.  
  464. `maxmsg.blb'
  465.            A  message given  to users  who  try to  enter more  messages  in
  466.            a room  than allowed  by the  msgenter or  mailenter limits;  see
  467.            Section  10.2.2 [Messages  per  room  per call],  page  134,  and
  468.            Section 10.2.3 [Mail messages per call], page 135.
  469.  
  470. `maxtime.blb'
  471.            A message  given to  users who  are denied system  access due  to
  472.            exceeding the  maxtime limit;  see Section  10.2.5 [Connect  time
  473.            per day], page 135.
  474.  
  475. `newroom.blb'
  476.            Printed whenever a non-Expert enters a new room.
  477.  
  478. `nochat.blb'
  479.            This is  shown to any  user who  asks for a  Chat while you  have
  480.            chat mode turned off.
  481.  
  482. `notice.blb'
  483.            After a user  logs in but before  he reaches the room prompt,  he
  484.            will be shown this file.
  485.  
  486. `password.blb'
  487.            This  blurb is  shown to  new  users just  before they  select  a
  488.            password;  it should  say something about  picking something  not
  489.            easily guessed.
  490.  
  491. `restrict.blb'
  492.            A ``we're  closed, call  back later'' message  used when a  login
  493.            restriction  results  in  a user  being  barred  from  using  the
  494.            system.
  495.  
  496.  
  497.  
  498. Chapter 13:  Miscellaneous                                               159
  499.  
  500.  
  501.  
  502.  
  503. 13.3.3  MeNU files
  504.  
  505.    The  following `.mnu'  files  are referenced  by  Fnordadel.    They  are
  506. printed out whenever a user  hits a question mark at various points.   There
  507. should never be  any need to change them; they  may be updated by us  as new
  508. features are  added to  Fnordadel.   As with  `.blb' files,  if they  aren't
  509. present,  your users will  probably see  a little error  message which  says
  510. ``No help file <whatever>''.
  511.  
  512. `aide.mnu'
  513.            .A(ide) ?
  514.  
  515. `aideedit.mnu'
  516.            `?' from  the .A(ide) E(dit)  menu, where the  user logged in  is
  517.            only an Aide and not the Sysop or a Co-Sysop
  518.  
  519. `aideflr.mnu'
  520.            ;A(ide) ?
  521.  
  522. `browser.mnu'
  523.            `?' from the browser prompt
  524.  
  525. `config.mnu'
  526.            `?' from the .E(nter) C(onfiguration) prompt
  527.  
  528. `ctdllist.mnu'
  529.            `?' from the purge or restrict prompts
  530.  
  531. `ctdlopt.mnu'
  532.            `?' from the main Sysop menu (`^L')
  533.  
  534. `ctdlstat.mnu'
  535.            `?' from the user status menu (`^L U')
  536.  
  537. `edit_inf.mnu'
  538.            `?' from the room info editor
  539.  
  540. `edit_msg.mnu'
  541.            `?' from the message editor
  542.  
  543. `entopt.mnu'
  544.            .E(nter) ?
  545.  
  546. `floor.mnu'
  547.            `;?'
  548.  
  549. `known.mnu'
  550.            .K(nown) ?
  551.  
  552. `lobbedit.mnu'
  553.            `?' from the  .A(ide) E(dit) menu,  where the user logged in  has
  554.            Sysop or Co-Sysop status and the room being edited is Lobby>
  555.  
  556. `logout.mnu'
  557.            .T(erminate) ?
  558.  
  559.  
  560.  
  561. Chapter 13:  Miscellaneous                                               160
  562.  
  563.  
  564.  
  565.  
  566. `mainopt.mnu'
  567.            `?' from the room prompt
  568.  
  569. `more.mnu'
  570.            `?' from a .R(ead) M(ore) prompt (`More? ')
  571.  
  572. `netedit.mnu'
  573.            `?' from the net node edit menu (`^L N E')
  574.  
  575. `netopt.mnu'
  576.            `?' from the net menu (`^L N')
  577.  
  578. `readopt.mnu'
  579.            .R(ead) ?
  580.  
  581. `roomedit.mnu'
  582.            `?' from the  .A(ide) E(dit) menu,  where the user logged in  has
  583.            Sysop or Co-Sysop status
  584.  
  585. `specedit.mnu'
  586.            `?' from the  .A(ide) E(dit) menu,  where the user logged in  has
  587.            Sysop or Co-Sysop status and the room being edited is Aide>
  588.  
  589.  
  590.  
  591. 13.4  Curious Feeps
  592.  
  593.    This  is  the *really*  miscellaneous  section---a  place  for  stuff  so
  594. miscellaneous, it doesn't even deserve a section of its own.
  595.  
  596.  
  597. 13.4.1  Uppercase elimination
  598.  
  599.    The system  converts messages from  upper-case-only folks to  lower-case,
  600. then does  a simple capitalization algorithm.   This  is lots easier on  the
  601. eyes of those who actually read messages.  This  feature does, however, trip
  602. up people who actually *intended* a message to be all upper-case.
  603.  
  604.    If  you  include  even  one  lower-case  character  in  a  message,   the
  605. conversion and capitalisation  thing will not be  done, so a standard  trick
  606. is to  put a lower-case  L (`l') in  place of  a `1' somewhere.   I've  seen
  607. people do this  l0 times, just to be sure!   (Credit where credit is  due --
  608. we didn't put this one  in, it came with STadel, but was probably put  in by
  609. Hue, Jr.  in Citadel-86, or even CrT in the original CP/M Citadel.)
  610.  
  611.  
  612. 13.4.2  <fnord>s
  613.  
  614.    Fnordadel  is a  somewhat whimsical  piece  of software.    Some  of  its
  615. features have been hacked  in on the spur of the moment; others  just seemed
  616. to materialise.   The  authors' primary reason for  working on the  software
  617. at  all is  just ``because  it's neat''.    So, we  occasionally break  from
  618. ``serious hacken'' and put  in bits of silliness or weirdness.   The <fnord>
  619. feature is one such bit.
  620.  
  621.  
  622.  
  623. Chapter 13:  Miscellaneous                                               161
  624.  
  625.  
  626.  
  627.  
  628.    <fnord> is  a subliminal  trigger word,  and  since BBSes  are the  ideal
  629. forum for  perpetuating subliminal  messages, we've  thoughtfully bound  the
  630. `P' key (at the room prompt level) to the <fnord>s.
  631.  
  632.    Simply put a file called `fnord.sys' in your #sysdir.   It should contain
  633. a list of silly sayings,  one per line, which will be chosen from  at random
  634. and spit  at the user  when he (always  mistakenly) hits `P'.   The size  of
  635. `fnord.sys' is  practically unlimited, but  it is all  loaded into RAM  when
  636. Fnordadel starts, so be very careful.  Anyway,  say your `fnord.sys' has the
  637. following lines:
  638.  
  639.       send money
  640.       read my lips
  641.       no newt axes!
  642.       the Sysop's a babe
  643.  
  644.    Depending on the  state of some  random bits inside  the machine, a  user
  645. hitting `P' might see
  646.  
  647.       <fnord><no newt axes!>
  648.  
  649. and will suddenly begin  to wonder whether Mr Bush ever said  anything about
  650. ``Taxes''.  Or he might see
  651.  
  652.       <fnord><the Sysop's a babe>
  653.  
  654. in which case you  can expect a proposition in Mail>.   Or, best of  all, he
  655. might see
  656.  
  657.       <fnord><send money>
  658.  
  659. and, if you've  thoughtfully put your mailing  address in, say, a help  file
  660. (or perhaps in another <fnord>), the money will roll in.  Neat, huh?
  661.  
  662.    To  disable <fnord>s,  if  you  don't  like  'em,  just get  rid  of  the
  663. `fnord.sys' file.
  664.  
  665.  
  666. 13.4.3  User timeouts
  667.  
  668.    It's an  annoying thing to  have users monopolize  your system for  large
  669. chunks  of time,  but it  would be  even more  annoying  if they  did so  by
  670. spending  long minutes  idly sitting  at a  command prompt  somewhere.    To
  671. prevent  this,  Fnordadel has  a  timeout  feature that  it  inherited  from
  672. STadel:  if a user's session is idle (i.e.   no screen or keyboard activity)
  673. for 3 minutes or so, the system will print a  cutesy message and log him/her
  674. off.   This timeout can also  apply to console users  such as the Sysop,  if
  675. you wish it.  See the sysopsleep parameter in `ctdlcnfg.doc'.
  676.  
  677.  
  678.  
  679. Chapter 13:  Miscellaneous                                               162
  680.  
  681.  
  682.  
  683.  
  684. 13.4.4  New user message viewing
  685.  
  686.    Another  annoying thing  is having  a  new user  call  in (at  300  baud,
  687. too,  wouldn't you  know it!)    and read  every  message in  every room  on
  688. your system.    Argh!   Well, there  is a  `ctdlcnfg.sys' parameter called
  689. newusermsgs which lets you  set how many messages the system will  think are
  690. new to  each new user  calling in.   It  defaults to `50'  if you don't  set
  691. it otherwise.    If you  set it  to `0',  all messages will  be new.    This
  692. variable helps  the user's  first call  to get  him/her the  gist of  what's
  693. being  discussed, without  swamping her/him  with an  overload of  info,  or
  694. crippling your  system with massive  connect times.   Of course, it  doesn't
  695. help on subsequent calls...
  696.  
  697.  
  698. 13.4.5  User configuration defaults
  699.  
  700.    We had  a request  to allow  the  Sysop to  set default  values for  some
  701. of  the user  configuration values  that  new users  aren't asked  about  if
  702. they claim  not to be  Citadel experts.   To that  end, there are  currently
  703. several  `ctdlcnfg.sys'  flags that  you  can  diddle to  give  your  novice
  704. users the  ``correct'' combination  of features:   defshowtime,  deflastold,
  705. deffloormode, defreadmore,  defnumleft and defautonew.   See  `ctdlcnfg.doc'
  706. for more.
  707.  
  708.  
  709.  
  710. 13.4.6  Status line
  711.  
  712.    One of  the most  popular additions  orc made  to STadel  was the  status
  713. line, an inverse mode, non-scrolling line of user  information placed at the
  714. bottom of the console screen.  It is activated  by invoking citadel with the
  715. +line option.   This gets you at-a-glance information about an  online user,
  716. including user  name, current room,  time of login,  current time, and  some
  717. flags.
  718.  
  719.    The flags  consist of  `R', which  indicates a Sysop  console request  is
  720. pending (see Section  5.3.1 [Special keys],  page 83); `T', which  indicates
  721. the current  user is  a twit  (see Section  5.3.1 [Special  keys], page  83,
  722. see Section  2.1 [Your Callers],  page 14); `C',  which indicates chat  mode
  723. is currently enabled  (see Section 5.1 [Sysop Special Functions],  page 75);
  724. and  `*', which  indicates  that the  user has  an  unanswered chat  request
  725. outstanding.
  726.  
  727.    If  the  status  line  is   not  active,  Fnordadel  will   display  some
  728. information about the  user just before each  room prompt as the user  moves
  729. about the system.  This information is shown only on the console.
  730.  
  731.  
  732.  
  733. Chapter 13:  Miscellaneous                                               163
  734.  
  735.  
  736.  
  737.  
  738. 13.4.7  Rotating banners
  739.  
  740.    We  received   several  requests  to   implement  __rotating   banners__,
  741. something  Hue, Jr.    recently  put into  his Citadel-86.    Figuring  we'd
  742. already blown  any possible  reputation for seriousness,  we figured  ``what
  743. the heck'', and here they are.
  744.  
  745.    To use rotating banners on  your system, create a number of  files called
  746. `banner.1',  `banner.2',  `banner.3',  etc.    in your  #helpdir  directory.
  747. Leave the existing `banner.blb' file there.   Then define the `ctdlcnfg.sys'
  748. parameter  #numbanners to  be  the  number of  banners  you want  to  rotate
  749. through.   You  can set  the parameter  #bannerblb to  `1' if  you want  the
  750. system to  display `banner.blb' following  the rotating  banner it picks  at
  751. random, or to `0' if the rotating banner files should stand alone.
  752.  
  753.  
  754.  
  755. 13.5  File Locations
  756.  
  757.    The following is a more-or-less complete list of  where Fnordadel expects
  758. to find which files  (or where you can find files that  Fnordadel deposits).
  759. Don't shoot us if we've missed one, though.
  760.  
  761. #auditdir
  762.  
  763.            `calllog.sys'
  764.                       The call-log
  765.  
  766.            `filelog.sys'
  767.                       The user file transfer log
  768.  
  769.            `netlog.sys'
  770.                       The network activity log
  771.  
  772.            `debuglog.sys'
  773.                       The debugging log
  774.  
  775.            `chat.rec'
  776.                       Text from captured Chat sessions
  777.  
  778.            `sysop.msg'
  779.                       Where archived Sysop mail goes (if enabled)
  780.  
  781.            `callstat.sys'
  782.                       Useful statistics written by callstat
  783.  
  784.            `callbaud.sys'
  785.                       Supplementary useful statistics from callstat
  786.  
  787. #helpdir
  788.  
  789.            *.hlp      Help files
  790.  
  791.            *.mnu      Menus
  792.  
  793.            *.blb      ``Blurbs''
  794.  
  795.  
  796.  
  797. Chapter 13:  Miscellaneous                                               164
  798.  
  799.  
  800.  
  801.  
  802. #holddir
  803.  
  804.            `holdnnnn'
  805.                       Held message for user #nnnn
  806.  
  807. #msgdir
  808.  
  809.            `ctdlmsg.sys'
  810.                       The message base
  811.  
  812. #netdir
  813.  
  814.            `ctdlnet.sys'
  815.                       The net-list
  816.  
  817.            `ctdlloop.zap'
  818.                       The loop-zapper database
  819.  
  820.            `ctdlpath.sys'
  821.                       Path alias definitions
  822.  
  823.            `dial_n.prg'
  824.                       External dialer programs
  825.  
  826.            `n.ml'     Semi-temporary files for net-mail to node #n
  827.  
  828.            `n.nfs'    Semi-temporary files for file sends/requests  for node
  829.                       #n
  830.  
  831.            `n.fwd'    Semi-temporary files for mail forwarding to node #n
  832.  
  833.            `xxxxxxx.dis'
  834.                       Discard message files
  835.  
  836. #roomdir
  837.  
  838.            `roomnnnn.sys'
  839.                       The room files (where nnnn = 0000 to (maxrooms - 1))
  840.  
  841.            `roomnnnn.inf'
  842.                       The optional  room info  files (where nnnn  = 0000  to
  843.                       (maxrooms - 1))
  844.  
  845. #sysdir
  846.  
  847.            `citadel.lck'
  848.                       Lockfile  used  by  citadel  and many  others;   helps
  849.                       prevent  dangerous collisions  when using  doors or  a
  850.                       multi-tasking system.
  851.  
  852.            `ctdllog.sys'
  853.                       The user log
  854.  
  855.            `ctdlflr.sys'
  856.                       The floors file
  857.  
  858.  
  859.  
  860. Chapter 13:  Miscellaneous                                               165
  861.  
  862.  
  863.  
  864.  
  865.            `ctdldoor.sys'
  866.                       Door definitions
  867.  
  868.            `ctdlarch.sys'
  869.                       Room archiving information
  870.  
  871.            `alias.sys'
  872.                       Shared room aliasing definitions
  873.  
  874.            `purge.sys'
  875.                       List of users to whom the purge feature will apply
  876.  
  877.            `restrict.sys'
  878.                       List of users to restrict login to
  879.  
  880.            `fnord.sys'
  881.                       Silly sayings for the `P' key
  882.  
  883.            `calldata.sys'
  884.                       Cumulative data maintained by callstat
  885.  
  886.            `checkpt.sys'
  887.                       Checkpoint file for configur
  888.  
  889.    In  addition, a  few  files  are expected  to  live in  Fnordadel's  home
  890. directory (i.e., the directory in which Fnordadel is run).  These are:
  891.  
  892. `ctdltabl.sys'
  893.            The system  tables file; needed  by almost everything,  including
  894.            citadel.  Regenerated by configur.
  895.  
  896. `crash'    If there's  been a  crash and  Fnordadel saw it  coming, this  is
  897.            where it puts a report.
  898.  
  899.  
  900.  
  901. 13.6  Multitasking and Fnordadel
  902.  
  903.    Some time before  orc ceased work on  STadel, he made some  modifications
  904. to it  to make  it operate  a little  nicer in  a multi-tasking  environment
  905. on the  Atari ST. The  multi-tasker he specifically  tested was AMULTI,  but
  906. MX2, MiNT  and Multi-GEM  are three others  we know of  as of this  writing.
  907. The first  three are  public domain,  all four  should be used  only if  you
  908. know what you're doing,  and none of them is guaranteed to work  properly or
  909. reliably with  Fnordadel,  since we've never  done a  lick of  work to  make
  910. sure Fnordadel  will live properly  with them.   However,  it's on our  list
  911. of things  to do  when we get  time, so  don't hesitate  to send reports  of
  912. your experiences with  Fnordadel and multitasking.   Any information we  can
  913. get from  out there will  make us  that much better  prepared to tackle  any
  914. problems there may be.
  915.  
  916.    To  activate Fnordadel  for  use in  a  multi-tasking environment,  as  a
  917. background  process, invoke  citadel  with the  option `+multi',  and  using
  918. whatever mechanism your multitasker needs to indicate  a background process.
  919. (See the  options section of  `citadel.man'.)   At this  point in time,  all
  920. this option  does is basically  shut off Fnordadel's  screen output so  that
  921.  
  922.  
  923.  
  924. Chapter 13:  Miscellaneous                                               166
  925.  
  926.  
  927.  
  928.  
  929. the display doesn't get messed up while you're doing  other things, and make
  930. the system  ignore keyboard input  from the console.   All other  activities
  931. continue as normal, including networking.
  932.  
  933.    Once Fnordadel is  running in the background,  you will probably want  to
  934. bring it  to the foreground  at some  point.   At the very  least, you  will
  935. have to  do this when you  want to shut Fnordadel  down, since the only  way
  936. to properly take the system  down is using the `^LQ' command.   To reconnect
  937. Fnordadel to the console,  run the utility sysop, which tells the  system to
  938. listen up.   Fnordadel will  once again display  things on your monitor  and
  939. listen to the keyboard.  See `sysop.man'.
  940.  
  941.    To send the  system back into the background  again, you can hit `^Z'  at
  942. the console.  Fnordadel will stop displaying to the  screen and taking input
  943. from the console  keyboard.  Make sure  you're logged out and the  system is
  944. back in  modem mode when  you do this!   See  Section 5.3.1 [Special  keys],
  945. page 83, for  more info about `^Z'.   Also see Section 8.1.3.4  [Special net
  946. keys], page 103.
  947.  
  948.    Most Fnordadel utility  programs that need  to update `ctdltabl.sys',  or
  949. other  system files,  will  check for  the  existence of  the  `citadel.lck'
  950. file  that was  mentioned briefly  in the  last section.    If  the file  is
  951. present,  the utility will  abort,  otherwise it will  go ahead  and do  its
  952. thing.   *Be warned*,  however, that there  may be a  utility or three  that
  953. doesn't behave properly in  this regard.  Thus if you are  running Fnordadel
  954. in the background, be very careful to avoid  clobbering something by running
  955. Fnordadel updating utilities at the same time.
  956.  
  957.  
  958.  
  959. 13.7  Fnordadel vs.  STadel
  960.  
  961.    This section is for those of  you who are converting up from STadel.   If
  962. you aren't converting,  you can read it for trivia,  or ignore it.   We have
  963. developed a  converter program to  take STadel 3.3d  systems to the  current
  964. version of Fnordadel, hopefully preserving all important system  files.  See
  965. the `conv33d.doc' document for details on conversion.
  966.  
  967.    Since Fnordadel is directly descended from STadel 3.3b,  with many pieces
  968. borrowed from STadel 3.4a (which never got released, that  we know of), most
  969. of the  things you liked  about STadel will  still be here.   We added  this
  970. section mainly because  many of you who  convert will probably notice  right
  971. away that  some things, such  as running configur  or saving messages,  seem
  972. slower with  Fnordadel.   You're not  imagining things,  and before you  get
  973. homicidal or erase Fnordadel from your system, we want to explain.
  974.  
  975.    Some  of you  may  have  noticed  that the  slow-down  seems  related  to
  976. room-oriented operations.   If so, you hit the  nail on the head.   From the
  977. conversion process, you'll know  there is a big difference in how  rooms are
  978. done.   This is what causes  the speed difference as  well, and is the  only
  979. aspect in which  Fnordadel is slower than STadel.   Hopefully we  can temper
  980. the shock with good reasons for the change.
  981.  
  982.    STadel  (and other  Cits)  use  a  single file  to  store  rooms,  called
  983. `ctdlroom.sys'.    The  file is  opened once  when  the system  starts,  and
  984. closed  once when  it  exits.    All rooms  occupy  a fixed-size  record  in
  985.  
  986.  
  987.  
  988. Chapter 13:  Miscellaneous                                               167
  989.  
  990.  
  991.  
  992.  
  993. `ctdlroom.sys', and  accessing the records  requires seeking to the  record,
  994. followed by one read or write operation to transfer all the room's data.
  995.  
  996.    Some time ago, we got  sick and tired of the 58 messages per  room limit,
  997. along with all  the other limits (64 rooms  per system, 16 shared  rooms per
  998. net node, etc.)   We got rid of them all in a similar fashion to  Hue, Jr.'s
  999. method of  eliminating the limits  in Citadel-86, by  allowing the Sysop  to
  1000. define the limits himself in `ctdlcnfg.sys', and alter them  on the fly with
  1001. various utility  programs.  With  the messages per  room limit, however,  we
  1002. chose a different approach.
  1003.  
  1004.    Any fixed number of  messages per room, we reasoned, will  be inefficient
  1005. since  there  will  rarely-approaching-never  be  exactly   that  number  of
  1006. messages in  any room.    If there  are too  few messages,  the extra  space
  1007. in the  room record will be  wasted, while if  there are too many  messages,
  1008. they can't  all fit and  thus you'll have space  in `ctdlmsg.sys' wasted  by
  1009. messages that nobody can ever see.
  1010.  
  1011.    We therefore decided  to make the room records  vary in size so they  are
  1012. always exactly as  big as required to fit  the number of messages  really in
  1013. each room.   No more wasted  space in the room  records, and no more  wasted
  1014. space in  the message file.   Unfortunately,  we could  no longer store  the
  1015. room records  in one  file, since  their varying size  would be  practically
  1016. impossible to deal with in the confines of a single file.
  1017.  
  1018.    Consequently, we  broke the  room file up  into one file  per room,  each
  1019. now able  to be whatever size  required to store  the number of messages  in
  1020. it.   This gave us the  desired space efficiency.   It also improved  damage
  1021. control; with STadel,  a bad sector or corrupted room record would  wipe out
  1022. the whole  `ctdlroom.sys' file.    Since the  file can't  be regenerated  by
  1023. configur, the effect  was to lose your  entire message base even though  the
  1024. `ctdlmsg.sys' file was perfectly  intact!  Now with Fnordadel, a  bad sector
  1025. or corrupted room  record causes the loss of  only one room, not  the entire
  1026. message base.
  1027.  
  1028.    Sadly,  the improved  space efficiency  and security  has a  price.    No
  1029. longer do we  have the single room file,  which is opened once,  closed once
  1030. and accessed via one read  or write operation per room.  Now, with  one file
  1031. per room, each file  must be opened and closed each time it is  accessed (we
  1032. can't have  them all open at  once; TOS has limits  on this kind of  thing).
  1033. This opening and  closing takes time.  Also,  we can't use a single  read or
  1034. write to access the room record, since it varies in size.   We first read or
  1035. write the  fixed-size part of  the record (name,  status flags, etc.),  then
  1036. the variable-sized  part (message pointers).    This double read/write  also
  1037. takes extra time.
  1038.  
  1039.    The net result  is a common  one:  to  improve efficiency, you  sacrifice
  1040. speed, and  vice versa.   We're working  on ways to get  every extra jot  of
  1041. speed out of  the new code, but it  will probably always be slower  than the
  1042. older  method.   One  thing that  will  help speed  it up  is  to throw  the
  1043. #roomdir directory onto  a small RAM disk.   If you  do this, make sure  you
  1044. back up the directory to disk regularly, either manually  or using a command
  1045. shell and automated scripts.  If you choose not use  the RAM disk, take some
  1046. comfort in knowing  that the slower room  access times are not for  nothing,
  1047. they are buying you much increased space efficiency and system reliability.
  1048.  
  1049.  
  1050.  
  1051. Chapter 13:  Miscellaneous                                               168
  1052.  
  1053.  
  1054.  
  1055.  
  1056. 13.8  Compatibilities, Incompatibilities, and Fixes
  1057.  
  1058.    This section  is for  miscellaneous facts  we've come  across that  could
  1059. affect your Fnordadel due to other products' behavior.
  1060.  
  1061.   o Turbo ST, a commercial display accelerator,  causes the Fnordadel status
  1062.     line to freak out.  We don't know of any  version of Turbo ST that works
  1063.     properly.  Our  advice is to get ahold of a program called  Quick ST, by
  1064.     Branch Always  Software.  It's  what we use, and  it works great.   (See
  1065.     Section 13.1 [Things to Make Fnordadel Work or Work Better], page 151.)
  1066.  
  1067.   o We've  heard  a lot  of  reports  about various  doors  (usually  games)
  1068.     that  do not work  properly, but  we're usually unable  to discover  any
  1069.     particular problems  since we don't  run many doors  ourselves.  If  you
  1070.     have trouble with  a door that is publicly available, the  best approach
  1071.     is to send  us a copy of it  along with detailed instructions on  how to
  1072.     duplicate your troubles.   Then we'll see if we can fix things.   If you
  1073.     can't send us  the door for some reason, send us a  detailed description
  1074.     of your  problem, and  we might be  able to figure  out what's going  on
  1075.     anyway.  If you're writing your own doors and  run into trouble, send us
  1076.     your code (if  you're programming in C), or your executable  program (if
  1077.     you're programming in anything else), and we'll look into it.
  1078.  
  1079.   o As reported by  kbad@Virtuality, Fnordadel appears to work like  a charm
  1080.     on the  Atari TT030.   So if your ego  requires you to have the  hottest
  1081.     Fnordadel this side of Virtuality, run out and buy a TT for yourself.
  1082.  
  1083.   o So-called  ``packer'' programs are  popular here  and there,  especially
  1084.     with users running without the Amazing Benefits of a  hard drive.  These
  1085.     packers compress other executable programs just  like archiving programs
  1086.     such  as LHarc, Arc  and Zoo.    The difference is  that the  compressed
  1087.     programs  can still be  run as before,  with the  nicety that they  take
  1088.     much  less disk  space  to store.    The  only cost  is that  they  take
  1089.     slightly  more time  to load  and execute,  since  they must  uncompress
  1090.     themselves on the fly.
  1091.  
  1092.     For  users running  on floppy  drive(s),  and finding  that  space is  a
  1093.     problem, we have  two comments.  First, space is always a  problem, even
  1094.     with a  hard drive.   Second, get  ahold of a  packer program from  your
  1095.     favorite Atari ST  file transfer board, and try it out on  the Fnordadel
  1096.     programs and utilities.  We don't guarantee that  they will pack, or run
  1097.     properly if packed, but it's worth a try.
  1098.  
  1099.  
  1100.  
  1101. 13.9  Beta Releases of Fnordadel
  1102.  
  1103.    We put Fnordadel out in ``releases'', rather than  small, random upgrades
  1104. to different  programs.   However, the  large majority  of the releases  are
  1105. ``beta'',  i.e.    they  have  some deficiency,  and  we  don't  necessarily
  1106. want everybody  under the  sun to take  that version  and start running  it.
  1107. Normally,  beta  releases are  sent  to a  select  few ``beta  sites'',  run
  1108. by Sysops  who understand and  accept the risks  involved with running  beta
  1109. software that  might have problems.   They have  agreed to actively help  us
  1110. solve any problems  that come up in the  code they run, and we  fully expect
  1111. them to give  us detailed bug descriptions  (not ``It doesn't work!''),  try
  1112.  
  1113.  
  1114.  
  1115. Chapter 13:  Miscellaneous                                               169
  1116.  
  1117.  
  1118.  
  1119.  
  1120. out  new things  we've put  in to  see if  they work,  and  give us  general
  1121. feed-back whether we ask for it or not.
  1122.  
  1123.    Up  until now,  we  have  been  pretty  slack about  who  gets  the  beta
  1124. releases.  We have a small number of beta sites  that we deal directly with,
  1125. but if other  people really want to run  the beta versions, they can  do so,
  1126. providing they  can get ahold of  them somewhere.   Anybody who gives out  a
  1127. beta release to a non-beta site is expected to  clearly communicate that the
  1128. software is *not* of  public, production quality, and also that  the manuals
  1129. frequently have  not been updated to  reflect all changes.   We do not  make
  1130. any kind  of guarantees to  anybody who  runs a beta  release that they  got
  1131. from somebody besides us.
  1132.  
  1133.