14 November 1992 *** Last revision for at least 6 months! *** BBBBS 5.7 - Baud Bandit Bulletin Board System for the Amiga - BBBBS 5.7 All reported bugs have been repaired. Up to 99 file libraries with extended filenotes. Up to 99 fully threaded message conferences. Number of users, files, messages, etc. are only limited by storage space. Controlled file library and message conference access for users & sysops. Interface to extra devices like CD-ROM & others, all treated as Read-Only. Complete Email area including binary mail, and multiple forwarding. User statistics including messages written, files ul/dled, time, etc. Independent, freeform user profile/bio/resume area. RexxDoors include Grin_du_Jour, Polling_Place, Star_Trek, ShoList, Hollywood_Squares, Wheel_Of_Fortune, with many more available. Searches: Search users, file descriptions, or messages. Online Text Editor: with Cut, Paste, Replace, and Spellchecking. Separate multi-tasking module for local sysop logon. Background archiving of selected messages or file library descriptions. To see this BBS running, call (206) 744-1254 (PCPursuit: WASEA) written by Richard Lee Stockton of Gramma Software FREELY DISTRIBUTABLE AS LONG AS COPYRIGHT NOTICE REMAINS NOTE: Requires ARexx 1.15 and BaudBandit 1.50 (or greater). BBBBS - Baud Bandit Bulletin Board System for the Amiga - BBBBS ******************** Copyrights and Distribution ******************** The ARexx modules in BBBBS are copyright 1990-91-92 Richard Lee Stockton, and ALL RIGHTS ARE RESERVED. In particular, commercial use of these programs requires a written agreement with the author. HOWEVER, these files may be freely distributed and used for non-commercial purposes AS LONG AS the copyright notices contained within the code remain intact. To contact me for distribution or just more information: Richard Lee Stockton 21305 60th Ave West Mountlake Terrace, WA 98043-2009 Phones: voice = 206-776-1253 FAX = 206-775-7573 BBS = 206-744-1254 Telecomm: call the BBS number above and leave a [C]omment to sysop. - OR - send Email to RLStockton on PORTAL or BIX or GENIE - OR - (if you MUST), my Compu-$erve address is 71650,424 ****************** Requirements for operation ************************ BBBBS Requirements: Assumes standard 1.3 or 2.0 Amiga OS RAM: ~2.5 MEGS of RAM to run. 2.0 MEG without spellchecking. Commercial Software: (I have *nothing* to do with these, except for using them.) BaudBandit 1.50 - $50 retail, ~$30 discounted ARexx 1.15 - $50 retail, ~$30 discounted Freely Distributable Software: (comes with BBBBS or are easily found in the PD) BBBBS.LZH rexx (must be in your rexx: drawer) Answer.baud ArcBrowse.rexx ArcMsgs.rexx baud.rexx bbsALPHA.rexx BBBBS.baud BBBBSdemon.baud bbsExtDL.baud bbsHOURLY.rexx bbsLOCAL.rexx bbsMAINT.baud bbsNewFile.rexx bbsREPORT.rexx bbsULDL.rexx bbsUSER.rexx BuildALPHA.rexx BumpLevel.baud BumpMember.baud BumpTime.baud ChangeUserName.rexx Contents.rexx doorDemon.baud EditUsers.rexx ForceChat.baud Make_BrowseList.baud OldEMail.rexx Setup.rexx ShowFKeys.baud ShowLog.baud rexxDoors (these are needed for opening and closing cookie, etc.) Data (DIR) Grins Grin_du_jour.rexx Moon.rexx Time.rexx libraries (must be in your system Libs: drawer) arp.library (VERS 39.1 by CHeath & others on bbs everywhere) rexxarplib.library (VERS 3.0 by Willy Langeveld on bbs everywhere) screenshare.library (VERS 1.52 comes with rexxarplib) rexxmathlib.library (VERS 1.3 by Willy Langeveld on bbs everywhere) rexxsupport.library (VERS 34.9 comes with ARexx 1.15) rexxsyslib.library (VERS 36.23 comes with ARexx 1.15) commands (must be in your system C: drawer QuickSort (by Marvin Weinstein - ARexxQSort.lzh) sound (by RLStockton, needed to play BBS Yell.snd) boot (optional: warm-boots if BBBBS seems frozen) lha (freely distributable de-archivers...) arc zoo unzip dms ************************** Organization ********************************** BBS: BBBBS looks in your s: directory for the file "CONFIG.BBS" which sets all preferences including the device where the BBS files are located. Within this device, the BBS may use 99 file & 99 message directories. Users may be given access levels between 0 (new user) and 99 (super-sysop). The lowest sysop level (gets to edit filenotes, maybe edit messages depending on level) defaults to 80. Level 99 (and only level 99!) is allowed to open a remote Shell and the power to edit ANY file remotely. Uload/Dload access to libraries & conferences at or below the user's level. Also, a sysop may exclude certain directories from the user's use. (file libraries by name, or message conferences by number) BBS System File Directories: 'Sysops' = Holds files for sysop review. 'Information' = User viewable files. 'I' from the Main Menu. 'Scratch' = temporary editor files, etc. For debugging. 'BBS_HELP' = Command summary files, according to level. 'rexxDoors' = rexx doorway programs Grin_du_Jour.rexx = 'one-liner' humor Moon.rexx = the phase of the moon Time.rexx = the time in words rexxDoors/Data/Grins = data for 'Grin_du_Jour.rexx' ...other rexxDoors available in "BBDoors.lha" 'BBS_TEXT' = Text (mostly) files used by the BBS. HELLO = Sign on message. (19 lines max!) NEW = New user welcome message. YELL.snd = (optional) Yell-For-Sysop sound. YELL = (optional) Yell voice script. WELCOME = default welcome message WELCOME.Mon, WELCOME.Tue, ..., WELCOME.Sun = Daily Welcome messages. WELCOME.1225 = Christmas welcome msg., etc. UNTIL.19920201 = displays at logon through Feb 1, 1992 GOODBYE = Logoff message. (local BBS numbers) DEF.NEW_USER = new user defaults DEF.MEMBER = member defaults DEF.COURTESY = courtesy list defaults BIRTHDAY = displays on user's birthday PROFILES = intro message to user profiles area. 'FileNotes' = A dir of dirs. Each dir corresponding to a file library. Within each, a file desciption of the corresponding file in the library. Written by BBBBS.baud, but editable. 'BBS_LIBS' = Up to 99 file libraries. You select the names of these by editing the file 'BBS:Lists/Libraries'. The BBS sees them by name. 'BBS_MSGS' = Up to 99 message conferences. You select the names of these by editing the file 'BBS:Lists/Conferences', but the BBS sees them as MSG1 thru MSG99. 'Lists' = System lists and lists needed by bbsREXX. Libraries = see example for proper format Conferences = see example for proper format Files = THIS FILE IS WRITTEN BY BBBBS.baud. Under normal circumstances it should NOT be edited by humans. format: 'filenum dirname filename' Files.ALPHA = written by BBBBS.baud Courtesy = List of VIP usernames. A new user on this list is given immediate access. That name is then removed from this list. Excuses = list of randomly selected reasons why the sysop cannot CHAT right now. *** Following dirs contain files written by BBBBS.baud. DO NOT EDIT! *** 'Numbers' = LastFile, LastMail, LastMessage1, etc. Also a dir called "Hourly" that contains data for the "average minutes of use per hour" graph. 'Usage' = Monthly files. Counts hours of modem usage. 'Logs' = Daily files. Tracks user, time, mail or message activity, uloads/dloads, internal errors, etc. Built in 'log-reader' for sysops. 'EMailFiles' = Private files left attached to EMail. 'EMail' = Private mail between users. 'Users' = User files. *************************** Setting Up ***************************** Follow these steps to set up your own BBS.. 1. Do Initial Setup (assumes that bbspath is "BBS:") a. CD to BBS: ; the directory to de-lharc the bbs into b. Lha x BBBBSnn.lha ; extract respecting original paths c. COPY BBS:rexx/QuickSort C: ; ARexx QuickSort d. COPY BBS:S/#? S: ; CONFIG.BBS, Bandit.Keys, Bandit.Config e. COPY BBS:rexx/#? REXX: ; NOTE: 450K of rexx programs! 2. Make sure that "C:DATE" returns the correct time and date. The BBS needs to know the correct time and date for many of its routines. 3. Use a Text editor to edit the following lists. These lists can be changed or edited anytime. The libraries may be re-ordered at any time, but the message conferences can only be added to, not re-shuffled. That is, once you associate a message conference title with its number, and messages are actually written to that conference, you MUST keep that same number associated with that conference title. (This is because messages are kept in MSG1, MSG2, etc. while files are kept in directories created with the title that YOU give it. Note: No spaces are allowed in titles). You may change the CONFERENCE title, but the old messages in that conference will still refer to the old title. It is possible to change a LIBRARY title, but you also have to rename the directory, and update all references to the old dir (which can be quite a few!), so I advise against it. Use care in all title selections and save yourself future problems with re-naming. a. BBS:Lists/Conferences (message conference names) b. BBS:Lists/Libraries (file library names) Note: If you wish to review uploaded files before public posting, you need to be certain that the highest possible non-sysop directory is called "Sysops", as this is where new uploads will be saved. c. BBS:Lists/Courtesy (these names receive INSTANT validation) d. BBS:Lists/Excuses (good reasons why the sysop can't chat right now) 4. Use a Text editor to edit "S:CONFIG.BBS" to your preferences. IMPORTANT! Test your "c:info" from the CLI with your "info-compatible" device name to make sure that the blocks free amount is being returned. See BBS_TEXT/CONFIG.BBS for line by line a description of the options. Note that if line 30 of the config is 1, the BBS stays "up" all the time, which means the CONFIG.BBS and the various Lists are not reloaded each call. DO NOT change the file libraries using bbsLOCAL.rexx while the BBS is in resident mode as this will confuse the BBS and files will be lost. To exit resident, use SHIFT-F2 from BaudBandit to setclip BBS_QUIT=QUIT. It may take up to two minutes for BBBBS to notice that it is supposed to unload before it will actually halt the rexx process. Watch for the blue dot to disappear from the upper right part of the BaudBandit titlebar. If you want the default sysop name to be something other than "SYSOP": a. The name should be in all caps with the "_" character substituted for spaces. (ie, RICHARD_LEE_STOCKTON). b. Then, put "SYSOP" in the exclusion list to make sure no one else can use "SYSOP" as their user name. c. Delete the file "Users" in the "Lists" drawer of the BBS. d. Finally, Rename BBS:Users/SYSOP BBS:Users/ 5. Use the Text editor on the following textfiles to be read by the user. a. BBS:BBS_TEXT/HELLO /* this is the title message */ b. BBS:BBS_TEXT/NEW /* message to new users */ c. BBS:BBS_TEXT/WELCOME /* once-a-day welcome to users */ d. BBS:BBS_TEXT/GOODBYE /* last thing the user sees */ e. BBS:Information/SYSTEM_INFO /* what Amiga model, OS, etc */ 6. You may also wish to edit the default user files in the BBS_TEXT drawer, but I suggest leaving them alone until you gain a better understanding of the BBS system. a. DEF.NEW_USER /* all lines are used */ b. DEF.COURTESY /* all lines are used */ c. DEF.MEMBER /* ONLY time, level, and exclude_dirs are used */ 7. Start the LOCAL BBS by typing "rx bbsLOCAL SETUP". Enter "sysop" (or the name you changed it to) when asked to enter your name, then enter "password" when asked for a password. This will construct the directories you specified in BBS:Lists/Libraries, (if they don't already exist).. likewise, the message conferences will be constructed, if needed. You will then enter the bbs _AS IF_ it were running from the modem, although Baud Bandit is not needed at all. 8. Select "Y" to edit your personal data. CHANGE YOUR PASSWORD!! 9. Read the BBBBS.COMMANDS file in [I]nformation for general command information, and take a look around the board. Try out some things a user would try. 10. Use "G" to logoff which will rewrite your user file. 11. Start BaudBandit. Check BB's Macro display. The important thing here is to make sure that "\mAnswer.baud" is in "RING" portion of BB's configuration. 2400 baud operation: Handshake should be set to "NONE" (otherwise CTRL-S can hang the BBS). AutoBaud should be set to "ON" and the baud rate to the same value you have set in BBS:BBS/CONFIG as the Maximum baudrate. 9600 baud operation: Handshake should be set to "7-Wire". AutoBaud should be set to "OFF" and the baud rate set to the maximum "terminal-to-modem" baudrate (19200 max for less than 68020 cpu). I have used Practical Peripherals modems and the setup strings are: 9600SA AT &F M0 &C1 &D3 S95=47 &W 14400FXSA AT &F M0 W1 &C1 &D3 &T5 S37=11 S95=47 S118=2 &W &F = factory defaults M0 = turn speaker off [optional] W1 = enable progress messages &C1 = track DCD &D3 = monitor DTR and reset to power up conditions &T5 = disable remote testing [optional] S37=11 = highest modem to modem rate is 14400 S95=47 = all progress messages and modem-modem speed report S118=2 = LCD display 2 seconds per line of info. [optional] &W = save to modem RAM so ATZ will recall these settings These may or may not work for you, but at least it's a place to start. Note that you only have to give this command once, then the "ATZ"s that BBBBS sends will reset your modem to this default. There are Bandit.Config files provided for both 9600/14400 and 2400. If you make any changes remember to save them. NOTE! Your modem MUST be set so that you can see verbose responses from your modem on your BB screen (ie, RING, CONNECT 9600/ARQ (or whatever), NO CARRIER, OK, etc). The baudrates reported by the modem should be the modem-to-modem baudrate. Correct BBS operation depends on these messages. 12. If you have RAM to spare, give yourself a large capture buffer in BaudBandit, especially if you will be debugging. You can use BB's review buffer to study what the user did, in what order, and what happened. I have mine set to about 150k.. 13. To set up the BBS to start automatically in the background, add these lines to your startup-sequence: (assumes that BaudBandit is in the BBS: drawer) assign rexx: dh0:rexx ; Edit dh0:rexx to YOUR rexx drawer. rx setup BBS:BB ; Edit this to YOUR BaudBandit path WaitForPort BAUD ;rx Baud OFF ; uncomment this line to close BB's screen after startup run rx "ADDRESS BAUD;Send '\mBBBBS.baud'" 14. Wait for callers, and soon become beloved sysop to billions of users... *********************** end of BBBBS.txt ****************************