home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / os2 / bbss10b2.zip / DOC / SYSOP.DOC < prev   
Text File  |  1994-02-28  |  16KB  |  547 lines

  1.                                      -=-
  2.  
  3.                  The Bits & Bytes Bulletin Board System for OS/2
  4.                                    B&BSYS/2
  5.  
  6.                                      -=-
  7.  
  8.                    This documentation is for version 1.0ß1
  9.                Stian Seeberg is about to write proper doc's now.
  10.  
  11.                                      -=-
  12.  
  13.                 All included material is copyright 1991-94 by:
  14.  
  15.                               Terje Flaar¢nning
  16.                               Boks 455 Sentrum
  17.                               N-7001 Trondheim
  18.                                    Norway
  19.  
  20.                              Voice: +47-94655772
  21.                               BBS: +47-DOWNNOW
  22.  
  23.                                      -=-
  24.  
  25.     Please note, the BITS0001 bulletin should also be read, it may include 
  26.            important changes to the information in this file.
  27.  
  28.                                      -=-
  29.  
  30.  
  31.                                     INDEX
  32.                                    -=====-
  33.  
  34. 1 Introduction to B&BSYS(/2)
  35.  
  36.   1.1  The history behind B&BSYS
  37.   1.2  B&BSYS vs. other BBS-systems
  38.   1.3  First time B&BSYS/2 setup
  39.   1.9  The people behind B&BSYS/2
  40.  
  41. 2 Configuration of B&BSYS/2
  42.  
  43.   2.1  CONFIGURATION WITH THE U(til) Co(nfig) COMMAND
  44.  
  45.     2.1.1  General
  46.     2.1.2  Path names
  47.     2.1.3  File protocols
  48.     2.1.4  Archive programs
  49.     2.1.5  Nodes (Comms)
  50.     2.1.6  Timed events
  51.     2.1.7  Net-links
  52.     2.1.8  Areas
  53.  
  54.   2.2  DOOR.BAT
  55.  
  56. 3 Menu by menu in the B&BSYS/2 interface
  57.  
  58.   3.1  GLOBAL MENU FUNCTIONS
  59.   3.2  MAIN MENU
  60.   3.3  MESSAGE MENU
  61.   3.4  FILE MENU
  62.   3.5  BULLETIN MENU
  63.   3.6  CHAT MENU
  64.  
  65. 8 Script language
  66.  
  67.   8.1  Scripts called
  68.   8.2  Script variables
  69.   8.3  Script commands
  70.  
  71. 9 Technical info
  72.  
  73.   9.1  File structures
  74.  
  75.  
  76. =I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=I=
  77.  
  78. 1        INTRODUCTION TO B&BSYS(/2)
  79.          ══════════════════════════
  80.  
  81. 1.1      THE HISTORY BEHIND B&BSYS
  82.          ─────────────────────────
  83.  
  84. My first meeting with modem-communications was in the summer of 1989 when
  85. I realiced there was telephone connectors at the back of my PC (a old ITT
  86. XTRA from 1984). I managed to connect to a local BBS and became a frequent
  87. user there. But, my local BBS had to close down and I had to start calling
  88. long distance which was not cheap. After a short while I got the idea of
  89. starting my own BBS. My first BBS was using the MBBS ((C) Mike Robertson)
  90. BBS-system and was online from early 1990. I connected to national networks
  91. and when I got more and more conferences the MBBS system became to small, it
  92. only supported 75 conferences. Therefore I started to make my own BBS-system
  93. which is known as "The Bits & Bytes Bulletin Board System" or B&BSYS for
  94. short.
  95.  
  96. Have to add something here, late in 1993 I heard about the OS/2 patches for
  97. Borland Pascal, and this was the start of B&BSYS/2. B&BSYS will no longer
  98. be developed in a DOS-version.
  99.  
  100.  
  101. 1.2      B&BSYS VS. OTHER BBS-SYSTEMS
  102.          ────────────────────────────
  103.  
  104. B&BSYS is in many way like other BBS-systems. The main difference that it is
  105. almost unlimited how big your system may grow. B&BSYS consist of a database-
  106. structure so advanced that much bigger systems just can dream about it. This
  107. system is not just another program but it is following all major software
  108. development rules.
  109.  
  110. B&BSYS has a user friendly interface and it is almost impossible to "break"
  111. the system by doing bad commands or such.
  112.  
  113.  
  114. 1.3      FIRST TIME B&BSYS/2 SETUP
  115.          ─────────────────────────
  116.  
  117. B&BSYS/2 is easy to setup, and if you follow the following steps it should
  118. be up and running in minutes.
  119.  
  120.   [1] Unpack the main archive (B&BS*.ZIP) to your BBS directory (C:\BBS for
  121.       example) remember to unpack with directories.
  122.  
  123.   [2] Be sure til place your .KEY file in your BBS directory from now on
  124.       called B&B-root. This file is supported direct from me.
  125.  
  126.   [3] Execute the SETUP.CMD file with a list of your hard drive letters as
  127.       first and only parameter. For example, type: SETUP CDE at your OS/2
  128.       command prompt.
  129.  
  130.   [5] Now, start B&BSYS/2 by typing BBS 0 (0 is your local SysOp node) and
  131.       register with the name "Sysop Sysop".
  132.  
  133.   [6] When you are on B&BSYS/2 command line, type  UTIL NAME  to change your
  134.       name from Sysop Sysop to the real one. 
  135.  
  136.   [7] Now you may start to explore and configure your B&BSYS/2 BBS.
  137.  
  138.   [8] ... but before you do all this, print out this instruction or write it
  139.       down.
  140.  
  141. That's all, now you should configure your B&BSYS/2 BBS as you wish by using
  142. the Co(nfig) command in the SysOp menu. Good luck.
  143.  
  144.  
  145. 1.9      THE PEOPLE BEHIND B&BSYS/2
  146.          ──────────────────────────
  147.  
  148. The main system B&BSYS/2 is entirely written be me (Terje Flaaronning) on
  149. late evenings the last two-three years.
  150.  
  151. Thomas Stenhaug is writing QWK-support, and I'll let you know when it's
  152. ready.
  153.  
  154.  
  155. Greatings goes to:
  156.  
  157. Raymond L. Gwinn (Developer of the SIO drivers for OS/2) which has supported
  158.     me with info about SIO and the OS/2-API conserning async-communication.
  159. Jan-Morten Havstein (Running main ßeta board for B&BSYS(/2)) which have to
  160.     live with all bugs in the preßeta versions of B&BSYS/2.
  161. Thomas Stenhaug which is currently working on QWK support routines for
  162.     B&BSYS/2, I suspect he have something ready when you read this.
  163. ¥yvind L. Eggen (Developer of the XBoard offline reader) which made support
  164.     for the B&BSYS grab format in XBoard. The grab format has changed today,
  165.     but I hope that coming versions of XBoard will support the new format.
  166. My mother which have paid many large phonebills the last couple of years. :-)
  167.  
  168.  
  169. =2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=2=
  170.  
  171.  
  172. 2        CONFIGURATION OF B&BSYS/2
  173.          ═════════════════════════
  174.  
  175. 2.1      CONFIGURATION WITH THE U(til) Co(nfig) COMMAND
  176.          ──────────────────────────────────────────────
  177.  
  178. 2.1.1    General
  179.          ───────
  180.  
  181. Choose this option to edit the name of your BBS, the name of the current
  182. SysOp, time-limit to give to new users, max inactivity time before automatic
  183. logoff, access level given to new users, smallest normal access level.
  184.  
  185.  
  186. 2.1.2    Path names
  187.          ──────────
  188.  
  189. Here you may edit information about a RAM-Disk (swap disk) just the drive-
  190. letter followed by a colon should be entered. At the scratchpad field you
  191. should give a complete path without a extension (place it on you RAM-Disk
  192. if it is big (the RAM-Disk)) but with the ".".
  193.  
  194. CD-ROM Drive letters represent your CD-ROM players.
  195.  
  196.  
  197. 2.1.3    File protocols
  198.          ──────────────
  199.  
  200. The most used file protocols are automatically setup by the SETUP process as
  201. long as it find the protocol drivers (DSZ.EXE for X, Y and ZModem).
  202.  
  203. Some examples:
  204.  
  205.    Letter: Z  Name: ZModem            OkErr: 0  Type: B_A
  206.      Path: C:\UTIL\DSZ.COM
  207.    Upload: port &p speed &s ha both rz &u
  208.  Download: port &p speed &s ha both sz &l
  209.   AutoRec: "**"#24
  210.  
  211.    Letter: Y  Name: YModem            OkErr: 0  Type: B__
  212.      Path: C:\UTIL\DSZ.COM
  213.    Upload: -k port &p speed &s ha both rb &u
  214.  Download: -k port &p speed &s ha both sb &l
  215.   AutoRec:
  216.  
  217.    Letter: S  Name: HS/Link 1.20      OkErr: 0  Type: BBA
  218.      Path: C:\TELIX\HSLINK\HSLINK.EXE
  219.    Upload: -P&p -B&s -U&u
  220.  Download: -P&p -B&s -U&u &l
  221.   AutoRec: "HS*"#2
  222.  
  223.  
  224. 2.1.4    Archive programs
  225.          ────────────────
  226.  
  227. These are also automatically setup .
  228.  
  229. 2.1.5    Nodes (Comms)
  230.          ─────────────
  231.  
  232. 2.1.6    Timed events
  233.          ────────────
  234.  
  235. Changes to come...
  236.  
  237. As I think you already have notified B&BSYS can run timed events. A event
  238. consist of a entry in your system setup including when to run and such
  239. information, you must also make a DOS batch file for the event.
  240.  
  241. The event batch files is to be placed in your B&BSYS root directory and
  242. should be named EVENTxxx.ee (xxx is your prepadded node number and ee is
  243. a prepadded event number which range from 01 to 10).
  244.  
  245. If you will make this batch files start other batch files, you MUST use the
  246. CALL statment so the control is returned the the main batch file after
  247. executing of a secondary batch.
  248.  
  249.  
  250. 2.1.7    Net-links
  251.          ─────────
  252.  
  253. 2.1.8    Areas
  254.          ─────
  255.  
  256.  
  257. 2.2      DOOR.CMD
  258.          ────────
  259.  
  260. B&BSYS/2 has the ability to run doors (external program, games ... ) all
  261. doors is executed via the DOOR.CMD file in your B&BSYS-root directory.
  262.  
  263. DOOR.CMD is called with these parameters:
  264.  
  265. DOOR.CMD [Node#1] [Node#2] [ComPort] [PortSpeed] [BaseAddr] [IrqVector]
  266.          [DoorName] [DoorCode]
  267.  
  268. Node#1    is the number of the node, this is not prefilled.
  269.  
  270. Node#2    is the number of the node, this is prefilled with zero's to a
  271.           length of three characters.
  272.  
  273. ComPort   is current comport
  274.  
  275. PortSpeed is current comport speed
  276.  
  277. BaseAddr  These are the base/irq data in the node setup (PS! Be sure to
  278. IrqVector set these to the same values as your fossil driver)
  279.  
  280. DoorName  The name or number of the door to be executed
  281.  
  282. DoorCode  The B&BSYS/2 DoorCode for current area
  283.  
  284. Expamles:
  285.  
  286. DOOR.CMD 3 003 1 19200 02e8 3 1 MAIN
  287. DOOR.CMD 2 002 3 9600 03f8 4 TheGame GAME
  288.  
  289. The DOOR.CMD file may run both OS/2 and DOS executables.
  290.  
  291.  
  292. =3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=
  293.  
  294.  
  295. 3        MENU BY MENU IN THE B&BSYS/2 INTERFACE
  296.          ══════════════════════════════════════
  297.  
  298. 3.1      GLOBAL MENU FUNCTIONS
  299. 3.2      MAIN MENU
  300. 3.3      MESSAGE MENU
  301. 3.4      FILE MENU
  302. 3.5      BULLETIN MENU
  303. 3.6      CHAT MENU
  304.  
  305. =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=8=8=8=8=8=8=8=
  306.  
  307.  
  308. 8        SCRIPT LANGUAGE
  309.          ═══════════════
  310.  
  311. B&BSYS/2 offers a small script language to allow you to make you own look
  312. of you BBS. The scripts are called before or after important internal
  313. functions of B&BSYS/2. All scripts should be placed in the SCRIPTS sub-
  314. directory.
  315.  
  316.  
  317. 8.1      SCRIPTS CALLED
  318.          ──────────────
  319.  
  320. The following script files will be executed if they are present in the
  321. SCRIPT sub-directory:
  322.  
  323. GOODBYE.*   This script is executed when a user use the G(oodbye) command
  324.             to exit B&BSYS/2 or just drop the line. The script does also
  325.             function as a goodbye bulletin.
  326.  
  327. LOGIN.*     This script is executed just before the user gets his command
  328.             prompt (after display of users stats).
  329.  
  330. PREDOWN.*   These scripts is executed before and after downloads, the scripts
  331. POSTDOWN.*  can be used to control download rules and so on, the scripts also
  332.             function as file transfer bulletins, but only with normal file
  333.             transfers.
  334.  
  335. PREUP.*     Same as the *DOWN.* scripts but for uploads.
  336. POSTUP.*
  337.  
  338. PREOPEN.*   Same as the *DOWN.* scripts but for door usage. Be aware these
  339. POSTOPEN.*  scripts function in all areas.
  340.  
  341. PREREG.*    These scripts is executed before and after a new users register.
  342. POSTREG.*
  343.  
  344. U-[com].*   Called from Utility menu if unknown command.
  345. B-[com].*   Called from Bulletin menu if unknown command.
  346. C-[com].*   Called from Chat/Node menu if unknown command.
  347. $-[com].*   Called from $ysOp menu if unknown command.
  348. F-[com].*   Called from File menu if unknown command.
  349. R-[com].*   Called from Read menu if unknown command.
  350.  
  351. G-[com].*   Called from all menus if none of the above exits and unknown
  352.             command.
  353.  
  354. The astrix is a language key or just nothing for multilangual scripts.
  355.  
  356.  
  357. 8.2      SCRIPT VARIABLES
  358.          ────────────────
  359.  
  360. In scripts you have several variables for you usage, these are:
  361.  
  362. &[1-9]  User variables.
  363. &ac     Current area code.
  364. &ad     Current area door-code.
  365. &af     Current area file-code.
  366. &an     Current area name.
  367. &td     Current date.
  368. &th     Current time (hour).
  369. &tm     Current time (minute).
  370. &tu     Time used so far this logon, in minutes.
  371.  
  372. &u - - - USER RECORD VARIABLES
  373. &ua1      First line of address
  374. &ua2        Second line of address
  375. &ual    Accesslevel
  376. &uc     City
  377. &ud#    Number of downloads
  378. &udk    KB downloaded
  379. &uf            First name
  380. &ul            Last name
  381. &umw        Messages written
  382. &umr        Messages read (Not counted in B&BSYS/2 yet)
  383. &un            Name
  384. &uph        Home phone
  385. &upw        Work phone
  386. &uu#    Number of uploads
  387. &uuk    KB uploaded
  388. &uta    Time allowed each 24 hours
  389. &utl    Time left when logging on (&utl - &tu = time left)
  390. &utt        Time totally used
  391.  
  392. &$ - - - SYSTEM DATA VARIABLES
  393. &$h     Systems current com-handle in hex.
  394. &$m            Current menu level: M(ain), R(ead), F(ile) and so on.
  395. &$v     Display current B&BSYS/2 version.
  396.  
  397. &! - - - DISPLAY SETUP/MANIPULATION PROCEDURES
  398. &!l            Do linefeeds until cursor resides at the bottom screen line.
  399. &!m            Do more prompt.
  400. &!w            Wait for keypress before continue.
  401.  
  402.  
  403. The variables can be used everywhere in your scripts.
  404.  
  405.  
  406. 8.3      SCRIPT COMMANDS
  407.          ───────────────
  408.  
  409. A script language without commands is nothing so here they come to, these
  410. commands are available for script programming:
  411.  
  412. @+ [uservar] [firstnumber] [secondnumber]
  413. ""
  414. @- [uservar] [firstnumber] [secondnumber]
  415. ""
  416. @* [uservar] [firstnumber] [secondnumber]
  417. ""
  418. @/ [uservar] [firstnumber] [secondnumber]
  419. ""
  420.  
  421. @assign [uservar] [textstring]
  422. """""""
  423.   Assigns a textstring to a uservariable
  424.  
  425.   "@assign 1 This is a string"
  426.  
  427. @command [commandline]
  428. """"""""
  429.     Execute standard B&BSYS/2 command from a script.
  430.  
  431.   "@command Read Enter Sysop"
  432.  
  433. @delfile [filename] {filename} {filename} ...
  434. """"""""
  435.   Delete one or more files on the harddisk.
  436.  
  437.   "@delfile B&BSYS.EXE" (not try this)
  438.  
  439. @exit
  440. """""
  441.   End script execution and return to B&BSYS/2.
  442.  
  443.   "@exit"
  444.  
  445. @file [filename]
  446. """""
  447.   Open a file for output, the file is created if it do not exist.
  448.  
  449.   "@file scripts\tempfile.lst"
  450.  
  451. @goto [label]
  452. """""
  453.   Go to @[label].
  454.  
  455.   "@goto firstlabel"
  456.  
  457. @if [firststring] [secondstring] [label]
  458. """
  459.   Compare two strings, if equal the goto [label] of not then continue.
  460.  
  461.   "@if String String ThisLabel"
  462.  
  463. @if [firstnumber] [<|=|>] [secondnumber] [label]
  464. """
  465.   Compare two numbers, if condition is TRUE the goto [label] if not then
  466.   continue.
  467.  
  468.   "@if 1 = 2 OneLabel"
  469.  
  470. @iffile [filename] [label]
  471. """""""
  472.   If file [filename] exist the goto [label] if not then continue.
  473.  
  474.   "@iffile scripts\tempfile.lst"
  475.  
  476. @input [uservar] [prompt]
  477. """"""
  478.   Let the user input a text string into the given uservar.
  479.  
  480.   "@input 1 Type a command:"
  481.  
  482. @log [text]
  483. """"
  484.   Write a line to node log file. If [text] start with "$" the text go to
  485.   the .SYS log instead of the normal node log.
  486.  
  487.   "@log $User has failed"
  488.  
  489. @mod [uservar] [firstnumber] [secondnumber]
  490. """"
  491.  
  492. @run [program] [parameters]
  493. """"
  494.   Runs an external program, this must be a OS/2-text mode executable.
  495.  
  496.   "@run b&bsys.exe"
  497.  
  498. @rundos [program] [parameters]
  499. """""""
  500.   Same as @run, but this loads a new command interpreter before running
  501.   your program, this may run .CMD files and DOS executables as well as
  502.   OS/2 executables.
  503.  
  504.   "@rundos test.cmd"
  505.  
  506. @select [words] [prompt]
  507. """""""
  508.   Wait for user input.
  509.  
  510.   "@select YesNo Delete message?" (this go to first @Y or @N after present
  511.                                                                    line)
  512.  
  513. @set [sysvar] [value]
  514. """"
  515.   Set a specific system variable to given value.
  516.   [sysvar] [value]
  517.   menu     M,R,B,F,C,$,U
  518.  
  519. @show [filename]
  520. """""
  521.   Type a textfile.
  522.  
  523.   "@show scripts\tempfile.lst"
  524.  
  525. @write [text]
  526. """"""
  527.   Write a text to open file, no CRLF included.
  528.  
  529.   "@write This is a text"
  530.  
  531. @writeln [text]
  532. """"""""
  533.   Write a text to open file, CRLF included.
  534.  
  535.   "@writeln This is a text line"
  536.  
  537. =9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=9=
  538.  
  539.  
  540. 9        TECHNICAL INFO
  541.          ══════════════
  542.  
  543. 9.1      FILE STRUCTURES
  544.          ───────────────
  545.  
  546. See your API\ directory for public filedefinitions
  547.