home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / vrac_os2 / foss10b3.zip / B&BSYSOP < prev    next >
Text File  |  1994-07-16  |  57KB  |  1,557 lines

  1.                                                              25
  2.                                *
  3.                                
  4.                     SysOp Documentation for
  5.                                
  6.                                *
  7.                                
  8.              Frog Online Services System for OS/2
  9.                           Frog OSS/2
  10.                             FOSS/2
  11.                                
  12.                                *
  13.                                
  14.  This documenation file is updated with version 1.0ß3 which is
  15.      the first release since B&BSYS changed name to FOSS.
  16.                                
  17.                                *
  18.                                
  19.         All included material is copyright 1991-94 by:
  20.                                
  21.                        Terje Flaar¢nning
  22.                                
  23.                                *
  24. TOC...
  25.  
  26. 1 INTRODUCTION TO FOSS/2                                      2
  27. 1.1 THE HISTORY BEHIND FOSS/2                                 2
  28. 1.2 FOSS/2 VS. OTHER BBS-SYSTEMS                              2
  29. 1.3 FIRST TIME FOSS/2 SETUP                                   2
  30. 1.4 THE PEOPLE BEHIND FOSS/2                                  3
  31. 1.5 GREETINGS                                                 3
  32. 2 CONFIGURATION OF FOSS/2                                     3
  33. 2.1 CONFIGURATION WITH THE U(til) Co(nfig) COMMAND            3
  34. 2.2 The Configure menu                                        4
  35.  General                                                     4
  36.  Path names                                                  5
  37.  File protocols                                              5
  38.  Archive programs                                            6
  39.  Nodes (comms)                                               7
  40.  Timed events                                                8
  41.  Net-links                                                   9
  42.  Areas                                                       9
  43.  Return to BBS                                              12
  44. DOOR.CMD                                                     12
  45. MENU BY MENU IN THE FOSS/2 INTERFACE                         13
  46. GLOBAL MENU FUNCTIONS                                        13
  47. MAIN MENU                                                    14
  48. MESSAGE MENU                                                 14
  49. FILE MENU                                                    15
  50. BULLETIN MENU                                                16
  51. CHAT MENU                                                    16
  52. UTILITIES MENU                                               17
  53. SYSOP MENU                                                   18
  54. CREATING THE BBS-SPECIFIC FILES                              20
  55. Creating a list of confrences                                20
  56. Creating lists of file areas                                 20
  57. Creating a list of bulletins                                 20
  58. Creating bulletins                                           20
  59. SCRIPTS THAT NEED TO BE MADE                                 21
  60. SCRIPT LANGUAGE                                              21
  61. SCRIPTS CALLED                                               21
  62. SCRIPT VARIABLES                                             22
  63. SCRIPT COMMANDS                                              23
  64. TECHNICAL INFO                                               25
  65. SYSTEM REQURIEMENTS                                          26
  66. FILE STRUCTURES                                              26
  67.  
  68.  
  69.  
  70. 1   INTRODUCTION TO FOSS/2
  71.  
  72. Welcome to the wonderful world of FOSS/2, the next generation
  73. of BBS's that runs under OS/2.
  74.  
  75. 1.1 THE HISTORY BEHIND FOSS/2
  76.  
  77. My first meeting with modem-communications was in the summer of
  78. 1989 when I realised there were telephone connectors in the
  79. back of my PC (a old ITT XTRA from 1984). I managed to connect
  80. to a local BBS and became a frequent user there. But
  81. unfortunately my local BBS had to close down and I had to start
  82. calling long distance which was not cheap. After a short while
  83. I got the idea of starting my own BBS. My first BBS was started
  84. using the MBBS (╕ Mike Robertson) BBS-system and I was online
  85. from early 1990. I connected to national networks and since I
  86. got more and more conferences the MBBS system became to
  87. limited, it only supported 75 conferences. Therefore I started
  88. making my own BBS-system which is known as "The Bits & Bytes
  89. Bulletin Board System" or FOSS for short.
  90.  
  91. Have to add something here, late in 1993 I heard about the OS/2
  92. patches for Borland Pascal, and this was the start of FOSS/2.
  93. FOSS will no longer be developed in a DOS-version.
  94.  
  95. 1.2 FOSS/2 VS. OTHER BBS-SYSTEMS
  96.  
  97. FOSS/2 is in many way like other BBS-systems. The main
  98. difference that it is almost unlimited as to how big your
  99. system may become. FOSS/2 consist of a database-structure so
  100. advanced that many bigger systems can just dream about matching
  101. it. This system is not just another program but it does follow
  102. all major software development rules.
  103.  
  104. FOSS/2 has a user friendly interface and it is almost
  105. impossible to "break" the system by using bad commands or the
  106. like.
  107.  
  108. 1.3 FIRST TIME FOSS/2 SETUP
  109.  
  110. FOSS/2 is easy to setup, and if you follow these few steps it
  111. should be up and running in minutes.
  112.  
  113. ·   Unpack the main archive (FOSS*.ZIP) to your BBS directory
  114.  (C:\BBS for example). Remember to unpack with the directory-
  115.  structure intact!
  116.  
  117. ·   Be sure til place your .KEY file in your BBS directory
  118.  from now on called B&B-root. This file is supplied directly
  119.  from me upon registering.
  120.  
  121. ·   Execute the SETUP.CMD file and follow the on-screen
  122.  directions.
  123.  
  124. ·   Now, start FOSS/2 by typing BBS 0 (0 is your local SysOp
  125.  node) and with the name "Sysop Sysop". Use your own password.
  126.  
  127. ·   When you are on FOSS/2 command line, type  UTIL NAME  to
  128.  change your from     Sysop Sysop to the real one.
  129.  
  130. ·     Now you may start to explore and configure your FOSS/2
  131.  BBS.
  132.  
  133. ·   ... but before you do all this, print out these
  134.  instructions or write them down.
  135.  
  136. That's all, now you should configure your FOSS/2 BBS the way
  137. you want it by using the Co(nfig) command in the SysOp menu.
  138. Good luck. A more detailed explanation of the setup-procedure
  139. is available in  SETUP.DOC, which is found in the same
  140. directory as this file.
  141.  
  142. 1.4 THE PEOPLE BEHIND FOSS/2
  143.  
  144. The main system FOSS/2 is entirely written by Terje Flaaronning
  145. during late evenings the last two-three years.
  146.  
  147. Thomas Stenhaug is writing QWK-support, and ßeta-version are
  148. now being tested.
  149.  
  150. 1.5 GREETINGS
  151.  
  152. The following people have be supporting me under the
  153. development of FOSS/2.
  154.  
  155. ·   Raymond L. Gwinn (Developer of the SIO drivers for OS/2)
  156.  who has supported me with info about SIO and the OS/2-API
  157.  concerning async-communication.
  158. ·   Jan-Morten Havstein (Running the main ßeta board for
  159. FOSS/2) who has to live with all the bugs in the preßeta
  160. versions of FOSS/2.
  161. ·   Thomas Stenhaug who is currently working on QWK support
  162. routines for FOSS/2, I suspect he have something ready when you
  163. read this.
  164. ·   ¥yvind L. Eggen (Developer of the XBoard offline reader)
  165. who made support for the FOSS/2 grab format in XBoard. The grab
  166. format has changed today, but I hope that coming versions of
  167. XBoard will support the new format. Now Erik Mogensen is
  168. writing the new XBoard and greetings to him also.
  169. ·   Stian Seeberg who wrote this and all the other DOC's
  170. available for FOSS/2 (and is also running a ßeta-test board).
  171. Well I've wrote most of it myself, but Stian have been helping
  172. a lot.
  173. ·   My mother who has paid quite a few large phonebills the
  174. last couple of years. :-)
  175.  
  176.  
  177. 2   CONFIGURATION OF FOSS/2
  178.  
  179. 2.1 CONFIGURATION WITH THE U(til) Co(nfig) COMMAND
  180.  
  181. To configure FOSS/2 you will first have to enter the SysOp
  182. menu. It is from here all system wide changes are made. This
  183. menu is entered by typing $ (for $ysOp), and pressing ENTER.
  184. You will then see the following menu:
  185.  
  186.    v1.0ß1                     >>> SYSOP MENU <<<
  187. v1.0ß1
  188.  
  189.  
  190.    Co nfigure your BBS     EF Edit file            PA Pack area
  191.    L og, Show logfile      AF Add files (install)  DU Delete
  192. user (kill)
  193.    Us er editor            DF Delete file          CF Classify
  194. file
  195.    Mem ory/system info     D os shell/command      SF Sort
  196. files
  197.  
  198.  
  199.    B ulletin command       R ead (messages) comm.  T ransfer
  200. scratchpad
  201.    C hat/Node command      S elect a new area      No de
  202. message (send)
  203.    F ile transfer command  U tility command        Com ment to
  204. SysOp
  205.    Q uit to main command   O pen a external door   G oodbye
  206. (logoff)
  207.  
  208.  
  209. The lower part of this menu consists of the systemwide
  210. commands. These can be invoked from anywhere in the BBS. The
  211. top half of the menu is the $ysOp menus special commands. These
  212. will be covered in detail in SYSOP.DOC.
  213.  
  214. 2.2 The Configure menu
  215.  
  216. The command we are intrested in for the time being is COnfigure
  217. your BBS. This command brings up the following menu again:
  218.  
  219. Configure System
  220.  
  221. General
  222. Path names
  223. File protocols
  224. Archive programs
  225. Nodes (Comms)
  226. Timed events
  227. Net-links
  228. Areas
  229. Return to BBS
  230.  
  231. You select an area by moving the highlight up/down with the
  232. arrow-keys on your keyboard, and pressing ENTER. We will now
  233. cover these areas in detail.
  234.  
  235.   General
  236.  
  237. This is where the general configuration of your BBS is done.
  238. The screen looks like this:
  239.  
  240.  Configure General                                       Use:
  241. Esc Letters
  242.  
  243.  
  244.            Board name: Your boards name
  245.      SysOp name (you): Your name
  246.    Location of system:
  247.     Main phone Number:
  248.  
  249.   Max inactivity time: 180  seconds
  250.  
  251.   New users:
  252.          Access level: 1
  253.            Time limit: 60
  254.  
  255.  
  256.  
  257.         Response time: 10
  258.  
  259. The boards name you will have to enter yourself. It should
  260. match the name you have chosen for your BBS.
  261.  
  262. Your name is autodetected, however if there are several people
  263. who have SysOp access any of these can be entered in this
  264. field. A user without SysOp axess will not be allowed entered
  265. in this field however.
  266.  
  267. The location and phonenumber of your BBS will also have to be
  268. entered by you manually.
  269.  
  270. Max inactivity time is the number of seconds a user may remain
  271. online without being ejected from the BBS. This is useful if
  272. the user falls asleep while online, or simply forgets that
  273. he/she is online. It prevents not only that your system remains
  274. busy, but saves the user from a rather large phonebill!
  275.  
  276. Access level is the level of access given new users. This will
  277. determine what areas of your system they will be allowed to
  278. enter. More about the different areas later, in the Areas
  279. submenu.
  280.  
  281. Time limit is the number of minutes a new user is given online.
  282.  
  283. Response time is how fast the system reacts to input from the
  284. user. The default value of 10 should be acceptable for most
  285. systems.
  286.  
  287.   Path names
  288.  
  289. This is where you chose the different paths for your temporary
  290. files. The menu looks like this:
  291.  
  292.  Configure Path Names                              Use: Esc
  293. Letters Digits
  294.  
  295.  
  296.   RAM disk temp dir:
  297.   F:
  298.   Scratch-pad path:
  299.   E:\BBS\MAIN\SCRATCH.
  300.  
  301.  
  302.   CD-ROM drive letters:
  303.   1 - [ ]  2 - [ ]  3 - [ ]  4 - [ ]  5 - [ ]  6 - [ ]  7 - [ ]
  304. 8 - [ ]
  305.  
  306. If you do not have a RAM disk then leave the field empty.
  307.  
  308. The scratch-pad should be placed on your fastest hard drive, or
  309. preferably on a RAM disk. This should only be done however if
  310. the RAM drive is large (at least 2MB for a single node system).
  311.  
  312. If your system has any CD-ROM drives, and you wish to make the
  313. files on it (them) available to the users, then place the drive
  314. letter in the chechbox(es) that match your system.
  315.  
  316.   File protocols
  317.  
  318. This is where you configure your file protocols. The screen
  319. looks like this:
  320.  
  321.  Configure File Protocols                         Use: Esc
  322. Letters Arrows
  323.  
  324.  
  325.     Letter: Z  Name: ZModem            OkErr: 0  Type: B_A
  326.       Path: E:\BBS\MAIN\DSZ.COM
  327.     Upload: port &p speed &s ha both rz &u
  328.   Download: port &p speed &s ha both sz &l
  329.    AutoRec: "**"#24
  330.  
  331.  
  332.    Z - ZModem                         &p com port
  333.    Y - YModem Batch                   &s speed
  334.    X - XModem                         &l send list
  335.    1 - XModem-1k                      &n node number
  336.    H - HS/Link                        &u upload directory
  337.                                       &t minutes left
  338.                                       &b base addr (com3+)
  339.                                       &i irq (com3+)
  340.                                       &h com handle
  341.  
  342. These are autodetected, and unless you wish to install a
  343. protocall that is not autodetected, you will not need to change
  344. any of these settings.
  345.  
  346. If you should have to enter any protocols that are not
  347. autodetected, you will have to fill out the following things:
  348.  
  349. Letter is the letter of the alphabet that represents this
  350. protocol in the list of available protocols that are presented
  351. to the user in the PRotocol part of the UTilities menu.
  352.  
  353. Name is the name of the protocol. This is also shown to the
  354. user in the PRotocol part of the UTilities menu.
  355.  
  356. *OkErr
  357.  
  358. *Type has three possible switches; B, B and A. These stand for
  359. ?, Bi-directional and Autodetect ????
  360.  
  361. Path is the path to the file, including the filename and
  362. extention.
  363.  
  364. Upload is the command string sendt to the program to start the
  365. upload process.
  366.  
  367. Download is the command string sendt to the program to start
  368. the download process.
  369.  
  370. AutoRec is the string the program should look for when
  371. autodetecting an upload.
  372.  
  373.   Archive programs
  374.  
  375. This is where you set the different archive programs. The
  376. supported programs are ZIP, UNZIP, ARJ, ARC and LHA. These are
  377. all autodetected, and selfconfiguring, but you may need to
  378. specify the programs if FOSS/2 does not find them for one
  379. reason or another. The screen should look something like this:
  380.  
  381.  Configure Archive programs                              Use:
  382. Esc
  383.  
  384.  
  385.   UNZIP.EXE path (used to view/unpack *.ZIP archives):
  386.   E:\OS2\UNZIP\UNZIP.EXE
  387.   ZIP.EXE path (used to create *.ZIP archives):
  388.   E:\OS2\ZIP\ZIP.EXE
  389.   PKXARC.COM path (used to view/unpack *.ARC archives):
  390.   PKXARC.EXE
  391.   PKARC.EXE path (used to create *.ARC archives):
  392.   PKARC.EXE
  393.   LHA.EXE path (used to view/unpack/create *.LZH/*.LHA
  394. archives):
  395.   D:\TOOLS\LHA.EXE
  396.   ARJ.EXE path (used to view/unpack/create *.ARJ archives):
  397.   D:\TOOLS\ARJ241\ARJ.EXE
  398.  
  399. All you have to do here is to specify the path to the file in
  400. question. If you fail to do so (like this system has in the
  401. case of PKXARC), the file will be highlighted in red on a grey
  402. background, and only the filename the system searched for is
  403. entered as opposed to the other fields which have a path and
  404. filename entered.
  405.  
  406.   Nodes (comms)
  407.  
  408. This is where you specify the nodes your system has, and also
  409. set up the modem. The screen looks like this:
  410.  
  411.  Configure Nodes and Communications           Use: Esc Arrows
  412. Letters Del
  413.  
  414.  
  415.      1               Com Port: COM1
  416.                Init baud rate: 38400
  417.                Lock baud rate: Y
  418.                Type of login : Wait for RING/CONNECT
  419.            Ring before answer: 0
  420.                     IO device: COM1
  421.  
  422.  
  423.            Modem command strings:
  424.                Init: ATxxxxxxxxxxxxx
  425.              Answer: ATA
  426.            Off hook: ATH1
  427.             On hook: ATH0
  428.  
  429. 1 indicates the number of the node that is being configured.
  430. You can have as many nodes as you wish in the registered
  431. version, but the $hareWare version only supports nodes 0, and
  432. 1. Node 0 is the default Local Node, and can not be configured
  433. for modem-use.
  434.  
  435. Com Port is the port that the modem is connected to at the back
  436. of the macine.
  437.  
  438. Init baud rate is the speed that the system will communicate
  439. with the modem at. In the $hareWare version this is set so that
  440. it can not exceed 9600. For v32bis modems 38400 is recomended.
  441.  
  442. Lock baud rate can be set to either Y(es) or N(o), but Y(es) is
  443. recomended. This determines wheter or not the rate of data
  444. transfer between the computer and the modem should be locked,
  445. or be dictated by the connect baud rate.
  446.  
  447. Type of login can be set to several different types of logins,
  448. however for an eksternal node (one where people can call in via
  449. a modem) the setting is:
  450.  
  451. Wait for RING/CONNECT ... the BBS waits until it recives a RING
  452. signal from the modem, sends the answer string (covered below)
  453. and waits until it recived a CONNECT message from the modem.
  454. The user is then   allowed to log in.
  455.  
  456. The other possibilities are:
  457.  
  458. Direct local login ... for purely local nodes (like node 0)
  459.  
  460. Direct login ... don't know really???????
  461.  
  462. Wait for DCD (0-Modem) ... used for logins directly from
  463. another computer without the use of a modem. A so-called 0-
  464. Modem cable is used to connect the computers.
  465.  
  466. Rings before answer tells the BBS how many rings it should wait
  467. until it answers the call. This defaults to 0, but can be set
  468. to any number.
  469.  
  470. IO Device is the device that provides the data Input and
  471. Output. This is generally the same as the COM port.
  472.  
  473. The modem commands are different for each node, as each node
  474. has its own modem. These commands varey from modem to modem,
  475. and you will have to consult your modems users manual for the
  476. correct settings for your modem. However we have included some
  477. tips on what might be included (although the commands for these
  478. settings can be different from modem to modem!) in the init at
  479. the end of this document. See Apendix A: Init strings.
  480.  
  481. Init is sendt to your modem to set it in the correct state for
  482. recieving calls. All commands that need to be sendt to the
  483. modem should be present on this line. It is sendt to the modem
  484. each time FOSS/2 is started up, and after every caller has hung
  485. up. If the resultcode from the modem is OK, then FOSS/2 will go
  486. into a state of "Waiting for RING/CONNECT" in the case of
  487. external nodes.
  488.  
  489. Answer is the answer string for your modem. Usually this is
  490. ATA, and this is what FOSS/2 defaults to.
  491.  
  492. Off hook is the command string that instructs your modem to
  493. take the phone off the hook. This is usually ATH1, and this is
  494. what FOSS/2 defaults to.
  495.  
  496. On hook is the command string that instructs your modem to put
  497. the phone on the hook. This is usually ATH0, and this is what
  498. FOSS/2 defaults to.
  499.  
  500.   Timed events
  501.  
  502. FOSS/2 is capable of running events at given times of the
  503. day/week. Her må jeg ha hjelp, da jeg ikke aner hvordan det
  504. funker....
  505.  
  506.   Net-links
  507.  
  508. FOSS/2 BBS's all have the capabilities to become members of a
  509. network called bNet. This network consists of FOSS/2 BBS's
  510. only, and they exchange messages at given intervals. To become
  511. a member of bNet all you have to do is to register your copy of
  512. FOSS/2. You will then be given a number, indicating which BBS
  513. you are, and be given a HUB that you can connect to. This HUB
  514. will take care of all the message-transfers.
  515.  
  516. As of this day, the bNet and Net-links part of FOSS/2 are not
  517. perfected, and as souch they have not been implemented. You are
  518. therefor strongly advised to not use this feature of FOSS/2,
  519. until an upgrade is available.
  520.  
  521.   Areas
  522.  
  523. This is where you configure the diffrent confrences, file areas
  524. and bulletin areas. The screen looks like this:
  525.  
  526.  Configure Areas                              Use: Esc Arrows
  527. Letters Del
  528.  
  529.  
  530.    Info from Bnet                     Area name:
  531.    Mail Box                           Main Board
  532.    B&B Support                        Area type: Local area
  533.    Main Board                         Area code: MAIN
  534.                                       File code: MAIN
  535.                                       Door code: MAIN
  536.                                       Bull code: MAIN
  537.                                       Other:
  538.                                       # of old msg to read: 100
  539.                                       Area flags:
  540.                                       New user autojoin
  541.                                       Message type:
  542.                                       Public messages
  543.                                       Area host: Not a bNet
  544. area
  545.  
  546.  
  547.  
  548.  
  549.                                       Access levels ->
  550.                                       Directories ->
  551.  
  552. These are the areas that are preconfigured with FOSS/2:
  553.  
  554. Info from bNet
  555. Mail box
  556. B&B support
  557. Main Board
  558.  
  559. You may add as many as you wish.
  560.  
  561. The following things have to be configured for each new area:
  562.  
  563. Area name is the name of the area in the areas list. This area
  564. list has to be made by you, the SysOp. This will be covered
  565. later in this document.
  566.  
  567. Area type will usually be a Local area, as bNet areas are not
  568. fully supported as of yet.
  569.  
  570. Area code is a code of up to four letters, that specifies the
  571. area as a message area. NO two areas may share the same area
  572. code! If you enter an areaname, but omit the areacode "MAIN"
  573. will be entered automatically. If this is done you WILL NOT BE
  574. ABLE TO CHANGE IT!! You may therfore be wise in filling this in
  575. first, and leaving the name blank until this has been taken
  576. care of. A change is to come here, making it impossible to have
  577. two areas with the same code!
  578.  
  579. File code is also a code of up to four letters. Areas are
  580. allowed to share the same file code, and if you intend the
  581. files to be available to all users it may be wise to set this
  582. file code to MAIN. This is done because users need to be in the
  583. area that the file code is set for to be able to list and
  584. download the files in that area. If all files that are to be
  585. available to the users are kept in the file code MAIN, users
  586. will not need to change areas to see all files available to
  587. them. This also provides you with an easy way of shielding some
  588. users from certain files (typically adult pictures, or private
  589. files). You merely place those files in an area with a diffrent
  590. file code, and change (raise) the access level needed to enter
  591. that area! (This will be covered in Access levels.)
  592.  
  593. Door code is also a code of up to four letters, and all the
  594. limitations that apply to the file codes are in effect here as
  595. well. You may wish to make certain doors available to only a
  596. limited number of users, and therefor specify a code that is
  597. different from MAIN, which is the default.
  598.  
  599. Bull code is the same code of up to four letters, but it
  600. controlls the bulletins that are available in a certain area.
  601. MAIN is the default here as well, and like the File and Door
  602. areas you will only need to change the default if the bulletins
  603. should be hidden from scertain users.
  604.  
  605. # of old messages to read is the limit for how many old
  606. messages a new user should read in that perticular area. This
  607. number can be set as high (or low) as you wish. However new
  608. users may not wish to read trough several hundred messages to
  609. become up to date, so set the number with care.
  610.  
  611. Area flags are certain limitations, or restrictions that
  612. pertain to that perticular area. The flags are as follows:
  613.  
  614. External area:                 used about bNet areas
  615.  
  616. New user autojoin:         a new user is automatically a
  617. member of this confrence
  618.  
  619. No resign:                users may not resign from this
  620. confrence
  621.  
  622. New user autojoin; No resign:a new user automatically joins
  623. this confrence, and may                 not resign from
  624. it.
  625.  
  626. The space can also be left blank, in which case no
  627. restrictions apply. This is the case for most local areas, and
  628. is also the default!
  629.  
  630. Message type lists the type of messages that are allowed in an
  631. area. The valid choices are:
  632.  
  633. Public messages:       all messages are public, and can be
  634. read by all
  635.  
  636. Private messages:      all messages are private, and can only
  637. be read by the author of                 the message, the
  638. recipiant of the message and the SysOp.
  639.  
  640. Public/Private messages:     messages can either be public or
  641. private.
  642.  
  643. Please note that the SysOp can read all messages, even those
  644. marked as private! It is up to the SysOp how much privacy is to
  645. be expected on any given BBS.
  646.  
  647. Area host is used for bNet areas, and as such has not been
  648. activated yet.
  649.  
  650. Access levels have to be set for any area to become active.
  651. There are two very important things to remember when setting
  652. access levels. The first is to whom you wish to give access to
  653. this perticular area. This is up to you, but you should keep in
  654. mind that all users have at least the minimum access level, and
  655. if the data in the area is sensitive (adult pictures are one
  656. type of files that should be shielded from some users) you
  657. should specify a higher access level. Specifying the access
  658. level is done by entering the letter that corresponds to the
  659. level you wish to give that area. You then enter a code for
  660. what users with that access level may do. The codes for this
  661. are:
  662.  
  663. R ead
  664. W rite
  665. U pload
  666. D ownload
  667. O pen
  668.  
  669. All users with a higher access level will recieve the same
  670. privelages as the first level you specify. This is only
  671. natural, and FOSS/2 will fill the remaining access levels to
  672. save you the work.
  673. You may of course specify that some users will only be allowed
  674. to read messages, and perhaps write them in certain areas, and
  675. only users with a higher access level are given up/download
  676. privelages. The variations on this (and openness on your
  677. system) are up to you to decide!
  678.  
  679. In addition to these five codes comes the second of the very
  680. important things to remember. That is to place an S (for SysOp)
  681. at level 15 (the letter P). This is to ensure that you are
  682. given SysOp access in this area, and as souch have all messages
  683. routed to you as well as the intended recipiant. This also
  684. grants you the option of killing messages that are deemed not
  685. appropriate by you, either morally or legally. Please remember
  686. that as a SysOp you are responsible for the files and messages
  687. that appear on your system!
  688.  
  689. Directories is where you speciy which directories are assigned
  690. to each area. The screen looks like this:
  691.  
  692.  
  693.  
  694.  Configure Directories              Use: Esc Arrows Letters Del
  695. PgUp DgDn
  696.  
  697.  
  698.                                       Directory name:
  699.  
  700.                                       Disk directory:
  701.  
  702.                                       Directory flags:
  703.  
  704.  
  705. The field for directory name is the name that will be listed in
  706. FOSS/2 as the directory. This name should have some connection
  707. with the files in that specific directory. You may use spaces
  708. in the name, and any alphanumerical combination.
  709.  
  710. Disk directory is the directory that is on the hard drive. This
  711. does not have to have any connection to the directory name, but
  712. it MUST be exclusive. Two directory names can not share the
  713. same disk directory!
  714.  
  715. Directory flags are really only used for the Upload
  716. directories, but can be used in the other directories as well.
  717. The flags that are available are:
  718.  
  719. Uploaddir:            the specified directory is the upload
  720. directory for that file code
  721.  
  722. Show uploader:         the name of the person that uploaded a
  723. file is shown along with                 the file
  724. description
  725.  
  726. Uploaddir;Show uploader:     the specified directory is the
  727. upload directory for that file code, and the name of the
  728. uploader is shown along with the file description.
  729.  
  730. There must be an Upload directory for every file code! If there
  731. is not one, then an error code will be recorded in the Log!
  732.  
  733.  
  734. After configuring an area it may be wise to move the highlight
  735. up a few notches to see if the changes have taken effect, and
  736. exit the area menu before entering a new area or changing an
  737. existing one. This is to ensure that all changes have been
  738. saved to disk, in case of a disaster, like a power outage or a
  739. hanging of the computer.
  740.  
  741.  
  742.   Return to BBS
  743.  
  744. This returns you to the BBS. You can also press Esc to exit the
  745. COnfigure menu. All changes will be saved regardless!
  746.  
  747. DOOR.CMD
  748.  
  749. FOSS/2 has the ability to run doors (external programs, games
  750. ... ) all
  751. doors are executed via the DOOR.CMD file in your FOSS-root
  752. directory.
  753.  
  754. DOOR.CMD is called with these parameters:
  755.  
  756. DOOR.CMD [Node#1] [Node#2] [ComPort] [PortSpeed] [BaseAddr]
  757. [IrqVector]
  758.          [DoorName] [DoorCode]
  759.  
  760. Node#1    is the number of the node, this is not prefilled.
  761.  
  762. Node#2    is the number of the node, this is prefilled with
  763. zero's to a
  764.           length of three characters.
  765.  
  766. ComPort   is current comport
  767.  
  768. PortSpeed is current comport speed
  769.  
  770. BaseAddr  These are the base/irq data in the node setup (PS! Be
  771. sure to
  772. IrqVector set these to the same values as your fossil driver)
  773.  
  774. DoorName  The name or number of the door to be executed
  775.  
  776. DoorCode  The FOSS/2 DoorCode for current area
  777.  
  778. Examples:
  779.  
  780. DOOR.CMD 3 003 1 19200 02e8 3 1 MAIN
  781. DOOR.CMD 2 002 3 9600 03f8 4 TheGame GAME
  782.  
  783. The DOOR.CMD file may run both OS/2 and DOS executables.
  784.  
  785.  
  786.  
  787.  
  788. MENU BY MENU IN THE FOSS/2 INTERFACE
  789.  
  790. GLOBAL MENU FUNCTIONS
  791.  
  792. There are several global menu functions that are already built
  793. into FOSS/2. In addition to these you can create scripts that
  794. provide a global functions for your particular system. This is
  795. useful for customising your system. The global functions that
  796. are present in FOSS/2 are as follows:
  797.  
  798. B ulletin command       R ead (messages) comm.  T ransfer
  799. scratchpad
  800. C hat/Node command      S elect a new area      No de message
  801. (send)
  802. F ile transfer command  U tility command        Com ment to
  803. SysOp
  804. Q uit to main command   O pen a external door   G oodbye
  805. (logoff)
  806.  
  807. In addition to these that are available to everyone there is
  808. one that is reserved the SysOp. That is the $-function that
  809. lets you enter the SysOp menu. This has it's own set of
  810. commands that will be covered later in this document.
  811. MAIN MENU
  812.  
  813. The main menu has it's own functions that can only be evoked
  814. from within this menu. These are:
  815.  
  816. L ist users             Ti me left/used         X pert
  817. mode(on/off)
  818.  
  819. List users will either list all the users that are registered
  820. to your BBS, or only the users whose names match the string of
  821. letters the user enters.
  822.  
  823. Time left/used shows the user how much of the time he/she is
  824. allowed on the system is left and how long he/she has been on
  825. the BBS today.
  826.  
  827. Xpert mode toggles whether or not the user sees the "(? for
  828. menu)"
  829.  
  830.  
  831. MESSAGE MENU
  832.  
  833. It is from within this menu that you read and write messages.
  834. The functions that are available for reading messages are:
  835.  
  836. # read that message     .  review last read     < Read last in
  837. chain
  838. + read next message     +# skip # forewrd, read > Read reply to
  839. this
  840. - read previous message -# skip # back, read
  841.  
  842. The following functions are used for the area as a whole:
  843.  
  844. E nter message          Sh ow area status       Ki ll message
  845. R eply to message       V iew messages in area  Un kill message
  846. M ark messages                                  Ed it message
  847. (change)
  848. D ump message(s)        Res ign from area       Mo ve message
  849. (n/a)
  850.  
  851. When you write a message you have a choice of either a line-
  852. based editor or a full-screen editor that is built into FOSS/2.
  853. This full screen editor allows you to move around using the
  854. arrow keys on your keyboard or using the standard WordStar keys
  855. you may be used to from other systems.
  856.  
  857. When you R(eply) to a message you get the option of quoting the
  858. previous message. Quoting a message means that everything that
  859. was in the previous message will be added to the top of the
  860. message you are about to write, whit the initials of the author
  861. and a vertical line in front of every line of text. This
  862. ensures that everyone knows who wrote what. You are also asked
  863. if the message should be marked as private (given that private
  864. messages are allowed in that perticular area!). This assures
  865. you that only the intended recipiant of the message (and the
  866. SysOp who can read anything!) can read it. You are also given
  867. the choice of editors.
  868.  
  869. You can M(ark) messages in different ways, giving you full
  870. control over messages to you. This is practical when you want
  871. to dump a number of messages to the scratchpad and download
  872. them for reading offline.
  873.  
  874. D(ump)ing messages to the scratchpad allows you to download
  875. these messages as a file and read them offline, thus saving you
  876. valuable time online. Dumping messages allows you to read
  877. messages, however you will have to go back online to reply to
  878. the ones meant for you. There are offline-readers that allow
  879. you to read messages and reply to them offline, and then upload
  880. the replys automatically next time you log on, but as of yet
  881. none of these support FOSS/2's messageformat. However QWK-
  882. support is to be built into FOSS/2 allowing you to both read
  883. and reply to messages offline, using a QWK-compatible mail-
  884. reader.
  885.  
  886. Users can search for unread messages either by pressing ENTER
  887. until they have read all messages, or they can get a list of
  888. unread messages in the different areas by using the Sh(ow area)
  889. function. This will tell you how many messages are in an area,
  890. and how many of these are for you.
  891.  
  892. The SysOp can define whether or not users will be allowed to
  893. R(esign) from certain areas. This is useful for having areas
  894. where you can be certain all the members of your BBS will get a
  895. message you have posted to ALL users! This is done in the $ysOp
  896. COnfigure AREA menu, as described above under CONFIGURATION
  897. WITH THE U(til) Co(nfig) COMMAND.
  898.  
  899. K(illing) of messages can only be done by the SysOp and the
  900. originator of that message. If the message has been read by
  901. anyone the "killer" will be given a message to that effect.
  902.  
  903. FILE MENU
  904. This is where the user will find files for Download and
  905. (hopefully) Upload. The functions that are used are as follows:
  906.  
  907. Up load a file          L ist files available   K eyword file
  908. search
  909. D ownload file(s)       N ew files scan (date)
  910. V iew an archived file  W ild-char file search
  911.  
  912. The user can Up(load) files using the upload command. The user
  913. is told to begin the upload at his/her end. FOSS/2 will then
  914. autodetect the file(s) being sendt, and also place the file in
  915. the appropriate upload-area depending on which area the user
  916. was in at the time she was in at the time. The user is then
  917. asked to type a simple description of the file. This
  918. description may be as long as 110 letters, including spaces,
  919. devided into two lines of 55 characters each!
  920.  
  921. D(ownload) allows the user to specify filenames until he/she
  922. enters a blank space and the file(s) are then sent using the
  923. protocol defined in the Ut(ilities) Pr(otocol) menu. There are
  924. several commands that can be evoked from within the D(ownload)
  925. command. These are:
  926.  
  927.     ?   Show available commands
  928.     /a  Abort download
  929.     /l  List tagged files
  930.     /r  Remove a file from the list of tagged files
  931.  
  932. Tagging files for download can be accomplished in one of two
  933. ways. The user can either specify a wildchard, and all files
  934. matching that wildchard will be tagged, or the user may specify
  935. one file at a time.
  936.  
  937. V(iew)ing a file causes FOSS/2 to give the user a complete list
  938. of files in an archived file (ZIP, ARJ, ARC or LHA), or in the
  939. case of GIF-files the resolution and number of colours (It will
  940. NOT display the picture itself).
  941.  
  942. L(ist)ing files will give the user a complete list of the files
  943. in the area he/she is in at the time, or one of the directories
  944. only. For a list of the available directories the "?" command
  945. is used. FOSS/2 will NOT create a list of available
  946. directories. That has to be done manually by the SysOp.
  947.  
  948. W(ild-char) searching is done by specifying a wild-chard for
  949. FOSS/2 to search for matches to. It searches through the
  950. filearea(s) and lists the files that mach the specified search-
  951. criteria. The common wild-chards "*" and "?" may be used. The
  952. difference between these two is that while "*" can represent
  953. one or more letters "?" can replace one letter only.
  954.  
  955. K(eyword) searching is more time-consuming but also more
  956. effective if you don't know the name of the file you are
  957. looking for, because it also searches the description of the
  958. files for a match. DO NOT use wild-cards in this search, as it
  959. is case-sensitive!!!
  960.  
  961.  
  962. BULLETIN MENU
  963. The bulletins that are to be a part of any BBS must of course
  964. be made by the SysOP, and the SysOp must also make a bulletin
  965. list to be named areaLIST.* where "area" is the four-letter
  966. code used for that spesific bulletin-area in the configuration.
  967. The file areaLIST.* is to reside in the BULLETS subdirectory.
  968. The bulletins are numbered according to the name of the files
  969. they represent. The bulletins themselves are named areaxxx.*
  970. where xxxx is the number of that perticular bulletin. The first
  971. bulletin in the MAIN area would be called MAIN0001.*. These
  972. files also reside in the BULLETS subdirectory. The functions in
  973. this area are:
  974.  
  975. # read that bulletin    D ownload a bulletin
  976.  
  977. # represents the number of the bulletin the user wants to read.
  978.  
  979. The user may also D(ownload) a bulletin if he/she wishes, and
  980. will be prompted for the number of that bulletin. The download
  981. will be completed using the default protocol for that user.
  982.  
  983. CHAT MENU
  984. There is the possibility of chatting with other nodes on a
  985. multinode BBS or with the SysOp on a single node system. If the
  986. SysOp has made himself available he will receive a warning by
  987. the machine beeping that someone wants to talk to him/her. The
  988. same goes for other nodes, they will be notified with either a
  989. message on the screen or a message and a beep if their system
  990. allows it. The functions for this menu are:
  991.  
  992. W ho is online          Sy sOp chat (request)   A vailability
  993. (on/off)
  994. Ch at with another node
  995.  
  996. W(ho) gives the user a list of active users on the different
  997. nodes and if the SysOp is available or not. If the SysOp is
  998. available there will be a red message to that affect at the
  999. bottom of the list of active nodes. If the SysOp is not
  1000. available no message will be at the bottom of said list.
  1001.  
  1002. Sy(sOp) will call the SysOp if  he/she has set him/herself
  1003. available. If the SysOp is not available the user will be asked
  1004. to leave a Com(ment) instead. The SysOp can answer a chat
  1005. request by making the window that node is in active and
  1006. pressing Alt-C. The chat-session is ended by the SysOp by
  1007. pressing Alt-C again.
  1008.  
  1009. The user can set himself available for chat or turn this
  1010. function off using the A(vailability) function.
  1011.  
  1012. Ch(at) is used in conjunction with the number of the node the
  1013. user wishes to chat with, or he/she is prompted for the node-
  1014. number. The user on the node that recives the chat request can
  1015. answer by entering Ch(at) followed by the number of the node.
  1016. The number of the node that initiated the chat-request is
  1017. listed to the reciever of that request along with the request-
  1018. message.
  1019.  
  1020. UTILITIES MENU
  1021.  
  1022. This menu allows the user to update his personal preferences
  1023. and change his personal data and password. The functions are:
  1024.  
  1025. V iew user profile      N ame change            AN SI graphics
  1026. toggle
  1027. Ar chive format         A ddress change         IB M chars
  1028. toggle
  1029. Pr otocol change        P hone number change    Cl ear scr.
  1030. toggles
  1031. Use ANSI toggles        Pa ssword change        La nguage
  1032. selection
  1033. To ggle switches        Li nes on screen        Ta sk Manager
  1034. (on/off)
  1035.  
  1036. V(iew) gives the user a list of his/her active configuration.
  1037. It is then easy to identify which things need to be changed to
  1038. suit the users preferences.
  1039.  
  1040. Ar(chive format) tells the system which archiver (ZIP, ARJ, ARC
  1041. and LHA are available) that the user would prefer used for the
  1042. files to be archived using (this format is used for the
  1043. messages that the user grabs and the bulletins that are
  1044. downloaded, NOT the archived files on the system that are free
  1045. for download!).
  1046.  
  1047. Pr(otocol) tells the system which transfer protocol the user
  1048. would like to use as a default. The system will then use this
  1049. protocol instead of prompting the user every time.
  1050.  
  1051. Use ANSI toggles whether the system should display ANSI
  1052. graphics in menus, bulletins and messages.
  1053.  
  1054. To(ggle) is used to decide whether or not to display message
  1055. status at logon.
  1056.  
  1057. N(ame) allows you to change the name you will be using on the
  1058. BBS. This can be used to change your Alias on boards that allow
  1059. this, or if your name has changed for whatever reason. This
  1060. will NOT redirect messages adressed to your new name, but users
  1061. will be given a message that as your old name is no longer be a
  1062. part of that BBS's user-list! It will be up to the user to
  1063. announce the name-change!!
  1064.  
  1065. A(dress) allows you to change the adress you have listed to the
  1066. system. Your old adress will be displayed, and you can press
  1067. ENTER if you do not wish to make any changes. This should be
  1068. changed if you move however, as it allows the SysOp to get in
  1069. touch with you should there ever be a need for it.
  1070.  
  1071. P(hone number) allows you to change the phone number you have
  1072. listed. The number for your Home and Work numbers are both
  1073. changable from this menue. If you do not wish to change the
  1074. number that is highlighted, then press ENTER, and the next
  1075. number will be highlighted. These numbers should be changed to
  1076. reflect your current numbers, as it allows the SysOp to get in
  1077. touch with you should there ever be a need for it.
  1078.  
  1079. Pa(ssword) allows you to change your password used during
  1080. login. You are prompted for your old password once and your new
  1081. password twice (to ensure you typed it correctly!). This new
  1082. password will be used for all consequent logins.
  1083.  
  1084. Li(nes) sets the number of lines the system will let scroll
  1085. across the screen before the user gets a --more-- message. Set
  1086. this to 0 and the system will not stop scrolling.
  1087.  
  1088. The AN(SI) function toggles whether ANSI should be used at all
  1089. (useful if the user doesn't have ANSI-capabilities in his/her
  1090. communications-package)
  1091.  
  1092. IB(M) toggles the IBM extended ASCII text mode.
  1093.  
  1094. Cl(ear) toggles whether or not to clear the screen before
  1095. showing messages, bulletins or menus.
  1096.  
  1097. La(nguage) toggles between English and Norwegian language in
  1098. menus and functions.
  1099.  
  1100. Ta(sk) toggles whether or not you want to allow background
  1101. execution of tasks.
  1102.  
  1103. SYSOP MENU
  1104.  
  1105. This is where you change the look and feel of your BBS! You can
  1106. make changes even while users are logged on to your system,
  1107. allowing you to make changes without having to shut down!! This
  1108. is a major improvement over several of the larger BBS-systems
  1109. that are on the market. If one of the changes you make forces
  1110. the BBS to reset because of an error the user is not logged
  1111. off, but is instead given the opportunity to log on again
  1112. without having to call back. No extra cost is forced upon
  1113. him/her by your mistake (even though a mistake is unlikely!).
  1114.  
  1115. Co nfigure your BBS     EF Edit file            PA Pack area
  1116. L og, Show logfile      AF Add files (install)  DU Delete user
  1117. (kill)
  1118. Us er editor            DF Delete file          CF Classify
  1119. file
  1120. Mem ory/system info     D os shell/command      SF Sort files
  1121.  
  1122. Co(nfigure) is used to change the basics of the BBS. This is
  1123. covered in detail in the section of this file called
  1124. "CONFIGURATION WITH THE U(til) Co(nfig) COMMAND". This section
  1125. was placed at the beginning of this document because it is
  1126. neccesary for the proper configuration of FOSS/2, and as souch
  1127. was covered as early as possible.
  1128.  
  1129. L(og) shows the user log for the node you specify. This
  1130. contains a list of new users and files that have been uploaded,
  1131. and to where. It also contains a list of the different errors
  1132. that have occured on the system.
  1133.  
  1134. Us(er editor) is used to grant users higher access levels or
  1135. unkill an unintentionally killed user. You can also grant the
  1136. user higher timelimits if you so wish.
  1137.  
  1138. The Mem(ory) function gives you a list of system information.
  1139.  
  1140. EF allows you to edit the description of a file or a list of
  1141. files, depending on how you specified the file(s). The file(s)
  1142. to be edited can be listed with wild-chards to increase the
  1143. flexibility of the editing process. However if the SysOp plans
  1144. to edit several files the CF command is superior!
  1145.  
  1146. AF adds files to the filearea the SysOp specifies. The areaname
  1147. is to be used, and not the directoryname! The files in the
  1148. directory specified for that filearea that do not have a
  1149. description will be shown to the SysOp and he/she will have to
  1150. type in a description. If one is not addes the file will not be
  1151. added to the filelist. The SysOp can specify a file that
  1152. contains a list of the files that are to be added, and their
  1153. descriptions. This allows ease of installation if the files
  1154. come with a description file, or one can be made ahead of time.
  1155. The default description file name is DESCRIPT.ION, which is the
  1156. file used by 4DOS (4OS2) and NDOS for attaching long
  1157. descriptions to files. This can be changed however to match any
  1158. filename. The files that are to be added can have filenames
  1159. that are up to 16 characters long (including periods!) on HPFS
  1160. disks. FAT-disks have the familiar 8.3 filename restrictions.
  1161.  
  1162. DF will delete a file or several files (using wild-chards) from
  1163. the filelist and the harddrive.
  1164.  
  1165. D(os shell) allows you to execute a DOS-command or run a file,
  1166. either from within the BBS, or after you shell to the command
  1167. line!
  1168.  
  1169. PA allows you to pack an area for storage, saving all the
  1170. messages in that area for later refrence.
  1171.  
  1172. DU allows you to kill a user so that he/she is not allowed back
  1173. onto the BBS. This can be done for different reasons, but be
  1174. careful! They are gone for ever!!
  1175.  
  1176. CF is a full screen file editor. It allows the SysOp to change
  1177. the description of a file, move a file (with the description
  1178. intact!) to a different filearea or delete files form the
  1179. filelist and the harddrive. The files are tagged using the
  1180. insert key, and may then be edited in the above mentioned ways.
  1181.  
  1182. SF sorts the files in the filearea you specify. This can be
  1183. time-consuming if you have a large number of files, but it is
  1184. recommended that you do this often, so that the file index is
  1185. updated, and the searches will go faster. Files will also be
  1186. placed in alphabetical order, which makes it easier to find
  1187. files even without the search tools. You are given the option
  1188. to update the 4DOS (4OS2) or NDOS DESCRIPT.ION files as well,
  1189. allowing 4DOS (4OS2) or NDOS users to see the descriptions when
  1190. using the DIR command at the commandline.
  1191.  
  1192.  
  1193.  
  1194.  
  1195. Creating the BBS-specific files
  1196.  
  1197. As your BBS is different from every other BBS it is essencial
  1198. that you create files that reflect this. There are several
  1199. files that help users find their way around your system. These
  1200. will have to be created by you using an ANSI drawing utility
  1201. like TheDraw⌐. The files that are most important are the lists
  1202. of the different confrences, and the different file areas. In
  1203. addition it may be wise to create bulletins that contain
  1204. information that are of interest to your users.
  1205.  
  1206. Creating a list of confrences
  1207.  
  1208. The confrence list comes up every time a user trys to Select an
  1209. area but does not specify which area that should be. The file
  1210. should be called AREALIST.* and should contain all confrences
  1211. on your system, members only included. This because it gives
  1212. the user an easily accessible way of learnign what the system
  1213. has to offer. It might be a good idea to include information on
  1214. the confrence, like who is in charge of it or if it is for
  1215. members only (what the access level is to enter). There is a
  1216. sample file that comes with FOSS/2, and contains the pre-
  1217. installed areas.
  1218.  
  1219. Creating lists of file areas
  1220.  
  1221. You have to create your own list of file areas that is
  1222. consistent with your BBS. These files are generally ANSI files
  1223. (made in an ANSI-drawing utility like TheDraw⌐) that FOSS/2
  1224. displays when a user asks for them (by specifying that "?"
  1225. should be listed). The file should be called DIRSarea.* where
  1226. "area" is the four letter file code. You will have to make one
  1227. for every single file area that has a seperate file code.
  1228.  
  1229. Creating a list of bulletins
  1230.  
  1231. To make a list of the bulletins you create the file areaLIST.*
  1232. where "area" is the four letter Bull code.
  1233.  
  1234. Creating bulletins
  1235.  
  1236. Bulletins generally contain information that is of interest to
  1237. the user. The files are called areaxxxx.* where "area" is the
  1238. name of the Bull code, and "xxxx" is the number of the
  1239. bulletins starting with 0001.
  1240.  
  1241.  
  1242.  
  1243. Scripts that need to be made
  1244.  
  1245. There are several scripts that need to be created, to give the
  1246. user a more pleasant time when logging on to your system. These
  1247. scripts will be covered in detail, as to when they are
  1248. executed, and hints to what they might contain.
  1249. =8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=8=
  1250. 8=8=8=8=8=8=8=
  1251.  
  1252.  
  1253.  
  1254. SCRIPT LANGUAGE
  1255.  
  1256. FOSS/2 offers a small script language to allow you to give your
  1257. BBS your own look and feel. The scripts are called before or
  1258. after important internal functions of FOSS/2. All scripts
  1259. should be placed in the SCRIPTS sub-directory.
  1260.  
  1261.  
  1262. SCRIPTS CALLED
  1263.  
  1264. The following script files will be executed if they are present
  1265. in the SCRIPT sub-directory:
  1266.  
  1267. GOODBYE.*     This script is executed when a user use the
  1268. G(oodbye) command to exit            FOSS/2 or just drop the
  1269. line. The script does also function as a                good-
  1270. bye bulletin.
  1271.  
  1272. LOGIN.*           This script is executed just before the
  1273. user gets his command prompt         (after display of users
  1274. stats).
  1275.  
  1276. PREDOWN.*     These scripts are executed before and after
  1277. downloads, the scripts
  1278. POSTDOWN.*    can be used to control download rules and so on
  1279. The scripts also
  1280.                   function as file transfer bulletins, but
  1281. only with normal file transfers.
  1282.  
  1283. PREUP.*           Same as the *DOWN.* scripts but for
  1284. uploads.
  1285. POSTUP.*
  1286.  
  1287. PREOPEN.*     Same as the *DOWN.* scripts but for door usage.
  1288. Be aware of that
  1289. POSTOPEN.*    these scripts function in all areas.
  1290.  
  1291. PREREG.*      These scripts are executed before and after a
  1292. new users register.
  1293. POSTREG.*
  1294.  
  1295. U-[com].*         Called from Utility menu if unknown
  1296. command.
  1297. B-[com].*         Called from Bulletin menu if unknown
  1298. command.
  1299. C-[com].*         Called from Chat/Node menu if unknown
  1300. command.
  1301. $-[com].*         Called from $ysOp menu if unknown command.
  1302. F-[com].*         Called from File menu if unknown command.
  1303. R-[com].*         Called from Read menu if unknown command.
  1304.  
  1305. G-[com].*         Called from all menus if none of the above
  1306. exits and unknown              command.
  1307.  
  1308. The astrix is a language key or can be left blank for
  1309. multilangual scripts. The language key for Norwegian scripts is
  1310. *.N, and for English the language key is *.E.
  1311.  
  1312.  
  1313. SCRIPT VARIABLES
  1314.  
  1315. In scripts you have several variables for you usage, these are:
  1316.  
  1317. &[1-9]   User variables.
  1318. &ac      Current area code.
  1319. &ad      Current area door-code.
  1320. &af          Current area file-code.
  1321. &an      Current area name.
  1322. &td          Current date.
  1323. &th          Current time (hour).
  1324. &tm      Current time (minute).
  1325. &tu          Time used so far this logon, in minutes.
  1326.  
  1327. &u - - - USER RECORD VARIABLES
  1328. &ua1    First line of address
  1329. &ua2    Second line of address
  1330. &ual     Accesslevel
  1331. &uc      City
  1332. &ud#     Number of downloads
  1333. &udk     KB downloaded
  1334. &uf     First name
  1335. &ul     Last name
  1336. &umw    Messages written
  1337. &umr    Messages read (Not counted in FOSS/2 yet)
  1338. &un     Name
  1339. &uph    Home phone
  1340. &upw    Work phone
  1341. &uu#     Number of uploads
  1342. &uuk     KB uploaded
  1343. &uta     Time allowed each 24 hours
  1344. &utl         Time left when logging on (&utl - &tu = time
  1345. left)
  1346. &utt    Time totally used
  1347.  
  1348. &$ - - - SYSTEM DATA VARIABLES
  1349. &$h      Systems current com-handle in hex.
  1350. &$m     Current menu level: M(ain), R(ead), F(ile) and so on.
  1351. &$n     Current node number.
  1352. &$v      Display current FOSS/2 version.
  1353.  
  1354. &! - - - DISPLAY SETUP/MANIPULATION PROCEDURES
  1355. &!l     Do linefeeds until cursor resides at the bottom
  1356. screen line.
  1357. &!m     Do more prompt.
  1358. &!w     Wait for keypress before continue.
  1359. &!s0    Display numbers normal
  1360. &!s1    Display numbers with 1000-separators
  1361.  
  1362.  
  1363. These variables can be used anywhere in your scripts.
  1364.  
  1365.  
  1366. SCRIPT COMMANDS
  1367.  
  1368. A script language without commands is nothing so here they
  1369. come! These
  1370. commands are available for script programming:
  1371.  
  1372. @+ [uservar] [firstnumber] [secondnumber]
  1373. ""
  1374. @- [uservar] [firstnumber] [secondnumber]
  1375. ""
  1376. @* [uservar] [firstnumber] [secondnumber]
  1377. ""
  1378. @/ [uservar] [firstnumber] [secondnumber]
  1379. ""
  1380.  
  1381. @assign [uservar] [textstring]
  1382. """""""
  1383.   Assigns a textstring to a uservariable
  1384.  
  1385.   "@assign 1 This is a string"
  1386.  
  1387. @CASE [var#]
  1388. """""
  1389.   Converts string in user-variable [var#] to up-case.
  1390.  
  1391. @Case [var#]
  1392. """""
  1393.   Converts string in user-variable [var#] to nice-case.
  1394.  
  1395. @command [commandline]
  1396. """"""""
  1397.     Execute standard FOSS/2 command from a script.
  1398.  
  1399.   "@command Read Enter Sysop"
  1400.  
  1401. @delfile [filename] {filename} {filename} ...
  1402. """"""""
  1403.   Delete one or more files on the harddisk.
  1404.  
  1405.   "@delfile FOSS.EXE" (not try this)
  1406.  
  1407. @exit
  1408. """""
  1409.   End script execution and return to FOSS/2.
  1410.  
  1411.   "@exit"
  1412.  
  1413. @file [filename]
  1414. """""
  1415.   Open a file for output, the file is created if it do not
  1416. exist.
  1417.  
  1418.   "@file scripts\tempfile.lst"
  1419.  
  1420. @getfirst [var#into] [var#from]
  1421.  
  1422.   Take first word from [var#from] and put it into [var#into].
  1423.  
  1424.   "@getfirst 1 2"
  1425.  
  1426. @goto [label]
  1427. """""
  1428.   Go to @[label].
  1429.  
  1430.   "@goto firstlabel"
  1431.  
  1432. @if [firststring] [secondstring] [label]
  1433. """
  1434.   Compare two strings, if equal then goto [label] of not then
  1435. continue.
  1436.  
  1437.   "@if String String ThisLabel"
  1438.  
  1439. @if [firstnumber] [<|<=|=|=>|>] [secondnumber] [label]
  1440. """
  1441.   Compare two numbers, if condition is TRUE then goto [label]
  1442. if not then
  1443.   continue.
  1444.  
  1445.   "@if 1 = 2 OneLabel"
  1446.  
  1447. @ifcommand [var#] [command] [label]
  1448.  
  1449.   Check if [var#] matches [command], and if true jump to
  1450. [lable].
  1451.  
  1452.   "@ifcommand 1 Q'uit quitlabel"
  1453.  
  1454. @iffile [filename] [label]
  1455. """""""
  1456.   If file [filename] exist the goto [label] if not then
  1457. continue.
  1458.  
  1459.   "@iffile scripts\tempfile.lst"
  1460.  
  1461. @input [uservar] [prompt]
  1462. """"""
  1463.   Let the user input a text string into the given uservar.
  1464.  
  1465.   "@input 1 Type a command:"
  1466.  
  1467. @log [text]
  1468. """"
  1469.   Write a line to node log file. If [text] starts with "$" the
  1470. text goes to
  1471.   the .SYS log instead of the normal node log.
  1472.  
  1473.   "@log $User has failed"
  1474.  
  1475. @mod [uservar] [firstnumber] [secondnumber]
  1476. """"
  1477.  
  1478. @run [program] [parameters]
  1479. """"
  1480.   Runs an external program, this must be a OS/2-text mode
  1481. executable.
  1482.  
  1483.   "@run FOSS.exe"
  1484.  
  1485. @rundos [program] [parameters]
  1486. """""""
  1487.   Same as @run, but this loads a new command interpreter before
  1488. running
  1489.   your program, this may run .CMD files and DOS executables as
  1490. well as
  1491.   OS/2 executables.
  1492.  
  1493.   "@rundos test.cmd"
  1494.  
  1495. @select [words] [prompt]
  1496. """""""
  1497.   Wait for user input.
  1498.  
  1499.   "@select YesNo Delete message?" (this go to first @Y or @N
  1500. after present
  1501.  
  1502. line)
  1503.  
  1504. @set [sysvar] [value]
  1505. """"
  1506.   Set a specific system variable to given value.
  1507.   [sysvar] [value]
  1508.   menu     M,R,B,F,C,$,U
  1509.   output    on/off     toggles output of non-command lines i
  1510. scripts on/off (used to write more readable scripts).
  1511.  
  1512. @show [filename]
  1513. """""
  1514.   Type a textfile.
  1515.  
  1516.   "@show scripts\tempfile.lst"
  1517.  
  1518. @write [text]
  1519. """"""
  1520.   Write a text to open file, no CRLF included.
  1521.  
  1522.   "@write This is a text"
  1523.  
  1524. @writeln [text]
  1525. """"""""
  1526.   Write a text to open file, CRLF included.
  1527.  
  1528.   "@writeln This is a text line"
  1529.  
  1530.  
  1531.  
  1532.  
  1533. TECHNICAL INFO
  1534.  
  1535. SYSTEM REQURIEMENTS
  1536. This program runs under OS/2, and as a result you are forced to
  1537. live with it's demands on your hardware. We feel that for any
  1538. type of performance a 386dx with 8 MB of RAM is the minimum,
  1539. although OS/2 (and therefore FOSS/2) will run on any 386 with
  1540. over 4MB of RAM. (er dette riktig?????) In addition you will of
  1541. course need a modem and a telephone line! The ShareWare version
  1542. of FOSS/2 has certain features that are limited. The one thing
  1543. you will notice is that it is not capable of exceeding 9600
  1544. baud, and you are limited to 20 users on the system. This means
  1545. that the 21. person who logs on to your system will overwrite
  1546. the 20. person...... so if you plan to start your own BBS this
  1547. program can get you started, but if you are serious about it
  1548. the small fee the author asks is not that excessive!
  1549. Si ifra hvis dette ikke stemmer...har jo bare pr¢vd på en 486dx
  1550. 33 med 20MB RAM ;-)
  1551.  
  1552. FILE STRUCTURES
  1553.  
  1554. The structures of all system files may be obtained directly
  1555. from me.
  1556.  
  1557.