---- -- --- ------ ------ ---- -- -- -- -- -- -- -- -- -- -- -- -- -- --- ---- -- -- -- -- -- -- --- -- -- -- -- -- -- -- -- -- ----- ----- --- -- -- -- -- -- -- ---- -- -- -- -- --- -- --- -- -- -- -- -- -- -- -- -- -- -- -- -- ---- --- -- ---- ---- --- -- ------ ------ ---- - ---- -------- -- -- - -- - --- -- --- -- --- -- --- -- -- -- -- ---- ---- version 1.10 The Quick Bulletin Board System for Atari ST computers by Jon Webb and Theo Runia The QuickBBS ST package is Copyright (c) 1990-93 by Jon Webb and Theo Runia. It is in no way connected to the QuickBBS PC version. Read the license agreement for copyright information and distribution rules. ------------------------------------------------------------------- QuickBBS ST Page 1 QuickBBS ST Page 2 ------------------------------------------------------------------- TABLE OF CONTENTS Section 1 : Introduction Page License Agreement ......................... 5 Bug Reports, Questions, Ideas ............. 8 Notices ................................... 8 Thank You ................................. 9 Features .................................. 9 Overview .................................. 10 QuickStart ................................ 10 Documentation ............................. 10 Required Hardware ......................... 11 Required Software ......................... 11 Required Software for FidoNet ............. 11 Recommended Setup ......................... 12 First Time SysOps ......................... 12 Section 2 : Installation Page Unpacking the Archives .................... 13 Directory Structure ....................... 14 Creating the System Files ................. 15 Creating the User Base .................... 15 Creating a Configuration File ............. 16 Installing 4KBUF .......................... 17 Requesting a Key .......................... 18 Running the BBS ........................... 18 Section 3 : Configuration/Operation Page More about QConfig ........................ 20 Function Keys ............................. 26 SysOp Keys ................................ 27 Chatting & Yell Tunes ..................... 28 The Status Bar ............................ 29 Section 4 : Users Page User Information .......................... 30 Packing the User Base ..................... 32 The Limits File ........................... 32 The TrashCan File ......................... 33 The Accounting system ..................... 33 Section 5 : Text & Graphics Page Text Files & Graphics Modes ............... 34 System Text Files ......................... 35 Text File Control Codes ................... 37 ------------------------------------------------------------------ QuickBBS ST Page 2 QuickBBS ST Page 3 ------------------------------------------------------------------ Section 6 : Menus Page The Menu System ........................... 40 Menu Text ................................. 41 Menu Structure ............................ 41 The Menu Editor ........................... 42 Menu Option Types ......................... 43 Menu Parameters ........................... 48 Automatic Menu Execution .................. 49 The Menu Optimiser ........................ 49 Section 7 : Messages Page The Message System ........................ 50 Message Area Access ....................... 51 The Language Check File ................... 51 The UpperCase Check ....................... 51 Allow use of an alias ..................... 52 Allow 8 bit characters .................... 52 File attached messages .................... 52 Group number .............................. 52 LastRead Pointers ......................... 53 Packing the Message Base .................. 53 The Mail Area Lister ...................... 53 Section 8 : Files Page File Areas ................................ 56 The File Search File ...................... 57 The File Area Lister ...................... 57 Transfer Protocols ........................ 59 Uploads & Downloads ....................... 60 Transfer Drivers .......................... 61 External Protocols ........................ 61 The Online Archiver ....................... 62 The File Browser .......................... 62 Mark File Menu ............................ 63 Section 9 : Doors Page External Programs ......................... 64 DOR Files ................................. 66 Exit With ErrorLevel ...................... 71 ------------------------------------------------------------------ QuickBBS ST Page 3 QuickBBS ST Page 3 ------------------------------------------------------------------ Section 10 : FidoNet Page What is FidoNet? .......................... 72 Practical, please ......................... 73 FidoNet Organisation ...................... 74 NetWork Addresses ......................... 75 Points .................................... 75 What's a Mailer? .......................... 76 Import and Export ......................... 76 Installing the Mailer ..................... 77 Compiling the NodeList .................... 78 Writing NetMail ........................... 79 Reading and Writing EchoMail .............. 79 Generating EchoMail ....................... 79 Events and Routing ........................ 80 Exporting Mail ............................ 80 Importing Mail ............................ 80 Archived Mail ............................. 81 Batch Files and such ...................... 81 Section 11 : Appendices Page A - Jargon Guide .......................... 83 B - SysOp Keys ............................ 97 C - Menu Options .......................... 98 D - System Text Files ..................... 99 E - Text File Control Codes ............... 101 F - .DOR File Commands .................... 103 G - VT-52 Escape Codes .................... 104 H - Ansi-BBS Escape Codes ................. 105 I - RS-232 Pins ........................... 110 J - FSE Interface ......................... 111 K - External Chat Interface ............... 113 L - Available Utilities ................... 114 M - Errorlevels & Parameters .............. 116 N - Example Batch Files ................... 117 O - Bug Report Form ....................... 123 ------------------------------------------------------------------ QuickBBS ST Page 4 ================================================================== =================== Section 1 : Introduction ===================== ================================================================== LICENSE AGREEMENT QuickBBS ST uses a key which can be requested from the Support BBS. There are two sorts of keys available: ¯ A Demo key will operate for a period of 60 days. No more than 4 demo keys will be provided, and there must be at least one month between the date on which one demo key expires and the date on which the next demo key is requested. ¯ A Full key can be bought from Theo Runia. Once you have bought a full key you are a registered owner of QuickBBS ST and have unlimited use of the program. A full key costs 150 Dutch Guilders (approx. $80/œ50) and can be ordered by sending a cheque or postal order for the above amount, made payable to Theo Runia to: Theo Runia P.O. Box 1183 8900 CD Leeuwarden The Netherlands Please include a note with your name, phone number and key number (which is displayed by QuickBBS when it checks your demo key). Now for the different methods of payment, in order of preference: ¯ By International Postal Money Order is quickest on our end. I just have to go to the post office to cash them. A postal money order can be sent from your local post office. This is fast as I get them within a week, and a full key will be ready at that day. ¯ By EuroCheque is also fairly quick. Because EuroCheques are guaranteed by the bank, your full key will be available as soon as the cheque arrives here. Most banks charge very little for EuroCheques. ¯ If you live in Europe and have access to a giro account, you can transfer the money directly to mine. My giro bank is called Postbank N.V. in Arnhem and my account number is 2740040. ------------------------------------------------------------------ QuickBBS ST Page 5 QuickBBS ST Page 6 ------------------------------------------------------------------ ¯ You can also transfer money via the SWIFT system. This is an international money transfer system. Almost all banks should have access to this. You should show the following to your bank: Transfer 150 dutch guilders via the SWIFT transfer system to my bank, my bank is: Friesland bank Zaailand 110 Leeuwarden The Netherlands My account number there is 29.63.18.418 on the name of: Theo Runia in Leeuwarden. The swiftcode for the Friesland bank is FRBKNL2L With this code it should be easy for a bank to transfer the money. But please mention your keynumber, it make's live easier for me and you. ¯ A bank cheque of your bank is possible too. It should be drawn on a Dutch bank. But normally this is the case with bank cheques. The disadvantage is that I get the cheques fast enough but I will have to wait 1-2 weeks before it's cleared by the bank. But generally it's quite a good system. If you have sent a cheque or postal order etc. and your demo key runs out, just post a message on the Support BBS or send a netmail. In general we will make an extended demo key available. We wil send a netmail via Fidonet if the key is ready, so do supply your nodenumber. If you want the key on disc please say so. This will however take longer. Any invalid cheques and postal orders will be returned to you, with a description of what was wrong. And please don't forget to mention your keynumber, the number of users is so big that it is sometimes diffecult to find out who send the money. If you have experience with international money transfers which you think would be of use to others, let me know and I'll include it in this file. We reserve the right to refuse any key request. We also reserve the right to withdraw your key, even a full key, if you violate the distribution rules. ------------------------------------------------------------------ QuickBBS ST Page 6 QuickBBS ST Page 7 ------------------------------------------------------------------ The QuickBBS ST package may be made available for download as long as you stick to the following rules: ¯ You may not distribute modified programs or documentation, ¯ You may translate the documentation, but the original English version must be in the documentation archive, ¯ You may not distribute incomplete archives, ¯ You may not distribute the key, ¯ You may not charge anything for the package other than nominal copying cost or on-line fees. Violation of these rules will lead to the withdrawal of your key! You can also send 2 formatted discs together with 2 international reply coupons. You will be send the latest version of QuickBBS ST and some nice utils. You can also request a demokey this way. Make very sure you put on the disc a file or send a letter with your name and address on it and include the following: Sysop Name BBS Name Nodenumber This way we can generate a demo key so you can start the BBS the moment you recieve the discs back. ------------------------------------------------------------------ QuickBBS ST Page 7 QuickBBS ST Page 8 ------------------------------------------------------------------ BUG REPORTS, QUESTIONS, IDEAS, ETC. The best way to contact us is via the QuickBBS ST Support BBS: QuickBBS ST Leeuwarden FidoNet 2:282/301, NeST 90:5/0 Holland +31-(0)58 - 153 849 300-14400 Bps, HST/V32bis 24 hours per day The SysOp - Theo Runia - has been running QuickBBS ST ever since the first version was tested, and can answer just about any questions you care to ask. But don't forget he's doing all this in his spare time, and might be very busy doing something else. Another way of getting in touch is in the QUICKBBS.ST echomail area. This area is currently also linked into the NeST area N.GATE.QBBS.ST and might be linked to other areas in the future. NOTICES We can not be held responsible for any damages which may occur due to the use of QuickBBS ST and/or associated programs and/or documentation. If you use the system, you do so at your own risk. QuickBBS ST is supplied as-is. If it doesn't suite your needs I'm sorry. We am in no way connected to Adam Hudson, the original author of the PC version, other that he gave Jon webb the 'go ahead and try' signal. QuickBBS ST was not ported, it was rewritten from scratch in GfA 3.0 and Turbo-C/ST. We have heard that Adam Hudson is no longer developing the PC version, and has sold the source. We hope this will speed up implementation of new features in the PC version. In fact we think the new developers have 'borrowed' a few of our ideas, which is fine by us. When the name QuickBBS is used in this documentation, it relates of course to the ST version, not the PC version. QuickBBS is often called 'QBBS' or 'Quick'. ------------------------------------------------------------------ QuickBBS ST Page 8 QuickBBS ST Page 9 ------------------------------------------------------------------ THANK YOU A lot of people have assisted in the development of this package, and it is impossible to list them all here. However, I'd like to express special thanks to ... ¯ Theo Runia, the very first QuickBBS ST board and SysOp of our Support BBS. Theo has been very helpful, coming up with ideas, (lots of) bug reports and doing an enormous amount of listening. From version 1.06 onwards Theo took over development. ¯ Jac Kersing, author of The-Box and Pandora, has spent many hours on the phone with me, at first when testing The-Box and Pandora, afterwards when technical problems arose during the development of Quick. ¯ Iain Summers, for his help with all sorts of bits-and-pieces, especially the internal Zmodem drivers, and for putting up with me for a few days when I was over in the UK 8-). ¯ all the SysOps of our 'other' main beta sites, Lasse Eriksson, Jens Fischer, Joop Koopman, Kaj Lehtinen and Erno Meffert and Wilco Roos. FEATURES QuickBBS is a very powerful and flexible BBS system. A few of the features which are implemented in the current version: ¯ The complete menu system, the menu text and the menu structure are SysOp-configurable, ¯ Most of the other text the user sees is SysOp-configurable, ¯ Nearly all keys in the BBS are HotKeys, that means the user doesn't have to wait for the menu or to be completed, he just presses the key he wants, ¯ Up to 200 message areas, and an unlimited number of file areas, ¯ Fully FidoNet compatible, linking your BBS to 20000 others worldwide, ¯ Uploads and downloads with Xmodem, Xmodem 1K, Ymodem, Windowed Xmodem and Zmodem, and a powerfull external protocol interface, ¯ VT-52 Standard, Monochrome, Colour and Ansi graphics modes, ¯ New Mail pointers for each user in each area, ¯ Online Archiver with support for .ARC and .LZH archives, ¯ Language check, uppercase check and quoting in the line editor, ¯ Separate front-end for Stand Alone mode includes terminal with dialer, VT-52 and Ansi graphics, File Transfers etc. ¯ External programs can be started from within the BBS, providing access to doorgames, utilities and such. Most FoReM and Pandora doorgames can be run, ¯ Free updates, ¯ Lots, lots more... As you can see, no other BBS package on the ST offers so much for so little money. And best of all: QuickBBS is very fast, otherwise it wouldn't be called that, would it? ------------------------------------------------------------------ QuickBBS ST Page 9 QuickBBS ST Page 10 ------------------------------------------------------------------ OVERVIEW QuickBBS ST is closely related to the The-Box system which was written by Jac Kersing and Jan-Paul Middelink. It does not use The-Box itself, but it uses the same mail utilities, due to the fact that the message base is of identical format. Nowadays Binkley ST is used more and more. Most mail utilities on the Atari now use this messagebase, it's often referred to as the 'QBBS format'. The QuickBBS package consists of the following files: ¯ QINSTALL.PRG Installation program ¯ QKEY.PRG Key Requester ¯ QUICKBBS.PRG The main program ¯ QSTART.PRG QuickStart, for Stand Alone use ¯ QSTART.OVL Overlay for QuickStart ¯ USEREDIT.PRG The user editor ¯ MCONFIG.PRG The message base configuration program ¯ QCONFIG.PRG The general configuration program ¯ MENUEDIT.PRG The menu editor, written by Theo Runia ¯ FASTPACK.PRG The message base packer ¯ 4KBUF.PRG Communications buffer program ¯ XFER.00? Ymodem/Windowed Xmodem/Zmodem modules These and other files have been placed in a number of archives, ready to be extracted by the installation program. QUICKSTART QuickStart is a program which is run 'in front' of QuickBBS. It initialises the modem, answers the phone when a user calls etc. It also has a terminal with file transfer capabilities, Ansi graphics etc. When a user calls QuickStart will start up QuickBBS. QuickStart has its own documentation file. DOCUMENTATION This documentation is available in ASCII or in First Word Plus format. The First Word Plus file has extension .DOC (with .GEM illustrations), the ASCII file has extension .TXT and does not contain any illustrations. A special print program is being developed to print out the First Word Plus document and illustrations. The program can either print a plain ASCII version or - if you have GDOS (or G+Plus), a printer driver and a printer font - a version with pictures, styles etc. Of course you can print out the .DOC and .IMG files with First Word Plus. If, after reading this documentation, something is still unclear you could have a look at the QuickBBS PC documentation. More help with FidoNet can be found in the Binkley ST manuals. ------------------------------------------------------------------ QuickBBS ST Page 10 QuickBBS ST Page 11 ------------------------------------------------------------------ REQUIRED HARDWARE QuickBBS is currently being developed on an Atari 520 ST with 2.5 Mb of ram and a SM-124 mono monitor, and lots of HD space (+/- 500 Mb). It works on TOS 1.04, but should work oke on most TOS versions. It also works with almost all HD drivers, at least all the ones we tested. We do recommend that you install a cache program to speed up HD acces, the mailscan really benefits from this. You need at least 1 megabyte of memory to run QuickBBS. It might also be possible to run QuickBBS on a single or double drive system, but I doubt whether you'll have a nice time doing so. A harddisk should be used, but there is no technical reason why it couldn't be done with less. As for a modem, you will need a fairly Hayes-compatible one which is capable of answering the phone, monitoring the carrier, responding to DTR and switching to the correct baudrate. There are so many modems out there that it is impossible to test and list them all. The connection cable between the computer and the modem is very important. It must have at least the Ground, RX, TX, DTR and CD pins wired through. Complete pinout information can be found in the appendix section. On highspeed modems (9600 and over) you must use the CTS and RTS lines. For this to work on your Atari you must install a CTS fix program in your autofolder, e.g. HS_FIX, TurboCts, Serialfix etc. From TOS 2.06 onwards it should work without. But do enable RTS/CTS in your modem control panel. REQUIRED SOFTWARE You will need a text editor such as Micro Emacs or Tempus. First Word in ASCII mode (WP Mode OFF) will do, but I can't recommend it. For creating screens a VT-52 and Ansi editor could come in handy. The QuickBBS ST is in .ZIP format, you need STZip to unpack it, STzip is made by Vincent Pomey (hay vincent!). But you might have to use some archivers like LHarc, Arc, Unarj, Zoo, etc. to unpack all kinds of third party utilities. REQUIRED SOFTWARE FOR FIDONET If you want to run QuickBBS as a FidoNet node, you will need a mailer in addition to the software mentioned above. At the moment there are two mailers available for the ST: The-Box and Binkley/ST. Both can be downloaded or requested from our Support BBS. You will also need a shell (often called a Command Line Interpreter, or CLI for short). PCommand is a good choice, but it doesn't support command line parameters. PCommand is shareware. Another possibility is Gulam. This is a Unix-like shell, it should be possible to use that. A commercially available shell called Craft might work too. Whatever you choose, the shell must: ------------------------------------------------------------------ QuickBBS ST Page 11 QuickBBS ST Page 12 ------------------------------------------------------------------ ¯ Support batch files ¯ Support environment variables ¯ Support errorlevels ¯ If possible, accept a batch file to execution passed on the command line. Try to get one that doesn't take up too much memory. The examples given here are for PCommand. You wil also need a mailtosser, software to proces the incoming and outgoing mailpackets. There are quite a lot, but we will mention some to give an idea: Bermuda, Jetmail, Marsmail, IOS, RECOMMENDED SETUP The usual and recommended setup for a reasonable QuickBBS ST system is ¯ Atari 1040 STf with either TOS 1.04 or higher ¯ Monochrome or Color monitor, ¯ Harddisk, we recommend to start at least at 30 Mb ¯ 2400 Bps or better a 14.400 Bps modem ¯ Battery-backed clock! Don't forget :-) 20 or 30 Mb of hard disk space is enough to start with, but a major BBS often has 60 or 100 Mb or more. A second ST would also come in handy to be able to do some work without taking the BBS offline, though it certainly isn't essential. You could connect that up via one of the cheap Midi networks, so you can preform some tasks and still keep the system online FIRST TIME SYSOPS This is not a communications tutorial. I assume you know how a BBS works from the users point of view, and have a reasonable idea what a SysOps job is. If you haven't had much experience with using a BBS, spend some time calling other (Quick)BBS's first. Although you won't need to do any programming yourself, I will also assume you know a fair a bit about your computer. Explaining everything from scratch would make this manual a few MegaBytes larger. Again, if you don't know much about how your ST works, wait a few months. ------------------------------------------------------------------ QuickBBS ST Page 12 ================================================================== ==================== Section 2 : Installation ==================== ================================================================== UNPACKING THE ARCHIVES The very first thing you must do is check your system date and time (if you don't have a built-in clock, that is). The date and time must always be correct when you run your BBS. Strange things will happen if they are incorrect. QuickBBS is distributed as a set of three archives: ¯ Q_DOC.ZIP contains the First Word Plus version of the documentation, ¯ Q_ASC.ZIP contains the no-frills ASCII version of the documentation, ¯ QUICKBBS.ZIP contains the BBS system itself. To install QuickBBS you must have STZip 2.0 or higher to be able to unpack QuickBBS and it's docs. STZip is copyright by Vincent Pomey and is available at most Atari BBS's, if need be you can get it at our support BBS. If you have one disk drive: ¯ Place QUICKBBS.ZIP on a diskette, ¯ Create a ramdisk large enough to hold the files in QUICKBBS.ZIP, plus STZIP.PRG, ¯ Place STZIP.PRG on the ramdisk, ¯ Extract QUICKBBS.ZIP to the ramdisk, ¯ Insert a blank, formatted diskette in your disk drive, ¯ Start up 4KBUF.PRG from the ramdisk, ¯ Start up QINSTALL.PRG from the ramdisk, ¯ Choose Select Drive and enter drive A. If you have two disk drives: Either follow the instructions for single disk drive systems, or... ¯ Place QUICKBBS.ZIP on a diskette in drive A, ¯ Place STZIP.PRG on a diskette in drive B, ¯ Extract QUICKBBS.ZIP to drive B, ¯ Insert a blank, formatted diskette in drive A, ¯ Start up 4KBUF.PRG from drive B, ¯ Start up QINSTALL.PRG from drive B, ¯ Choose Select Drive and enter drive A. ------------------------------------------------------------------ QuickBBS ST Page 13 QuickBBS ST Page 14 ------------------------------------------------------------------ If you have a hard disk: ¯ Create a temporary directory, ¯ Place STZIP.PRG and QUICKBBS.ZIP in that directory, ¯ Extract QUICKBBS.ZIP (after extracting this archive you no longer need it), ¯ Start up 4KBUF.PRG, ¯ Start up QINSTALL.PRG, ¯ If you don't want to install the BBS on the current partition, choose Select Drive and enter the partition on which the BBS is to be installed. One of the files you just extracted and executed was 4KBUF.PRG. It must be placed in the AUTO folder of your boot disk, and must always be installed when QuickBBS or QuickStart is run. DIRECTORY STRUCTURE The QInstall program can be used to create a runable demonstration system which should help you get started. It sets up a directory structure on the drive of your choice and unpacks all the archives into the correct directories. The first thing you should do, if you haven't done it already, is to define on which drive or partition you want to install the BBS. Use the Select Drive option for this. This doesn't mean you must always run the BBS on this drive, you can always change it later if you change your mind. Now you must create a directory structure, using the Create Directories option. You should not attempt to run QuickBBS from the root directory, because root directories can't contain more than 112 files. You won't notice this at first, but it might cause problems later. The directory structure QInstall creates looks like this: \QBBS home directory \QBBS\CONF configuration directory \QBBS\TEXT text file directory \QBBS\MENUS menu file directory \QBBS\MSGS message base directory \QBBS\OARC online archiver directory \QBBS\TUNES yelltune directory \QBBS\DOWNLOAD downloads: \QBBS\DOWNLOAD\GENERAL general download area \QBBS\DOWNLOAD\UTILS utility download area \QBBS\DOWNLOAD\COMMS communications download area \QBBS\UPLOAD uploads: \QBBS\UPLOAD\GENERAL general upload area \QBBS\UPLOAD\UTILS utility upload area \QBBS\UPLOAD\COMMS communications upload area I've used some jargon here, but do not fear, all will be explained when the time is right. If you can't wait, have a look in the Jargon Guide in the appendix section. ------------------------------------------------------------------ QuickBBS ST Page 14 QuickBBS ST Page 15 ------------------------------------------------------------------ CREATING THE SYSTEM FILES So we've created the directory structure, but everything is still empty. Now we must fill them up. Remember you unpacked the distribution archive QUICKBBS.ZIP? Well, you should now have the following files: ¯ Q_PRG.ZIP program files, ¯ Q_CFG.ZIP configuration files, ¯ Q_MNU.ZIP menu files, ¯ Q_TXT.ZIP text files, ¯ Q_MUS.ZIP yelltune files. These archives are unpacked by QInstall. Select the Write Files option from the main menu. QInstall will now unpack all these archives using STZip and place the extracted files in the correct directories. When the unpacking is completed return to the main menu. CREATING A USER BASE The next option you need to select is Run UserEdit. This option starts up the user edit program. The user file is called USERS.BBS and is located in the home directory. It contains important information about each user. UserEdit will tell you it can't find any LastRead pointers, and ask you whether they should be created. Just say Yes for now. The very first user in the user base must always be you - the SysOp. To change this user record: ¯ Press Return and type in your name. If your name consists of more than two words you should use a dot to separate the words (e.g. Alexis Carrington.Colby.Dexter). QuickBBS only accepts one space in a users name, ¯ Use Cursor Up and Cursor Down to move the highlighted bar to the password field, press Return and enter a password of your choice, ¯ Move the bar to the Security Level field, press Return and enter 500. ¯ Press Escape to save and exit. ------------------------------------------------------------------ QuickBBS ST Page 15 QuickBBS ST Page 16 ------------------------------------------------------------------ CREATING A CONFIGURATION FILE QuickBBS gets most of its configuration from a file called QCONFIG.BBS, located in the home directory. This file can be created and edited with the configuration program QConfig. Select the Run QConfig option from the main menu. You will see... 1 ... Modem Parameters. 2 ... System Paths, General Info. 3 ... Restrictions. 4 ... New user parameters 5 ... NetMail Information, Screen Settings 6 ... Toggles. 7 ... Terminal, Stand Alone Mode. 8 ... External Protocol interface 9 ... Accounting system This is the QConfig main menu. For the moment there are only a few settings which are of great importance. Choose option 1, Modem Parameters. In this screen you can define what commands QuickBBS should send to your modem, what speed your modem works at etc. The first important setting is Max Baudrate. Here you should fill in the highest speed at which your modem can work. If you have a highspeed modem (9600 and higher) you need to lock the modem at a certain speed. The Locked Baudrate is the baudrate the RS-232 will always stay at. Mostly the value will be 19200 . Then move the highlighted bar (with the cursor keys) to Init String. This is the command which QuickStart will send to the modem when it starts up. It should put the modem in Auto-Answer mode, which can usually be done with the command AT S0=1. It should also make sure the modem tells us at what baudrate the connection is. Most modems accept AT X1 to do this. All modem command strings can contain a number of special characters. See the chapter on configuring QuickBBS for more info. A good init string which works with most modems is... AT Z|~AT X1 S0=1| Some modems need to be told that the carrier and DTR must be used. This can often be accomplished with... AT &D1 &C1| The Reset String is the command which is sent to the modem before QuickStart exits. A good reset string is AT Z|~AT H1 S0=0| ------------------------------------------------------------------ QuickBBS ST Page 16 QuickBBS ST Page 17 ------------------------------------------------------------------ Init Response and Reset Response are the strings which your modem sends back when it has successfully executed the init and reset strings. A simple OK is generally enough. Now press Escape to return to the QConfig main menu and select option 2, System Paths, General Info. Another screen will be displayed, and at the bottom you will see the two lines we need to edit... SysOp Name.......... System Name......... Use the cursor keys to move the highlighted bar to SysOp Name and type in the name you just entered in the user editor. The name entered here must be exactly the same as entered in the user editor, otherwise QuickBBS will not run. Now move the bar to System Name and type the name of your BBS. Then press Escape to return to QConfigs main menu. Select option 5, NetMail Information, Screen Settings. At the top of the screen you will see... Zone Number ........... Net Number ............ Node Number ........... If your BBS is a Stand-Alone BBS, enter zeroes as Zone, Net and Node numbers. If you already have a FidoNet or other (NeST, AtariNet etc.) address, enter it here. If you don't know what a FidoNet address is, just enter zeroes. Press Escape to return to QConfigs main menu and Escape again to save the configuration and return to QInstall. If you have several nodenumbers then only use the main number, in most cases your FidoNet number. INSTALLING 4KBUF You must make sure that 4KBUF.PRG is in your autofolder, reset the system first so this is active. Both the keysystem and QuickBBS ST need this little buffer to be active ------------------------------------------------------------------ QuickBBS ST Page 17 QuickBBS ST Page 18 ------------------------------------------------------------------ REQUESTING A KEY You can test and run QuickBBS locally without the need of a key, if you want to allow users to login you must have a key, either a demo or full key. To get a (demo) key select Run QKey from the QInstall menu. QKey is the program which can be used to request a key from our Support BBS. The key is a small file which must be placed in the home directory. For people who live outside Holland: requesting a key from the Support BBS should only take about a minute, so it doesn't cost much. But you can also request a key via the mail, read the part about paying for the key. QKey will ask you a few questions. We would like to know some things like your voice & BBS phone numbers, postal address etc. so we can contact you if needed. Please fill in this information truthfully. It will - of course - be kept secret. At this point you must also confirm that the information entered in QConfig and UserEdit is correct. The key will contain this information. If the information in the key doesn't match the configuration, QuickBBS will not run. This means that if you change - say - your BBS name you will have to request a new key. QKey has a little terminal built in. Set the correct baudrate (the Support BBS runs at all speeds ), and dial the number. As soon as QKey detects a carrier it will take over. If you use a highspeed modem (9600 and higher) set the baudrate to the locked baudrate, mostly 19200. Otherwise it won't work. If you can't get a good connect try to disable HST, use V32bis, or disable MNP-5. And very sure that 4KBUF.PRG is active! So now you should have your own, personal demo key. It should be called QUICKBBS.KEY and placed in the home directory (QKey will do this for you). RUNNING THE BBS It's about time we had a look inside the BBS by now! Quit to the DeskTop and start up QSTART.PRG. When it's finished loading you will see the QuickStart screen. Your modem will be initialised and QuickStart will wait for the first caller. Press L (Local) to start up the BBS. QuickStart will reset your modem and execute QUICKBBS.PRG, the actual BBS program. You can also start QuickBBS via a commandline interpreter (like Pcommand). To logg in locally you must enter: quickbbs -l ------------------------------------------------------------------ QuickBBS ST Page 18 QuickBBS ST Page 19 ------------------------------------------------------------------ Quick will read the configuration files and check your key. And then you can finally type in your name! Play around with the demo system for a bit to find out what it looks like from the users point of view. When you've had enough, log off and have a look at the file SYSTEM.LOG in the home directory. This file contains all major actions, possible error messages and bits of interesting information. It will grow and grow until you delete it. Any new users that log in will be recorded in the file NEWUSER.LOG. ------------------------------------------------------------------ QuickBBS ST Page 19 ================================================================== =========== Section 3 : Configuration / Operation ================ ================================================================== MORE ABOUT QCONFIG Well, what do you think of the demonstration system? Please keep in mind that it is precisely that. It doesn't make use of many advanced features of QuickBBS. Of course you will want to customise your BBS, develop your own 'look & feel'. To do that we'll have to explain some more about the configuration program QConfig first. ¯ The Modem Parameters screen contains most of the modem control information as used by QuickStart. ¯¯ Max Baudrate is the maximum speed at which your modem works. QuickStart can only operate at speeds of up to 2400 bps. If your modem is faster than 2400 bps you will have to use a mailer as front-end. ¯¯ Locked Baudrate is the baudrate at wich the serial port is locked. You need this with modems that are 9600 Bps or higher. Normally You set this to 19200. And always use a CTS/RTS fix in your autofolder as TOS <2.06 doesn't support CTS/RTS. You could use TurboCTS, HS-Fix, Serialfix etc. for this task. ¯¯ Max Init Tries is the maximum number of times QuickStart may try to initialise/reset your modem. If the modem doesn't respond correctly after the maximum number of retries QuickStart will abort. ¯¯ Connect Delay (Seconds) is the maximum time between detection of a ring and receiving a Connect. Used in manual answer mode. ¯¯ Answer Delay (Seconds) is the delay between detecting a ring and sending the answer string. Used in manual answer mode. ¯¯ Init String is a command which is sent to the modem when QuickStart starts up. If you are not using manual answer mode it should make the modem auto-answer. All command strings can contain these special characters: | Sends a carriage return, ~ Waits half a second before sending the next character of the command, ! Sends a carriage return and waits for a response from the modem, ^ Raises DTR, v Lowers DTR. ------------------------------------------------------------------ QuickBBS ST Page 20 QuickBBS ST Page 21 ------------------------------------------------------------------ ¯¯ Reset String is sent to the modem when the BBS goes off-line (e.g. when QuickStart exits or starts a utility). ¯¯ Answer String is used in manual answer mode. QuickStart will look for the Ring Detection string and check the RING pin on the RS-232 interface. When it notices the phone is ringing it will send the Answer String to the modem and wait for a Connect string. To use the manual answer mode you must also change a setting in the 'Toggles' screen of QConfig. ¯¯ Ring Detection is the string your modem sends when the phone is ringing, used in manual answer mode. ¯¯ Init Response is the string your modem sends when it successfully received the Init String. If this string is not received from the modem QuickStart will try to initialise the modem again. ¯¯ Reset Response is the same as the Init Response, but now for the Reset String. ¯ System Paths, General Info is where you define what directories should be used by QuickBBS to access the system files. ¯¯ Menu Path is the path leading to your Menu files, ¯¯ Textfile Path is the path leading to your Text files, ¯¯ Message Path is the path leading to your Message Base files, ¯¯ OARC Path should point to a scratch directory which the Online Archiver can use. This directory should be reserved for the Online Archiver only. ¯¯ Shell Program is the program which is started when you use the Alt-J key (Jump to DOS) in QuickStart and QuickBBS. This can be any program you like, but a command line interpreter would be an obvious choice. If you want you could put something like NeoDesk in here. ¯¯ External Chat can point to a chat program which is executed by QuickBBS when a user yells for you. If this program doesn't exist, or if this field is left blank, the internal chat is used. ¯¯ FSE Program points to a Full Screen Editor which is executed by QuickBBS when a user writes a message. At the moment there is no such program, so leave this blank. ¯¯ Nodelist Path is for FidoNet nodes. It should point to the directory which contains your nodelist, translated with XLTLST, ParslST or BTNC. ¯¯ SysOp Name is your name. If a user writes a message to SysOp this name will automatically be substituted. It should correspond exactly to the name of the first user in the userbase, and to the name contained in the key. ¯¯ System Name is the name which you have given your BBS. This can't be changed without requesting a new key. ¯¯ Leave message in chat on board is the board number in mconfig that a user can leave a message in after an unsuccesfull yell. ------------------------------------------------------------------ QuickBBS ST Page 21 QuickBBS ST Page 22 ------------------------------------------------------------------ ¯ The Restrictions, screen lets you define certain restrictions. ¯¯ Start 300 Baud Access (HH:MM) and End 300 Baud Access: You can define a certain period of time in which 300 Baud users are allowed on your BBS. If a 300 Baud user calls outside this period he will not be allowed in. If you don't want such a restriction, enter 00:00 as start time and 24:00 as end time. ¯¯ Start Download Hours and End Download Hours: Users are only allowed to download between these times. Enter 00:00 and 24:00 to allow users to download at any time of day. ¯¯ Start Paging Hours and End Paging Hours: Users are only allowed to yell for you between these times. Enter 00:00 and 24:00 to enable yelling at all times. ¯¯ Minimum Baudrate to Logon: if a user tries to log into the BBS at a slower baudrate than this setting he will be refused. ¯¯ Minimum Baudrate for Graphics: users with slower baudrates than this setting will not be allowed to choose a graphics mode other than ASCII. ¯¯ Minimum Baudrate for Xfer: users with slower baudrates than this setting will not be allowed to upload and/or download files. ¯¯ Max OARC Size (Kb) is the maximum size an Online Archive may be. This is the size of the archive, not of the files contained in the archive, in KiloBytes. Enter zero if you want QuickBBS to use all available disk space minus a small safety buffer. ¯¯ TimeOut (seconds) defines how long the user may remain idle (i.e. not type anything) before QuickBBS decides he's fallen asleep and logs him off. This should be at least 30 seconds, because QuickBBS sends a message warning the user 30 seconds before this time limit expires. ¯¯ Default Logon Time (minutes) defines how many minutes per day a user may use the BBS. The file LIMITS.CTL overrides this setting, but it can be used to set the number of minutes available for new users before they have completed the registration sequence. ¯¯ Password Tries: if a user types his password wrong more times than this value he will be disconnected. ¯¯ Maximum Pages defines the maximum number of times a user may yell for you per call. ¯¯ Page Tune Length (seconds) is the length of the yell tune or beep. ¯ The New user settings, screen lets you defime what level and flags a new user gets. ¯¯ New User Security: The security level which is given to new users. Must be between 1 and 32000. See the section on Users for more information. ¯¯ New User Flags: Flags which are given to new users. See the section on Users for more information. ¯¯ New User Credit (cents) is used for FidoNet nodes, and defines how much NetMail credit a new user gets. See the section on FidoNet for more information. ------------------------------------------------------------------ QuickBBS ST Page 22 QuickBBS ST Page 23 ------------------------------------------------------------------ ¯ In NetMail Information, Screen Settings you define your FidoNet address, screen colours etc. ¯¯ With Zone Number, Net Number and Node Number you tell QuickBBS what your FidoNet address is. Refer to the section on FidoNet for more information. Point Number is not yet supported. ¯¯ Fake Net Number, some older mailer software still uses a Fake Net for it's points. QuickBBS can readress mail in the netmail area so it doesn't show this Fake Net and uses a full 4D point address. ¯¯ Allow Reply to Unlisted Nodes Will allow users to reply to messages originating from a node which is not in our NodeList. ¯¯ Use netmail Credits allows you to charge a user for the use of netmail. This will only work with the The Box and Version 6 Binkley ST nodelist. It doesn't work with the new BTNC nodelist format. ¯¯ Status Line Character Colour is the colour of the text in the status bar at the bottom of the screen. For colour monitors I recommend 3, for monochrome systems try 0. ¯¯ Status Line Background Colour is the colour of the status bar itself. If you use a colour monitor try 2, for a monochrome monitor try 1. ¯¯ Colour 0, 1, 2 and 3 are the RGB colours on a colour monitor and allow you to reverse the 'colours' on a monochrome monitor. Try 000, 700, 007 and 777. ¯¯ Screen Saver Delay (seconds) is the length of the delay before QuickStart's screen saver blanks the screen. As soon as any activity is detected QuickStart will restore the screen. ¯ In the Toggles screen you can switch all sorts of things on and off... ¯¯ ^E at Logon: Quite a few communications programs can automatically send a name and a password when a ^E (Control- E, ASCII 5) character is received. When this option is switched on QuickBBS will send a ^E when it asks for the users name. ¯¯ Fast Logon Locally: if this option is switched on Quick won't ask for a user name when you log in locally. Instead it will just take the first user in the userbase, which should of course be you. ¯¯ Ask for Pwd Locally: when this is on you must enter a password when you log in locally, even if Fast Logon is switched on. ¯¯ Use LastRead Pointers: currently unused. Always used ¯¯ Exit for Net/Echo: QuickBBS exist with an errorlevel after mail has been entered ¯¯ Check for Mail: by switching on this toggle you activate the MailScan when a user logs in. QuickBBS will look in the message base to see whether there is any mail waiting for this user. The MailScan can be aborted by pressing Space. ------------------------------------------------------------------ QuickBBS ST Page 23 QuickBBS ST Page 24 ------------------------------------------------------------------ ¯¯ Ask Voice Phone and Ask Data Phone will make Quick ask new users for their voice and data phone numbers. ¯¯ When Ask New Users Graphics is switched on new users will be asked which Graphics Mode they would like to use. If this is switched off they will get plain ASCII text. ¯¯ By switching off Use Xmodem, Xmodem-1K, Ymodem, WXmodem, and Zmodem you can disallow the use of any of the internal protocols, both for Uploading and for Downloading. ¯¯ Allow Batch Uploads can be used to disallow Uploading multiple files at once with Ymodem and Zmodem. ¯¯ With Touch Uploads you can choose whether you want to set the date and time stamp of uploaded files to the current date and time. Files uploaded with non-batch protocols always have the current date and time. ¯¯ Use Download Counters will let QuickBBS update the number of times a file is download. It will put a [xx] at the beginning of the file description in the FILES.BBS. ¯¯ Enforce Language can be used to stop users writing messages in your local language in international EchoMail areas (where messages should be in English). See the section on Messages for more info. ¯¯ When Enforce Lower Case is switched on each message entered is checked for lowercase characters. If the message is entirely in uppercase the user will not be allowed to save it. ¯¯ By switching Allow Quoting on you allow users to use the reply-quoting feature of the message editor. ¯¯ Save Combined Boards is not implemented. ¯¯ When Use Manual Answer is switched on QuickStart will wait for the phone to ring and then send the Answer String. When this option is switched off QuickStart will assume the modem answers the phone by itself, and just waits for a Connect string. ¯¯ Use Yelltunes switches the yell tunes on and off. Depending on a users name or security level you can get Quick to sound a different tune when the user yells for you. When this is switched off you will just hear a beep. See the section on Chatting for more information. ¯¯ Use External Xmodem: QuickBBS has two versions of Xmodem available. One is built-in, the other is a separate driver, XFER.000. When this option is switched off the internal Xmodem is used. Try it out, and if you have problems use the external one. NOTE: XFER.000 is still needed for Ymodem and Windowed Xmodem transfers! ¯¯ Allow VT-52 Monochrome: Switch this off if you don't want your users in VT-52 Mono graphics mode. ¯¯ Allow VT-52 Colour: Same as above, but for VT-52 Colour. ¯¯ Allow VT-52 Standard: Same as above, now for the no-frills Standard VT-52 mode. ¯¯ Allow Ansi: Again, for Ansi graphics mode. ¯¯ Use PC font for Ansi: by switching this on QuickBBS will use a PC-style font when Ansi Graphics are active, so you can use the nice box characters etc. This font doesn't show if you have an old (pre-1.6) version of TurboST installed. ------------------------------------------------------------------ QuickBBS ST Page 24 QuickBBS ST Page 25 ------------------------------------------------------------------ ¯¯ Allow Optimiser: if you want to allow your users to use the Menu Optimiser, switch this on. See the section on Menus for more info. ¯¯ Translate [x] to : In some Scandinavian countries the square brackets are used for their local character set. When this option is switched on the system menus will use angled brackets instead of square ones. ¯¯ Fun mode in chat, if switched on your chats can become very exiting. Just have a try. ¯¯ Logoff after transfers, will ask a user before a download if he wants to be logged off directly after the transfer. ¯¯ Allow message uploads, a user can now upload a prepared message text. So he hasn't type it all in online. ¯ With Terminal, Stand-Alone mode you can control some of the features and defaults in QuickStart. These settings are described in the QuickStart documentation. ¯ In the External Protocols screen you can program QuickBBS on how to use the external protocols. For more info read the section on external protocols. ¯¯ Number on/off switches the protocol on or off. Be carefull that if you use a protocol that already is used in QuickBBS you disable this in the toggle screen. ¯¯ Name, is the name of the protocol, this is used when asking the user which protocol to use. ¯¯ Key, is the key a user has to press to select this protocol. ¯¯ Full Duplex, enable this for protocols that can up- and download at the same time. Currently only Jekyll (great) can do this. With Jekyll you can up- and download and chat at the same time. This option makes sure that QuickBBS always scans for uploaded files after a transfer. ¯¯ Door file, every external protocol must have a .DOR file in where path's and commandline etc. are programmed. See the section about External protocols for this. For example you can use something like JEKYLL, QuickBBS then uses JEKYLL.DOR for Jekyll. ¯¯ Logfile ID, is used to identify a protocol in the upload- or download.log. It must be 2 characters. For example Z-Modem is ZM, Jekyll JK etc. etc. ¯¯ Batch files, enable this for protocols that can transfer more then one file at a time, like Z-Modem/Y-Modem/Jekyll etc. Do not enable this for X-Modem/X-Modem 1k. ¯¯ F-Path, Full path, enable if a protocol always needs a full path. Mostly you can specify a path and filename seperately, so in most cases it's off. ¯ With Terminal, Stand-Alone mode you can control some of the features and defaults in QuickStart. These settings are described in the QuickStart documentation. ------------------------------------------------------------------ QuickBBS ST Page 25 QuickBBS ST Page 26 ------------------------------------------------------------------ ¯ Accounting system, here you can define on how to use the accounting system. See the accounting section for mroe info. ¯¯ Download - per Kb, determines how many points are added or subtracted for every download KiloByte. The number of points can be negative or positive. ¯¯ Download - per file, de termines how many points are added or subtracted for every file download. Same as per Kb ¯¯ Upload - per Kb, same as download except it's for uploads. ¯¯ Upload - per file, same as download except it's for uploads. ¯¯ Connect - per call, number of points given each time a user calls. ¯¯ Connect - per minute, number of points given for each minute a user has been online. ¯¯ Read - per message, number of points given for each message a user has read. ¯¯ Post - per message, number of points given for each message a user has posted (entered). ¯¯ Maximum points, is the maximum number of points a user can get, the abslute maximum is +32767 ¯¯ Minimum points, is the lowest number of points a user can get, the abslute minimum is -32767 ¯¯ New user points, is the number of points a new user gets. FUNCTION KEYS You can create a number of files in your CONF\ configuration directory which assign strings to the function keys. QuickBBS will load different function key files in different parts of the BBS. There are files for chat mode, the message editor etc. Each line in the function key files should start with a number between 1 and 20, followed by a column (:) and the string you wish to assign. A vertical bar (|) will be replaced by a Carriage Return and a Line Feed. The files are... ¯ FUNCKEYS.BBS loaded when a user is on-line, ¯ LOCLKEYS.BBS loaded in local mode, ¯ CHATKEYS.BBS loaded in chat mode, ¯ EDITKEYS.BBS loaded in the message editor, ¯ DOSKEYS. BBS loaded when you jump to DOS, ¯ TERMKEYS.BBS loaded in terminal mode in QuickStart, ¯ WAITKEYS.BBS loaded in unattended mode in QuickStart. The WaitKeys file doesn't assign a string to the function keys. Instead it defines programs to start up when the key is pressed. See the QuickStart documentation. A ChatKeys file might look something like... 1:Just a sec...| 2:You called?| When you press f1 the text "Just a sec..." is sent to the user, followed by a Carriage Return and Line Feed (CRLF). Each string may be up to 30 characters long. It may include tab characters. ------------------------------------------------------------------ QuickBBS ST Page 26 QuickBBS ST Page 27 ------------------------------------------------------------------ SYSOP KEYS While a user is online QuickBBS allows you to modify some of his parameters and do some other nice things by pressing one of the Sysop Keys. ¯ Help shows you a brief list of the available SysOp keys in the status bar. The user doesn't notice anything. ¯ Clr/Home updates the status bar and/or restores it to normal after pressing Help. The user doesn't notice anything. ¯ Cursor Up increases the users time limit by 5 minutes. The user doesn't notice anything except that he has 5 minutes more. ¯ Cursor Down decreases the users time limit by 5 minutes. The user doesn't notice anything except that he has 5 minutes less. ¯ Alt-A changes the users graphics mode to ASCII. ¯ Alt-C enters chat mode. See below. ¯ Alt-D cycles Display Mode: switches the status bar off, then the screen display if you press this key again. Use Shift-Shift-Alt-D to switch status bar and screen display back on. ¯ Alt-F allows you to edit the users flags. The user is told to wait. ¯ Alt-H hangup: disconnects the user directly. ¯ Alt-I gives some extra info about the user like: Phonenumbers, lat time he/she called, up/download files, account etc. told to wait. ¯ Alt-J jump to DOS: starts the program defined in QConfig. The user is told to wait. ¯ Alt-L lockout: disconnects the user, asks for confirmation and zeroes the users security level, locking him out of the BBS. ¯ Alt-O allows you to edit the users account. The user is told to wait. ¯ Alt-P switches printer logging on and off. If the printer doesn't respond printer logging is switched off. ¯ Alt-S allows you to edit the users security level. The user is told to wait. ¯ Undo clears the daily download counter and asks you for a new download limit for this call only. ------------------------------------------------------------------ QuickBBS ST Page 27 QuickBBS ST Page 28 ------------------------------------------------------------------ CHATTING & YELL TUNES A few extra keys can be used in chat mode: ¯ Control-C clear the screen ¯ Control-F switch Funmodem on or off ¯ Control-G sound a bell, beep or tune ¯ Control-L switch the chat log on and off ¯ Control-U switch the users CapsLock on and off ¯ Control-V view a file ¯ Escape exit chat mode The chat log is called CHATLOG.TXT and can be found in the home directory. It contains everything you type and everything the user types. Control-U comes in handy when users don't know what the CapsLock key is for. If a user types everything in uppercase, press Control-U. Quick will transform whatever the user types to lowercase. The user will see this too, and hopefully switch his CapsLock off. As soon as he types a lowercase character, or you press Control-U again, the transformation is disabled. Control-V will prompt you for a file to display (and send to the user). This can be a text or graphics file, all control codes will be translated. See the section on Text Files and Menus. This key is identical to executing a menu option type 5. Control-G sends a bell signal to the user. If the user is in Ansi graphics mode he'll even hear a tune! When the user presses it he's sure to get your attention. Control-F will switch the Funmode on or off. If you use the Funmode some very strange things can happen. QuickBBS will start to behave very strange. Try it, it will surprise you... If a user tried to page you and you didn't answer he is asked to leave a message. You must enter the areanumber where this message must end up in Qconfig. Quick can sound a different tune depending on a users name or security level. To use this feature you must create an ASCII file called YELLTUNE.BBS in your CONF\ directory. Each line can either start with the users name (with spaces replaced by underscores) or a security level. This should be followed by a file path + name which contains the XBios 32 (DoSound) instructions. Such a file can be created by programs like Composer (downloadable from the Support BBS) or Musix32. An example: Robert_Redford \QBBS\TUNES\MICHELLE.MUS 200 \QBBS\TUNES\PRELUD.MUS 10 \QBBS\TUNES\STUPID.MUS If a user with level 200 yells the file PRELUD.MUS is played. If Robert Redford yells you'll hear the tune in MICHELLE.MUS. ------------------------------------------------------------------ QuickBBS ST Page 28 QuickBBS ST Page 29 ------------------------------------------------------------------ THE STATUS BAR A status bar is displayed at the bottom of the screen. It contains some information about the current user. The top line shows the users name and city, in the bottom line you'll see his security level, when he logged in, how much time he has left, how many times he's called and what his graphics mode is (A for Ascii, M for VT-52 Monochrome, C for VT-52 Colour, S for VT-52 Standard and I for (IBM) Ansi). In Local mode the amount of free RAM is displayed in the middle of the bar. If a user yells for you it will be shown there instead. If you press Alt-I you will get some more info about the current user. Mayby you want to check his phonenumber ! The status bar and the local display can be switched on and off with the Alt-D key. This is for use with multi-tasking packages like the MTC-shell and MX2. Press Alt-D once to switch off the status bar. Press Alt-D again to switch off the display. To switch them both back on again you must press Shift-Shift-Alt-D. You can also switch it off if you put -n on the commandline, the mouse will be switched on too then. ------------------------------------------------------------------ QuickBBS ST Page 29 ================================================================== ======================== Section 4 : Users ======================= ================================================================== USER INFORMATION QuickBBS knows quite a lot about the user. The two most important items of information are the his Security Level and his Flags. The Security Level, sometimes called User Level or Privilege, is a value between 0 and 32000. Depending on this level he may or may not have access to certain options in the BBS. A user with security level zero will not even be allowed into the BBS. Nice way of locking out your mother-in-law! The user has four sets of Flags. Each set contains 8 flags which can be either on or off. The sets are 'numbered' A to D, the flags are numbered 1 to 8, so one flag can be identified as, for instance, A1 or C6. A flag which is on is marked with an X, a flag which is off is marked with a minus (-). Both the security level and the flags can be changed in the user editor. Each option in a menu in the BBS has a security level and a set of flags too. These items are compared to the users settings. Depending on the result, the user may or may not have access to that option. An example: A menu option has the following settings: Security Level : 50 A-Flags : --X---X- B-Flags : -------X C-Flags : -------- D-Flags : -------- A user logs in with the following settings: Security Level : 100 A-Flags : XXX---XX B-Flags : -------- C-Flags : --X----- D-Flags : -------- QuickBBS will first look at the required Security Level (50) and compare it to the users Security Level (100). The users level is higher. If it was lower the user wouldn't have access to , or even see (!) the menu option. Based on the Security Levels the user has access, but Quick will now compare the required Flags and the users Flags: Required A-Flags : --X---X- Users A-Flags : XXX---XX Binary AND Result : --X---X- ------------------------------------------------------------------ QuickBBS ST Page 30 QuickBBS ST Page 31 ------------------------------------------------------------------ If a required flag is on, then the users flag must also be on if he is allowed to use the menu option. This operation can be compared to a binary AND. Notice that the result is equal to the required flags. Based on the A-flags the user also has access, so we continue with the B flags... Required B-Flags : -------X Users B-Flags : -------- Binary AND Result : -------- The menu option requires flag B8 to be on, but the user doesn't have flag B8! This means he does not have access to the menu option, and it will be invisible to him. This might be a bit difficult to grasp at first, and might require a little experimenting. Notice the result isn't equal to the required flags. The menus aren't the only part of the BBS which have flags. Each message board has security level and flag protection for read access, write access and SysOp access. More on that later. What else does QuickBBS know about the user? Well, let's see... ¯ Calls The number of times the user has called your BBS, ¯ City Where the user says he lives, ¯ Home Phone His voice phone number, ¯ Data Phone and data phone number, ¯ Last Date The last date the user logged in, MM/DD/YY format, ¯ Last Time The last time the user logged in, HH:MM format, ¯ Used Today How long he has been online today, ¯ Credit His NetMail credit, ¯ Downloaded How many files & Kb he has downloaded, ¯ Uploaded How many files & Kb he has uploaded, ¯ DL Today How many Kb he has downloaded today, ¯ Posted How many messages he has written, ¯ Deleted Is this user to be deleted next time UserPack is run? ¯ Clear Screen Does this user want his screen cleared between menus? ¯ More Prompt Does he want the 'More [Y/n] ?' prompt to be displayed at the bottom of every screen? ¯ Screen Length If so, how many lines can his screen display? ¯ Ignore DL Hrs May this user download outside the download period as specified in QConfig? ¯ Graphics Mode What is the users graphics mode? ¯ Account What is his number of account points? Quick also keeps track of which messages the user has read in the message base, if the file LASTREAD.BBS exists. This file can be created with UserEdit. ------------------------------------------------------------------ QuickBBS ST Page 31 QuickBBS ST Page 32 ------------------------------------------------------------------ PACKING THE USERBASE When you delete a user in UserEdit he is not actually removed from the userbase. He's just marked as deleted. You must run the PACK option in the usereditor to really delete the user and update the lastreadpointers. Here you can also delete users that haven't logged in for a while. It asks after how many days a user must be deleted. THE LIMITS FILE QConfig allows you to define a default time limit for each user. But you might like some users more than others, and want to give them more time in the BBS. I'd give Kelly LeBrock (remember The Woman in Red?) all day if she wanted it 8-). It would make much more sense to have a time limit which depends on the users Security Level. Well, that's possible of course. With the optional LIMITS.CTL file. The Limits file is a plain ASCII one which should be placed in the home directory. It contains one or more lines, each terminated with a CRLF (Carriage Return and Line Feed, ASCII 13 and ASCII 10). Each line contains three numbers. The first number is the security level. The second is the maximum time in the BBS, in minutes, per day. The third value is the maximum amount users with that Security Level may download, in Kb, per day. The file must be sorted on Security Level. Quick will search through the file looking for the users Security Level. If it doesn't find the exact level it will use the closest lower level. An example: Kelly LeBrock has level 200. Our LIMITS.CTL file looks like this: 1 10 20 10 20 50 50 30 100 100 45 200 500 60 250 Level 200 isn't in the Limits file, so Quick will use the values defined for Security Level 100 instead: 45 minutes per day in the BBS and 200 Kb of download per day. ------------------------------------------------------------------ QuickBBS ST Page 32 QuickBBS ST Page 33 ------------------------------------------------------------------ THE TRASHCAN FILE The TrashCan file is also located in the home directory. Another optional ASCII file. Each line in TRASHCAN.CTL can contain a whole name or part of a name which is not allowed to be used on the BBS. You might want to put some dirty words in there too (an old favourite of VIC-20 users). An example: a new user called Douglas Duck logs in. Your TrashCan file contains... HITLER REAGAN DONALD DUCK MICKEY MOUSE Douglas Duck would be allowed onto the BBS, because no line contains only the words 'Douglas Duck', 'Douglas' or 'Duck'. However, if a new user called Robin Reagan logged in he would not be allowed on, because one of the lines is the word 'Reagan'. THE ACCOUNTING SYSTEM This is a very powerfull part of QuickBBS. You can reward or punish a user depending on his actions. Have a look at the accounting section in Qconfig. You can determine there what the 'reward' will be for several actions. The account can run from -32767 to +32767. But you can set a lower max. or higher min. too. QuickBBS only registers the account, it doesn't do anything with it itself. That is up to you. To give you an idea you could use a .DOR file in the download section of the BBS that is run after a file is downloaded. You can use the account as *O in the .DOR file, with the IF ... THEN .. statements you could change the users level and/or downloadlimit depending on his account. So let them gray cells work, this is really very nice if you make good use of it. ------------------------------------------------------------------ QuickBBS ST Page 33 ================================================================== ================== Section 5 : Text & Graphics =================== ================================================================== TEXT FILES & GRAPHICS MODES Your Text File Directory contains a whole lot of text files. You can edit any of these files to customise your BBS, add new ones etc. QuickBBS supports five Graphics Modes. By selecting a graphics mode the user can get QuickBBS to make better use of his terminal, by using Escape Sequences to control things like colours, cursor position etc. The text files come in five flavours, one for each Graphics Mode. QuickBBS selects the file to display by looking at the file extension. The text files which contain escape codes are sometimes called Graphics Files. The simplest Graphics Mode is plain ASCII. No escape codes are sent in this mode. The text files for this mode end in .ASC. Then we have three VT-52 modes. VT-52 Monochrome and VT-52 Colour are for use on Atari ST's only. They use some escape codes which are Atari-private and might do strange things on other machines. The Monochrome flavour has extension .VTM and should not contain any colour escapes. The Colour flavour is called .VTC. If a user is running software on a different computer with VT-52 emulation he can select VT-52 Standard. In this mode the BBS will not send any of the Atari-private escapes. The file extension here is .VTS. The most fancy mode is Ansi. This isn't real Ansi, but the IBM version, as implemented in many comms packages on the PC. It is often called Ansi-BBS. When operating in this mode QuickBBS can use a PC-style font so that you can see the IBM character set with box graphics etc. The extension is .ANS. Though the most used escapes can be interpreted by QuickBBS, the implementation of Ansi is not complete. If QuickBBS sees an escape it doesn't know it will ignore that escape. The escape will be sent to the user. Please refer to the appendix section for VT-52 and Ansi escape sequences. And remember: you can do a hell of a lot with these escapes, but your users don't call your BBS to look at the pretty pictures. I've seen a number of boards using Ansi to implement DropDown menus. Looks great, but is very very slow. The different text/graphics files can contain non-standard escapes, if you want. In Ansi mode Quick will only use Ansi escapes in the system menus, but you are free to put anything you like in the graphics files (not that it would make much sense). ------------------------------------------------------------------ QuickBBS ST Page 34 QuickBBS ST Page 35 ------------------------------------------------------------------ SYSTEM TEXT FILES There are a number of system text files which you can edit and/or create. Some of the files can only have an .ASC version because they are displayed before the users Graphics Mode is known. ¯ BANNER displayed by QuickStart while the BBS is being loaded. ASCII only, and may not contain any control codes. ¯ BROWSER displayed when the user selects [H]elp from the File Browser. ¯ DNLDHRS displayed if the user attempts to download outside download hours. ¯ EDITHELP displayed when the user selects [H]elp from the Message Editor. ¯ FILEMENU displayed when the user selects [H]elp from the File Menu. ¯ GOODBYE displayed just before QuickBBS disconnects. ¯ GRAPHELP displayed when the user selects [H]elp from the Graphics Mode menu. To be on the safe side use .ASC only. ¯ HOTNEWS displayed after login, and only if the file date is newer then the last time the user called. ¯ LANGUAGE displayed when the user tries to save a message which doesn't pass the language test. ¯ LOGO the very first file QuickBBS displays (after the banner file, displayed by QuickStart). Because the graphics mode is not yet determined, the file has ASCII only flavour. ¯ MAXPAGE displayed if the user attempts to page you more times than allowed, as specified in QConfig. ¯ NEWS displayed just before the system checks for new mail. ¯ NEWUSER1 displayed to a new user after he has verified his name, but before any questions are asked. ASCII only. ¯ NEWUSER2 displayed after the new user has selected a password. ¯ NEWUSER3 displayed when the new user has filled in all the questions. ¯ NO300 displayed when a call comes in at 300 Bps outside the 300 Bps hours. ¯ NODELIST displayed when a user selects [H]elp from the NodeList menu. ¯ NOTAVAIL displayed when a user pages you outside the paging hours defined in QConfig. ¯ NOTFOUND displayed if the system can't find the user in the User Base, but before he is asked whether his name is correct. You should explain the FidoNet naming convention (Alexis Carrington.Colby.Dexter) etc. ¯ OARCHELP displayed when the user selects [H]elp from the Online Archiver main menu. ¯ OARCTYPE displayed when the user selects [H]elp from the Online Archiver type selection menu (when he chooses between .ARC and .LZH archives). ------------------------------------------------------------------ QuickBBS ST Page 35 QuickBBS ST Page 36 ------------------------------------------------------------------ ¯ OPTIMISE displayed when the user selects [H]elp from the Menu Optimiser menu. ¯ PAGEABRT displayed if the SysOp aborts a page. ¯ PAGED displayed when you don't respond to a page. It should inform the user that the SysOp has been paged. ¯ PASSWORD displayed before a new user is asked for a password, and when the user changes his password. ¯ POSTCHAT displayed after a chat ¯ PRECHAT displayed before a chat ¯ PRE-UPLD displayed before uploading ¯ READHELP displayed when the user selects [H]elp from the Read Messages menu. ¯ SCANHELP displayed when the user selects [H]elp from the Scan Messages menu. ¯ SECxxx displayed after login if user with level xxx calls. ¯ TOOSLOW displayed if a user calls with a baudrate lower than the "Minimum Baudrate to Logon" as defined in QConfig. ¯ TRASHCAN displayed if the name typed in by the new user conflicts with the TRASHCAN.CTL file. ASCII only. ¯ UP-DESC displayed after upload but before asking the user for the description of the uploaded file(s) ¯ UPPER displayed when a user tries to save a message which doesn't pass the UpperCase check. ¯ USERxxx displayed after login to the user with record number xxx. Example: USER006.ASC is shown to user number 6. ¯ WELCOME displayed after the user has entered his name and password. This is where you might like to get elaborate. It's ASCII only. ¯ XFERHELP displayed when a user selects [H]elp from the File Transfer Protocol menu. It should explain what each protocol does, and which is best. Your menus can contain commands to display text files. Unless otherwise stated these files should be located in the Textfile Directory. Do not include an extension in the name of the file to display, Quick will add it depending on the current Graphics Mode. If there is no graphics file for the current Graphics Mode, QuickBBS will downgrade, e.g. if there is no WELCOME.ANS the file WELCOME.ASC is used. When looking for a file Quick will follow this chart... Graphics Mode Search order ASCII *.ASC ANSI *.ANS *.ASC VT-52 Standard *.VTS *.ASC VT-52 Mono *.VTM *.VTS *.ASC VT-52 Colour *.VTC *.VTM *.VTS *.ASC ------------------------------------------------------------------ QuickBBS ST Page 36 QuickBBS ST Page 37 ------------------------------------------------------------------ TEXT FILE CONTROL CODES Each text file other than BANNER.ASC can contain control codes. These codes are replaced when QuickBBS displays the file, or cause QuickBBS to take a certain action. Most editors can insert such codes into a text file. First Word Plus can't, in fact it will often refuse to load a file with such control codes. Try Tempus, Micro Emacs or the capture buffer in Flash. In this (and most other) documentation a control code is shown as a ^ sign followed by a character. For example, ^A (Control-A) has ASCII code 1, ^B is code 2 etc. In Tempus you can use the character table to enter the codes, or keep the Alternate key pressed while you type the ASCII value on the numeric keypad, e.g. to type control-C you would hold down Alternate, press 3 and release Alternate. In most Micro Emacs versions you can press control-Q followed by the character you want, e.g. control-Q followed by control-C. The control codes known to QuickBBS can be split up into three groups: System Control, User Information and System Information. The User Info and System Info are two-character codes. They start with either a ^F or ^K, followed by another character. This second character is not a control code! The codes are... System Control Code ASCII Function ^A 001 Pause and wait for the user to press Return. ^B 002 Turn [S]top aborting off. The user can normally abort any textfile with the S key, and pause with the P key. ^C 003 Turn [S]top aborting on. ^D 004 Turn the More [Y/n] prompts off. ^E 005 Turn the More [Y/n] prompts on. ^F 006 User Information code. ^G 007 Sound bell/beep. ^H 008 BackSpace. ^I 009 Tab. ^J 010 LineFeed. ^K 011 System Information code. ^L 012 FormFeed (clear screen). ^M 013 Carriage Return ------------------------------------------------------------------ QuickBBS ST Page 37 QuickBBS ST Page 38 ------------------------------------------------------------------ User Information Code ASCII Function ^FA 006 065 Users full name. ^FB 006 066 City. ^FC 006 067 Password (use with care!). ^FD 006 068 Data phone. ^FE 006 069 Voice phone. ^FF 006 070 Last date user called. ^FG 006 071 Last time user called. ^FH 006 072 Users A-Flags. ^FI 006 073 Users B-Flags. ^FJ 006 074 Users C-Flags. ^FK 006 075 Users D-Flags. ^FL 006 076 NetMail Credit in cents. ^FM 006 077 Number of messages the user has posted. ^FO 006 079 Users Security Level. ^FP 006 080 Number of times the user has called. ^FQ 006 081 Number of files the user has uploaded. ^FR 006 082 Number of KiloBytes the user has uploaded. ^FS 006 083 Number of files the user has downloaded. ^FT 006 084 Number of KiloBytes the user has downloaded. ^FU 006 085 Number of minutes user has been online today. ^FV 006 086 Length of the users screen. ^FW 006 087 Users first name. ^FX 006 088 Users Graphics Mode. ^FY 006 089 More prompt : ON or OFF. ^FZ 006 090 Screen Clear : ON or OFF. ^F0 006 048 Optimiser : ON or OFF. ^F1 006 049 KiloBytes the user has downloaded today. ^F2n 006 050 Flag An : ON or OFF. ^F3n 006 051 Flag Bn : ON or OFF. ^F4n 006 052 Flag Cn : ON or OFF. ^F5n 006 053 Flag Dn : ON or OFF. ^F6 006 054 Current Account ^F7 006 055 Full Screen Editor : ON or OFF. ------------------------------------------------------------------ QuickBBS ST Page 38 QuickBBS ST Page 39 ------------------------------------------------------------------ System Information Code ASCII Function ^KA 011 065 Number of calls to the BBS. ^KB 011 066 Name of the last caller. ^KF 011 070 Number of times you've been paged. ^KG 011 071 Day of the week (i.e. Monday, Tuesday etc.). ^KH 011 072 Number of users in the User Base. ^KI 011 073 Current time in 24 hour format (HH:MM) ^KJ 011 074 Current date, format DD MMM YY (04 Nov 89). ^KK 011 075 Time connected - minutes. ^KL 011 076 Time connected - seconds. ^KM 011 077 Time used - minutes. ^KN 011 078 Time used - seconds. ^KO 011 079 Time remaining - minutes. ^KP 011 080 Time remaining - seconds. ^KQ 011 081 Time limit in minutes. ^KR 011 082 Baud rate. ^KS 011 083 Abbreviated day of week (i.e. Mon, Tue etc.). ^KT 011 084 Download limit in Kb. ^KWx 011 087 Amount of free space on drive 'x'. ^KX 011 088 Amount of free RAM. You'd like an example? Okay. The file PAGED.ASC contains the following text and control codes... Hello ^FW, the SysOp doesn't seem to be around at the moment. You have ^KO minutes and ^KP seconds left for today, so why don't you write him a message? Press [Return] to continue...^A When this file is displayed it might look something like this... Hello Dave, the SysOp doesn't seem to be around at the moment. You have 24 minutes and 18 seconds left for today, so why don't you write him a message? Press [Return] to continue... at which point Quick would wait for Dave to press the Return. ------------------------------------------------------------------ QuickBBS ST Page 39 ================================================================== ======================= Section 6 : Menus ======================== ================================================================== THE MENU SYSTEM Each menu on a board running QuickBBS is 100% SysOp-configurable. Not only the menu text and menu keys, but also the menu structure. Each menu has a menu file which can be created with the menu editor (MENUEDIT.PRG). This program was written by Theo Runia. The menu files are located in the Menu File Directory and have extension .MNU. When a user calls, the first menu he will get is TOP.MNU. This menu must always be present. From this point onward you are completely free to choose your own menu names. A menu contains one or more menu options. Each option consists of... ¯ Text Line what the user sees on the screen. ¯ Data Line depends on the Option Type. ¯ Option Type what the option does. ¯ Option Key key which activates the option. ¯ Required Security Security Level needed. ¯ Required Flags Flags needed. ¯ ForeGround Colour foreground colour in VTC/ANS mode. ¯ BackGround Colour background colour in VTC/ANS mode. The Text Line will only be displayed if the user has access to the option. This depends on the Required Security and Required Flags, and the users Security Level and Flags. There are three special characters which can be used in a text line. They are: ^ Toggles highlight on/off in VT-52 Mono/Colour and Ansi modes, ~ Is replaced by the number of minutes left, ; If the text line ends with a semi-column no CRLF is added, so you can put two or more options next to each other. The Option Key is the key the user must press to activate the option. Of course this is a HotKey. The Foreground and Background Colour items are not implemented in the current version of QuickBBS. The Option Type is the most important of the whole lot. It defines what the option actually does. There are option types to read mail, to view files, to yell for the SysOp etc. etc. The Data Line can contain parameters depending on which Option Type you have chosen. Some people call it the Command Line for some reason or other. ------------------------------------------------------------------ QuickBBS ST Page 40 QuickBBS ST Page 41 ------------------------------------------------------------------ MENU TEXT What the user sees when your menu is displayed is the Text Line of each menu option he has access to. The Text Line should indicate what key the user must press to activate the option. You can use the ^ character to highlight parts of your Text Line. If you define the line as ^[F]^ File Menu then the [F] will either be reversed (in VT-52 Mono mode) or have a different colour (in Ansi and VT-52 Colour mode). In ASCII and VT-52 Standard modes QuickBBS can't change any colours or attributes. The square brackets make sure that the key is clear in those modes too. MENU STRUCTURE Anybody who has ever programmed in BASIC will know the commands GoTo, GoSub and Return to branch to a certain section of the code. You use a similar method to describe the structure of your menus. Option Type 1 is the GoTo option. It makes QuickBBS forget the current menu and load a new one. Option type 2 is the GoSub option. It also loads a new menu, but remembers from which menu it was loaded from. With option type 3 you can Return to that menu. This may sound rather complicated but in fact it is very easy. Think of the menu structure as a hierarchy. The highest level is the TOP menu, each branch is a sub-menu, called with option type 2. To go back to the TOP menu you use option type 3. A sub-menu can also have branches, up to 20 levels deep. Time for an example. We want to create a menu structure which looks something like this... +-------+ | TOP | +-------+ / \ / \ / \ +----------+ +----------+ | FILE | | MAIL | +----------+ +----------+ | | | | +----+ +----+ +----+ +----+ | F1 | | F2 | | M1 | | M2 | +----+ +----+ +----+ +----+ ...where TOP is the main menu, FILE is a menu where you select a file area menu (F1 or F2) and MAIL lets you select a mail area menu (M1 or M2). ------------------------------------------------------------------ QuickBBS ST Page 41 QuickBBS ST Page 42 ------------------------------------------------------------------ We'd have seven menu files: TOP.MNU, FILE.MNU, MAIL.MNU, F1.MNU, F2.MNU, M1.MNU and M2.MNU. It's a quite easy to do it with less, but I'll save that for later. TOP would contain two GoSub menu options. One to load FILE and one to load MAIL. I assume you want to be able to get back to the top menu from within one of the sub-menus, so FILE and MAIL will both contain a Return option. They would also allow a selection between either F1 and F2 or M1 and M2, with GoSub options. The lowest level menus could contain an option to either go back to the selection menu (with Return), or straight back to TOP. To accomodate for this sort of construction Quick knows a fourth menu structure option, called Clear Stack and GoTo New Menu (got it?). What it does is this: first it forgets how it got to the current menu (it clears the menu stack). Then it just loads the new menu like the GoTo option does. You'd use this option to go straight to TOP. All these options - exept for Return - expect the name of the menu to be on the data line. If a menu isn't found Quick will warn the user (and the SysOp, in the logfile) and return to the TOP menu. THE MENU EDITOR is called MENUEDIT.PRG. When executed it will display a list of existing menus. With the function keys you can copy, delete and rename existing menus. To create a new menu or edit an existing one just type in the name. You will then see the main menu of MenuEdit. From here you can Add new options to the 'end' of the menu, Insert a new option between two existing options, Change (edit) or Delete options. With Simulate you can see what your menu looks like when it is displayed to the user. You'll have to enter a Security Level to determine which menu options are used, but all flags are assumed on. The List command shows a list of all the options in your menu. When you Add, Insert or Change an option the edit screen is displayed. All the fields of the menu can be changed here. The menu Prompt is really just another menu option right down at the bottom of the screen (the very last option). The difference is that it is only a Text Line and doesn't actually do anything. The HighLight colours aren't implemented in the current version. ------------------------------------------------------------------ QuickBBS ST Page 42 QuickBBS ST Page 43 ------------------------------------------------------------------ MENU OPTION TYPES There are about 40 different option types in the current version of QuickBBS. They are... Type Description 0 Text Line, not considered a command. Use this to add extra lines of text to your menu, such as titles and empty lines. 1 GoTo New Menu. The menu name and any menu parameters should be placed on the Data Line. 2 GoSub New Menu. The Data Line should contain the menu name and any menu parameters. 3 Return from Previous Gosub returns to the menu which loaded the current menu. 4 Clear Stack & GoTo New Menu. Data Line: menu name and menu parameters. 5 Display Text File. The Data Line contains the name of the file, without extension and without path. The file should be located in the Text File Directory. 7 Execute Program. Starts up an external program, see the section on Doors. 8 Version Information. Displays the version of QuickBBS, the copyright information etc. No Data Line. 9 Log off. Terminates the connection. No Data Line. 10 Display System Usage Graph. This displays a graph of the usage of your BBS per hour. No Data Line. 11 Yell for SysOp will either execute the external chat program or page you using the internal chat routines. 13 List/Search User Base. This allows the user to enter part of a name to search the User Base with, or just press Return to view the whole User Base. The name, city and date-of-last-call of each user are displayed. No Data Line. 14 Display Time/Download Statistics shows the user some information about how long he has been in the BBS, how much time he has left, how much he can download etc. 15 Exit with ErrorLevel terminates QuickBBS with an errorlevel specified in the Data Line. The connection is not terminated. See the section on Doors. ------------------------------------------------------------------ QuickBBS ST Page 43 QuickBBS ST Page 44 ------------------------------------------------------------------ 16 Change City allows the user to modify the 'City' field he filled in as a new user. No Data Line. 17 Change Password will display the text file PASSWORD in the Text File Directory and will then ask the user for a new password. No Data Line. 18 Change Screen Length allows the user to change his screen length (used for the More [Y/n] prompt). No Data Line. 19 Toggle Clear Screen will switch the screen-clear codes sent between menus on and off. No Data Line. 20 Toggle More [Y/n] Prompt switches the prompt on and off which is displayed at the end of each page when reading text files, messages etc. No Data Line. 21 Change Graphics Mode allows the user to select a different Graphics Mode. No Data Line. 22 Check for Personal Mail will scan the message base for mail to this user which he has not yet read. You can specify the area number to scan on the Data Line. If the Data Line is empty all areas to which the user has access are scanned. You can also specify ALL, in this cases message To: ALL are scanned. 23 Read Messages allows the user to read messages in the area number supplied on the Data Line, as long has he has read- access to that area. See the section on Messages. 24 Scan Messages displays the headers of the messages in the area number supplied on the Data Line if the user has read- access. The user is asked if he wants to Mark a message, this can be read with Read Messages (Marked) later. Refer to the section on Messages. 25 QuickScan Messages displays a list of the messages in the area number supplied on the Data Line if the user has read- access. Refer to the section on Messages. 27 Write a New Message is used to write messages in the area supplied on the Data Line. The Data Line can also contain the /T and /L modifiers. /T=First_Last forces the message to a certain name, the /L modifier logs the user off after the message has been completed. 30 Raw Directory displays a list of files in the directory specified in the Data Line. The file names, sizes, times and dates are displayed. The files don't need to be in FILES.BBS (see the section about File Areas). ------------------------------------------------------------------ QuickBBS ST Page 44 QuickBBS ST Page 45 ------------------------------------------------------------------ 31 Display File List shows the user the formatted FILES.BBS file, with file names, sizes, dates and descriptions. Refer to the section about File Areas. The Data Line should contain the directory of the file area. 32 Download a File allows the user to download one or more files from the directory specified in the Data Line. See the section on File Areas. The Data Line can also contain the name of the file to download. 33 Upload a File lets the user upload one or more files to the directory specified in the Data Line. See the section on File Areas for more information. 34 Show Contents of Archive prompts the user for the name of an .ARC, .LZH, .ZIP, .ZOO or .ZIP archive or .GIF picture file in the directory specified in the Data Line, then displays the contents of that archive or picture. With a .GIF file (picture) it can also test the integrity of the .GIF fil. 35 Search for a File by Keyword searches all areas specified in FLSEARCH.CTL for a word supplied by the user. See the section on File Areas. 37 List New Files displays a list of new files since the user last called. The Data Line can contain the directory to search. If the Data Line is empty all areas specified in FLSEARCH.CTL are used. The user is prompted for a date to start the scan from, defaults to the last time the user called. 38 View Text File asks the user for the name of a text file in the directory specified in the Data Line, then displays the file. 39 Display Text File lets the user read a text file which you specify in the Data Line. With this option you must specify the full path, name and extension of the file to display. 40 Replace Menu Text is used with Automatic Menu Execution and allows you to replace the menu Text Line with the contents of a graphics file. Automatic Execution is explained below. The Data Line is the same as in type 5. 41 Toggle Full Screen Editor switches the Full Screen Editor on and off. No Data Line. The user can't switch on the FSE in ASCII mode. 45 Display Text File with Return is the same as option type 5, but displays the 'Press Return' prompt when done and waits for the user to press Return. ------------------------------------------------------------------ QuickBBS ST Page 45 QuickBBS ST Page 46 ------------------------------------------------------------------ 57 Change Voice Phone of the current user, if nothing is entered then it won't be changed. The phonenumber is only changed in USERS.BBS and not in NEWUSER.LOG. 58 Change Data Phone is the same as 57, except that it changes the Data phone number. 80 Online Archiver is used to extract parts of archives to download. See the section on Online Archives for more information. The Data Line specifies the directory which contains the archive to extract from. 81 Pump File will send a file to the user without interpreting any control codes. This can be used for things like VidTex graphics. The Data Line should contain the full path, name and extension of the file to display, preceded by a + or a - modifier. If the modifier is a - the file is not displayed locally. 82 Select Menu Optimiser will display the Menu Optimiser selection menu, which is explained below. No Data Line. 83 File Browser starts the File Browser, explained later. The Data Line contains the full path, name and extension of the file to view. 84 File Mark Menu is a sort of browser for your download. The optional data line takes a path to the download area. A User can step trough a files.bbs listing here, jump pages ahead etc. He can also mark file for download. In the current version of QuickBBS it only remembers the marked files for the current area. Mor info can be found in the Section about File Areas. 85 Mail Area Lister generates a list of mailareas for the user to choose from. This is not for the Novice sysop though. The optional Data line takes as first parameter the Group number of the areas to list, this number is enter in Mconfig. The second option is optional, if used you must put there the name of the menu that it has to Jump to after the user has made a selection. If you omit this the user will be returned to the current menu. The Mail Area Lister will put on the optional data line of the menu: Areanumber Areaname You can use &1 in the menu for the areanumber and &2 for the name of the area. For more info read the Section about Mail Areas. ------------------------------------------------------------------ QuickBBS ST Page 46 QuickBBS ST Page 47 ------------------------------------------------------------------ 86 File Area Lister does the same job as option 85 but in this case it's for the file areas. It works the same only in the the first option on the optional data line is a string that must be available in the description of an area in FLSEARCH.CTL. This string is then deleted.So for example put (ATARI) after the atari areas, use as string (ATARI). Then all areas with this string are displayed minus this string. This option also returns 2 items on the optional data line of the menu it will return to: Path Description (from FLSEARCH.CTL) So you can use &1 as path info and &2 as areaname in your menu. For more info read the Section about File Areas. Quite a lot of different commands aren't there? A shorter list of these commands can be found in the appendix section. The menu files (.MNU) are compatible to the ones used by the PC version of QuickBBS. That version supports all types up to and including type 57, though there are some minor differences in the Data Lines. The option types supported by QuickBBS ST only are numbered 80 upwards, to avoid problems. ------------------------------------------------------------------ QuickBBS ST Page 47 QuickBBS ST Page 48 ------------------------------------------------------------------ MENU PARAMETERS If you have a lot of different file or mail areas you would normally need one menu for each area. With the PC version of QuickBBS some SysOps have over 500 different menu files! I think that is absolutely ridiculous, so QuickBBS ST can pass parameters from one menu to another. When you call a menu using GoTo (type 1), GoSub (type 2) or Clear Stack and Goto (type 4) you can pass up to 10 parameters to the menu you are calling. These parameters are placed in the Data Line, after the name of the new menu. They must be separated by spaces. These parameters can be used in the new menu by placing a & character in the text or data line, followed by a number. That number selects the parameter to insert into the text or data line. An example: you call a menu called UPDOWN with a GoSub command. The data line used to call it is... UPDOWN Communications_programs \QBBS\DOWNLOAD\COMMS\ the new menu is loaded and displayed. The first option in UPDOWN is a Text Line (type 0). It displays the name of the file area which this menu is used for. So the Text Line of the first option would be something like... Current Area : &1. ...Quick would translate that to... Current Area : Communications programs. ( Note that Quick replaces the underscores with a space in the Text Line only ) Then you could have an option to - say - download a file. That might have a Data Line which contains only &2. Quick would replace that '&2' with the second parameter passed to UPDOWN, the directory \QBBS\DOWNLOAD\COMMS\. The file would be downloaded from that directory. On most boards each file or mail area menu looks exactly the same, except the name of the area and the directory of that area are different. With QuickBBS ST you can create one uniform menu and call it with different parameters, saving you lots and lots of work! ------------------------------------------------------------------ QuickBBS ST Page 48 QuickBBS ST Page 49 ------------------------------------------------------------------ AUTOMATIC MENU EXECUTION NOTE: This topic isn't suitable for novice SysOps. If you've only just started using QuickBBS, skip this part. Automatic Menu Execution, sometimes called AutoExec for short, makes Quick execute the option while the menu file is being loaded. You can define an AutoExec option by giving it a ^A key. This is a little difficult in the current version of the menu editor, but nevertheless possible. Move the highlight to the key field and press Control-A. Then type 1 and press Return. You should see an arrow pointing upwards. This is a raw ^A character. AutoExec options are quite powerful. One option type is specially made for AutoExec-ing. It's type 40, and can be used to replace the Text Line of the AutoExec option with the contents of a file in the Text File Directory. That file can contain all the usual control and escape codes, except for the Press Return and Enter Line codes. This way you can create customised VT-52 and Ansi menus! Type 40 can only be used as an AutoExec option. It will be ignored if it isn't automatically executed. Using AutoExec you can get Quick to execute any option type automatically. The only 'but' is this: when the option has been executed the rest of the menu is handled, except when the AutoExec option loaded a new menu. In that case the menu is re-loaded after a Return, and the AutoExec option is executed again. One way to get round this problem is to work with flags. By giving the AutoExec option a 'required flag', and clearing that flag in the sub-menu (using a .DOR file). Then the AutoExec option isn't executed on return, because the required flag isn't set. THE MENU OPTIMISER For non-ASCII users Quick provides a Menu Optimiser. It replaces multiple spaces, carriage returns and line feeds by VT-52 or Ansi escape codes to position the cursor, but only if the escape code is shorter than the original. At 300 and 1200 baud this makes quite a lot of difference! The Menu Optimiser can switched on and off with option type 82. In some cases it is undesirable to have the Menu Optimiser switched on. For instance, if you want to send coloured spaces (spaces with a background colour greater than 0), the optimiser might jump over some 'coloured' background with an escape code. There is a special control code which you can put in your AutoExec graphic files. It's ^O, and it temporarily toggles the optimiser on and off. ------------------------------------------------------------------ QuickBBS ST Page 49 ================================================================== ======================== Section 7 : Messages ==================== ================================================================== THE MESSAGE SYSTEM QuickBBS can handle up to 200 different Message Areas (sometimes called Boards). Each area has a number ranging from 1 to 200. All messages in one area are stored in two files, located in your Message File Directory. These files are called nnnn.HDR and nnnn.MSG, where 'nnnn' is the number of the area (decimal). The .HDR files contain the message headers (from, to, subject etc). The actual message text is stored in the .MSG files. You can assign the area numbers with the program MConfig. The message base configuration is read from BOARDS.BBS which should be in your CONF\ directory. Each area has an area name, which is displayed to the user. If this area name is blank the message area doesn't exist as far as Quick is concerned. The areas must also have a specific area type. This can be one of the following types... ¯ Local messages are not sent to any other nodes in FidoNet. ¯ EchoMail messages are sent to all FidoNet nodes connected to this EchoMail area. ¯ NetMail messages are sent to the FidoNet node the user specified. If you are running a Stand-Alone BBS all areas should be Local areas. Refer to the section on FidoNet for information about EchoMail and NetMail. You can specify what kind of messages you want to allow in this area... ¯ Public means the messages written in this area may only be public (i.e. anyone who has access to the area can read them). ¯ Private means the messages in this area must be private, only the SysOp, the writer and the receiver can read them (if they have access to the area). ¯ Both means the messages can be either public or private. The user is asked which kind of message he wants to write. If you have specified the area as EchoMail you will have to enter an Origin Line. Refer to the FidoNet section. ------------------------------------------------------------------ QuickBBS ST Page 50 QuickBBS ST Page 51 ------------------------------------------------------------------ MESSAGE AREA ACCESS Each message area has three sets of Security Levels and Flags. The user can access the area in three different ways, if he has the required Security Level and Flags... ¯ Read Access allows him to read messages in this area, ¯ Write Access allows him to reply to messages in this area, and to post new messages, ¯ SysOp Access allows him to read all private mail and delete any messages. If the user tries to read messages in an area he doesn't have read access to Quick will tell him so and return to the menu. Same with Write. If the user has Sysop Access the Read Messages menu will just contain some extra options (to delete the message, send it to the printer, forward it etc). THE LANGUAGE CHECK FILE A lot of EchoMail areas are international. In such areas all messages should be written in English. There are thousands of dim- witted users out there who either don't care or don't know, and write their messages in German, French, Dutch or whatever other language they fancy. QuickBBS can put an end to all that with the Language Check. If you switch this on in MConfig all messages the users write in that area are checked before they are saved. To enable this checking you must also switch it on in QConfig. Of course you have to tell Quick how to check the message. That can be done with the LANGUAGE.BBS file, a plain ASCII one located in the CONF\ directory. It contains one word per line. These words may not appear in the message. Each language has some words that can't be used in English, but are often used in messages. That's the kind of words you want. You might like to put some dirty ones in there too... If the message contains illegal words the file LANGUAGE in the text file directory is displayed. The user is then returned to the message editor to correct his mistake. THE UPPERCASE CHECK Another old favourite of dumb users is an UPPERCASE message. Some people just don't know what that the CapsLock key is for. You can get Quick to check for this too by switching on the UpperCase Check options in MConfig and QConfig. When the user tries to save a message Quick will test each line for lowercase characters. If a lowercase character is found in any line, the message is saved. If no lowercase characters are found the file UPPER is displayed and the is user returned to the message editor. ------------------------------------------------------------------ QuickBBS ST Page 51 QuickBBS ST Page 52 ------------------------------------------------------------------ ALLOW THE USE OF AN ALIAS On most Bulletin Boards you must use your real name. The same applies to most mailnetworks. But sometimes your are allowed to use an alias (Fakename etc.). For example in Role Playing Adventures every everone as there own fanatsie name. So this options allows the user to use a different name for this area only. The Alias is only remembered for the current session. ALLOW 8 BIT CHARACTERS In most networks you are only allow to use ASCII characters, mainly because the characters above 127 are not standarized. But in some country's you need those (mostly scandinavian). So you can allow the use for 8 bit characters per area. Do make sure you ask if this is allowed! FILE ATTACHED MESSAGES With this flag you can let user attach a file to a message. The user will be asked if he wants to attach a file to the message. The file can then be downloaded by the one the message is addressed to. The file can only be download by the user in the To: field, the only exception is if the message is addressed to ALL, in that case everyone can download the file. The message wil first be shown, after that the user is asked if he wants to download a file. Mind you can recieve file attach message from all areas, you must only allow it for them to be posted. The file is put into \QBBS\PVT_FILE\ and the filename/path is stored in the subject field, which can't be edited anymore for safety reasons. The With file flag is also set. This system is compatible with Fidonet, so you can also send file attached message from say LED. On thing though, you can also make the netmail area file attach but take in account that you generally are not allowed to route file attached message over/via other systems, you should bring them by crashmail. GROUP NUMBER This is a number from 0 to 255 where 0 disables the group number. Currently this is only used in menu option 85 (Mail Area Lister). You can divided your message areas into groups, for example: Group nr 1: Local areas Group nr 2: National echomail areas Group nr 3: International echomail areas Group nr 4: Atari areas etc. etc. With Menu type 85 you can use this group to make several lists of areas. This will make life very easy for the sysop. He now only needs to add a new area in mconfig and pronto it appears in the area list in the BBS... ------------------------------------------------------------------ QuickBBS ST Page 52 QuickBBS ST Page 53 ------------------------------------------------------------------ LASTREAD POINTERS QuickBBS keeps track of which messages the user has read in every area. These pointers are stored in the file LASTREAD.BBS in the home directory. They are used in two ways: ¯ In the MailScan the message areas are scanned starting with the first unread message. ¯ When a user selects the [N]ew option from the read messages menu the first unread message is displayed. PACKING THE MESSAGE BASE Once you are running your BBS the message base will get larger and larger unless you do something about it. This is where the FastPack program comes in. It packs your message base, which means... ¯ Deleted messages are always removed. ¯ You can define how old a message may be before it is removed. ¯ You can define a minimum number of messages which must always remain in a certain area. It's a good idea to pack your message base once a day if you have a busy system. The FastPack program has its own documentation files. There are other programs that can pack and update the lastread pointers too, some names: Bermuda Jetmail IOS etc. Mind you be carefull with those, always check if they update the pointers the right way. If you have problems with wrong pointers then let the programmer of the packer contact us, so we can tell him the exact format of the pointers and how to work with them. ------------------------------------------------------------------ QuickBBS ST Page 53 QuickBBS ST Page 54 ------------------------------------------------------------------ THE MAIL AREA LISTER This is menutype 85. With this option you can generate a list of Mail Areas for the user to choose from. You can choose what areas to list by using a the group number. The areas are also sorted alfabeticly to make it easier to read. The Optional Data Line looks like: (up/download menuname) 1 readmail Now only mail areas that have group number 1 are shown. The groupnumber is entered in mconfig, see above, The second parameter is the menu it will jump to. You can also leave this out, it will return you then to the current menu, for example if you use a Change Area option in your readmail menu. After the use made a choice the menu readmail (in this example) will be run. On the optional data line it will put: 20 From/To_the_sysop In the menu readmail you can use &1 as areanumber and &2 as description. Here is another example. You have a mail menu in where the user can choose between National, International and local areas. If he does it will run a mailarealist menu that will run the readmail menu: Mail -> Mailarealist -> Readmail Mail: [N] National areas [I] International areas [L] Local areas Readmail menu: [R] Read messages [W] Write messages ------------------------------------------------------------------ QuickBBS ST Page 54 QuickBBS ST Page 55 ------------------------------------------------------------------ The mailarealist menu will have to options: 1: Type 85, Optional data: 1 readmail 2: Type 3, Return from gosub. Both lines have ^A as key. This way they are run directly when the menu is called. So if you choose N for national you will get a list with national areas. After you make your choice the menu readmail is run. When you return from this menu you will be presented with the list again. This option is not for the novice sysop, but it will make much easier for the experienced sysop as now you only need to enter new areas into MCONFIG and you don't have to be bother with having to adapt all those menu's. ------------------------------------------------------------------ QuickBBS ST Page 55 ================================================================== ======================= Section 8 : Files ======================== ================================================================== FILE AREAS The number of file areas you have is only limited to the amount of free disk space. Each file area must have its own directory. That directory must be specified on the Data Line in some menu options. Each directory should contain a FILES.BBS file. This is an ASCII file with a description of each file in the area (=directory). One directory might contain the following files: FILES.BBS TCARC.TTP TCARC.DOC LHARC.PRG LHARC.DOC The FILES.BBS file should describe the other four files, perhaps like this: +--------------------------------------------------------+ | Archive programs | +--------------------------------------------------------+ TCARC.TTP [10] ARC compatible archiver, 50-80% faster. TCARC.DOC [1] Documentation for TCARC. LHARC.PRG v201 of LHarc-ST, for using .LZH archives. LHARC.DOC Documentation for LHarc-ST. STZIP.TOS STZIP 2.2, for using .ZIP archives (with docs) When QuickBBS displays this list it will insert the size and date of the file between the name and the description. If the file isn't found the text '---MISSING---' is inserted instead. FILES.BBS can contain comments lines. Any character which is not usually part of a file name can be used to indicate a comment line. Empty lines are also allowed, as are multiple spaces between the file name and the description. If a description is too long to fit onto one line Quick will word- wrap and indent it on the next line. Your ASCII editor must be able to handle long lines to use this feature. Tempus can, and so can First Word. Some versions of Micro Emacs can't handle long lines. The number between brackets ([]) is the number of times a file is downloaded. QuickBBS updates this number after a download, you can en/disable this option in qconfig under toggles. ------------------------------------------------------------------ QuickBBS ST Page 56 QuickBBS ST Page 57 ------------------------------------------------------------------ THE FILE SEARCH FILE ...is called FLSEARCH.CTL and can be found in the home directory. It's an ASCII list of all file areas in your BBS. Each line has the following layout: where is the directory, is the security level needed to search the area and is the name of the area. An example: \QBBS\DOWNLOAD\GENERAL 10 General Area \QBBS\DOWNLOAD\COMMS 10 Communications Programs \QBBS\DOWNLOAD\UTILS 20 Utilities \QBBS\UPLOAD\GENERAL 50 Uploaded General Files \QBBS\UPLOAD\COMMS 50 Uploaded Comms Programs \QBBS\UPlOAD\UTILS 50 Uploaded Utilities The menu options New Files and Search for File use this file. Each line is checked for a valid Security Level and (if valid) searched. Please note that the Security Levels in this file do not affect uploading, downloading, file lists etc. They are only used in the two option types above. THE FILE AREA LISTER This is menutype 86. With this option you can generate a list of File Areas for the user to choose from. You can choose what areas to list by using a search string. The areas are also sorted alfabeticly to make it easier to read. The Optional Data Line looks like: (up/download menuname) atari updown Now only file areas that have ATARI in the description are shown. This description is taken from the flsearch.ctl file. This way you can make several list for different computers. The searchstring is case sensitive!! Mind you on the first 20 characters of the description are shown. The word ATARI will be taken out of the list though! The second parameter is the menu it will jump to. You can also leave this out, it will return you then to the current menu, for example if you use a Change Area option in your up/download menu. ------------------------------------------------------------------ QuickBBS ST Page 57 QuickBBS ST Page 58 ------------------------------------------------------------------ After the use made a choice the menu updown (in this example) will be run. On the optional data line it will put: c:\atari\falcon\ Falcon_files In the up/down menu you can then use &1 as path and &2 as the description. Here is another example. You have a files menu in where the user can choose between Atari, MS-DOS, Amiga areas. IF he does it will run a filelist menu that will run the up/download menu: Files -> Filelist -> Up/download Files: [A] Atari areas [M] MS-DOS Up/download menu: [D] Download [U] Upload The filelist menu will have to options: 1: Type 86, Optional data: ATARI UPDOWN 2: Type 3, Return from gosub. Both lines have ^A as key. This way they are run directly when the menu is called. So if you choose A for atari you will get a list with areas that have ATARI in de description. After you make your choice the menu up/down is run. When you return from this menu you will be presented with the list again. This option is not for the novice sysop, but it will make much easier for the experienced sysop as now you only need to enter new areas into the FLSEARCH.CTL and you don't have to be bother with having to adapt all those menu's. ------------------------------------------------------------------ QuickBBS ST Page 58 QuickBBS ST Page 59 ------------------------------------------------------------------ TRANSFER PROTOCOLS When a user wants to upload or download a file the first thing he sees is the protocol menu. If you haven't switched off any protocols in QConfig the user can choose one of the following transfer methods: ¯ Xmodem is the oldest and slowest. When downloading QuickBBS will detect three flavours of Xmodem automatically: Xmodem Checksum, Xmodem CRC and Xmodem 1K. The first two are very slow (about 50% efficiency). Xmodem 1K is slightly faster if the connection is good (about 60%), but slower on bad lines. ¯ Ymodem is derived from Xmodem. For some stupid reason some communications and BBS programs think Xmodem 1K is Ymodem. This is not true. Ymodem uses mixed 128 and 1024 byte blocks, and is always a batch protocol (more than one file can be sent at once). Ymodem is no faster than Xmodem 1K. ¯ Windowed Xmodem is another Xmodem flavour. It doesn't wait for the receiver to acknowledge the block, but assumes that no news is good news. Windowed Xmodem is much faster than the normal Xmodem. In some ways it's rather like SEAlink, but it doesn't support batch transfers. Efficiency is about 75%. ¯ Zmodem is the best of all. It supports batch transfers, and is very fast (90% to 98% efficiency). It also uses 32 bit CRC instead of 16 bit, making it much more reliable. If the transfer fails during a Zmodem upload/download (carrier lost or any other cause) you don't have to start all over again, Zmodem will continue where it left off! The efficiency is the ratio between the actual number of bytes transferred per second and the theoretically possible number of bytes per second. Always use Zmodem if at all possible. It's much faster, much easier and much more reliable. ------------------------------------------------------------------ QuickBBS ST Page 59 QuickBBS ST Page 60 ------------------------------------------------------------------ UPLOADS & DOWNLOADS When downloading Quick will ask for the files to transfer. If Ymodem or Zmodem are selected the user can type in more than one filename, separated by spaces. Quick will check the download limit, time limit and start the download. If the download is succesfull QuickBBS will add a number to the file description like this: QUICKBBS.ZIP [100] The BEST Atari ST(E)/TT/Falcon BBS The number between brackets [] is the number of times a file is download. NOTE: The user can download any file from the directory you specify. A file doesn't have to be described in FILES.BBS for the user to download it. When uploading files with a non-batch protocol the user must type the file name. The file may not yet exist in the directory to which the user is uploading. With a batch protocol Quick will not allow existing files to be overwritten. After the transfer the user must type in a description for each file he uploaded. This description will be added to the end of FILES.BBS. The time used during an upload is added to the users time limit. The log file SYSTEM.LOG will show you what the user has uploaded or downloaded. Two additional log files are updated, called UPLOAD.LOG and DOWNLOAD.LOG. Both log files contain 1 file per line. Lines starting with an asterisk (*) should be ignored. Each line in UPLOAD.LOG has the following format: TP User_Name FILESPEC Description and DOWNLOAD.LOG just contains: TP User_Name FILESPEC where... ¯ TP is the transfer protocol: ¯¯ XM : Xmodem Checksum or CRC ¯¯ XK : Xmodem 1K ¯¯ YM : Ymodem ¯¯ WX : Windowed Xmodem ¯¯ ZM : Zmodem ¯ User_Name is the name of the user, with an underscore to mark spaces, ------------------------------------------------------------------ QuickBBS ST Page 60 QuickBBS ST Page 61 ------------------------------------------------------------------ ¯ FILESPEC is the path + name of the file, ¯ Description is the file description entered by the user. Example: James Bond uploads a file called PACMAN.LZH to the General Area. He uses Zmodem to upload the file. The line added to UPLOAD.LOG would be something like... ZM James_Bond \QBBS\UPLOAD\GENERAL\PACMAN.LZH Very old game. The line is only added if the transfer was successful, of course, and ONLINE.ARC and ONLINE.LZH (see Online Archiver) are also added, when they are downloaded. TRANSFER DRIVERS At the moment Quick uses a number of different driver programs to upload and download files. Some are internal, others are external. In QConfig you can select whether you wish to use the internal or the external drivers. This is what Quick uses: ¯ XFER.000 is always used for Ymodem and Windowed Xmodem. In QConfig you can get Quick to use this for the 'normal' Xmodem transfers too. The driver must be in the home directory. Try the internal drivers first. If they cause problems switch to the external one, and please let us know what's going wrong! EXTERNAL PROTOCOLS To top it all off you can hang virtual every protocol on QuickBBS using the external protocol interface. You must Configure a protocol firstly in Qconfig under the external protocol section. Read that section of the document first! You must also make a kind of script file for each protocol. We use the door file interface for this. As example there are some .DOR files included. For example ZMODEM.DOR for XYZ.TTP, it might look like: uploadpath D:\ATARI\UPLOADS\ upload C:\QBBS\XYZ.TTP -c D:\ATARI\UPLOADS\ download C:\QBBS\XYZ.TTP -U -c *PATH*FILES *PATH is replaced by the current path, and *FILES by the files the user wants to download. Upload defines the filename of the upload protocol and it's commandline. Download does the same for the download protocol. Uploadpath is special and only need if you have 1 special uploadpath. Normally QuickBBS scans the *PATH (current path) for new uploaded files. If Uploadpath is specified then that directory is scanned in stead. You can use almost all .DOR file commands in this file too, mayby you need it to generate a commandline. But the complete .DOR is read. After that is done QuickBBS will start the protocol. ------------------------------------------------------------------ QuickBBS ST Page 61 QuickBBS ST Page 62 ------------------------------------------------------------------ THE ONLINE ARCHIVER Ever wanted to download the documentation files from a 200 Kb archive before you downloaded the rest, just to make sure you really want it? Or perhaps you've lost that one little configuration file from a large archive? In that case the Online Archiver would come in very handy. The Online Archiver lets you extract files from one or more .ARC or .LZH archives and put them into a temporary archive called ONLINE.ARC or ONLINE.LZH, ready for downloading. These Online Archives are placed in a directory you specified in QConfig. They can be downloaded from the Online Archiver menu, and are deleted when Quick exits. In QConfig you can specify the maximum size of these archives in Kb, or (by entering 0) let Quick use all available disk space, minus a small safety buffer. If no Online Archive exists the user is required to select an archive type - Arc or LHarc. Because different compression methods are used these two can't be mixed. The user can then add files to the Online Archive, remove files, clear the whole archive (and select a new type) or download it. QuickBBS doesn't need ARC or LHarc to create the archives. The archiving routines are internal. If an error occurs during an archive operation (perhaps because of a damaged archive) the log file will contain a warning, so you can do something about it. The Online Archive will be cleared. The Online Archiver menus each have a help option which display the OARCTYPE and OARCHELP files. You will have to promote the Online Archiver a bit. Most users haven't the slightest idea what it is, and don't go to the 'trouble' of finding out how it works if they do know what it is... Just say it saves money, and they'll come around sooner or later 8-) THE FILE BROWSER is menu option type 83. A textfile is split up into pages and displayed page by page, with a menu inbetween each page allowing the user to move forward, backward etc. as well as search the text for a string or jump to a certain page. You could put a table of contents on page 1, and let the user use the 'Goto' option to jump to the page of his choice. ------------------------------------------------------------------ QuickBBS ST Page 62 QuickBBS ST Page 63 ------------------------------------------------------------------ MARK FILE MENU Is menutype 84. It looks a bit like the browser. A user can list the files in an area. he can also jump to a certain page. Jumping to the last page will show him the newest files. He can mark files to download. With M of Mark you will get into the Mark files menu. Here you can mark a file for download, just enter it's number. The user can also list what files are already marked en delete some of them for the list. If he decides to download he can choose Download from the main menu. All files will be send (if he his levels check out!). The marked files are only remember if the user stays in the Mark File menu. In a future version you can expect global downloads. ------------------------------------------------------------------ QuickBBS ST Page 63 ================================================================== ======================= Section 9 : Doors ======================== ================================================================== EXTERNAL PROGRAMS Quick can start up external programs, also known as Doors. A lot of boards run DoorGames, where the user can play a game against other users of the BBS. Menu option type 7 (Execute Program) will run anything you specify on the Data Line (path+name+extension). Everything after the program name is passed to that program on the command line. The current directory is changed to the directory where the program is located. External programs may never modify the order of the user base or the LastRead pointers. The program may change the current user record, but that wouldn't make much sense because Quick will overwrite it when the user logs off. Because Quick remains in memory while an external program is being executed you will need enough spare RAM. Any program which is started while the user is online should... ¯ trap errors and exit if one occurs. It should not wait for input from the SysOp. ¯ monitor the carrier and exit if the carrier is lost. ¯ keep track of the amount of time the user has left, and exit when the time is nearly up. ¯ exit if the user doesn't type anything for a minute or two (in case he's fallen asleep). ¯ handle its own modem I/O. Most DoorGames have some way of doing this. But, you ask, how does the program know how much time the user has left? It can find out in two of different way: ¯ The data line can contain a command line to pass to the program. There are some special codes that you can put in there which are replaced by Quick: ¯¯ *A is replaced by the users current alias, ¯¯ *B is replaced by the current baudrate or 0 in local mode, ¯¯ *C is replaced by the errorlevel that is returned when a program is executed ¯¯ *F is replaced by the users first name, ¯¯ *G is replaced by the number of the users graphics mode, ¯¯ *L is replaced by the users last name, ¯¯ *O is replaced by the users account, ¯¯ *P (privilege) is replaced by the users security level, ¯¯ *R is replaced by the users record number in USERS.BBS, ¯¯ *T (time) is replaced by the number of minutes the user has left. ------------------------------------------------------------------ QuickBBS ST Page 64 QuickBBS ST Page 65 ------------------------------------------------------------------ A special case is *S, which makes Quick leave the Status Line at the bottom of the screen on, handy for programs which don't show you who is online. Another special case is the *E code, which executes the commands in a little script file. It must be the first code on the data line. More on that later. Example: James Bond is online at 2400 baud and has 20 minutes left. If the data line is... \QBBS\GAMES\MR\MOONRAKE.TTP baud *B name *F time *T ...then Quick will change the current directory to \QBBS\GAMES\MR\, start up MOONRAKE.TTP with command line... baud 2400 name James time 20 Refer to the documentation of the program you wish to start to see what parameters it needs. ¯ Before the program is started Quick will write a few files from which the external program can read the user info. The files are ¯¯ LASTUSER.LOG is compatible to Pandora. It's plain ASCII, and contains the users name on line 1, his security level on line 2, a zero on line 3 and finally the number of minutes left on line 4. ¯¯ DORINFO1.DEF is also an ASCII file, and contains... ¯¯¯ the SysOps first name, ¯¯¯ the SysOps last name, ¯¯¯ the current baudrate (0 = Local), ¯¯¯ the users first name, ¯¯¯ the users last name, ¯¯¯ where the guy lives, ¯¯¯ his graphics mode, ¯¯¯ the length of his screen, ¯¯¯ his security level, ¯¯¯ the number of minutes left, ¯¯¯ his record number in the USERS.BBS file. ¯¯ FOREM.DAT is compatible to the FoReM BBS program. Refer to the FoReM documentation of info about this file, ¯¯ EXITINFO.BBS described in the developers guide. The documentation of DoorGames will usually say what files are used. ------------------------------------------------------------------ QuickBBS ST Page 65 QuickBBS ST Page 66 ------------------------------------------------------------------ DOR FILES The special *E code can be used to execute a .DOR file. The data line should contain something like *E game You can also pass parameters to the dor file like: *E game param1 param2 param3 param4 You can use these parameters in the .DOR file with the known &1, &2 etc. parameters. Quick will execute the commands it finds in a file called GAME.DOR in the home directory. Valid commands in that file are: ¯ ACCOUNT Changes the users account. Number can be expressed in three ways: +n increases the users account by n. -n decreases the users account by n. n sets the users account to n. The account cannot go above or below the maximum or minimum set in qconfig. ACCOUNT +10 (ACCOUNT up 10) ACCOUNT -5 (ACCOUNT down 5) ACCOUNT 50 (ACCOUNT set to 50) ¯ CD Changes the current directory to . Can change to another drive too. Example: CD c:\qbbs\doors\galemp ¯ CL Sets the current command line which will be used when a program is executed (see EXEC) to , which may contain the usual codes like *F, *B etc. but not *E. Example: cl -N=*F_*L -T=*T ¯ CLRFLAG Is the opposite of SETFLAG and switches one of the users flags off. ¯ CLS Clears the screen ¯ COPY Copies file to . Full path may be specified, but wildcards are not allowed. Example: Copy lastuser.log \doors\ste\lastuser.log ------------------------------------------------------------------ QuickBBS ST Page 66 QuickBBS ST Page 67 ------------------------------------------------------------------ ¯ CTIME Increases, decreases or sets time limit for the rest of the current session. Works like ACCOUNT. ¯ DEL Deletes all file matching the specification . Examples: DEL \qbbs\doors\dorinfo1.def Del \qbbs\temp\*.* ¯ DEXIST Same as FEXIST, but for Directories (folders) ¯ DLIMIT Increases, decreases or sets the download limit for the current session. Works the same as ACCOUNT. ¯ ECHO Same as Send, see there for info. ¯ EXEC Executes , using the command line set with CL, or if used. QuickBBS checks whether the file exists, releases (nearly) all memory then executes. You must specify the extension (e.g. STE.PRG or GALEMP.TOS). If the program exits with an errorlevel, QuickBBS will put that in the logfile. Examples: Exec \doors\galemp\galemp.tos EXEC ste.prg ¯ EXIT Stop executing the current .DOR file and return. ¯ FEXIST Checks if exist. The result is stored in the parameter *C. (*C=1 file exist) ¯ GOTO