License Statement Searchlight Software License Statement This software and printed documentation are copyrighted products of Searchlight Software, Inc. and are protected by both United States copyright law and International Treaty provisions. As the purchaser of this software, you are allowed to make archival copies solely for your own purposes and to protect your investment from loss. This software may be used on one and only one computer, except in the case of multiuser versions which may be used on any number of computers so long as all computers on which the software is used are located in the same building, physically connected via a local area network, and owned or operated by the purchaser of this software. You may NOT transfer any copy or copies of this software to any person or organization UNLESS you transfer ALL of the copies that you own, and there is NO POSSIBILITY that the software can be used by two or more persons at different locations at the same time. For example, should you wish to sell or give away your copy of the software, you may do so provided that you transfer the original disk(s) and manuals to the new owner, and either erase any other copies you may have, or transfer these copies to the new owner as well. You may not copy this printed manual in any way. Warranty With respect to the physical diskette and physical documentation enclosed herein, Searchlight Software, Inc. warrants the same to be free of defects in materials and workmanship for a period of 60 days from the date of purchase. In the event of notification within the warranty period of defects in material or workmanship, Searchlight Software will replace the defective diskette or documentation. The remedy for breach of this warranty shall be limited to replacement and shall not encompass any other damages, including but not limited to loss of profit, special, incidental, consequential, or other similar claims. Searchlight Software, Inc. specifically disclaims any other warranties, expressed or implied, including (but not limited to) implied warranties of merchantability and fitness for a particular application. In no way shall Searchlight Software be liable for loss of profit or any other commercial, special, incidental, consequential, or similar damages. i License Statement Acknowledgments The following applies to the entire contents of this manual as well as to the online system and online documentation: Procomm is a trademark of Datastorm Technologies. DSZ is a trademark of Omen Technologies, Inc. DOS and MS-DOS are trademarks of Microsoft Corporation. Hayes and Smartmodem are trademarks of Hayes Microcomputer Products, Inc. Wordstar is a trademark of Micropro International Corporation. IBM and IBM PC, XT, AT, PS/2, PC-DOS and OS/2 are trademarks of IBM Corporation. RIP, RIPscrip and RIPterm are trademarks of TeleGrafix, Inc. Searchlight Software 6516 Detroit Ave Cleveland, OH 44102 216-631-9290 216-631-9285 bbs 216-631-9289 fax CompuServe 73040,2557 Version 4.0, 1st Printing, May 1994. Created with Microsoft Word for Windows(TM) version 6.0a. Copyright 1994 Searchlight Software. All Rights Reserved. ii Table of Contents Table of Contents Introducing Searchlight.....................................1 What Do I Need To Run Searchlight BBS?......................2 Searchlight Feature Overview................................2 Searchlight BBS Installation And Setup......................6 The CONFIG.SYS File.......................................6 File Sharing..............................................7 SLBBS Environment Variable................................8 Upgrading From Older Versions.............................8 Searchlight BBS Configuration...............................10 Searchlight BBS General Setup Menu #1.....................11 Searchlight BBS General Setup Menu #2.....................14 Searchlight BBS Communications Setup......................19 Automatic Modem Configuration.............................24 Searchlight BBS Pathnames Setup Menu......................25 Searchlight BBS Protocol Setup Menu.......................29 Searchlight BBS Screen Colors Setup.......................31 Searchlight BBS AutoDoors Setup...........................32 Searchlight BBS Function Attribute Setup..................34 Default Access Level Setup................................36 Pitfalls And Errors.......................................39 Overlay Setup.............................................40 Text Files Setup..........................................41 Default Subboard Entry Messages...........................42 Default File Directory Messages...........................42 Multinode Setup.............................................44 Searchlight BBS Subboard Maintenance........................47 Add Subboard..............................................47 Edit Subboard.............................................48 Delete Subboard...........................................52 Subboard Utilities........................................52 File Directory Maintenance..................................53 Directory Utilities.......................................56 Balance/Repair Directory..................................56 Import File Descriptions..................................56 Custom Ordering...........................................57 Running Searchlight BBS.....................................58 Auto ANSI Detect..........................................60 Local RIP Mode............................................60 Things To Do When First Logging In........................62 Using The Status Display..................................62 SLBBS Command Line Parameters.............................62 Adding New Users To The System............................64 Guest Account.............................................65 Configuring User Options....................................66 User/Info.................................................66 User/Preference...........................................68 User/Stats................................................70 User/Access...............................................70 Searchlight Message System..................................73 Entering Messages: The Post Command.......................74 Retrieving Messages: The Read Command.....................74 Reading Messages in RIP Mode..............................78 Using the Thread Command..................................79 The List and Jump Commands................................80 Reviewing Messages: The Scan Command......................81 Finding New Messages: The New Command.....................82 iii Table of Contents The Edit and Kill Commands................................85 The 1-Member Command......................................85 Using Electronic Mail.......................................87 Netmail................................ Internet Mail.............................................90 A Word about Mailboxes....................................90 Using The Bulletins System..................................92 Using Chat Mode.............................................94 Sysop-To-User Chatting....................................94 Internode Chatting........................................94 Other Commands..............................................96 Ansi Command..............................................96 Files Command.............................................96 Goodbye Command...........................................96 Info Command..............................................96 Quotes Command............................................96 Time Command..............................................96 User Command..............................................96 Version Command...........................................97 Who Command...............................................97 Sysop Functions.............................................98 Sysop/Options.............................................98 Sysop/Adjust..............................................98 Sysop/Validate............................................98 Sysop/Mail................................................98 Sysop/TextEdit............................................99 Sysop/DosShell............................................99 Sysop/Relog...............................................99 The Status Line.............................................100 Hot Keys..................................................100 Output Logging............................................101 Exit Key..................................................102 Hangup Key................................................102 Local RIP Key.............................................102 Command Keys..............................................103 Text Editing: Introduction..................................104 Using The Line Editor.....................................105 Using The Full Screen Editor..............................108 Reply-Quote Line Selection................................111 Message Uploading.........................................112 Message Preview...........................................113 ANSI Compatibility........................................113 RIP Mode Editing..........................................114 Embedded Color Codes......................................115 Message Macros............................................116 Binary File Attachment....................................117 Using Prepared Text Files.................................119 Searchlight BBS File Transfer System........................121 Setting Up Directories....................................121 Setting A Default Text Message............................122 Loading Filenames.........................................122 Using The File Transfer System..............................122 Files System Commands.....................................122 Protocols.................................................123 Downloading...............................................123 Uploading.................................................123 Upload AutoDoor...........................................124 FILE_ID.DIZ Importing.....................................124 Bi-Directional File Transfer..............................125 iv Table of Contents Local File Transfer.......................................125 File Maintenance..........................................125 Password Protection.......................................126 File Tagging..............................................126 Sysop Functions...........................................128 RIP File Browser..........................................128 Setting Up External Protocols...............................130 Download Commands.........................................130 Upload Commands...........................................131 External Protocol Examples................................131 Summary Of Files System Commands............................133 Importing File Lists......................................140 Working With Multiple Paths...............................142 Searchlight Menu Editor.....................................144 Components Of A Menu......................................146 Menu Header...............................................148 Editing Commands..........................................151 Adding Commands...........................................151 Deleting Commands.........................................152 Copy Command..............................................152 Move Command..............................................152 Edit Command Screen.......................................153 Controlling Command Availability..........................155 Internal Commands.........................................158 External (DOOR) Commands..................................158 Menu Commands.............................................159 Changing Command Types....................................160 Guide To Menu Setup.......................................161 Standard Menu Names.......................................161 Menu Levels...............................................161 Executable Menus..........................................162 Files System Commands.....................................162 Searchlight BBS Doors Subsystem.............................164 Setting Up Doors..........................................165 Door Parameters...........................................166 What Programs Can Be Used As Doors?.......................170 Using COMMAND.COM as a Door...............................170 Using Batch Files as Doors................................170 Running DirectVideo Doors.................................171 Passing Parameters to a Door Program......................172 Running PCBoard Doors With Searchlight....................173 Direct Use Of Searchlight Files...........................174 Some Door Programming Tips................................174 Searchlight Sysop Utilities.................................176 Change User's Name........................................176 Purge User File...........................................177 Purge Message Files.......................................178 Purge Member Files........................................181 Mass Validate Users.......................................182 Purge File Areas..........................................183 Sysop Utility Notes.......................................185 Alias Names.................................................186 Alias Name Setup..........................................186 Alias Name Lookups........................................187 Alias Name Logins.........................................187 Sending Messages with an Alias............................188 Replying to Alias Messages................................189 Changing Alias Names......................................190 Alias Names and Subboards.................................191 v Table of Contents Alias Names and Mail......................................191 Alias Names and Doors.....................................192 Language Configuration......................................194 Adding Languages..........................................194 Obtaining Languages.......................................195 Introduction To Netmail.....................................196 How Searchlight Handles Netmail...........................198 Netmail Import & Export...................................203 Nodelist Index............................................205 Using Searchlight Netmail.................................207 Creating an Explicit Netmail Command......................209 Creating Netmail Routing Addresses........................210 Additional Netmail Considerations.........................210 Introduction To RIP Graphics................................212 What is RIPscrip?.........................................212 How Searchlight Supports RIP..............................213 RIP General Setup.........................................213 RIP Styles................................................214 Internal RIP Features.....................................219 RIP Menus.................................................221 External RIP Files........................................222 Wallpaper.................................................224 Using Searchlight With DESQview.............................226 Environment Setup.........................................226 Interrupts................................................226 DESQview Setup............................................227 Program Setup.............................................227 Memory Issues.............................................228 Performance Issues........................................229 Fine Tuning...............................................230 Appendix A: Using The Activity Log..........................231 Appendix B: Guide To Error Messages.........................234 Appendix C: Automatic Events................................237 Appendix D: Modem Configuration.............................239 Appendix E: Using Alias Names...............................244 Appendix F: The SLMAIL Command Line Utility.................245 Reading and Sending Text Files............................247 Importing and Exporting Echomail Messages.................249 Appendix G: Internal Command Reference......................253 Appendix H: Digiboard Installation and Use..................264 Index.......................................................274 vi Introduction Introducing Searchlight Searchlight Bulletin Board System (SLBBS) is a powerful software package that allows you to set up and run an online electronic service right from your PC. Using your computer, a modem, and the Searchlight software, you'll have a complete bulletin board system that will: o Allow others to access your PC via telephone and exchange mail and other messages, even when you are not at your computer. o Provide password access and multiple levels of security, enabling you to control exactly who has access to information on your system. o Allow unattended, error-free transfer of programs and data files between your PC and other PC's via telephone. o Provide a complete, user friendly environment that's easy enough for most people to use intuitively, without the need for any documentation or assistance from you. Those familiar with the BBS community, and especially those who have used other BBS software, will appreciate Searchlight's long list of advanced features: o Full screen interface for easy entry and editing of messages, mail and text files from a remote terminal. o Unique user interface with built in Online Help facility pro both you and your callers full access to the system's documentation. Complete menu editing function allows total customization. o ANSI and RIP graphics support for flexible screen displays. Built in RIP menu editor and built-in GUI features like scroll bars, dialog boxes and pop-up menus. o Advanced "lock and key" access system providing thousands of security profiles. o Powerful messaging system including message threading, new message scans, search functions, and unlimited message areas. o Complete caller. o Sysop utilities allow you to adjust most aspects of the system to your liking and give you powerful mass deletion commands. You can control the entire system from a remote location. o Files system featuring alphabetical and date sorted directories, passwords and access levels, up to 15 file transfer protocols, ZIP, ARJ and LZH file directories, etc. Fast file transfers with advanced buffering techniques. o Doors system gives you infinite expandability: run almost any program from within your BBS, write your own commands (in any 1 Introduction language), even give DOS commands from a remote terminal. Searchlight is compatible with most popular door programs. What Do I Need To Run Searchlight BBS? The answer: o An IBM compatible personal computer (XT,AT,PS/2,386,486 or Pentium) with a hard disk drive; o A Hayes compatible or "smart" modem; o RS232 serial port(s) and modem cable(s); o At least 350K of available memor o DOS Version 3.3 or higher. Although Searchlight has been successfully tested on many compatibles (and, indeed, has not yet proved incompatible with any of them), we cannot guarantee that it will run on every computer. In particular, you need IBM hardware-compatible serial ports if you want to use Searchlight's built-in modem drivers; if you have nonstandard hardware (such as multiport COM cards), you must provide a FOSSIL compatible software interface (FOSSIL Driver). (Searchlight also works with DigiBoard hardware and Digiware software drivers). You will need a telephone line, preferably a separate line devoted entirely to your computer. Avoid lines with "call waiting" or other features that might interrupt a call in progress. If you will be running a multinode BBS system, you'll need either a multitasking program, such as DESQview or OS/2, or a local area network (LAN). Searchlight Feature Overview Before you begin using Searchlight, we'd like to provide a short explanation of some of the major design features of our system and show you how these compare to other BBS products: Message System Searchlight divides public messages into areas we call "subboards" (some people refer to message areas as "conferences"). Within each subboard, Searchlight uses a "flat" message system structure; that is, all the messages are viewed as one long list, with the oldest messages at the beginning of the list, and the newest messages at the end. Unlike most BBS systems, Searchlight uses short alphanumeric names, rather than numbers or single letters, to designate its message bases and file areas. We think you'll find it much more convenient to refer to areas by name than to memorize a numeric list, particularly when your BBS contains a large number of message and file areas. Electronic Mail On most systems, sending a private message to another caller is possible by specifying the name of the caller to whom the message is directed. Such a 2 Introduction message cannot be read by others, but it still appears on the message subsection with the other messages. Typically, you can find messages directed to you by performing an automatic search of all the messages in the system, looking for ones with your name on them. Searchlight uses a different approach. Rather than placing private messages in with the general message base, you send messages directly to another person on the system. This operation is called Electronic Mail, and it is similar to the way real mail works. When you decide to send a personal message to someone, the system looks up their name and places your message into that caller's personal "mailbox". To read a personal message, you inquire into your own mailbox to see what mail other people have sent to you. This method is a lot faster than the traditional approach and gives you an easy way to manage your own messages, separate from the main stream of things. Searchlight's public message system does, in fact, have to fields on messages and supports an extremely efficient personal mail search--so you really have the best of both worlds with Searchlight BBS. Be sure to understand the distinction between public messages and private mail, though, in order to get the most out of using Searchlight. Incidentally, writing a public message on Searchlight is known as "Posting" the message, and is done with a command called POST. Sending a private message is referred to as "Sending" the message, and is done through the MAIL command. RIP Graphics Searchlight is the first BBS product with built-in support for RIP, the new non-proprietary terminal protocol that brings graphics, mouse support, and other GUI features to BBSing for the first time. Searchlight detects calls from RIP graphics terminals automatically and provides features like mouse support, dialog boxes and scroll bars automatically. In addition, you can customize your display screens, menus, messages and other parts of your system with RIP graphics using a RIP graphics screen generator. Bulletins Searchlight BBS has user-definable bulletins. Unlike other systems, where the bulletin feature is defined by the sysop, callers can post bulletins (if you choose to allow it). The bulletin function is actually a special message base with features that make it ideal for posting announcements and urgent messages. Complete details on how it works follow in the body of this manual. Flow Control The term "flow control" refers to the flow of characters between your computer and a remote terminal, and it's very important on an interactive system like Searchlight BBS. During almost all operations, you can pause the output from Searchlight by pressing control-s, and abort a message or listing by pressing the letter "S", the spacebar or control-c (to enter a "control" character, you hold down the key marked "Ctrl" on your keyboard and press the desired character, then release both keys. In this manual, 3 Introduction control keys will generally be indicated with the ^ symbol; in other words, ^C means control-c). Whenever you request a message, display or listing in Searchlight that's larger than a single screen, you'll usually see Searchlight pause at with a prompt that has the options "Continue" and "Stop", allowing you to view that page of the output and then continue, or abort the listing. File listings also offer a "Tag" option that lets you mark particular files for later download. Although there is an explicit prompt for the continue and stop options, you can actually stop a listing at any time by pressing the "S" key or the other keys noted above. In addition, Searchlight features intelligent command type-ahead that lets you bypass most menus when you already know the command you want. For example, if you press "N" while a message is being displayed, or while the message submenu is being drawn on your screen, Searchlight will stop its output immediately and proceed to the "Next" message. This feature works while reading messages and mail, in the Bulletins area, on subboard and file directory listings, on all submenus such as the Mail and User command menus, and even at the "more" prompt. It's an extremely valuable and time saving feature, especially when using Searchlight from a remote location at slower baud rates. One final word about flow control: in practically every situation where Searchlight requires you to answer an input prompt with a single character response, you need only type the desired character, NOT type the character and then press Enter. You only need to press Enter after typing a whole line of input. If you forget, and DO press the Enter key, it will be stored in memory (all input is fully "buffered") and used as the response to the NEXT input prompt. This can be quite undesirable and confusing, if you do not understand what's going on--so be a little careful at first. Doors In contrast to other BBS systems, Searchlight provides full modem support when running external "Door" programs. That means you don't need to use external support programs, batch files, or device drivers when running Doors; Searchlight handles the modem internally, while consuming less than 75K of memory above DOS (leaving the rest free for your Door). And Searchlight makes it easy for you to run almost any program as a Door, including existing programs not designed for use with a BBS, and programs you write yourself (in any language). Plus, Searchlight is compatible with most of the programs written for other BBS systems--giving you access to hundreds of the most popular games and utilities written for BBS use! Menu Editing Virtually every menu you see when using Searchlight BBS is user definable-- that means you can change the appearance, commands and even the entire structure of our menus if you wish. If the default menus we've provided don't suite your needs, you'll be able to modify the menus, or even create brand new menus from scratch. You can also change the names we use for commands without affecting their function, and even change the text and messages that appear in the software. 4 Introduction Mouse Support Searchlight features mouse support. If you have a local mouse attached to your system, you can use it in many places in the main program and CONFIG program instead of the keyboard. Some places that mouse usage is supported include: o Selection of items from menubar style menus o Selecting fields in Options type screens, and changing field values o Moving the cursor around during full screen message editing o Tagging Mouse usage is supported in most other areas of the program where a menu choice or command choice is displayed on the screen. You can also click on the commands that appear when doing a "Help" command on a word type menu (like the default main menu). The right mouse button acts like an Enter or ESC keypress and can be used to exit most menus and as a substitute for pressing Enter or ESC at many textual prompts. Remote callers can also use mouse functions when calling Searchlight BBS with a RIP graphics compatible terminal. Remote mouse functions are similar to local mouse functions, except that the right mouse button is not used with RIP. Mouse functions are not available to remote callers with standard ANSI or non-ANSI terminals. And More! There are many more interesting Searchlight features, but rather than go into detail here, let's get started with the installation instructions. These are the major points we want you to keep in mind as your system unfolds, and we'll get to the rest of the goodies in turn. 5 Installation Searchlight BBS Installation And Setup Searchlight BBS requires an IBM PC or compatible, running DOS version 3.3 or higher. You need a Hayes compatible modem, a serial (RS232) interface (if your modem is external), and about 2MB of hard disk space. If you are setting up a multinode system, you'll need a serial port and modem for each node in your system, as well as the appropriate multitasking or network operating system software. Make sure your modem is installed and turned on before you install Searchlight; refer to your modem's documentation for more information. If you are using a new modem or computer, you should verify that the modem is working correctly by running the modem software that came with your modem. This way, if you have trouble setting up your BBS, you'll know whether the modem itself might be at fault. Some sort of text editor or word processor will generally be required for creating/editing text files used by Searchlight. Since most people already have their favorite, we'll assume you know how to "edit" text files (such as CONFIG.SYS) on your system. Please note that Searchlight BBS software is available in both single and multiuser configurations. This manual covers both single and multiple user usage. If you purchased a single line version, the multiuser information does not apply to you. The CONFIG.SYS File Somewhere in the root directory of your hard disk, there should be a file called CONFIG.SYS. This file is used to configure various aspects of your computer as it boots. Using a text editor or word processor, examine the CONFIG.SYS file and make sure it contains at least these two lines: Files = 30 Buffers = 20 These commands ensure that your computer allocates enough file buffer space for Searchlight. If your CONFIG.SYS file already contains lines like those shown above, make sure the values for Files and Buffers are at least as large as those shown; otherwise, change them to the above values. If your disk does not contain the CONFIG.SYS file, create it, and add the three lines shown above. If too few file buffers are allocated when you try to run Searchlight BBS, the program may crash with an I/O error. If this occurs, check to make sure your CONFIG.SYS file contains the appropriate commands. If you continue to see file errors (usually Error 100, Error 103 or Error 104) you may need to increase the value of "Files" in your CONFIG.SYS; this is particularly true if you run a multitasking operating system, network driver or similar resident software. o Searchlight doesn't require that the ANSI.SYS file be loaded. If you do want to use ANSI.SYS, we strongly recommend that you do not use one of the many ANSI.SYS replacements (commonly found on BBS systems and as commercial products) designed to speed up screen output. Many of these drivers bypass the BIOS level of I/O, which will make it difficult to run the DOS command 6 Installation shell and other programs through our built-in Doors system (see the Doors Setup section for details). File Sharing Multiuser versions of Searchlight BBS perform file sharing in order to control access to data files by several callers at the same time. File sharing requires that SHARE.EXE, or its equivalent, be available when Searchlight runs. If you run multiple copies of Searchlight BBS on one machine using DESQview, OS/2 run the DOS program SHARE.EXE as you boot your system. Make sure the SHARE.EXE file is available on your disk, then load it by entering the command "SHARE" into your AUTOEXEC.BAT file (and rebooting your system). Because of its low memory requirements and overall efficiency, Quarterdeck's DESQview is the recommended multitasking operating software with which to run Searchlight BBS. You can also run Searchlight with IBM's OS/2. If you run Searchlight on a local area network, your LAN probably provides the Share function automatically. Do not load SHARE.EXE unless your LAN documentation instructs you to do so, or you receive a share related error message when you run Searchlight BBS. Please see Appendix B, Guide To Error Messages, for more information about loading Share and the share related error messages provided by Searchlight BBS. More information on the CONFIG.SYS and SHARE.EXE files can be found in your DOS manual. Installing Searchlight Installing Searchlight BBS is a simple procedure, thanks to the easy to use INSTALL program we've provided. If your computer's floppy disk drive is drive A:, simply insert the Searchlight disk and type: A:INSTALL Of course, if you're using the B: floppy drive, type "B:INSTALL" instead. When the installation menu appears, just select "New Installation" if you're a first time customer, or "Update Installation" if you already have a copy of Searchlight on your system. Proceed with the installation process by following the instructions that appear on your screen. The INSTALL program automatically creates appropriate directories on your hard disk, loads the Searchlight program files, and creates Searchlight data files for you. When the installation is complete, your DOS prompt re-appears. o Searchlight contains a number of optional components, such as an external version of the Zmodem protocol, which may be installed if you choose after the main programs are installed. Each optional component that you load 7 Installation contains its own documentation (.DOC) file that you can read to find out more about using that option. You're now ready to run Searchlight BBS! There are two main commands you'll need to know right now. To start Searchlight itself and begin waiting for an incoming phone call (or initiate a local session), type at your DOS prompt: SLBBS To access Searchlight's configuration menus and sysop utilities, enter this command: CONFIG We recommend running CONFIG first, in order to set Searchlight's options to your own preferences before you actually run your BBS. We'll talk more about the configuration program's features in the next few chapters. SLBBS Environment Variable In most cases, you'll be located in Searchlight's "home" directory every time you start the main program or run one of the utility programs. While you should always be in the home directory when you enter the command to start Searchlight, you can run utilities (like the CONFIG program or the auxiliary programs found on your distribution disk) from any directory, as long as you set up a DOS environment variable to tell Searchlight where the home directory is loaded. To set up the environment variable, type "SET SLBBS=" at your DOS prompt, like this: SET SLBBS=C:\SLBBS You need to set this variable BEFORE running Searchlight or any Searchlight utilities. It's best to put the command into a startup file (like AUTOEXEC.BAT) to save you the trouble of having to enter it every time you boot your system. If you run a multiuser system, be sure that each node has its own 'SLBBS' environment variable pointing to its own home directory. Upgrading From Older Versions All versions of Searchlight BBS provide an upgrade path that allows you to upgrade to newer versions of the software without losing any messages, caller records, or setup information stored on your system. You can upgrade to the latest version even if you are currently using as old a version of Searchlight as 1.28, which was released in 1988. Upgrading From Searchlight 2.x or 3.x If you are upgrading from Searchlight 2.x or 3.x (for example, from version 3.5 to 4.0) the upgrade is automatic: simply select Upgrade Installation when you run the INSTALL program. New versions of the Searchlight program files will replace your existing files. Since the data files for all 2.x and 3.x versions of Searchlight are compatible with 4.x, there is no data 8 Installation file upgrade procedure necessary, and all of your existing information will be retained. If you are upgrading from Searchlight 2.15, the upgrade program will also install the MENU FILES that are used by Searchlight version 2.25 and later. The menus files provided emulate the built in menus that were incorporated into Searchlight 2.15, but now you can change them: see Menu System (p. 144) for more information. Upgrading From Searchlight 1.x Upgrading from versions of Searchlight older than 2.0 requires the use of a special UPGRADE program, which converts your existing data files to the new formats. Before you begin, you will need to download the upgrade program, which is distributed as UPGRADE.ZIP on our main BBS in Cleveland. (If you cannot access our BBS or cannot download the file, please call our technical support line and we'll send you a copy of the upgrade utility on disk). The recommended upgrade procedure is to first create a new Searchlight 4.0 installation by following the New Installation instructions, taking care to use a different directory name than the one containing your old installation. Fill in the information required by the installation program, but don't run the CONFIG program or modify any of the additional configuration fields (they'll be filled in automatically when you run the upgrade program). Once Searchlight is installed, run the UPGRADE program to convert your existing data. (See the upgrade program's included documentation file for more details). 9 Configuration Searchlight BBS Configuration Searchlight's CONFIG program allows you to add, edit and delete message and file transfer sections and menus, and edit a variety of available options as needed. You can run CONFIG whenever you want to modify system options, such as default access levels, modem setup strings, external protocols and screen colors. If you're just starting out, you'll almost certainly want to use the CONFIG program to set preferences like the name of your BBS before you start using Searchlight. You should be located in the "home" directory--the directory where your Searchlight BBS data files are located--when you run CONFIG.EXE. Run the configuration program by typing CONFIG at your DOS prompt. For example: C> CONFIG If you see a message indicating that your Searchlight files can't be found, you should either make sure you are located in the directory that contains the files (the directory you specified during the install process), or set an SLBBS= environment parameter. Your screen should now show Searchlight's main configuration menu. CONFIG divides the setup procedures into several categories, as follows: A. General Configuration B. Message Subboard Maintenance C. File Directory Maintenance D. User/Subboard/File Utilities E. Searchlight Menu Editor F. Languages Configuration To begin, select the first item, General Configuration, by pressing the "A" key on your keyboard (don't press ENTER--just press "A"). The screen now shows a new menu that looks like this: A. General Setup Menu #1 B. General Setup Menu #2 C. Communications Setup D. File Pathnames Setup Menu E. Xfer Protocols Setup F. Screen Colors Setup G. AutoDoors Setup H. Command Access Setup I. Default Access Levels J. Network Mail Setup K. RIP General Setup L. RIP Styles Setup We'll begin at the top with General Setup Menu #1, so press "A" at your keyboard again (or, if you prefer, click on the first menu line with your mouse), and follow along with the menu options as we describe them in the following pages. 10 Configuration Searchlight BBS General Setup Menu #1 1. System Name ........................ Searchlight 2. Allow New Users .................... Yes 3. Initial Help Level ................. Novice 4. Prompt for Alias Names ............. No 5. Allow Alias Name Logins ............ Yes 6. Language Selection Prompt .......... Before Login 7. Min. Access Needed to Log In ....... 0 8. Node Number ........................ 1 9. Number of Active Nodes ............. 2 The first field, System Name, is highlighted by a reverse-video bar. To change the value of a field, you can type over the existing string, or edit it with the cursor keys. To switch to other fields, press the up and down arrow keys, or use your mouse to highlight the desired value. Numeric values are entered by typing a number within the allowable range, which is indicated to the right of the field when the field is selected, or by clicking the arrows with your mouse. Other fields can be changed by pressing the spacebar/backspace keys or left mouse button to display the available options. When you are done editing the above fields, press the ESC or ^Z (control-Z) key or the right mouse button to exit back to the CONFIG main menu. You may now go on to the next screen of configuration options, or exit the program by pressing ESC or the right mouse button again. Here is a detailed description of the functions of each option. As you move down the list, change the options as necessary or desired for your particular system. 1 -- System Name This is an alphabetic field that you can use to enter an identifying name for your BBS. This name is used at the login message, on the help screen display, at the top of the Bulletin listing, and in the logoff message. 2 -- Allow New Users This option, normally set to "Yes", determines whether your system will allow new callers to register their names and passwords. When set to "Yes", new callers will be allowed to register by typing "NEW" at the login prompt. If changed to "No", your BBS becomes a closed system, allowing only those callers with passwords already on file to log in. o If you decide to run a closed system, you must still set this option to "Yes" initially to allow callers to register. You can either allow your callers to register themselves or you can register the names yourself by logging in locally and typing "NEW" at the login prompt. (You can also create new user accounts with Searchlight's Spotlight software; contact us for more information). 11 Configuration 3 -- Initial Help Level This field can be set to "Novice", "Intermediate" or "Expert", and it determines the default help level assigned to new callers. We suggest that you use Novice if most of your new callers will be people who are, for the most part, unfamiliar with BBS systems or Searchlight BBS, and Intermediate or Expert if most of your new callers are expected to be familiar with BBS systems and Searchlight BBS software. 4 -- Prompt for Alias Names Searchlight allows each caller to maintain an alternate or "alias" name in addition to his or her real name. If you want to allow alias names on your BBS, set this switch to "Yes". Searchlight will then prompt callers for an alias name during the new caller registration process. If "No" is selected, callers won't be prompted for an alias name during the log in procedure (but you can still allow your callers to maintain an alias name via the Options/Preference command; see p. 66). 5 -- Allow Alias Name Logins If you allow alias names on your BBS, you can also choose whether you would like to permit callers to use their alias name as their login name. If you allow alias logins, callers will be able to type their alias name and password to log in. If you disallow alias logins, callers must always enter their real name and password to log into your BBS, but may use their alias names to enter messages if you permit it. 6 -- Language Selection Prompt If your BBS offers multiple languages, this option allows you to determine how the language choice is presented to your callers. The choices are "Before Login", "After Login" or "None". If "Before Login" is selected, Searchlight prompts each caller for their desired language immediately after a connection is establishedand before the caller enters their name. Because the language is selected first, this option gives you the opportunity to present your login screen in the language of the caller's choice. If "After Login" is selected, Searchlight delays the language selection choice until after the caller has entered a name and password. The default language is used for the login screen and name/password dialogues. The advantage to this method is that the caller's last selected language may be used as a default. If you don't offer multiple languages, choose "None". 7 -- Min. Access Needed to Log In This field defines the minimum access level that a caller needs to log in via this particular node. You can use this feature on multinode systems to set up a system where some nodes are public access, and some are restricted to callers with a certain access level. Normally, at least one node should have a minimum access level of 0 (allowing public access). 12 Configuration 8 and 9 -- Node Numbers These fields determine the node number of the current node and the total number of nodes in the system. When you copy your CONFIG.SL2 file to a different directory and change the node numbers, you can create additional nodes that allow multiple callers to access your BBS at the same time. For more information, see Multinode Setup (p. 44). o The maximum number you can type in lines 8 and 9 depends on the product license level you purchased when ordering Searchlight BBS. For example, if you own a 1 to 10 user license, you can enter a maximum value of 10. If you'd like to upgrade your license level at any time, please contact Searchlight Software for upgrade information. 13 Configuration Searchlight BBS General Setup Menu #2 1. Screen Write Method ................ Direct 2. Idle Time Limit .................... 15 3. Quotes File ........................ On 4. Return to DOS on Logoff ............ No 5. Hangup Phone on Logoff ............. Yes 6. Allow Console Hotkeys .............. Yes 7. Date Format ........................ USA 8. Time Format ........................ 12 Hour 9. Upload Time Repay Rate ............. 1 10. ROM File Handling .................. Direct 11. User Log Status .................... Public 12. Clock Tick Source .................. Direct 13. Use Session Time Limits? ........... No 14. Expired User Action ................ None 15. Default Login Greeting ............. On 16. Max File Description Size .......... 10 17. Allow High ASCII Chars ............. Yes 18. Allow User Name Completion ......... Yes 19. Allow Mail Carbon Copies ........... Yes Option screen B displays some more configuration switches for customizing your setup. Adjust your options as follows: 1 -- Screen Write Method This can be set to either BIOS or Direct. In BIOS mode, Searchlight will use BIOS calls to send all its output to the screen. In Direct mode, the BIOS is bypassed and screenwriting occurs via direct access to your computer's video hardware. In general, Direct mode is faster than BIOS mode. BIOS mode offers compatibility with standard system I/O functions, and is preferable when running Searchlight in a windowed environment (such as DESQview or OS/2). If you use a multiple window environment and you have a problem with Searchlight overwriting other windows on your screen, select BIOS mode; if you run only a single copy of Searchlight on any given machine, use Direct. 2 -- Idle Time Limit The value in this field determines the amount of time, in minutes, that Searchlight will wait for keyboard input. If Searchlight stops to wait for input and no keys are pressed after this amount of time has passed, Searchlight will abort the call and recycle back to the Login screen. o Please note that the idle time limit is NOT enforced during a local login. 3 -- Quotes File Searchlight's user quotes feature (the "Please leave us a quote" prompt displayed at logoff time) can be enabled or disabled with this option. If 14 Configuration enabled, callers are able to enter short quotes each time they access the system, and the Quotes command (on the main menu) can be used to browse through the quotes left by others. 4 -- Return to DOS on Logoff This option controls the behavior of the system when a caller logs off, hangs up, or is otherwise disconnected from your BBS. In the default mode, with Return to DOS set to "No", the system will reset the modem, recycle to the Login program, and begin waiting for the next call. If "Yes" is selected, Searchlight will return to DOS when a caller logs off. Return to DOS is provided to enable Searchlight to be used with a "front- end" program. Typically, such a program will monitor and answer the telephone, start Searchlight BBS when a call is received, and regain control of the system when the call is finished. These programs are used for special purposes such as the interception of network mail. If you will not be using this type of program, leave this option set to "No". If Return to DOS is used, Searchlight will return a nonzero return code (errorlevel) if ALT-X is pressed by the Sysop or if there is an error encountered while running the BBS. The front end program should be set up to terminate to DOS when this happens, rather than recycle. o If this option is selected, the only way to start Searchlight is with command line parameters for the baud rate and maximum time limit. See Command Line Parameters (p. 62) for more information. 5 -- Hangup Phone on Logoff This option controls whether you want Searchlight to hang up the phone when a caller logs off. Normally, select "Yes" to hang up the phone and recycle the system for a new caller. Use "No" if you are running your copy of Searchlight BBS as a door or from a front end program which requires that the connection be maintained after Searchlight completes. 6 -- Allow Console HotKeys This switch controls whether the special "HotKey" functions (ALT-L, ALT-S, etc.) will be available at the local keyboard. Normally, leave HotKeys enabled if you or other Sysops will be the only people with access to the local PC. If you're running Searchlight in a situation where non-Sysop users will be logging into the system in local mode (such as in a local area network), turn HotKeys Off to disable unauthorized use of sysop functions. 7 and 8 -- Date and Time Formats These switches control the format in which dates and times are displayed. Dates may be displayed in the USA format, MM-DD-YY, or the European format, DD/MM/YY. Notice that Searchlight uses the "-" character as the separator in the USA format, and the "/" in the European format; this is done to help distinguish the different formats. Inputting of dates, where required, must be done in the selected format. 15 Configuration Times can be displayed in 12-Hour or 24-Hour formats. The 12 hour format includes an "am" or "pm" indicator. 9 -- Upload Time Repay Rate This option determines the amount of "repay" time that the system will give for uploaded files. If the repay rate is set to 1, callers will be credited with the same amount of time that it took to upload a file, so that if a 10 minute upload occurs, an additional 10 minutes of time are granted when the upload completes. If the repay rate is 2 to 1, an additional 20 minutes of time would be granted for a 10 minute upload, etc. If the repay rate is 0, then no additional time is credited for uploads. o Searchlight will reduce the amount of additional time granted after an upload if the additional time would interfere with a scheduled event, or exceed the maximum session time limit. 10 -- ROM File Handling This switch specifies whether files which reside on read-only devices, such as CD-ROM drives, will be accessed directly off the ROM device or copied to hard disk first. When this option is set to "Copy", Searchlight handles all files on read- only devices (those file directories for which the "Path to DIR File" is different from "Path to Files") by copying files from the ROM device to the DIR file path when Download or View commands are used. The directory containing the DIR file, rather than the ROM device itself, is made the active directory when external protocols are invoked. After the command is completed, Searchlight removes the copied files from your hard disk. File copying should be used if you experience sluggish operation or compatibility problems when accessing files on a CD-ROM or similar device. Please see the File Transfer System section of this manual for further details. 11 -- User Log Status This option allows you to designate the status of your user list and caller logs as either Public or Private. When Public is selected, the USER command on Searchlight's main menu is available to all callers and can be used to search and display your user log and last 75 callers log. If you select Private, your user logs are kept private and the USER command is made unavailable to all callers except the Sysop and Co-Sysops. o You can also restrict or eliminate the USER command, or any other command, by editing your menus directly with Searchlight's menu editing features. 12 -- Clock Tick Source This option controls whether Searchlight uses a DOS call, a BIOS call or a direct memory read to obtain real-time clock information. Use "Direct" unless it conflicts with your operating system, otherwise use "DOS" or "BIOS" methods. If you experience problems such as system lockups, 16 Configuration extremely short or long time delays, or inaccurate system dates, change this option. 13 -- Use Session Time Limits? Searchlight supports the ability to limit a caller's time limit per session (per login) as well as per day. If you'd like to use this ability, set this field to "Yes". Otherwise, leave it set to "No". If you do choose "Yes", you must be sure to set your caller accounts up so that they have the desired Session Time Limit attributes. You can adjust accounts manually (via 2-Sysop/Options command on Searchlight's main menu), or you can perform global changes with the Sysop Utilities menu in the CONFIG program. 14 -- Expired User Action This field determines what to do with caller accounts which have "expired"- -in other words, which are older than the expiration date specified in the account. The default action is "None", which means that nothing happens to these accounts (in effect, expiration dates are not used). If you'd like to use expiration dates on your system, set this field to either "Reset Access" or "Delete Account". The former setting will cause the caller's access level to fall back to the New User level when their account expires. The latter will cause the account to be deleted. In both cases, callers receive a 30 day warning message before the action occurs (the warning message appears as part of their log-in sequence). Expired user actions only take place if and when a caller with an expired account attempts to log in to your BBS--no action is taken if such a caller never calls back. 15 -- Default Login Greeting This switch enables or disables the default "greeting" message that is displayed when a caller logs in to your BBS. The default message includes the date and time, the name of the last caller, and the caller's last login date. If you disable the default greeting, you may provide your own greeting by creating a text, ANSI or RIP file named "GREETING" in the system text directory (use TXT, ANS or RIP file extensions as appropriate). 16 -- Max File Description Size This line defines the maximum length (in lines) of file descriptions that can be entered when uploading a file. The default size is 10. 17 -- Allow High ASCII Chars High ASCII characters--those in the range 128 through 255--normally aren't permitted to be part of a caller's name. If you want to allow high ASCII as 17 Configuration part of caller names, set this switch to "Yes". This options is most useful if you expect to have non-English speaking callers. 18 -- Allow User Name Completion "User Name Completion" means that Searchlight looks for partial matches when you type an incomplete user name as part of an email address or other name lookup. For example, if you enter the text "JOHN DAV", Searchlight might select a caller named "JOHN DAVIDSON". As user name completion is very convenient; "Yes" is the default setting here. You can disable name completion by setting this option to "No". If you consider your caller list to be private information, you may wish to disable name completion in order to keep caller names more secure. 19 -- Allow Mail Carbon Copies Searchlight's Carbon Copy feature allows you and your callers to send the same email message to multiple recipients with a single command. If you wish to disable carbon copy capabilities, set this option to "No". 18 Configuration Searchlight BBS Communications Setup 1. COM Port Number .................... 1 2. Modem Type ......................... High Speed 3. Locked Baud Rate ................... 19200 4. Hardware Flow Control .............. On 5. Speed Detect Method ................ Modem Msg 6. Minimum Connect Speed .............. 1200 7. Output Buffering Factor ............ 32 8. Buffer Door Programs? .............. Yes 9. Modem Init String .................. AT&C1&D2&K3! 10. Local Init String .................. ATH1! 11. COM Port Setups [...] The modem setup screen is very important. Please read the following information carefully. Additional information about modems can be found in Appendix D, Modem Configuration, later in this manual. In most cases, Searchlight can configure these communications settings for you. See Automatic Configuration below. 1 -- COM Port Number This controls which communications port, 1 through 4, will be used to communicate with your modem. Make sure you set this option to the correct value for the modem in your system. If you have no modem or serial port, you may give a value of zero; this prevents Searchlight from attempting to initialize or otherwise access a modem and allows you to run the system in local mode only. o The COM Port number is really an index into a table of communications ports, which you can customize by using the COM Port Setup option in line 11. If you are using a port other than a standard COM1 or COM2 port, you'll probably need to customize your port setup; see below. 2 -- Modem Type Searchlight groups modems into four general categories. If your modem's maximum speed is 300, 1200 or 2400 baud, toggle Modem Type to the corresponding setting. If your modem's maximum speed is higher than 2400 baud, set Modem Type to "High Speed". The High Speed setting covers all modems faster than 2400 baud, including all modems that provide error correction or data compression. o If you have a high speed modem, pay particular attention to lines 3 and 4 in order to get maximum performance from your modem. 3 -- Locked Baud Rate This field can be used to select a fixed baud rate of up to 115,200 baud for use with high speed modems that allow a fixed baud rate. When a locked baud rate is selected, that baud rate is used for all communications with your modem regardless of the actual baud rate used by a remote caller. 19 Configuration If you use a high speed modem, set Locked Baud Rate to the lowest speed that's faster than your modem's fastest speed. For example, if your modem's fastest speed is 14,400 or 16,800 baud, set Locked Baud Rate to 19,200. If your fastest modem speed is 28,800, set Locked Baud Rate to 38,400. If your modem is a 300, 1200 or 2400 baud model, set Locked Baud Rate to "None". 4 -- Hardware Flow Control Hardware flow control lets Searchlight perform I/O handshaking with your modem. Normally, hardware flow control is required when a locked baud rate is used and can be left "Off" for standard 300, 1200 or 2400 baud modems. Be aware that turning flow control "On" when your modem is turned off, disconnected, improperly configured of improperly connected can cause Searchlight to freeze during operation or behave erratically. o Locked Baud Rate and Hardware Flow Control should always be used together, and only with modems that support fixed baud rate (fixed DTE rate) with hardware handshaking (also called CTS handshaking). Be sure that your modem is properly configured for handshaking before you turn these options on. Most high speed modems require a modem command such as &K3 in the modem init string for proper operation. 5 -- Speed Detect Method This option determines how Searchlight will set the baud rate for a remote call. When set to Modem Msg the software will set the baud rate by the Modem Message method; that is, it expects the modem to send a message that says "CONNECT xxxx" (where xxxx is the baud rate) upon answering a call. Searchlight reads this message and uses it to set the baud rate. If this field is set to Key Hit, Searchlight will determine the baud rate via the Keystroke method. It will cycle through the defined baud rates until the caller presses the Enter key on the remote end. If you use this method, you must press the Enter key several times upon connecting with the BBS in order to establish the proper baud rate. Modem Msg is the default and preferred method. This topic is discussed further in Appendix D. 6 -- Minimum Connect Speed This field allows you to set a minimum allowable connect speed for your system. Callers who connect at speeds less than the minimum speed will not be allowed to log in or access your system in any way. Minimum Connect Speed applies only to the current node, and can be set differently for different nodes in a multiuser system. 7 -- Output Buffering Factor This value controls the size of Searchlight's output buffer during interrupt driven communications. The default value is 32. On slower systems, or when multitasking, setting the output buffering factor to a higher value increases the total speed of the system. Output buffering tends to place a larger interrupt overhead on your system; therefore, if you use multitasking or extensive background processing on your computer, 20 Configuration and you experience problems such as lost data over your communications port, set this value to a smaller number or 0. This option is strictly for "fine tuning" the performance of your BBS and it will not affect performance greatly in either direction. 8 -- Buffer Door Programs This option determines whether output buffering (if defined in option 7) remains in effect during execution of Door programs. In general, you should buffer door programs. However, be aware that buffering such programs can result in sluggish reaction to the ^C key if the Door program uses it to interrupt output. Also, if you have problems with door programs such as lost characters, try turning Buffer Door Programs off. 9 -- Modem Init String This field defines the string of characters that will be sent to your modem whenever Searchlight begins running or resets itself after completing a call. You can use this string to send whatever initialization commands your modem requires before being able to accept a call. Besides regular letters and numbers, there are two special characters that you can insert into the modem init string: ~ ... ! ... Note that it is important to end the string with a ! character if you want it to terminate with a carriage return keystroke. The ! can be used several times within the string, allowing you to send several commands to the modem. The init string is sent to the modem at the highest speed indicated in options 2 through 7. For many modems, it is essential that at least some command is sent to the modem after each call in order to initialize the modem to the proper transmission speed. Therefore, we recommend that you always have something in this field, even if it's just the empty modem command (AT!). The modem init string setting is provided to enable you to fine tune your modem's performance. In most cases, you can have Searchlight select a default init string by using the Automatic Configuration option outlined below. 10 -- Local Init String This string is similar to the Remote Init String, except that it is sent to the modem whenever you initiate a "local" logon to the system (by pressing the Enter key at the keyboard while the system is waiting for a call), or when the system goes off line to execute a scheduled event. In the above example, ATH1 is sent. This command places the phone "on hook", that is, it tells the modem to make the telephone line busy. This is very useful, since any users who attempt to call your BBS while you are logged on locally will receive a busy signal, rather than no answer. 21 Configuration 11 -- COM Port Setups To select this option, place the cursor on line 11 and press Enter, or click line 11 twice with your mouse. A new options screen appears which allows you to custom configure four communications ports for use with your BBS: 1. Port 1 Type ........................ Standard 2. Base Address ....................... 3F8 3. Interrupt .......................... 3 4. External Port Number ............... 1 Port Type The port type can have one of three values. Standard enables Searchlight to talk directly to a regular IBM compatible serial port, like COM1 or COM2, using built in communications drivers. FOSSIL lets Searchlight use a serial port defined by an external FOSSIL driver program. If your system contains a serial port which cannot be accessed directly by Searchlight, but which has a FOSSIL driver program available, you can access that port through its driver by setting the port type and External Port Number appropriately. It is usually not necessary to use FOSSIL drivers unless you want to use a non-standard device, like a multiport communications card. DigiBoard allows you to use a DigiBoard intelligent communications card. For more information about this setting, see Appendix H, Digiboard Installation and Use. Base Address & Interrupt Because there are no hardware standards for COM ports beyond COM2, Searchlight allows you to customize the hardware base address and interrupt for all com ports on your system. If you use ports other than the standard IBM compatible COM1 and COM2, find the base address and interrupts used by your ports in the hardware manuals that came with them, and input those values into these fields. If you run a multinode system on a single PC (using a multitasker such as DESQview), it is important that each node uses a unique interrupt and base address for its serial port. For example, many COM3 ports available actually use Interrupt 3 with a different base address than COM1. Such a serial port cannot be used simultaneously with your COM1 port since they share the same interrupt. When purchasing hardware to expand your system beyond COM1 and COM2, purchase serial ports that can be configured to use interrupt 2, 5 or 7. (Note: it is only necessary to supply base address and interrupt data for the COM port actually being used by a particular node). Base Address and Interrupt have no effect if you are using a FOSSIL or DigiBoard type or port. o Be aware that the standard base address and interrupt for COM1 is 3F4 and 4, and COM2 is 2F8 and 3. We suggest you do not alter these unless you have a specific requirement. 22 Configuration o If you do not know the hardware base address and interrupt of the serial ports on your system, run another application that uses those ports (like a terminal program) and check that software's configuration menus for the proper values. External Port Number When you use the FOSSIL or Digiboard port type, use this line to specify the actual physical COM port number you want to use. The value entered here is what is actually sent to the FOSSIL or Digiboard software driver to indicate which port should be used. The External Port Number has no effect when using Standard port types. 23 Configuration Automatic Modem Configuration In most cases, Searchlight can automatically determine the correct settings for your modem by testing your modem's capabilities. If you're not sure of the best settings for your modem, use Automatic Modem Configuration to find out. Before you can run Automatic Modem Configuration, your modem must be connected and turned on, and the COM Port Number must be set correctly. To start the process, press F1 or click the "Automatic Modem Configuration" title bar at the top of the Communications Setup screen. After confirming your choice, Searchlight will begin testing your modem. The process takes 30 to 60 seconds. Upon completion, Searchlight will display its recommended settings. For example: The recommended settings for your modem are: Modem Type ............... High Speed Locked Baud Rate ......... 19200 Hardware Flow Control .... On Speed Detect Method ...... Modem Msg Modem Init String ........ ATH0M0&C1&D2W2S0=1N1&K3! Local Init String ........ ATH1! Do you want to install these settings? Yes No Select "Yes" if you want to accept Searchlight's recommendations. If you do, the Communications Setup screen will automatically be updated with the settings shown. Select "No" if you do not want to install the proposed changes. If you use a high speed modem, Searchlight will prompt you to select a locked baud rate. You should select a rate at least as fast as your modem's fastest speed. If you have any problems with modem configuration which cannot be resolved through the Automatic Modem Configuration option, refer to Appendix D for more detailed information. 24 Configuration Searchlight BBS Pathnames Setup Menu 1. Primary Program Path ............... C:\BBS 2. Alternate Program Path ............. 3. Data Files Path .................... C:\BBS 4. Text Files Path .................... C:\BBS\TEXT 5. Include Files Path ................. 6. Mail Files Path .................... 7. Default Log File ................... 8. Activity Log Filename .............. ACTIVITY.LOG 9. Files Log Filename ................. FILES.LOG 10. Default Passwd for Uploads ......... 11. DOOR Parameters Filename ........... 12. Chat File Path ..................... C:\BBS 13. Primary Menu Path .................. C:\BBS\MENU 14. Alternate Menu Path ................ 15. File Attach Path ................... C:\BBS\ATTACH 16. RIP Icons Path ..................... C:\BBS\ICONS These options select path and filenames that Searchlight will use when accessing your disks. Flexible pathname selection is provided so that you may make the best use of available disk drives. If you just installed Searchlight, these fields will contain the proper values for your system. We recommend that you do not alter any of these fields until you are familiar with the field's function. 1 -- Primary Program Path This option determines where Searchlight will look for its executable (.EXE) files, overlay (.OVR) files, and the DEFAULT.LNG file. If no pathname is given, it defaults to the current directory. Use this field if you wish to have some or all your program files located on a different drive or directory than your data files. You can use this option to place your .EXE files into a high-speed RAM-disk for faster access. 2 -- Alternate Program Path If an executable file can't be found in the Primary location, Searchlight looks to this path for the file. For example, if you use a high-speed RAM disk as your primary program path, but not all of your program files fit on the ramdisk, store the most important ones there and store the rest in another location specified by the Alternate program path. We recommend storing the following files in a high speed disk drive (as specified in your Primary path) if available: BBS.EXE, BBS.OVR, BBS.INT; DEFAULT.LNG; and LOGIN.EXE. The remaining EXE files are not accessed directly by Searchlight and would not benefit by being placed in high speed storage. 25 Configuration 3 -- Data Files Path This option provides the path that the system with use to access its data files (all files ending in .SL2 and .DEF, except for CONFIG.SL2 and EVENT.DEF, which are always located in the current directory). On multiuser systems, you use this option to create multiple nodes which reference the same database (see the following pages for additional multinode setup information). 4 -- Text Files Path The Text Files path is the directory where Searchlight will look for all of its text files. These include the user-defined login and info files, subboard and file directory signon messages, help files, and any files referenced in messages via the @@FILENAME directive. Note: Text files ending in "DEF" (i.e. EVENT.DEF) should be located in the current or data file directory, rather than the text directory. o For security reasons, we recommend that the Text directory be different from the current directory and the Program File path. This is because the @@FILENAME command can access any file in the text path, and can lead to unwanted access to system or other private files (@@FILENAME is discussed further in the Text Editing section of this manual). 5 -- Include File Pathname This pathname allows you to specify a directory which the callers of you BBS can access for the purpose of "including" text files in messages (via the "%%FILENAME" directive, as discussed in the Text Editing chapter). Normally, if you use this pathname, you'll also have a file transfer directory set to the same path. See File Transfer System for more details. 6 -- Mail Files Path The directory specified by this path is used for mail logging. The mail logging option, which can be turned on or off for each user in the system (via the 2-Sysop/Options command), provides an automatic log of all mail sent and received by users who have mail logging enabled. Searchlight stores each user's mail in a separate file; these files will have filenames created by a concatenation of the user's first and last name (for example, SYSOP.LOG or FLAROSA.LOG). The mail files path is where these files will be written. If no mail file path is given, it defaults to the current path when Searchlight is loaded. 7 -- Default Log File Default Log File is a default name that will be shown whenever a log (ALT- L) or forward to disk operation is selected. A default name is not required, and is only a convenience that allows you to log messages and information to one file without having to enter its name each time. 26 Configuration 8 -- Activity Log Filename 9 -- Files Log Filename These options provide the filename, and optionally drive letter or pathname, for the text files which will hold your system's activity logs and files system logs. As shown above, the default filenames are ACTIVITY.LOG for the login activity logs and FILES.LOG for the files system log. These filenames can be changed (or redirected to devices such as PRN) if desired. No logging takes place if these filenames are left blank. Note that by default, each node on a multinode system will generate a separate set of log files for each node (located in each node's home directory area). 10 -- Default Passwd for Uploads This field, if filled in, defines a default password that will be assigned to each new file that is uploaded to your BBS via the File Transfer system. The purpose behind having a default password is to allow you to have control over new files. Once a file is uploaded and assigned the default password, no one will be able to download the file until you remove the password, thus giving you the opportunity to check each new file before you allow it to be downloaded by your callers. o Most sysops leave this field blank, allowing all new files to be downloaded without having to be cleared. If you do set this field, remember that you, or a co-sysop, must reset the passwords on all new files before they can be accessed (see File Transfer System for more information). 11 -- DOOR Parameters Filename This field can be used to set the filename, including drive and/or path, of the PCBoard parameter file created by the Doors system when an external program is run. The Door Parameters File is a file containing information about your BBS that can be accessed by an external program; it is provided primarily for compatibility with PCBoard door programs. The format and use of this file is discussed further in the Doors Subsystem section of this manual. o This field should specify a full filename, like "C:\SLBBS\PCBOARD.SYS", not just a path. If you leave this field blank, no parameter file is generated. 12 -- Chat File Path This option determines the drive and path where the file CHAT.SL2, used to hold the messages transmitted via the system's internode chatting facility, will be created. Since the messages in this file are short and of a temporary nature, and since the chat function accesses this file frequently, we recommend that you create a small RAM-disk or other high speed drive in your system for the purpose of containing this file, in order to maximize the speed and efficiency of the chat system. Chat File Path has no effect in single user installations. o Unlike Searchlight's other data files, CHAT.SL2 need not be present in the designated path when the system is started, and will be created if not 27 Configuration available. Thus, you will not need to back-up or copy CHAT.SL2 to or from temporary disk drives each time your system is reset. 13 -- Primary Menu Path 14 -- Alternate Menu Path These fields specify the path where Searchlight will find its menu files. Menu files are the external files (ending in .MNU) that describe the menus used by the system. When you install Searchlight, the default menus are loaded onto your system and the path where they are located is placed in the Primary Menu Path field. If you wish to change the location your menu files, type the new location here, after moving the MNU files to the correct path. When both a primary and alternate menu path are provided, Searchlight first checks the primary path when attempting to load a menu file. If the file is not found in that directory, then the alternate path is used. This allows you to create alternate menus for a particular node without providing two different copies of all your menu files. o Notice that when you run the CONFIG program and select the Menu Editor option, only those menus in the Primary menu path are displayed. In a multinode system with several menu paths, switch to the home directory of the desired node in order to edit its menus. 15 -- Attach File Path This path points to the directory where Searchlight will store binary files that are "attached" to messages. If you wish to use the file attach feature on your BBS, you should create a new directory for attach files and fill in its path here; if you have a multiuser system, specify the same path on all your nodes. It is recommended that you do not use your attach directory for anything other than binary file attachments. 16 -- RIP Icons Path If you create RIP graphics menus or artwork using a drawing program like RIPaint--and if your RIP files use icons--use this line to specify the path to where your icon files are stored. Searchlight needs to know where your icons are located if you run your BBS in RIP mode (graphics mode) locally. If you don't use RIP icons or if you don't run in RIP mode locally, you can leave this field blank. Relative Versus Absolute Pathnames As absolute pathname is a pathname that contains a drive letter and begins at the root directory. A relative pathname is one which begins at the current directory or omits a drive letter. For example, a pathname such as "C:\SLBBS\TEXT" is absolute; whereas "SLBBS\TEXT" is relative. We recommend that you use only absolute pathnames when configuring Searchlight BBS. The reason for this is that some Searchlight BBS programs and utilities can run from outside your "home" directory, and therefore will require absolute pathnames to locate your data files. This is 28 Configuration especially true for multiuser systems, and systems which run in a local area network environment. If you do run a LAN, we further recommend that you use the same drive letters on each workstation to refer to the drives on which your Searchlight files are stored. Otherwise, nodes on other workstations may not be able to locate message subboards, file directories and Doors defined in the Node 1 directory. Searchlight BBS Protocol Setup Menu Searchlight BBS provides a total of 15 "slots" for the designation of file transfer protocols. Protocols can be either internal (supplied by Searchlight BBS) or external. An external protocol is a program which is capable of transferring files to or from a remote system via modem. Typically, such programs are written to be used from the DOS command line or as part of a BBS like Searchlight, where they can provide new transfer protocols such as Ymodem, Kermit, Bimodem, etc. in addition to Searchlight's built-in protocols. Each protocol consists of a name (which is displayed by the Files system), a type, and for external protocols, a send command and a receive command. To add or change a protocol, select one of the protocol slots from the list of 15 possible slots displayed by the Protocol Setup menu. Searchlight will display a setup screen with these options: 1. Protocol Name ...................... Zmodem 2. Protocol Type ...................... Zmodem 3. External Send Command .............. 4. External Receive Command ........... In line 1, enter the name of the protocol. Line 2, Protocol Type, selects whether a particular protocol is an external protocol (like DSZ) or one of Searchlight's built in protocols. The built in protocols include Xmodem, Xmodem/CRC, Xmodem/1K, and Zmodem. To select which type of protocol you want, toggle this line to the appropriate value. For internal protocols, no further action is necessary. For external protocols, you need to supply the appropriate commands needed to implement that protocol on your system. In general, commands should include the full pathname to the DOS file containing the command to execute, including the COM, EXE, or BAT file extension. Searchlight metacharacters can be used to provide information such as baud rate, COM port, etc. on the command line (see Doors Subsystem, page 172, for more information on metacharacters). Where external protocols that require filenames on the command line, two special parameters, "%F" for single filenames and "%W" for wildcards, can be used to specify the filename(s) to send or receive when these programs are invoked. Protocols which support the use of an indirect file can specify it on the command line as "@Filename". Press ESC when done. To review or change external protocol setups later, just select the protocol you wish to view or edit from the External Protocol setup screen. 29 Configuration Please consult External Protocol Setup in the File Transfer System section of this manual (page 130) for further details and examples of external protocol command lines. o Notice that lines 3 and 4 apply only to external protocols, and are ignored unless "external" is selected as the protocol type in line 2. 30 Configuration Searchlight BBS Screen Colors Setup 1. Normal Text Color .................. Blue 2. Normal Background Color ............ Black 3. Inverse Text Color ................. White 4. Inverse Background Color ........... Blue 5. Command Color ...................... Magenta 6. Subboard Highlight Color ........... Yellow 7. Heading Color ...................... Lt Cyan 8. Input/Chat Mode Color .............. Green 9. Prompt Color ....................... Lt Magenta 10. Special Messages Color ............. Red 11. Error Messages Color ............... Lt Blue 12. Alternate Color .................... Magenta The sixth selection on the Setup menu is used to set screen colors. When a color CRT is used, Searchlight can display up to ten different foreground and two background colors, selected from a palette of 16 colors. The colors you enter into the above fields are used when run on a computer with a color display, or when color mode is selected by a remote terminal. In order to see the colors, the remote terminal must have a color CRT and it must recognize the ANSI escape sequences used to create colored text (the specific ANSI sequences used to create each of the above colors can be found in your DOS manual). Normal Background Color (field #2) affects only the background color of the local PC. The background color of the terminal is always black, except when highlighting input fields. Searchlight is capable of supplying color or monochrome text to the remote terminal independently of the local PC. That is, if the local PC (the computer running the Searchlight BBS Software) has a color CRT, but the logged-in user selects Monochrome graphics, color will still be displayed on the local screen, even though only monochrome codes are being sent to the terminal. Similarly, if the system is run on a Monochrome display, only monochrome graphics are sent to the screen even though color graphics are being sent to the terminal. Note that while the colors sent in Color mode can be adjusted, the monochrome mode is fixed and will always appear the same regardless of the colors selected for Color mode. If you don't own a color display, it is suggested that you leave the colors set to their default values. Experience has shown that it is difficult to estimate how a particular color combination will look without actually viewing it on a color CRT. o This screen defines only the colors used in plain text mode, such as when Searchlight is communicating with an ANSI terminal. In RIP graphics mode, Searchlight uses additional colors configured in the RIP Styles Setup portion of the config program. For more information, please see RIP Graphics beginning on page 212. 31 Configuration Searchlight BBS AutoDoors Setup The AutoDoors setup screen lets you specify "automatic doors", or door programs which execute automatically rather than on command as regular doors are used (see Doors Subsystem later in this manual for more information about door programs). Four AutoDoor settings are provided: New User AutoDoor, Login AutoDoor, Logoff AutoDoor and Upload AutoDoor. The Login and Logoff AutoDoors, if specified, execute automatically when a caller logs in or logs off. The New User AutoDoor executes immediately after a new caller registers with your system. Upload AutoDoor is a function that executes after any upload of a file to your BBS. Typically, it's used to scan uploaded files for viruses, repack files into selected formats, and so on. Please see File Transfer System later in this manual for more information. 1. Command ............................ 2. Directory Path ..................... 3. Communications Support ............. None 4. Abort Method ....................... None 5. Write Protection ................... No 6. Parameter File ..................... None 7. Pause After Door ................... No 8. Pass Username As ................... Real Name The parameters for AutoDoors are very similar to the parameters used in regular doors; please see the Doors Subsystem section of this manual for more information. Here is a brief summary: 1 -- Command This is the command name used to start the AutoDoor, including any command line parameters or Searchlight metacharacters necessary to start the program running. Programs other than batch files or DOS commands should include the .COM or .EXE extension on the program filename. 2 -- Directory Path This parameter specifies the directory which will be made active before the AutoDoor command is executed. If you wish to remain in the current directory, specify "." for this parameter. 3 -- Communications Support For this field, specify BIOS or DirectVideo if the AutoDoor does not provide its own RS232 serial support, None if it does. Force-Color may be used to force a program which uses color to run in color mode on a monochrome system. 32 Configuration 4 -- Abort Method This field specifies the action to take if a carrier loss is detected during the execution of the door. Select "Terminate" for a normal program exit, "Reboot" to reboot the computer, or "None" to take no action in case of a carrier loss. 5 -- Write Protection A value of "Yes" forces software write protection of all drives during the execution of the door. You must use "No" for any program that needs to write to disk. 6 -- Parameter File This option lets you create a "drop" file, such as a DOOR.SYS file, for use with this door program. 7 -- Pause After Door If set to Yes, Searchlight will pause with the "Press any key to continue" prompt after running the door. 8 -- Pass Username As If you allow alias names on your BBS, use this field to determine whether real names or alias names are passed as parameters to this door. This option affects doors that use the %N and %U parameters. For more information on this topic, see Alias Names beginning on page 186. o You can also set up programs to auto execute during Searchlight's login or logoff sequence, or at other times, by adding the commands directly to Searchlight's menus. See Menu Editor later in this manual for more information. 33 Configuration Searchlight BBS Function Attribute Setup 1. Forward Messages ................... 2. Internode Chatting ................. 3. Editor Text Quoting ................ 4. Private File Attach ................ 5. Public File Attach ................. 6. Create Alias Name .................. 7. Change Alias Name .................. 8. Internet Mail Originate ............ 9. Internet Mail Reply ................ This CONFIG program selection lets you regulate, by security attributes, several important functions. 1 -- Forward Messages This field regulates the ability to forward messages. Forwarding messages means being able to copy a message from one place (such as a subboard or a mailbox) to another place, via the Other/Forward command. If you want to restrict this activity, specify security attributes here. Only callers who have all of the attributes listed here will be able to forward messages. 2 -- Internode Chatting If you want to regulate the use of internode chatting, place specific attributes here. Only callers who meet these attribute requirements will be considered available and able to use chat functions. o This field actually controls the prompts that appear during the login sequence, and access to the "Chat" command from the message disposition line. The main "Chat" command (on the main menu) is regulated separately (you need to use the menu editor, described later in this manual). In most cases you will want to make sure that the attributes listed here match the ones listed in the main menu. 3 -- Editor Text Quoting Text Quoting means the ability to copy the contents of a message into the editor screen when making a reply to that message, via the F4 or ^KG command sequence. If you wish to regulate who has the ability to perform such quoting, list the desired attributes here. 4 -- Private File Attach This setting determines whether a caller is able to "attach" binary files to private messages (i.e. Mail messages). If the caller has sufficient attributes, and a File Attach directory is defined (see p. 28), then file attachment is permitted. 34 Configuration 5 -- Public File Attach This field is similar to field 4, except it defines the attributes required to attach files to public messages (any message entered into a conference or bulletins). Many operators will prefer to allow callers to attach binary files to private messages but not public messages. To accomplish this, set appropriate attributes here (or type "ALL" to prevent any caller from attaching a file to a public message). 6 -- Create Alias Name 7 -- Change Alias Name These options describe the security attributes needed for a user to assign herself or himself an alias or alternate user name. Here's how they work: if a user meets the attribute requirements listed for "Create Alias Name", and does not already have an alias name, they can create an alias for themselves by entering one on the Options/Info screen. The "Change Alias" setting determines whether a user with an existing alias can change that alias later on, again using the Options/Info screen. If you would like your users to be able to change their alias name at any time, enter an appropriate list of security attributes here. If you wish users without alias names to be able to enter an alias, but don't want them to be able to change it in the future, the best way to do this is to set "Add Alias Name" to blank, and "Change Alias Name" to ALL or a similar high access level. This allows your current users to add alias names without giving them the opportunity to change their name in the future. Searchlight warns the user that this is the case, and provides an "Are You Sure?" prompt before accepting their alias name. 8 -- Internet Mail Originate 9 -- Internet Mail Reply These options control whether your callers can enter messages with internet addresses. Line 8 defines attributes required to originate a new message to an arbitrary internet address--callers who meet these requirements are able to type a new message to any internet address. Line 9 defines attributes required to reply to an internet message. Callers who don't meet the requirements of line 8, but do meet those in line 9, will not be able to send new internet mail but will be able to reply to mail addressed to them. o To participate in internet, you need an optional internet connectivity software package. Contact Searchlight Software for more information. o Searchlight BBS provides much more extensive customization of main menu and submenu functions using the Menu Editor, which is described in more detail beginning on page 144. 35 Configuration Default Access Level Setup This configuration option lets you define up to 12 default access levels. Although each user in a Searchlight BBS system can be individually assigned access levels, time limits, attributes and so forth, often you will want to group sets of these items together into default groups. For example, you may have default groups for New Users, Validated Users, Adult Users, Members, and so forth. Default Access Levels gives you a way to predefine the parameters for these groups and quickly assign them to individual users. The first two items on the Default Access Levels menu are predefined as "New User" and "Validated User". Although you can change the name and definitions of these access levels, Searchlight will always assign access level "A" to new users, and will always assign "B" to users when you press the ALT-V (validate) key. To define a new access group, go to the first unassigned selection and press Enter. The following menu items appear: 1. Name ............................... 2. Message/Doors Access Level ......... 2 3. Files Access Level ................. 2 4. Security Attributes ................ ABC 5. Download:Upload Ratio .............. 3 6. Daily Time Limit ................... 40 7. Session Time Limit ................. 40 8. Days Until Expiration .............. 365 1 -- Name This field defines a descriptive name for the access level. This is the name that appears when you use the 2-Sysop/Validate or Other/Validate commands from Searchlight BBS. 2 -- Message/Doors Access Level This field is the numerical access level (from 0 to 255) that is used for access to message areas and Doors. In Searchlight BBS, access levels and security attributes work together to define which users have access to particular features. In order for a user to access a subboard, for example, that user must have at least the access level required to access that subboard, and all the security attributes required for it. (You determine what those requirements are when you create the subboard). The only access levels which have absolute meaning in Searchlight are levels 254 and 255, which define cosysops and Sysops respectively (Sysops and cosysops have general access to all features on the system). 3 -- Files Access Level This field defines the user's access level in the Files section of the BBS. 36 Configuration 4 -- Security Attributes Security attributes are letters from A to X which work in conjunction with access levels to provide a more flexible level of regulation. Security attributes are non-hierarchical in nature: whereas an access level of 100, for example, grants a user all the privileges of access levels 0 through 99, security attribute 'X' does not automatically grant a user access to attributes 'A' through 'W'. Security attributes can be thought of as individual "keys" that a user most possess in order to open (access) a particular item on your BBS (that item can be a subboard, file directory, Door, or a command, like POST). Suppose a particular item has "locks" (attributes) A,B and C associated with it: then in order to "unlock" that item, a user must have keys A,B and C. A user who has, for example, keys B and C, but not key A, can't use the item, even if the user has many other keys. Security attributes give you the ability to mutually exclude groups of users from areas of your BBS. For example, if one group of users has attribute "A" only and another, attribute "B" only, no users from the first group will have access to subboards that have the "B" attribute, and none from the second group will have access to subboards with the "A" attribute. Of course, if you might wish to assign some user attributes A and B, in which case that user would have access to both areas. o Keep in mind that you can define security levels using any number and combination of the 24 attribute levels. You're not limited to 24 security levels: the actual number of combinations available is in excess of 16 million. 5 -- Download:Upload Ratio This field defines a user's maximum downloading privilege as a ratio to the amount of data uploaded. For example, a value of 2 in this field would mean that the user could download twice the amount of files uploaded. Ratios are computed from the total amount of KBytes uploaded and downloaded, without regard to the actual number of files transferred. For greater control over uploading and downloading, you can also define a downloading "grace period" for new users, and value multipliers to individual directories. See File Transfer System for more information. 6 -- Daily Time Limit This field defines the user's maximum daily time limit in minutes. Values can range from 0 to 1440 (the total number of minutes in one day). 7 -- Session Time Limit This field defines the maximum amount of time a user may spend in any one particular session (log-in). Values can range from 0 to 1440 minutes. Note that the value in this field means something only if Session Time Limits are enabled (see General Setup Menu #2). 37 Configuration 8 -- Days Until Expiration This field defines the number of days until the account "expires". Actually, this number is used to compute an expiration date for the user account. The expiration date is set by adding this number of days to the current date when validating the user, or to the current expiration date if one exists for that user. o Expiration dates are used only if they are enabled (see General Setup Menu #2). 38 Configuration Pitfalls And Errors Searchlight 4.0 requires a minimum of 350K of free memory to operate. If you are upgrading from an earlier version of Searchlight in which less than 350K of RAM was allocated to any node, you will need to rearrange your system resources to allow at least 350K for each Searchlight 4.0 node. If you receive error messages such as "Error 203" or "Program too big to fit in memory" when you attempt to load Searchlight, it usually indicates that there is insufficient free memory for Searchlight to operate. Your exact memory requirements will depend somewhat on your system configuration, primarily on the number of message and file areas you have defined. Searchlight's memory status line can help you determine the exact amount of memory you need. While Searchlight is running, press the F8 key three times to see the memory status display. If either number drops below 5000, you may need to allocate more RAM to Searchlight. Searchlight opens and manages many files, and therefore uses more file handles than the average program. In order to accommodate this, we recommend that you use the command FILES=30 in your CONFIG.SYS file (located in the root directory of your boot drive) for single node systems. For multinode systems running under DESQview--or for systems running large TSRs like network drivers--allocate at least 25 files per node. If you encounter problems such as inability to access subboards, file areas, or menus, or if you receive "Error 004" or "Error 103" messages, you should try increasing the FILES= value in your CONFIG.SYS file. Lack of available file handles is one of the most common causes of problems that involve opening and accessing files. If you encounter a message that says "Error Loading Menu" when you first start Searchlight 4.0, it's probably because the Menu Files Path set in Pathnames Setup is incorrect, or points to a directory which does not contain your menu (MNU) files. If you upgraded a multiuser system from Searchlight 2.15 to 4.0, you need to update each node's CONFIG file with the menu file path. If you still get this message after confirming that the menu files have been installed and their path properly specified, increase the FILES= value in your CONFIG.SYS file. 39 Configuration Overlay Setup Searchlight's main executable file, BBS.EXE, uses an overlay file. The overlay contains additional program code which is loaded from disk to memory as a program runs. Overlays are primarily used to reduce the amount of memory that Searchlight requires to run, in exchange for some loss of execution speed as modules are loaded from disk. However, if your computer contains ample memory, you can increase Searchlight's execution speed by allocating a larger overlay buffer area, or loading the entire overlay file into expanded memory. A text file called BBS.INT is used to adjust these options. If you have conventional memory available, you can improve Searchlight's execution speed by increasing the overlay buffer area within the program. Edit the file BBS.INT with a text editor and locate the line containing a decimal number: this is the overlay buffer size in bytes. The minimum buffer size is 25,000 bytes. Since Searchlight requires approximately 350K of conventional memory to run, any available memory you have beyond 350K can be used to expand the overlay buffer. The maximum buffer size you should use is the size of the overlay (OVR) file. If you have expanded (EMS) memory available, Searchlight will load the entire overlay file into EMS, which is much faster than loading overlays from disk. You enable this option simply by typing the command "EMS" in the BBS.INT or FILES.INT file. If insufficient expanded memory is available at runtime, Searchlight will not load its overlay into EMS but will continue to operate by reading it from disk. You can examine the actual size of your overlay buffer, EMS usage and available free memory anytime SLBBS is loaded by pressing the F8 key several times until a memory status line appears at the bottom of your screen. Use the memory information to determine the available resources on your system and make appropriate adjustments to your INT files. 40 Configuration Text Files Setup Searchlight provides you with a way to customize your BBS by defining your own messages that will be displayed by various parts of the program. You can define a "greeting" message that will be shown to all users when they connect with your system, a message to be shown to new users, a general information message, etc. In addition, you can set up separate messages for RIP, ANSI and non-ANSI terminals, or use the same message for all. Setting up text files is not required, but most people will want to do so before running their system. If you're in a hurry, you can skip this section of the manual and set up your text files later. The messages you define will be saved in files. To write them, you must use a word processor or text editor that can write standard ASCII files to disk. You can use the Searchlight's built-in text editor for this purpose, provided that it is adequate for the files you intend to produce. Files that end in .TXT are standard text files. These should contain only ASCII text. The standard text file will be used when ANSI graphics capability is not selected. Files ending in .ANS are ANSI files. These can contain ANSI escape sequences, as well as IBM character graphics (i.e. eight-bit character codes). The ANSI version of the file is used when ANSI graphics are enabled. Files ending in .RIP are RIPscrip files; RIPscrip is a special terminal protocol that encompasses ANSI but includes graphics primatives, fonts, icons and other feautres. RIP files are displayed only if Searchlight detects RIP compatibility on the remote terminal. For more information about RIP files and RIP graphics, see page 212. You do not need to create three versions of a file if you don't wish to send separate text to RIP, ANSI and non-ANSI users; simply create one file with the TXT extension, and it will be used in all cases. All text files should be located in the text directory, as defined in your configuration file. The following files are defined: LOGIN (.TXT/.ANS/.RIP) This file is displayed immediately after the "Select Graphics" prompt during the login sequence. It normally contains a welcome message with the name of your BBS, etc. NEWUSER (.TXT/.ANS/.RIP) This file contains information for new users. It is displayed when someone logs in as NEW and attempts to register their name. You can use this file to communicate any requirements or rules to new users of your system. Each user sees this file only once, when first registering with the BBS. GREETING (.TXT/.ANS/.RIP) This file replaces the default login greeting message, if "Default Login Greeting" is disabled (see General Setup Menu #2). 41 Configuration INFO (.TXT/.ANS/.RIP) The "info" file can be used to enter a short description of your system. It is displayed whenever the INFO command is used. FILES (.TXT/.ANS/.RIP) This text file is displayed whenever you enter the FILES system. Use it to provide news and information about your file transfer directories. LOGOFF (.TXT/.ANS/.RIP) Similar to LOGIN, these files contain a short message to be displayed on the screen when a user logs off (disconnects). Default Subboard Entry Messages For each message subboard, you can define a text message that will be displayed upon entry to the subboard. To define a message for a subboard, create a file using the name of the subboard and the extension .TXT, .ANS and/or .RIP. For example, the files GENERAL.TXT GENERAL.ANS GENERAL.RIP would contain text messages to be displayed upon each access to subboard 'GENERAL' (the .TXT file is displayed if ANSI graphics are not selected, the .ANS file is displayed if they are, and the .RIP file only if RIP mode is enabled). You don't have to define text messages for any subboard. If no message file exists, no message is printed upon entry to that subboard. Default File Directory Messages You can define a default text message to be displayed upon each entry to a file directory in the FILES section of the BBS. To do so, create a text file with the directory's name followed with a .TXT, .ANS and/or .RIP extension. For example, if you have a directory called UPLOADS, the file UPLOADS.TXT would be used to contain the message to be displayed each time the UPLOADS directory is accessed. o Note that the file directory text messages should be in the text directory, as with the other text messages; not in the directory containing the uploaded files for that directory. Color Codes And Macros Searchlight supports a set of mnemonic, two-character color codes and macros that can be embedded into any message or text file used with the 42 Configuration system. For more information, see the section on Embedded Macro Codes later in this manual. Events In addition to "Door" programs, which can be set up to run on-demand from the BBS system's menus (see Doors Subsystem later in this manual), Searchlight supports automatic or timed events. An event is a program, DOS command, or batch file that executes automatically at a certain time and date, usually late at night when the system is unattended. You can create automatic events that happen once or events that execute on a daily, weekly, or monthly basis. For a full explanation of events, refer to Appendix C, Automatic Events. Menu Editing Searchlight has a full featured menu editing system that allows you to modify or replace the menus that are included with the package. You can't modify the Config menus described in the previous section, but you can examine and change most of the menus that appear in Searchlight BBS itself, and you can create new menus. For more information, see page 144. RIP Graphics Features Searchlight BBS contains a host of RIP graphics features, including a RIP graphics menu designer and a styles editor that lets you choose colors and other syles for the displays that are generated in RIP mode. For more information, please see RIP Graphics beginning on page 212 of this manual. 43 Multinode Setup Multinode Setup With multiuser versions of Searchlight BBS, you have the capability of setting up two or more "nodes". Each node runs as a separate task or on a separate PC (using a local area network), but accesses a common set of data files, thus enabling you to have two or more people logged in to your bulletin board at the same time. To run a multinode Searchlight, you need two things: a multinode version of the SLBBS software, and a multitasking operating system. Multitasking systems are programs that allow you to run two or more programs at the same time on your PC, or allow two or more PCs to access the same database of files (as in a local area network). Common systems are DESQview, OS/2, Lantastic, and Novell After installing your system for a single node (Node 1), follow these steps to bring additional nodes online: [1] Each additional node you set up requires its own directory and its own copy of the CONFIG.SL2 file. You do not need to copy any other files. To create node #2, make a second BBS directory and copy your existing CONFIG.SL2 file into it; for example, at the DOS prompt enter MKDIR C:\BBS2 COPY C:\BBS\CONFIG.SL2 C:\BBS2 Before copying the file, you should check to make sure that complete pathnames are specified in the Pathnames Setup portion of the CONFIG program. Repeat the process for each additional node, using C:\BBS3, C:\BBS4, etc. [2] Each node must be assigned a unique, sequential node number. To do the setup, you run the CONFIG program for each node, including the original node. Since CONFIG looks for the file CONFIG.SL2 in the current directory when it runs, you must switch to each node's directory, run CONFIG, set the required options, then exit CONFIG and go on to the next node. To configure node 2's options, you might type this: CHDIR C:\BBS2 C:\BBS\CONFIG Notice that we typed "C:\BBS\CONFIG" as the command to run the CONFIG program; this is because CONFIG.EXE no longer resides in the current directory. However, you can avoid having to type an explicit pathname if you use DOS's PATH command to set the search path to the directory containing the Searchlight program files (see your DOS manual for further assistance). [3] Select the first CONFIG item, General Setup Menu #1. The screen will show the last two menu items as follows: 5. Node Number ........................ 1 6. Number of Active Nodes ............. Each node should be assigned a different node number. Use 1 for your original node, 2 for the second node, etc. In addition, each node must know the total number of nodes in your system. If you will be running a two-node 44 Multinode Setup system, for example, each node must have item #6 set to 2. If you add or remove nodes, each node's CONFIG file must be updated. [4] Each node on the same machine must access a separate serial port. Be sure to configure the "Communications Setup" parameters correctly. If you will be running one or more nodes in "local" mode only, set the COM Port to a value of 0. Each node can have its own separate baud rates, modem init strings, COM port setups, etc. [5] Each node, with the exception of the original node, must be programmed with the appropriate program pathname and data pathname in order for it to locate and use the original node's files. To do this, execute the CONFIG program and select item #D, Pathnames Setup. As an example, if your original node is in C:\SLBBS, you would set up your additional nodes as follows: 1. Primary Program Path ............... C:\SLBBS\ 3. Data Files Path .................... C:\SLBBS\ In addition, you will want to update text, mail, include, and log file pathnames if necessary. Also, be sure that the "Chat File Path" option is set to the same value for each node; this will enable users to communicate using the chat facility (see additional information about the Chat File Path in the preceding configuration instructions). [6] To begin running a node, change to the node's directory and execute the SLBBS program. Again, you should set a search path to your program directory or give the full pathname to SLBBS.EXE. Each node must be started up separately (your multitasking system or network should already be in place, enabling you to start two or more processes running at once). Multinode Operation Here are some notes and tips on running in the multinode environment: o When logged in to a particular node, you can use the Who command from the main menu to see the names of users logged on to other nodes. A user cannot be logged on to more than one node at a time. The login program will reject you if you try to log in and your name is already active on another node. If two or more users attempt to save, delete, or edit messages at once, the system will process the requests in order; as a result, you may have to wait several seconds for your request to be honored. This is normal. o File locking: If your computer crashes while one or more nodes are engaged in a disk-writing operation, the system may remain permanently "locked" in such a way that no node can save a message. If this happens, shut down all remaining nodes and reboot your computer(s). This will return your system to normal operation. Certain sysop commands (such as Subboard Repair facilities) should not be used while other users are on the system. You must shut down all nodes and leave them down while running these commands. 45 Multinode Setup o Use complete pathnames to designate directories in Searchlight BBS. By "complete" pathnames, we mean a pathname that contains a drive letter and starts at the root directory, such as "C:\BBS\NODE1", rather than a pathname which omits the drive letter or which doesn't contain a leading backslash. Complete pathnames are important because the paths pointed to should be accessible from anywhere in your system. o LAN must make sure that two users do not attempt to access the same node at the same time. This will usually mean constructing a node for each PC on the network. Alternately, a batch file or other front end program can be written to automatically select the proper home directory when starting SLBBS. On a LAN, we strongly recommend that each workstation use the same drive letters to refer to drives that contain Searchlight BBS files. This is necessary in cases where all nodes refer to a common setup file (like the SUBBOARD.SL2 and FILEDIR.SL2 files) in order to prevent ambiguity which might arise if workstations used different drive letters to refer to the same volume. If it is impractical for you to assign the drive letters directly in your LAN operating software, use DOS's SUBST facility to create substitute drive letters. To run Searchlight in a local-only mode, you can set the "Return to DOS on Logoff" feature (found in the CONFIG program) and start the system with the command "SLBBS Local". You may want to disable the system hotkeys if allowing non-sysops to run the program in local mode. o If you run multiple nodes on a single PC (using a multitasking operating system such as DESQview), each node must use a unique hardware interrupt value for its serial port. Normally this will not be an issue if just 2 nodes are run, but will need to be considered when you expand to a third node and beyond. Be sure to purchase communications hardware which is capable of addressing unique hardware interrupts. On most PCs, interrupts 2,3,4,5 and 7 are available for use with modems. Searchlight has special support for the DigiBoard brand of multiport hardware. If you are using a DigiBoard product, consult Appendix H, Digiboard Installation And Use. Selection of a unique interrupt is not necessary for nodes that do not use a modem (i.e. local use nodes with the COM port designated as 0). Of course, if you use a LAN, each PC on the network can use whatever local COM port is available without regard to interrupts used on other PC's in the LAN. o Chatting: Inter-Node Chatting (the ability to exchange short messages with users at other nodes) is available in multiuser systems. See "Using Chat Mode" later in this manual for details. 46 Subboard Maintenance Searchlight BBS Subboard Maintenance Message Subboard Maintenance, the second choice on Searchlight's CONFIG program main menu, provides you with a way to create, change, and delete message areas or subboards. Searchlight subboards are independent message areas that contain public or semi-private group discussions: they're equivalent to forums or conferences used in other online systems. To access the Subboard Maintenance screen, simply select item "B" from the CONFIG main menu. You can also call Subboard Maintenance up directly from the DOS command line by typing: CONFIG B You'll see a list of the subboards that are available on your system, along with these options: Edit Entry Add Delete Utilities Exit Except for the Add option, these commands operate on the subboard that's pointed to by the cursor position. To edit, delete, or perform utilities on a subboard, move the cursor to the desired subboard by pressing the direction keys (Up/Down arrow, PgUp, PgDn), then press , F2 or F3. Or, if you have a mouse, simply point to the desired subboard and "click" the left mouse button once to move the cursor, or twice to edit the subboard. You can scroll the list or operate any of the F key options by "clicking" on the names of the commands as they appear on your screen. To quickly locate a subboard when your subboard list is large, press the first letter of the subboard name. This will move the cursor to the first entry that begins with that letter. Since the CONFIG program always displays the subboard lists in alphabetical order, the desired subboard will then be either at or very near the cursor position. o Searchlight creates three default subboards, MAIL, BULLETIN and GENERAL, when you first install it. MAIL and BULLETIN are "hidden" subboards that are generally not used directly by your callers; we recommend that you do not change or delete these subboards. GENERAL is intended to be a "general purpose" subboard for use by callers; you can edit or remove it if you wish, however, be sure that there is always at least one subboard available for callers to use when they log in to your BBS. Add Subboard Press F1 to create a new subboard. Searchlight will prompt you for a subboard name, and a path in which to store the data files for the subboard. The subboard name must be a unique, 1 to 8 character, legal DOS filename. The path must refer to an existing drive and directory (it defaults to the current directory, but may be changed). We suggest you create one or more subdirectories for storing your subboard files, rather than keep them in the default current directory. Create the directories from DOS, using MKDIR, before running the CONFIG program. If the name or path you enter contains an error, Searchlight will prompt you to enter new information. Otherwise, it creates the data files for the new subboard. Each subboard you create will have three files: a header 47 Subboard Maintenance file, a message text file, and a member file; the filenames for these files are the subboard name followed by the extension .HDR, .MSG and .MBR. For example, if you created a subboard called "BUYSELL" on your system, the following files are created on disk: BUYSELL.HDR BUYSELL.MSG BUYSELL.MBR As you can see, the subboard name "BUYSELL" is used as the actual filename for the subboard data files, which is why the subboard name is required to be a legal DOS eight character filename. Subboard names may contain numbers (as is allowed by DOS) and a few symbols (such as "-" or "!") but may not contain blank spaces, back or forward slashes, periods, or other reserved characters. New subboards are created with a number of default options that can be changed to suit your needs. Once the file creation sequence is complete, the Add Subboard procedure moves directly to the Subboard Edit screen, where you can enter a descriptive name for your subboard and edit the default options as needed. Edit Subboard Whenever you create a new subboard, or edit an existing subboard, the following input screen will appear: 1. Subboard Description ............... General Msgs 2. Data Files Path .................... C:\BBS 3. Required Access Level .............. 0 4. Join Attributes .................... ABC 5. Post Attributes .................... ABCD 6. Subboard Sysop ..................... 7. Max. Messages ...................... 1000 8. Max. Message Size .................. 400 9. Alias Name Support ................. Real Only 10. Anonymous Messages ................. No 11. Auto Purge Old Messages ............ No 12. Compress Message Texts ............. Yes 13. Allow Users to Join ................ Yes 14. Display on Subboard Lists .......... Yes 15. Echomail Zone Number ............... 0 16. Echomail Net Number ................ 0 17. Echomail Node Number ............... 0 18. Echomail Point Address ............. 0 As with the general configuration options, edit these fields by moving the cursor to the appropriate location and entering or editing the data within. Here is an explanation of each field: 48 Subboard Maintenance 1 -- Subboard Description This is a long description which you can use to further describe the message subboard. Your description is displayed with the List command from Searchlight BBS. 2 -- Data Files Path This is the path that contains the data files (header, message and member files) for the subboard. It must be a legal DOS pathname that exists on your system. 3 -- Required Access Level This is the access level that users must have to use the subboard. Users who have at least this access level, along with any required attributes, may Jump to and read messages on this subboard; otherwise, the subboard does not appear on the subboard list and is not accessible. 4 -- Join Attributes This field defines the security attributes (keys) needed to access and join the subboard. Attributes defined here must match those defined in the user's information record in order for that user to be able to use the subboard. 5 -- Post Attributes This field defines the attributes required to Post a message on the subboard. Those users who have attributes sufficient to Join a subboard (line 4) but not Post, will be able to read messages on the subboard but will not be able to write messages. This includes replying to messages, and forwarding messages to the subboard. 6 -- Subboard Sysop If filled in, this field defines the name of the person who is Subboard Sysop for this subboard. The Subboard Sysop has the ability to moderate the subboard discussion by editing or deleting any messages on the subboard. Be sure to spell the Subboard Sysop's name exactly as it is spelled in your User file. 7 -- Max Messages on Subboard This field defines the maximum number of messages that can be posted on the subboard at any given time. The maximum value that can be defined is 32767; or you can define a lower value if you wish to limit the number of messages. (Note: see Auto Purge Old Messages below). 49 Subboard Maintenance 8 -- Max Message Size This defines the maximum message size in lines that may be input and posted on this subboard. The maximum value that can be defined is 400. Use a lower value if you wish to limit the length of messages posted. o Max Message Size only defines the maximum size that will be allowed for messages entered directly through Searchlight's built in editors. Messages posted via external utilities like SLMAIL or an offline message reader, or messages Forwarded to the subboard, can be longer. 9 -- Alias Name Support This field selects the type of alias name support (if any) that will be allowed on the subboard. For more information about alias names and subboards, please see page 188. 10 -- Allow Anonymous Messages If set to Yes, Searchlight allows messages to be posted anonymously (i.e. without indicating the name of the author in the message header). A "Post Anonymously? Yes/No" prompt will appear each time a new message is entered. Otherwise, this prompt does not appear and anonymous posting is not allowed. 11 -- Auto Purge Old Messages If set to Yes, Searchlight will delete the oldest unprotected message on the subboard when the subboard is full (that is, when it reaches the maximum messages value defined in line 7) and someone tries to post a new message. If set to No, Searchlight will not allow a new message to be posted once the maximum value is reached. o You can protect individual messages from being deleted as part of the Auto Purge sequence. Use the Edit command to edit the desired message, and change the protection status when prompted. 12 -- Compress Message Texts If set to Yes, Searchlight uses its built in text compression algorithm to reduce the size of message data as it is saved to disk. Otherwise, message data is not compressed. Compression reduces the overall size of your message text (MSG) file by about 30%, but requires additional time when saving and reading messages. We recommend turning data compression off if you have an extremely slow PC, if you have a large amount of storage space and desire the fastest possible operation, or for instances where you need to save a lot of messages at one time (such as during a Fidonet message import via SLMAIL). Otherwise, turn data compression on to achieve optimal storage space. o You can turn data compression on or off at anytime, however, only messages that are saved after making a change will be affected by the new setting. 50 Subboard Maintenance 13 -- Allow Users to Join If set to Yes (the default), users can join this subboard by using the 1- Member/Join command. Otherwise, users may not join the subboard. Joining a subboard is a requirement for use of the New command and is generally recommended for anyone who plans to read the subboard regularly. You may wish to disallow joining for special subboards (such as BULLETIN) or for subboards with a private membership. 14 -- Display on Subboard Lists If set to Yes (the default), Searchlight displays the subboard when the List command is used, provided that the person using the command has access to the subboard. Otherwise, the subboard is not displayed (but may still be accessed via the Jump command). o The No setting is primarily designed for special subboards like MAIL and BULLETIN, which are accessible to Sysops but which you may desire not to appear on regular subboard listings when you use your BBS. 15 thru 18 -- Echomail Network Numbers These fields define the echomail network numbers used on Fidonet systems. If you are a member of Fidonet or a Fidonet compatible network, use these fields to fill in the proper values for the subboard if this subboard is to be used for echomail. Searchlight's SLMAIL software uses these values to construct the origin line when it exports messages from the subboard. Additional Information If you run a multinode system and you change subboard information while other users are online, the new information may not take effect until the current users log off. Occasionally, you may wish to add a subboard for which you already have data files (for example, if you have obtained a copy of a subboard from another Searchlight BBS and wish to install it on your own). Searchlight supports this. Be sure the files are installed in the proper directory, then proceed to add the subboard with F1. Searchlight will read the existing data files rather than create new ones. Because Searchlight's subboard files (the HDR, MSG and MBR) files are designed to be independent of the main *.SL2 files, you can back up, restore, and transfer message subboards as independent units. However, within each subboard, the three subboard files should always be moved as a unit: that is, do not mix the HDR file from one subboard with the MSG file from another, nor should you combine one file from a backup disk with your main files or files from a different backup disk. 51 Subboard Maintenance Delete Subboard To delete a subboard, position the cursor at the desired subboard and press F2. The CONFIG program will prompt you as follows: Delete From Subboard List? Yes/No Erase Files From Disk? Yes/No Assuming you really want to delete the subboard, select "Yes" as your response to the first question. The file is removed from your subboard list (SUBBOARD.SL2) file. You can choose whether or not you wish to delete the data files (HDR, MSG, MBR) from disk or retain them. If you delete these files, your subboard data is erased and may not be recovered. However, if you retain them, you will be able to reinstate the subboard later by adding it back to the subboard list. Subboard Utilities The Subboard Utilities menu provides several options for use in maintaining your subboard files. Position the cursor at the desired subboard and press F3 for the utilities menu: A. Repair/Rebuild Header File B. Repair/Rebuild Text File C. Repair/Rebuild Member File Repair Header File This option performs an integrity check on the header (HDR) file and rebuilds the indexes in the header file, repairing any damaged areas. Use this option if you are having a problem with a subboard (such as unreadable or garbled messages, lock ups when saving or reading messages, etc). Invalid index information, which may have gotten into the header file as a result of a disk error, a system crash, or other abnormal situation, will be corrected. Repair Text File This option verifies and repairs the text (MSG) file. Unless you are sure that a problem is in the header or the text file, we suggest running option A, B and C in that order so that a subboard is fully repaired. Repair Member File This option verifies and repairs the member (MBR) file. In addition, the member file is rebalanced (placed in an optimally sorted order) which reduces the time necessary to lookup member names in the file. 52 Directory Maintenance File Directory Maintenance To create or modify file directories (areas from which your users can upload and download CONFIG program main menu. (You can also type CONFIG C from your DOS prompt). File directory maintenance is similar to subboard maintenance: to edit or delete a filedir, select it with the cursor, and press to edit or F2 to delete. F1 is used to add a new directory. o A Searchlight File Directory or "Filedir" is a special file that contains information such as descriptions, number of times downloaded, etc. about files on your system that are available for download. The filedir contains the names of available files, but not the files themselves. It is important to realize that most of Searchlight's file library management commands deal with the filedir, and not the physical DOS directory itself; you need to create filedirs, and create entries in them, before any file on your computer can be downloaded. Here are the options available when adding or editing a directory: 1. Directory Description .............. New Files 2. Path to DIR File ................... C:\BBS\UPLOAD 3. Path to Files ...................... C:\BBS\UPLOAD 4. Required Access Level .............. 2 5. Required Attributes ................ ABC 6. Read Only Directory ................ No 7. Write Only Directory ............... No 8. Duplicate File Scan ................ Yes 9. Free Files (K) ..................... 100 10. File Value Multiplier .............. 10 Directory Name This is the 1 to eight character name for the directory. As with subboards, directory names must be legal DOS filenames and may not contain spaces or other illegal characters. o The data files used to hold the file descriptions and other information for a directory are created by using the directory name with the extensions ".SL2" and ".EDF". 1 -- Directory Description In this field, enter a verbose description of the file directory. The description appears whenever you use the List command in the files system. 2 -- Path to Dir File This is the path to the directory that contains the directory data file (*.SL2 file). By default, this is the same as "Path To Files", but may be changed. In this example, the file C:\BBS\UPLOADS\UPLOADS.SL2 contains all of the filenames and descriptions for the files in this directory. 53 Directory Maintenance 3 -- Path to Files This is the path to the data files that will be uploaded and downloaded. Be sure that this pathname exists before you attempt to create a new directory. o In most cases, "Path to Dir File" and "Path to Files" are the same. The primary instance in which they will be different is in the case where "Path to Files" refers to a read-only device, such as a CD-ROM. Since the directory SL2 file needs to be on read/write media, it would be necessary to place this file on a different drive. This is also useful when making file directories that reside on floppy disks. 4 -- Required Access Level 5 -- Required Attributes These are the access level and attribute requirements needed to use the file directory. As with subboards, a user must meet both the access level and attribute requirement before he or she can use the directory. 6 -- Read Only Directory If set to Yes, the directory becomes read-only; that is, users are permitted to download files from the directory, but may not upload new files (or move files from another directory). o The Sysop and those with sysop level privileges can place new files into a read only area. 7 -- Write Only Directory If set to Yes, a write only directory is created. Write only directories allow users to upload files, but do not allow them to download, type, or view other files in the directory. Write only areas are useful as a means of sending private files to the Sysop or for screening files before moving them to another directory where downloading is permitted. 8 -- Duplicate File Scan This options lets you exclude directories from the duplicate file search that normally takes place before a file is uploaded. This is desirable with systems that have a large number of directories which do not need to be checked against new files for duplication. Excluding multiple directories from the upload scan helps speed up the scan. 9 -- Free Files (K) The "Free Files" field is a value, expressed in Kilobytes, that determines the amount of files that a new caller may download before their upload:download ratio takes effect. If you use ratios on your BBS, this allows you to create a "grace period" during which new users can download files before being required to upload files in order to maintain a ratio. 54 Directory Maintenance o Although a different free files value may be expressed for each subboard on your BBS, the decision to allow a new user to download is based upon the total size of files they have downloaded from all directories in the BBS as compared with the Free Files value for the directory from which the download is requested. 10 -- File Value Multiplier This field defines a multiplier for the size of files in a directory as recorded in user downloading statistics. The multiplier is actually equal to this field divided by 10; therefore, a value of "10" is a multiplier of 1.0. The value multiplier lets you make certain files more or less valuable in terms of the way they will affect the upload:download ratio when downloaded. For example, if a directory contains a value multiplier of 2.0 (field 10 equal to 20), then files in that directory will register as twice their actual size in Kilobytes when downloaded. A 100K file will count as 200K, 150K as 300K, etc. In a directory where the value multiplier is .5 (field 10 equal to 5), files downloaded would register as half their actual size. To make files completely free (i.e. no impact on download ratio), set the value multiplier to zero. File Value Multipliers can range from 0 to 9.9 (i.e. 0 to 99). 55 Directory Maintenance Directory Utilities The Directory Utilities menu provides several options for use in maintaining your directories. Position the cursor at the desired directory and press F3 for the utilities menu: A. Balance/Repair Directory B. Import File Descriptions Balance/Repair Directory This function repairs a damaged directory file and also optimizes a directory file so that filename searches take the least amount of time possible. Use this command primarily if you suspect that a directory file is damaged or if you have trouble accessing the files in a directory. Import File Descriptions The Import command allows you to load filenames, descriptions, sizes and dates into Searchlight BBS from an external text file list. Import allows you to use generic directory listings, as well as directory listings from many other BBS programs, with Searchlight BBS. For more information, please see page 140 56 Directory Maintenance Custom Ordering By default, Searchlight lists your file areas and subboards in alphabetical order when you use the List command. However, you can define the order in which you would like subboards and directories to appear by creating a customization file. Customization files are just text files containing a list of subboards or file directories, one per line. To customize the display of your subboards, create a file named MAIN.SUB, and place it in your Searchlight BBS home directory. MAIN.SUB should contain a list of your subboards in the desired order. To do the same for your file directories, create a file called MAIN.DIR. In addition, it's possible to create a custom directory list for any subboard on your system, so that when the Files system is invoked from that subboard, only the directories associated with the subboard are available. Create a text file with the name of the subboard and the extension .DIR, and place this file in the directory that contains the other data files for the subboard. As an example, if you wanted to create a custom dir list for the GENERAL subboard, it would be called GENERAL.DIR. If you use a custom subboard or directory file, remember that new directories and subboards must be added to the custom file as they are created; otherwise, the new areas won't be available from your BBS. 57 Startup, Login & New Users Running Searchlight BBS Logging In For The First Time Once Searchlight BBS is set up and configured according to the previous instructions, running it is a relatively simple matter. Once again, make sure that you're in the same directory as the Searchlight data files (the "home" directory) and also make sure that your .EXE files are available in the directory you've defined for the program path (if you left this field blank, then the program files should be in the current directory as well). Run Searchlight by typing the command SLBBS and pressing ENTER. In a few seconds, your screen will clear and you will see a status box showing your system's name, the current time, and other information. At the bottom of the box it will say, ENTER for Local Login ESC to Toggle Display On/Off ALT-X to Exit along with the letters "sacnl" in the lower right hand corner of the screen (these are status indicators; we'll get to them later). There are a couple of other ways you can start Searchlight by adding parameters to the command line--we'll outline these in a moment. If your computer beeps at you and puts the words "No Response" on the screen in reverse video, check the modem--it indicates that the modem did not respond to the modem init string with an OK message. Check to make sure that o the modem is turned on o the modem is connected to the proper COM port o Searchlight is configured for the proper COM port o the baud rate If all else fails, please reread the Communications Configuration section of this manual and consult Appendix D, Modem Configuration. Assuming you now see the status box, strike the ENTER key on your keyboard to initiate a local login session. Searchlight will look for the text file called LOGIN.ANS or LOGIN.TXT, if it exists, and display it on your screen, followed by the prompt Enter your name, or type NEW > If you had called Searchlight from a remote location with a modem, you'd see a message like this upon connecting: ANSI Auto-Detected. (Press D to disable ANSI). Do you have a Color Screen (Yes/No/Disable)? In response to this question, you would type Y if you were using a color CRT, N otherwise. You can also type D here to disable Searchlight from sending ANSI codes--this causes Searchlight to work in a simpler mode without full-screen text controls. Non-ANSI mode is suitable for older terminal emulators which don't support the full ANSI specification. More information on this topic is presented below. 58 Startup, Login & New Users o This prompt is skipped if Searchlight detects a RIP compatible terminal. When RIP is detected, Searchlight automatically goes into its RIP graphics mode for the remainder of the session. Since ANSI is always available when logging in locally (it will operate correctly even if you don't boot DOS with the ANSI.SYS driver), Searchlight doesn't ask this question for a local login (and it determines whether to use Color or Monochrome mode by looking at your system's video card). Now, back to that "Enter your name" prompt. Searchlight is asking you to type the name of a valid user account. Since your system is new, there are only two valid accounts on file: one called SYSOP and one called GUEST. The SYSOP account is provided as the default "superuser" account. Many sysops will want to use the SYSOP account as the account they use to log into Searchlight regularly, whereas others will want to set up an account with a different name for themselves; we recommend using SYSOP, because most people recognize that as the name they can use to reach the operator of the BBS. If you choose to use another name, you might want to delete your SYSOP account. For now, respond to the "Enter your name" prompt by typing SYSOP. Searchlight now executes its standard login sequence. First, you'll see a greeting message that displays some information about the system, the previous caller, and total number of callers to the system. On multiline systems with more than one node defined, a list of other concurrent users is shown. Next, the Login Autodoor, if one is defined, is executed. Many sysops use the Login Autodoor to display additional system information, daily news, quotes, etc. After pressing the ENTER key, as prompted, you will enter Searchlight's Bulletins menu, where new and important messages will usually be displayed to callers as the log in. However, since there are no Bulletins on file yet, this section is skipped. Finally, a check of your mailbox is made. Searchlight displays the total number of messages and number of new messages in your mailbox, and gives you the opportunity to read new messages if they exist. In this case, you'll see a message indicating that you don't have any mail, and the system will deposit you at the main command prompt, which looks like this (the underscore shows your cursor position): [GENERAL] Command: Help _ You are now ready to use the Searchlight BBS system. o The login sequence described above, like most aspects of Searchlight, is configurable; you can modify or replace the commands used at login by editing the STARTUP menu. See Menu Editing in this manual for more information. 59 Startup, Login & New Users Auto ANSI Detect Searchlight has an auto ANSI detect feature. Each time a caller connects to your BBS, Searchlight sends a special sequence of commands to their terminal to determine whether the caller can support ANSI graphics and screen controls. If ANSI is detected, Searchlight displays this prompt: ANSI Auto-Detected. (Press D to disable ANSI). Do you have a Color Screen (Yes/No/Disable)? Since Searchlight cannot determine whether a caller has a color or monochrome screen, it prompts the caller to enter Yes for color, or No for monochrome. "D" may also be pressed to disable ANSI screen controls and operate Searchlight in non-ANSI mode; users may wish to select this option if they do not wish to use ANSI even though it may be available in their terminal. For compatibility with previous versions of Searchlight, callers can also press "C" at the above prompt to select color ANSI mode, or "M" to select monochrome ANSI mode. If Searchlight fails to detect ANSI, it displays this prompt: Select Graphics Mode: [C]olor, [M]onochrome, or [N]one? Since some ANSI compatible terminal software does not support the auto- detect feature, users can still manually select color ANSI, monochrome ANSI, or non-ANSI mode with this prompt. Because of its many full screen oriented display modes (such as the full screen editor, options fields, and reply-quote editor), Searchlight operates properly in ANSI mode only when the remote terminal uses an 80x24 screen size. Although Searchlight cannot force a terminal into 80x24 mode, it can usually detect whether a terminal is not set to this mode during the ANSI detect sequence. If it does, the following informational message is displayed: Searchlight requires a standard 24 line screen for full screen ANSI mode. Switch your local terminal to 24 lines now, or press D to disable ANSI. It is recommended that callers make sure their screen is set to 24 lines by 80 characters before continuing in ANSI mode, if this message is displayed. If a larger screen size is desired, callers may proceed in non-ANSI mode, which does not require a 24 line screen. o Incorrect screen size on the remote terminal is the cause of many common display problems, such as lines overwriting other lines or messages appearing in the wrong location on the screen. Note that some terminal software allows you to disable the status line, providing an 80x25 line screen. With such software, the status line should always remain enabled so as to provide the correct 80x24 line screen size. Local RIP Mode During a local login, you can use Searchlight either in "ANSI" mode (text mode) or RIP graphics mode. To switch between ANSI and RIP modes, press 60 Startup, Login & New Users ALT-R while positioned at any Word or Character style menu (such as the main menu). When RIP is enabled, Searchlight places your monitor into graphics mode and uses RIP graphics conventions to draw graphical menus, mouse areas, scroll bars and other graphical user interface features. RIP mode also allows you to view RIP pictures embedded in messages. You must have an EGA or VGA compatible monitor to use local RIP mode. 61 Startup, Login & New Users Things To Do When First Logging In Here's a quick checklist of some of the things you should do the first time you log in to your new Searchlight BBS system: o Familiarize yourself with the user interface. It's quite easy to use. Try selecting different commands, and reading the online help text by pressing the F1 or ? key. o Use the OPTIONS command to assign a password to your Sysop account. This is very important! If you forget to assign yourself a password, others will be able to use the SYSOP account and that can compromise the security of your system. Don't forget the password you choose; write it down if you must. o Post a few messages and bulletins. This will not only help you learn how the text editor works but it will give your first users something to read when they call your BBS. To post a bulletin, Jump to the BULLETIN subboard and use the Post command. Using The Status Display The status box displayed on your screen between calls shows some important information. The first line displays your BBS's name and node number (in multinode systems). Line 2 shows the modem's baud rate and COM port. If an error occurred when Searchlight attempted to set-up the modem using the modem init string, the phrase "No Response" is printed here, otherwise "Ok" is displayed. The third line shows the last caller to the system, and the right-hand part of the screen displays the current time, and the time that the LOGIN program started waiting. If you use preprogrammed events (via the EVENT.DEF file), line 4 shows the name and execution time of the next event. See Appendix C, Automatic Events, for complete instructions. If a call is not received within five minutes, Searchlight will blank the screen. This is done to prevent screen "burn-in" that can be caused on some CRT's when the same image is displayed for a long time. To restore the display, just press the ESC key. SLBBS Command Line Parameters Normally, you type the command "SLBBS" from the DOS prompt to load Searchlight BBS, initialize the modem, and begin waiting for a call. However, under certain circumstances you may wish to bypass the modem initialization and make a direct connection at a specified baud rate. Searchlight provides command parameters to allow you to do this. The complete syntax is: SLBBS [/C] [-uUsername] [-pPassword] To start Searchlight with a specific baud rate, just type the baud rate on the command line after SLBBS; for example, "SLBBS 2400" to start the system up at 2400 baud, bypassing the modem init string. If you want to connect to 62 Startup, Login & New Users a remote terminal but don't know the baud rate, enter "SLBBS K". This will cause Searchlight to connect and begin sampling keyboard input to determine the proper baud rate--hit the ENTER key on the remote end a few times to establish a connection. Finally, a local login can be initiated with "SLBBS Local" or just "SLBBS L". Command line parameters are useful for two main purposes: to allow an external "front end" program to answer the phone, and to make direct connections without using a modem. In the first case, a separate program runs before Searchlight, monitors the phone, and makes a connection. Then, this program calls Searchlight, passing it the baud rate so that Searchlight can make a direct connection without resetting the modem. A direct connection involves connecting two computers or a computer and a terminal together with RS232 cables and "Null" modem connectors. To establish a direct connection, without requiring a "carrier" signal to be present, simply give the desired baud rate on the command line when starting SLBBS. When passing a baud rate on the command line, you'll usually want to follow it with a time limit. The time limit, expressed as a number of minutes, specifies the maximum amount of time that may expire during that session. The /C parameter forces carrier checking. As an example, the command SLBBS 2400 30 /C will load Searchlight at 2400 baud, limit the session to a maximum of 30 minutes, and force the system to check for carrier. The session time limit is useful if your front-end program needs to execute some event at a certain time, since it will ensure that Searchlight will return to the front end program in time for the event. It is recommended that the /C parameter be used under normal conditions when calling SLBBS from a front end program; omit it when a direct (modemless) connection is being used. Parameters -U and -P let you provide a username and password to Searchlight. When a username and/or password are provided in this way, Searchlight skips its usual "Enter your name" and "Password" prompts. Of course, the name given must match a valid username in your system and the password must be valid. Otherwise, a "Name not on file" or "Invalid password" message will appear (followed by prompts for the correct information). Note: If you use the /C, -U or -P parameters, you must specify a baud rate and time limit first. Use "L" or "Local" for the baud rate if you're doing a local connection; use "1440" for the time limit if you don't need to limit the session time to any particular length. If you wish to use the ALT-X hot key in conjunction with a front end program, your front end program should exit to DOS if Searchlight returns a nonzero error code (which it will do when ALT-X is pressed). An error code of 0 indicates a successful run. Finally, notice that if you have General Setup #2 option #4 (Return to DOS on Logoff) set to "Yes", then the only way to get Searchlight to run is to call it with a command parameter! Otherwise, the system will simply exit, expecting a host to regain control of the line. 63 Startup, Login & New Users Adding New Users To The System New usernames and passwords are added to Searchlight BBS by typing NEW in response to the login prompt. In order to use this facility, you must have the "Allow New Users" option (in the CONFIG program) set to "Yes". Typing NEW will present the New User menu, which looks like this: [R] ..... Register as a New User [G] ..... Enter the system as a GUEST [C] ..... Call the SYSOP to Chat [E] ..... Re-Enter your Name [D] ..... Disconnect (Hang Up) Command ->_ To register his or her name in the user database, a new user would press the "R" key to access the Register option. Searchlight will o Display the new user message (NEWUSER.TXT), if it exists; o Prompt the user for their name, location, phone number, system type, and password; o Enter the user's info into the Searchlight database; o Execute the New User Autodoor o Log the user in to the BBS system. New user information is entered via an easy to use, full-screen input system that works like the system you used to enter and edit information in the CONFIG program. Users can edit data and change fields with the standard cursor and editing keys (check the Text Editing section of this manual for a full description of Searchlight's editing functions). A new user is given initial access levels and time limit as defined in the CONFIG file. Duplicate user names or blank passwords are not allowed. If the new user tries to enter a name that already exists in the user file, or does not fill in a password, a warning message is printed. The user may re- enter the bad data or return to the New User menu. Other New User Options The "C" option will issue a page to the Sysop (if the "Sysop Available" (ALT-A) flag is set). You can answer the page by pressing any key at the keyboard; after you're done chatting, press the ESC key to exit from chat mode. You may notice that the tone emitted from the speaker by the CHAT command is lower than usual when a new or nonvalidated user is paging. Thus, you can discern a new user's page without having to look at the screen. An "E" option is provided to allow re-entry of your name. If the "NEW" command is selected in error, typing "E" will return you to the original "Enter Your Name" prompt. Finally, a disconnect option, "D", will disconnect the remote user and recycle the system back to the call waiting screen. 64 Startup, Login & New Users Guest Account Searchlight provides a default account called GUEST, which is designed for people who want to use your BBS once or twice but do not wish to establish a password for themselves. New users can log on as GUEST either by typing "G" at the New User menu, or by typing GUEST directly at the login name prompt. You can provide the GUEST account with any access level, security attributes, time limits, and other attributes you choose. GUEST users cannot change their own user information or preferences. The GUEST account may be deleted if you do not wish to allow this form of access to your BBS. GUEST can be restored later by re-entering the GUEST name as a new user; after doing so, remove the GUEST account's password via the Options command on the main menu (enter a blank space in the Password field). 65 Configuring User Options Configuring User Options When new users register with your BBS, Searchlight prompts them to enter a name, location, computer type, phone number, and password. These items, in addition to some others, can be changed by the user at any time by using the Options command on Searchlight's main menu1. When Options is executed, it displays a screen like this: Info Preference Stats Access Quit [?=Help] Each selection displays and/or allows you to edit various aspects of the user account. The "Access" setting controls user security levels, and is available only to Sysop level accounts. User/Info 1. Location ........................... Cleveland, OH 2. System Type ........................ IBM 486 3. Phone No. .......................... 216-631-9290 4. Password ........................... 5. Alias Name ......................... THE GIPPER 6. Netmail Address .................... This selection controls demographic information about the user, and the user's password. Field numbers 1 through 4 can be adjusted by all callers; fields 5 and 6 may be protected depending on the system configuration. In ANSI modes, use the cursor keys to highlight and edit the desired data; in non-ANSI, a prompt appears and you can type the field number to change, then the new data. 1 to 3 -- Location, System Type, Phone No. These fields allow you to enter the described information. Location and System Type can be any alphanumeric characters, and are displayed along with your name in user lists and searches. The phone number field is strictly confidential and can be viewed only by the Sysop. 4 -- Password This field lets you enter a new password. For the sake of security, existing passwords are not shown, and dots are displayed when typing a new password. To change your password, type the new password over the "" message. When you exit the Options command, Searchlight will ask you to verify the password by typing it again (if you mistype a password, the old password will not be changed). 5 -- Alias Name This field shows the user's alias name, if one is defined. For more information about alias names, refer to page 186. Field 5 may be labeled as a "read-only" field if Searchlight is configured so that a security level is required to change an alias name. See Function Attribute Setup on page 34 for more information. 6 -- Netmail Address This field contains the user's netmail routing address, if one is defined. For more infomation about this topic, refer to page 210. 67 Configuring User Options User/Preference 1. Help Level ......................... Novice 2. ANSI Compatibility ................. Generic 3. Screen Length ...................... 24 4. File List Format ................... Prompt 5. Pause Between Messages ............. Yes 6. Subboard Disposition Prompts ....... On 7. Mail Disposition Prompts ........... On 8. Internal Protocol .................. Zmodem 9. Preference Attributes .............. 10. RIP Text Font ...................... Normal These fields display and edit user-controlled preferences. Each caller can set his or her own preferences in these fields, in order to modify Searchlight's behavior. 1 -- Help Level Possible values for this field are Novice, Intermediate and Expert. In Novice mode, Searchlight displays the main command menu after each command, provides verbose descriptions of menu selections, and shows additional help text at several points in the system. Intermediate mode is similar to Novice mode, but does not provide the automatic main menu display or the NOVICE.TXT help file at login. In Expert mode, all help messages and menus are suppressed (but you can always display help and menus on demand with the F1 or ? keys). Choose Novice if you're new to Searchlight BBS, Intermediate or Expert once you've become more accustomed to the system. o The actual behavior of these modes is determined by each menu in Searchlight, and can be changed by using the menu editing features. You can also create new menus or modify menu commands based on the help level switch. 2 -- ANSI Compatibility This field can be set to Generic, Procomm, or Full, and configures the Searchlight full-screen text editor for use with different types of ANSI terminals: Generic for minimally-compatible terminals, Procomm for the Procomm or Telix terminal software, and Full for fully capable ANSI terminals or terminal emulators. See the discussion of ANSI terminals in the Text Editing section of this manual for further information. 3 -- Screen Length This field describes the length in lines of the remote user's screen, and is used for placement of the "more" message during text output. If Screen Length is set to zero, "more" prompting is disabled. o The maximum supported screen length is 24. We recommend that you use Searchlight only with terminal software that supports a 24 line screen. 68 Configuring User Options 4 -- File List Format This option controls the display of long file descriptions in the Files system. If set to "Long", Searchlight always displays long file descriptions with the Files and New commands in the Files program. If set to "Short", the Files system always displays short listings. If set to "Prompt", the Files program will prompt you as to whether you want long descriptions displayed at the beginning of each command that displays descriptions. 5 -- Pause Between Messages This option defines whether Searchlight stops between messages (i.e. displays the message disposition prompts) when reading messages. The default setting is "Prompt", which means that you are prompted with "Pause Between Messages?" each time you read messages or mail. Change this setting to "Yes" if you wish to avoid the "Pause Between Messages?" question, and always see disposition prompts between messages. Select "No" if you wish to have a non-prompted message read by default. 6 -- Subboard Disposition Prompts 7 -- Mail Disposition Prompts These options determine whether the subboard and mail disposition prompts (the "coNtinue, Post, Unmark" prompts) appear after reading subboards or mail. The default is "Yes". 8 -- Internal Protocol This field allows each caller to select a default internal protocol (internal protocols are those file transfer protocols that Searchlight provides internally). The internal protocol is used as the default for operations like message and thread downloading, which require an internal protocol. 9 -- Preference Attributes This field contains a series of user-selectable attributes that work in conjunction with Searchlight's menu system to allow users to choose between different menu systems. See the Menu Editing information later in this manual for details. 10 -- RIP Text Font In RIP mode, callers can select the Normal or Large RIP font for use when reading messages, editing messages and browsing file listings. Normal displays 25 lines of text per screen using a compressed font; Large uses a larger font by only displays 14 lines per screen. RIP Text Font is used only in RIP graphics mode. 69 Configuring User Options User/Stats This selection displays non-modifiable account statistics, as follows: Stats for SYSOP First Logon : 10-08-90 BBS Access : 255 Kb Uploaded : 1117 Last Logon : 11-19-92 Files Access : 255 Kb Downloaded : 2023 Total Calls : 4414 Time Limit : 1440 Xfer Protocol : Xmodem Security Attributes : ALL Sysop-Configurable Settings In addition to the user-configurable options, there are additional data fields associated with each user record that may be accessed only by Sysop or CoSysop level users. These fields store the user's access levels, time limit, and other information. To view and/or change these protected values, you must log in as the Sysop, execute the "2-Sysop" main menu command, select "Options" from the menu bar, and type in the name of the user who's options you want to look at. Then pick "Access" from the menu bar. User/Access 1. Security Attributes ................ ABCDEFG 2. BBS Access Level ................... 255 3. Files Access Level ................. 255 4. Daily Time Limit ................... 1440 5. Session Time Limit ................. 1440 6. Time Left Today .................... 1440 7. Expiration Date .................... 0-00-00 8. Download/Upload Ratio .............. 3 9. Mail Logging ....................... Off 1 -- Security Attributes This field defines which of the 24 security attributes is associated with the user. Security attributes control a user's access to subboards, file areas, and other functions on the BBS. In order to access a secure feature, a user must have all of the attributes associated with that feature, in addition to meeting an access level requirement if there is one. You can specify security attributes either by typing the letters A to X, by typing subranges (such as A-D or G-P), or by typing the word ALL to indicate all security attributes. 2 and 3 -- BBS and Files Access Levels These numbers define the user's access levels for the main BBS and the Files systems. Basically, the function of the access level is to define which message subboards, file areas and menu choices a user may access. 70 Configuring User Options Normal access levels range from 0 to 253. Access level 254 designates a "CoSysop"; CoSysops have the power to access all message and file areas, edit or delete messages and files, and view or change the user accounts of other users with access levels of 239 or less. CoSysops cannot (for obvious reasons) change their own access level, or assign an access level of 240 or greater to any other user; they also are prevented from using the "2- Sysop/TextEdit" command, running Doors with access level 255, and downloading password-protected files (unless they know the password). Access level 255 defines the Sysop, who has ultimate power to perform all operations on the BBS without restriction. Extreme care should be taken in allowing users other than yourself to have 255-level access, since such users have the capability to not only delete messages, files, and users from your system, but also to edit text files and possibly access DOS itself.. We recommend that you use access level 255 only for yourself, and give 254-access where necessary to CoSysops. 4 -- Daily Time Limit This field defines the amount of time per day (in minutes) that a user may access your system. Values from 1 to 1440 minutes may be entered. o Sysops and CoSysops are untimed, and may use the system for any amount of time regardless of the Time Limit value. 5 -- Session Time Limit This field provides a per-session time limit. This is the maximum amount of time that a user will be allowed to spend on any particular login. 6 -- Time Left Today This value is the number of minutes left in the user's allocation for today; it's equal to the daily time limit minus the amount of time the user has been online since midnight. You can view or manually adjust this option. 7 -- Expiration Date An expiration date defines the date when a particular user loses certain access rights, and may define a date when that user record is deleted altogether. A couple of special values are available. First, you can set any expiration date to "00-00-00", indicating no expiration (the account will never expire). Secondly, if zero is specified as the "Days Until Expiration" in the default access level setup, then the special "00-00-00" date is assigned to the user account, exempting it from any expiration. You can also use the Mass Validate procedure in the Config program to specify these values. What Happens When An Account Expires? By default, nothing happens to a user account when it expires (i.e. when the current system date passes the expiration date specified for the user). If you don't wish to use expiration dates on your system, you do not need to make any modifications 71 Configuring User Options to your user files or default access levels; expiration date processing is turned "off" by default. To enable expiration dates so that they actually have an effect, go to line 14 on menu B in the CONFIG program. This switch can be set to one of three choices: "None", the default choice that does nothing; "Reset Access", and "Delete Account". If Reset Access is selected, Searchlight reduces the access level of an expired account to that of a new user (i.e. the first default access level choice) whenever that user tries to log in on a date that's past his expiration date. The user's expiration date itself is not changed. When the access level modification occurs, the user is told of the change and will continue to be reminded of it at each subsequent login, until you modify their expiration date (either manually or via an access level upgrade). If Delete Account is selected, then accounts are simply deleted from the user file when they expire. Both Reset Access and Delete Account options supply a warning message for 30 days prior to the expiration of the account, giving users the opportunity to contact you about extending their access rights before their account is terminated or reset. 8 -- Download/Upload Ratio This field defines the user's Download to Upload ratio. If, for example, a value of "3" is entered, it indicates that the user may download 3 Kbytes worth of files for every 1 Kbyte uploaded. If an attempt to download more than this amount is made, the Files program will not allow the download to proceed until the user has uploaded additional file(s). This field is initially set to the Default DL/UL Ratio entered in the CONFIG program, but may be changed for each user in the system. A DL/UL ratio value of 0 indicates that no ratio is to be enforced. 9 -- Mail Logging This switch activates Searchlight's Mail Logging feature. When turned On, Searchlight will generate a log (text file) containing the headers and text of all mail received and sent by a particular user. Each user's mail is stored in a separate file; the filename is generated by a concatenation of the user's name (for example, SYSOP.LOG or MSMITH.LOG). Mail files are stored in the directory specified as the "Mail Files Path" in the CONFIG program (or in the current directory if no Mail Files Path is specified). Mail log files are intended for your own use in archiving your mail, and should be periodically compressed or moved offline to prevent the log files from growing unreasonably large. Searchlight doesn't truncate or otherwise manage these files in any way. When mail logging is Off (the default), no mail log is generated. 72 Message System Searchlight Message System The heart of Searchlight BBS is its public message system. Searchlight handles multiple subboards or subtopics, each of which can have any number of active messages. You can read existing messages, enter or "post" new ones, list the available subboards and available messages, and search for particular messages or for all new messages. In addition, messages can be replied to, edited, deleted, and copied to disk or to other message areas. Finally, a powerful "Thread" command is included to allow related messages to be treated as a unit. In general, message base operations affect the currently active subboard. The "current sub" is the last subboard jumped to (with the Jump, New, or List commands); its name is displayed to the left of the command prompt and in the upper right hand corner of the screen at most times. When you first log in, the current subboard is either the last subboard accessed during your previous login, or the first available subboard. o Searchlight's Menu Editor makes it possible to change the names of commands and their placement on menus. Throughout this manual, we use the command names that appear on the default menus that are included with Searchlight. You should be aware that if you change your menus, the exact screen display and key sequences used to access a particular function may be different than what is show in the manual, although commands themselves will function the same way regardless of how they are executed. 73 Message System Entering Messages: The Post Command The Post command adds a new public message to the current subboard. To use it, enter Post and type in the name of the recipient (or press Enter for the default "All"), and then a short title for the message. Then, you'll be placed into one of the system's message editors where you'll be able to enter the text of your message. If anonymous posting is enabled for the current subboard, you'll be prompted as to whether you wish to post your message anonymously. Reply with Y or N as desired. Use of the message editors (both a line editor and a full-screen editor are available) are discussed further later in the manual. It is possible to "import" text files into a message via several methods; this, too, is discussed later. When you SAVE your message, it is added to the subboard as the last available (highest-numbered) message. You can also post messages by replying to existing messages; this is discussed below. Retrieving Messages: The Read Command There are a couple of ways to begin reading posted messages; the most straightforward of these is via the Read command. To use it, enter Read, then give the message number of the message where you want to begin reading. The Read command displays the message header, showing the subject, time, date, and person who posted the message, followed by the message text. If the text is longer than your "Screen Length" (set in user Options), a "More" is displayed every screenful. Press C to continue reading. At anytime, press the spacebar or ^C to abort a lengthy message. There is one additional prompt you may see displayed when you begin reading message and that is: Pause Between Messages? Yes/No Normally, select "Yes". After each message is displayed, the Read command presents a prompt such as this: Again Reply Mail Prev Next Goto Thread Other Quit In response, select the appropriate command depending on what you want to do next. You can select commands by pressing the first letter of the command you want, or by moving the menu bar to the desired command and pressing the ENTER key. If you do select "No" to the "Pause Between Messages" option, Searchlight skips the command prompt and displays messages continuously. This type of message dump is primarily of use to remote callers who will be capturing the text to a local buffer for later digestion. The Read command options are generally available anytime you're reading messages, whether via the Read command itself, the Mail command, or as part of a New message scan. Here's a summary: 74 Message System Read/Again The "Again" option clears the screen and re-displays the last message read. Use this option when you want to review a long message; it is also useful for redisplaying a message in case the message is garbled by line noise. Read/Reply This option lets you reply to the message you've just read. The reply is either a public message or a private (electronic mail) message depending on whether the message is public or private. Replying to a public message is similar to Posting a message, except that the reply contains additional information in the message header indicating that it's a reply. When replying to a message, the sender and subject of that message are displayed as default responses for the reply (the designator "Re:" may be added to the subject if it was not already present). If you want to use those defaults, just press Enter. To change them, type new information. After writing the reply, the current message is redisplayed. Read/Mail Sometimes you may wish to send a private reply to a public message; this option allows you to do so. Selecting Read/Mail is similar to Replying to a message, except that the reply is saved to the MAIL subboard as a private reply rather than to the current subboard as a public message. Read/Prev The "Previous" subcommand lets you read the preceding, or next lowest numbered, message. If there is no previous message, then the Read command exits. Read/Next The "Next" subcommand is used to proceed to the next message on the active subboard. If there is no next message, the command exits. o With both the Next and Previous subcommands, if the messages being read are part of a set selected via a search string (Scan/Search command), or part of a message thread (see the Thread command below), then Next and Previous display the next or previous message in the set or thread being read, rather than the next or previous message in numerical order. Read/Goto The "Goto" command lets you ahead or skip backward to any message on the subboard, by entering the desired message number. 75 Message System Read/List List replaces Goto in RIP graphics mode. This command allows you to view a list of messages in a scrollable window and move to the desired message with mouse movements or direction keys. Read/Thread You'll see this option on the menu if the message you're reading has been replied to, or is itself a reply to a previously posted message. What the Thread command does is to let you view some or all of the replies and original messages directly, ignoring (temporarily) other messages which are not part of that message "thread". This submenu appears when you use Thread: Next Prev Original First Quit To read the next or previous message in the thread, use N or P commands. "Original" takes you directly to the message to which the current message is a reply; "First" brings you to the very top of the message thread (the first message about a particular topic). Threading is discussed in more depth on the following pages. Read/Other This option presents a new menu of additional choices that are available, including: Download Forward Edit Kill Post Chat Validate Options Quit Read/Other/Download This function lets you download a message or a thread to your remote terminal, via one of the internal protocols. Select whether you wish to transfer the message or thread; then begin your download when prompted. See below for more information on global thread operations. Local use of the message "Download" commands is supported. Instead of sending the message to a remote user via a file transfer protocol, Searchlight saves the message as a file in your local node's home directory. The name of the file is the subboard name plus the message number modulo 1000--for example, if you were logged on locally and "downloaded" message number 1292 from the GENERAL subboard, it would be written to disk as a text file called GENERAL.292. Note that the same naming convention is used for remote callers who select Zmodem as their default internal protocol for message uploads and downloads. Read/Other/Forward The "Forward" subcommand is used to forward a copy of the message you just read to another place on the bulletin board. In general, messages can be forwarded to a public message subboard or to a particular user's mailbox; Sysops and Cosysops can also forward messages to Bulletins, and Sysops only can forward them to text files on disk. For public messages, the Forward command is available only to Sysops, cosysops, the subboard subop, or the 76 Message System person who posted the message; private mail can be forwarded by the recipient of the message. Pressing "F" prompts you with one or more of the following: Forward to: User Subboard Bulletins Disk Quit If you wish to forward the message to a public message board, press "S"; Searchlight will then prompt you to enter the name of the board you wish to use. To forward the message to a user, type "U"; you will then be prompted to enter the name of the user to whom you wish to send the message. "B" forwards the message to the Bulletins menu without further ado. When forwarding a message, you have the option to add comments to the message. When you add comments, the result is a message which contains the text of the original message below a line of dashes, and your comments above that line. Notice that if you choose to add comments, the resulting message contains your name and the time you entered your comments in its message header; otherwise, the message's original header is retained. Selecting Disk allows you to write the message directly to a text file on your disk. It will prompt you to enter the filename, which may include a drive letter or directory path. If the file exists, the message is appended to the end of the file, otherwise a new file is created. The Disk option is only available to Sysop level users. Read/Other/Edit This option lets you edit the message at hand. You can change both the header information and text. For more information, see the Edit main menu command. Read/Other/Kill This command deletes the current message, after verification. Kill and Edit subcommands are only available to Sysops, the subboard Cosysop, or the person who posted the particular message. Read/Other/Post This option lets you post a new message on the current subboard. If you are reading mail, this option appears as Send instead of Post, and lets you send a new mail message to another user. Read/Other/Chat This command is available on multiuser systems. It lets you chat with other users without exiting from the Read command, or losing your place in the current message area. 77 Message System Read/Other/Validate This command lets you validate the sender of the message by assigning one of the default access levels set up in the CONFIG program. This is the same as 2-Sysop/Validate (see that command for more information). Read/Other/Options This command lets you edit a user's options screen, as with 2- Sysop/Options. Of course, this command and the Validate subcommand are available to Sysops only. Read/Quit Select this option when you wish to quit reading messages and exit back to the main system prompt. o Notice that in addition to being able to abort messages with ^C, you can type the first letter of one of the above subcommands while the message is being displayed, at the "More" prompt, or while the menu is being drawn on your screen. Searchlight will immediately stop and execute the desired command. This intelligent command type ahead feature works in most other situations, such as Mail, Bulletins, and subboard lists, as well. Reading Messages in RIP Mode If you use Searchlight in RIP graphics mode (either during a local login or during a remote session with a RIP compatible terminal), Searchlight presents messages with a full screen interface. Instead of a "More" prompt, Searchlight places text inside a window and lets you use scroll bars or cursor keys to browse through messages in either direction. All of the commands described above function in RIP mode the same way they do in non-RIP mode. Instead of waiting for a prompt, however, these options are presented as pushbuttons on your screen. To activate an option, click on its button with your mouse, or type the highlighted function key. Certain commands, such as the "Other" command, will pop up a list of options from which you may select. One feature that's available exclusively in RIP mode is the ability to view embedded graphics in messages. If a message contains embedded RIP commands, you'll see a small box labeled "RIP!" in the upper right hand portion of the screen. To view the picture, click this button. Searchlight will clear the screen and display the RIP picture. Then click the "OK" button in the lower right hand corner (or hit Enter) to continue. Another RIP mode exclusive is the List command, which replaces Goto at the bottom of the text reader screen. List generates a list of messages in the current subboard and allows you to choose a new message by browsing the list and double clicking on the desired message; use the scroll bars or direction keys if the message list is larger than a single screen. If desired, you can press Goto within the List screen and enter a particular message number. 78 Message System Mail/Subboard Disposition Prompts A prompt is available whenever you exit from reading a public message subboard or reading mail; it's called the Mail Disposition or Subboard Disposition prompt. The choices are: Subboard Disposition: coNtinue Post Unmark The default choice here is "Continue". Notice that "N" is the hotkey for this choice; Searchlight permits a key other than the first key of a choice to be the hotkey. "Continue" simply exits back to the previous menu (if you were using a Read or Mail command) or continues to the next subboard (if you were using a New command). If you read new messages on that subboard, then your new message pointer is updated. Unmark lets you exit a subboard without updating your new message pointer for that subboard (or without marking new mail messages as read), thus causing any new messages there to continue to appear in the next New message scan. This can prove useful in a variety of circumstances; for example, you might wish to "browse" through the new messages on a subboard with the intention of returning to them later for a more thorough reading and reply. Selecting "Unmark" after the initial browse lets you do that without the need to remember a specific message number Continue automatically "joins" users to a subboard if they were not already subboard members. Joining and unjoining subboards can also be accomplished manually via 1-Member. Post lets you post a new message on the current subboard. On Mail commands, Post is replaced with Send, which lets you send a mail message to any user. Both commands appear only if the user has access to perform the associated action. Both subboard and mail disposition prompts can be disabled on a user by user basis. The switch to turn these prompts on and off is located in the Options/Preference command. When the prompts are disabled, the default choice, "Continue", is executed. Using the Thread Command Message Threading is a powerful concept that lets you display and follow "threads" of message replies within a message area. Searchlight's Thread command is unique in that it gives you the option to read a thread from several different places. You can read forward or backwards through a thread, and use all of the regular message subcommands (Again, Reply, Forward, etc.) while reading a message thread. Selecting the Thread command after reading a message brings up a submenu with options Next, Prev, Original, First and Quit. You can begin reading the thread at the Next message, backward to the Previous message, from the Original message (relative to the current message) or the First message in the entire thread. A reply thread contains all the original messages leading up to the current message (including originals of the originals), and all replies to that message (again, including all replies-to-replies). Notice that as you read a thread, the Next and Previous commands now deliver the next or previous message in the thread being read. When you're done reading the last message in the thread, or you select Sequentl from 79 Message System the menu, you'll return back to the original message (the message you were reading when you first pressed "Thread"). Threading scans a chain of replies recursively; ie. if a reply has replies, those additional replies are scanned, and so forth. Therefore, the message thread will not necessarily be in numerical or chronological order, but will list all replies to a message in sequential order right after that message. Of course, only messages which were posted as replies to an original message (via the Reply message subcommand) can be considered as part of a thread. When reading a thread, Searchlight keeps track of which messages you have read. After exiting from the thread, when you continue reading messages in order, messages you've already looked at (as part of a previous thread command) are skipped. These message markers are cleared when you exit the Read command back to the main menu prompt. Although the previously read messages are skipped when using the Next command, you can back-up and read them again with the Previous command if desired. Threading is usually used when you read a message that has replies (as indicated in the message header) and you want to see those replies immediately, or when you're reading through a subboard with a large number of messages and want to restrict yourself to reading only messages belonging to a particular topic. Global Thread Operations Searchlight features commands that allow you to treat a thread as a unit, and perform actions on all the messages in a thread (or a specific part of a thread) with a single command. In particular, you can forward, delete, or download and entire group of related messages. The ability to forward or delete more than just a single message is available only to the Sysop, a CoSysop, or the Subboard Sysop of a particular message area. Downloading of threads is available to any user. Whenever you are reading a message and you activate the Kill, Forward or Download option from the message disposition menu (ie. Other/Kill, Other/Forward or Other/Download), the following new prompt will appear: Message Replies Thread Quit If you want to delete, forward or download only the one message you have just read, select the default choice, Message. If you want to include the current message, plus all of the direct replies to that message, select Replies. This choice is different from selecting the entire thread, because it does not include any messages previous to the current message, nor does it include later messages except those that were entered directly as replies to the current message. Finally, the third choice, Thread, selects every message in the current message thread, starting at the top of the thread. The List and Jump Commands 80 Message System Searchlight supports an unlimited number of independent message areas or subboards. To get a list of the message areas available, use the List command. When List is done displaying the available areas, it supplies a prompt that enables you to enter the area of your choice (by keying the area name). The selected area then becomes the active area, and you are able to read, scan, and post messages to that area. If you just hit ENTER, the active area is unchanged. In general, you do not need to type the entire subboard name of the area you wish to access; in most cases, the first two or three letters of the area name will suffice. It is also possible to select a subboard area by entering any combination of letters found in its area name; however, be sure to type in enough letters to avoid ambiguity, which can result in selecting the wrong subboard. If you want to switch message areas without viewing the list of available areas first, use the Jump command. o By default, Searchlight displays all available message subboards in alphabetical order when the List command is used. However, you can change the list order and contents by specifying a text file called MAIN.DIR. For more information, see Custom Ordering on page 57. o In RIP mode, Searchlight presents the subboard list as a scrollable window. To select a subboard, double click on the desired subboard name or move the highlight bar and press Enter. You can move quickly through the subboard list with the scroll bar or by typing the first letter of the desired subboard name. Reviewing Messages: The Scan Command While the Read command is versatile, Searchlight provides additional commands that give you a brief summary of the messages on a subboard, allow you to search for particular messages, and allow you to check for new messages posted since the last message you've read. Use the Scan command to list or search the current message area. Scan presents a submenu with these options: Forward Reverse Search Personal Quit To list messages in ascending order, hit Forward; to display them in the opposite order, use Reverse. The listing shows the message number, date, person posting the message, and the message title for each message. You can abort the listing early with ^C. The Search option operates a little bit differently; it allows you to find specific messages by giving a search string. For a quick search, the search string you type can match any part of a message's title or a sender's name; you can also search the entire message (text as well as header information). After selecting Search, you will be prompted with: Enter Search Key: > 81 Message System Enter the text for which you wish to search. The search is always case insensitive (all combinations of upper and lowercase will match). Next, you will see: Search Text of Messages? Yes/No If you choose "Yes", Searchlight will search the headers and text of all messages for your search string. If you want to search only for messages from a particular author or about a particular subject, you can answer with "No", and search only the message headers. A header-only search takes much less time than a full-text search. You can abort the search at any time by pressing ^C. The Personal subcommand searches the current subboard for messages which are addressed to you. Note that the personal search can only find messages which were posted after you joined the current subboard (and it will not work at all if you haven't joined the subboard). After a successful search, this prompt will appear: Read Matching Messages? Yes/No If you press Y, you'll be transferred to the Read command, where you'll be able to read the first of the matching message. When you use the Next and Previous subcommands on the message menu, Searchlight will display the next or previous message in the list of messages matching your search string, rather than the next or previous messages in numerical order. Thus, you can easily view some or all of the messages you've searched for without having to key in the individual message numbers. o In RIP graphics mode, Searchlight displays the results of the Scan command as a scrollable list. Use the mouse, scrollbar or direction keys to browse through this list. If you want to read a particular message, double click on the message or position the highlight bar on the desired message and press Enter. Finding New Messages: The New Command Searchlight provides a powerful New command that can automatically take you to new messages each time you log on to your BBS. The New command uses the high message pointer that's saved in each subboard member file (when you Join that subboard) and accurately finds all new messages, regardless of the date you last logged in. To begin the new message scan, enter the New command. These suboptions appear: All Joined Subboard Personal Quit Here's a rundown of the New subcommands: New/All This function scans for new messages on all available, subboards, whether or not you are a member of the subboard. Because Searchlight BBS only keeps a new message pointer for subboards in which you are a member, any non- 82 Message System member subboards will indicate that all the messages on the subboard are new; however, you will have an opportunity to join these subboards as you encounter them, and start reading at a later message if you wish. New/All is the recommended command for new callers to use in order to familiarize themselves with your BBS and "tour" the message areas available to them. New/Joined This command scans for new messages only on subboards which you have joined, skipping those in which you are not a member. Experienced callers can use this command to selectively read those subboards on your BBS that interest them while ignoring others. All that is required is that users join those subboards which they are interested in, and not join (or unjoin) the others (we'll explain how to join and unjoin subboards in a moment). New/Subboard This command performs a new message scan only on the current subboard. Searchlight lists the new messages on the subboard, then allows you to read them. New/Personal The personal subfunction lets you scan either the current subboard, or the entire BBS, for new messages that are addressed specifically to you. New/Personal is similar to Scan/Personal, except that it scans only new messages, and gives you a choice to scan either the current subboard or all subboards. Subboard Navigation with New The global New functions (those that scan for new messages on all subboards) provide several options for reading messages. At each subboard in which new messages exist, you'll see the subboard name and (except in the case of personal scans) the number of new messages available. Following this, another menu choice appears: Read Goto Next Join (Unjoin) Quit 83 Message System Here, select the appropriate choice depending on what you wish to do about reading the new messages on that subboard. Read If you select Read, you'll begin reading from the first new message on the subboard. As you read messages, the various message disposition commands (discussed in detail on the previous pages) are available to you. If you select Quit while reading, the new scan resumes and goes to the next available subboard (press 'Q' at the next submenu to exit from the New command entirely). The first time you read messages, this prompt may appear: Pause Between Messages? Yes/No If you want Searchlight to provide a continuous dump of the new messages on this subboard and all subsequent subboards, select "No". Otherwise, select "Yes". o The "Pause Between Messages" prompt does not appear if you have your preference option for Pause Between Messages set to Yes or No. See page 69 for details. Goto This command lets you skip to any message on the subboard by entering its message number. Goto is often convenient when you encounter a subboard with many new messages, and you desire to skip ahead and read only the most recent messages instead of reading them all. Next Select Next if you want to skip this subboard. The New command continues to scan for the next available subboard with new messages. Join If you are using the New/All command and you are not a member of the subboard shown, you can use the Join command to become a member. Remember that joining a subboard is required if you wish Searchlight to remember the highest message you have read on that subboard and be able to identify new messages each time you log on. When you join a subboard, Searchlight will prompt you to enter a high message number. If you want to read messages on the subboard from the beginning, just press Enter to accept the default value. When a subboard has many messages, you may want to set your high message pointer to a higher value, thus skipping ahead to a more recent message at which to begin reading. o Searchlight automatically joins you to a subboard if you read messages there, and select "Continue" from the message disposition prompt when leaving the subboard. 84 Message System Unjoin If you want to discontinue membership in a particular subboard, use this command. Searchlight will confirm that it is your intention to unjoin, and remove you from the subboard's member list. Unjoining a subboard will prevent that subboard from appearing when you select the New/Joined command in the future. Remember that Searchlight determines new messages based on the high message pointer kept in your subboard member files. This number points to the highest message you've read, and Searchlight assumes that all messages above that value are new, and all below it are old. When you read messages nonsequentially--if you use the Goto command, or perform personal message scans, for example--your high message pointer may be set higher than some messages which you have not actually read. If you want to reset your high message pointer at any time, use the 1-Member/HighMsg command. New is Searchlight's "workhorse" command. It is the one command you'll use most often to read messages on your BBS and keep up with the activity on your subboards. The Edit and Kill Commands These two commands on Searchlight's main menu facilitate the editing and deletion of messages. To edit or delete a message, you must either be the person who posted the message, or a Sysop, CoSysop, or Subop of the current subboard. The Edit command lets you edit the title and text of a message, using the system's text editors. When you save the changes, the new message replaces the old. If you use the Abort editor command, no changes take place. Edit allows you to assign a "protected" status to messages. Protected messages can be edited and can be deleted on an individual basis, but a protected message will not be deleted during any mass message deletion. The Kill command lets you delete a message or a range of messages. Only Sysops, CoSysops or Subops can specify ranges with Kill. Normally, each message's header is displayed before it is deleted and you can opt to delete or keep the message. With range delete, it is possible to kill all messages in the range without verification (you are prompted for this option). The 1-Member Command The 1-Member command is used to maintain the member (.MBR) file for the current subboard. The member file is primarily used to hold high message pointers for use with the New command. On the MAIL subboard, the member file contains user "mailboxes". These subcommands are available with 1-Member: HighMsg Search List Join Unjoin Quit 85 Message System 1-Member commands are generally available to both Sysops and regular users. However, Sysops can perform these commands for any member in the member file (by typing the name at the prompt), whereas regular users can only perform these commands on their own member account. 1-Member/HighMsg This subcommand lets you view or directly modify your high message pointer (the value used with the New command) for the current subboard. Although Searchlight normally maintains this value on its own, you may wish to modify it manually under certain circumstances. 1-Member/Search 1-Member/List The list and search commands operate similarly to User/List and User/Search; List allows you to list the members of the current subboard, while Search lets you search for a particular member name. The list or search result shows members' high message pointers and date of last subboard access. Please refer to the User command in the next section of this manual for a little more information about these suboptions. 1-Member/Join This command joins you (or any specified user, if you're a Sysop) to the member file for the current subboard. Upon joining the subboard, Searchlight prompts you to enter a value for the highest message read. You can press Enter to accept the default value or, if you wish to skip older messages in the subboard, you can enter a different value. o Subboard member files can contain entries that are not users in your main user file; the most common example is Searchlight's SLMAIL program, which inserts a member record for itself when used to read new messages on a subboard, even though 'SLMAIL' is probably not a valid login name on your BBS. As the Sysop, you can use 1-Member commands to examine the member record for SLMAIL or any other specialized entry in your member files. 1-Member/Unjoin This is the complementary command to 1-Member/Join, and allows you to remove yourself (or if you are the Sysop, remove any user) from the subboard membership file. Searchlight confirms the deletion request with a Yes/No prompt before removing the member. o Searchlight's CONFIG program contains other useful message management facilities, including the ability to purge old messages and member files. See Sysop Utilities later in this manual. 86 Electronic Mail Using Electronic Mail Searchlight BBS provides a complete electronic mail facility, in addition to the public message base. Some features of electronic mail are: individual, private mailboxes for each user; read, list, search, and new mail commands; message reply and forwarding; automatic message logging; and unlimited number of messages per user mailbox. What is the difference between private mail and public messages? Although Searchlight BBS allows you to designate a recipient for both public and private messages, the Mail command is specifically designed for sending private mail to a particular user. The main advantage to Mail is that your private messages are separate from the main public message sections of Searchlight and easily accessible at any time, from any subboard, by using the Mail command. In actuality, Searchlight stores mail messages in a subboard called "MAIL". If you examine this subboard, you'll find that it looks exactly like any other subboard on Searchlight BBS; you can even Jump to it and execute regular subboard commands like Read or Post. However, because the MAIL subboard contains private messages, you will want to prevent any users except authorized Sysops from accessing the mail area in this manner (by default, the MAIL subboard is set to access level 255). In addition, we recommend that you press the ALT-I hotkey anytime you jump to MAIL as a subboard (doing this prevents your actions from affecting the number of times read indicators in the mail headers). Think of the Mail command as a special way in which you access the subboard called MAIL: special because it allows users to read only those messages which are directed to them, while allowing them to send messages only to users who are actually valid members of your BBS. When you log in to Searchlight, a check of your mailbox is automatically made and the number of messages displayed. If you have any new mail, the system lets you enter the Mail/New command immediately. All other Mail operations are selected via the Mail command on the main menu. Mail presents this submenu: Read Send List New Find Inquire Purge Quit Select a command as follows: Mail/Read The Read command lets you read your private messages sequentially, beginning with the first message in your mailbox. Those messages which are new (have never been read before) are presented with this prompt: Read Now? Yes/No/Quit You can press Y to read the message, N to skip it and go on to the next message, or Q to abort the mail command. As you read messages, the standard message disposition commands (Next, Prev, Reply, etc.) are available from the command line. Note that the Goto command is not available when reading mail. 87 Electronic Mail The Delete Prompt After reading each message in your electronic mailbox, and responding to it with one of the above subcommands, an additional prompt appears: Delete this message? No/Yes Press "Y" if you wish to delete the message you just read; or "N" if you don't want to delete the message. Because private mail is only readable by the person to whom it's addressed, the software encourages you to delete messages after you've read them. That's why this prompt appears when reading mail. Mail/Send Send is the command to use when you want to send private mail to one or more users. Remember that mail is strictly for private messages, and you cannot send mail to "ALL" users (although you can send the same message to a small group of users). Send prompts you with: Send To : Enter the name of the person to whom you would like to send mail. You must enter a valid username that exists in Searchlight's database. However, you do not need to type the entire name; typing the first few characters of the name is sufficient to locate the correct user. If you type a partial username and there are several possible matches, Searchlight will prompt you for the correct one. Next, the prompt cc To : will appear. If you wish to send mail to more than one person, you can type the name of the next user here; if you have more usernames, more "carbon copy" prompts will appear to take them. When you're done entering names, just hit ENTER without typing anything. When sending mail to multiple recipients, Searchlight automatically includes a "CC:" line in the editor when you enter the message, listing those names. If you wish, you can modify or delete this line before you save the message. You may now enter a title and text for the message you want to send using the system's text editing facilities. When you're done, the message is added to the mailbox(es) of the designated recipient(s). o You can also type "alias" names and "group" names in response to these prompts. For more information, consult Appendix E, Using Alias Names. o You can also create Mail Send commands that send mail to a particular person, disallow carbon copy, or override certain access privliges. For more information, see Appendix G. 88 Electronic Mail Mail/List The List option provides a sequential list of the messages on file in your mailbox. The list shows the message number, date, sender, and subject of each message. Searchlight prompts you for a "Start Date" with the list command; if you press ENTER, it will list all messages in your mailbox. If you provide a date, only messages posted on or after that date are displayed. When the list is complete (or ^C is pressed), you can read a specific message by keying in the message number at the prompt. Mail/New The New subcommand lets you search for new (unread) messages in your mailbox. This command is similar to Mail/Read, except that only the new messages are displayed for reading. Note that the Mail/New command decides a message is new solely based on the number of times read indicator in the message's header, not via a high message pointer. Therefore, it does not matter if you skip around when reading mail. Mail/Find The Find option lets you search for specific messages by sender or subject text. In response to the prompt, enter the information to be searched for. Find then operates like List, except it displays only messages which match the search text. Mail/Inquire This subcommand is used to check, or inquire into, the status of messages you have sent to other users. When you use Mail/Inquire, you are prompted with: Search All Mailboxes? Yes/No If you choose "Yes", Searchlight will look at all the mail you have sent and which still exists (i.e. has not been deleted), starting with the last message sent and working backwards from there. If you choose "No", Searchlight will prompt you for a specific user name, and a start date, and will display mail sent to that person on or after the specified date, working forwards. After each message is displayed, this prompt appears: Again Next Forward Edit Kill Quit You can choose Again to view the message again, or Next to proceed to the next message. Use the Forward option if you'd like to forward a copy of this message to another person, a subboard, a text file, etc. 89 Electronic Mail If the message has not yet been read by the person to whom it is addressed, you can Edit or Kill it. These options don't appear if the message has already been received. Mail/Purge The final Mail command is Purge. It lets you delete some or all of the mail in your mailbox automatically, based on these suboptions: 1. Start Date ......................... 1-01-87 2. End Date ........................... 5-24-92 3. Purge New Mail? .................... No 4. Purge Unanswered Mail? ............. No The Start Date and End Date define a range of dates for which you would like to purge messages. If "Purge New Mail" is set to No, then new (unread) mail won't be deleted, regardless of its date. Similarly, "Purge Unanswered Mail", if set to No, will preserve any mail which has not been answered. Press ESC when you have filled these fields in with the desired settings. Before any purge takes place, Searchlight confirms the command by asking "Begin Mailbox Purge?"; to continue, press Y, or press N to abort the command. Netmail Searchlight supports Netmail--the ability to send private messages via Fidonet or a similar network using FTSC technology. Sending and receiving netmail is similar to sending and receiving regular mail, with some exceptions; for more information, please refer to page 196. Internet Mail Searchlight can exchange messages with internet, the worldwide electronic data network, when used in conjunction with an internet mail connectivity package. When internet support is enabled, your callers can receive internet messages in their mailboxes and send mail to internet accounts by entering special internet addresses instead of the names of other callers. Contact Searchlight Software for more information about internet options. A Word about Mailboxes Having a mailbox on Searchlight BBS is the same thing as joining the MAIL subboard. However, it isn't necessary for any users to explicitly join MAIL--it's done automatically, the first time someone sends mail to a particular user. In general, new users won't have a mailbox until someone sends them a message. Some Mail commands will report "Mailbox not available" when used by someone who has never received mail and therefore doesn't have a mailbox, however, this doesn't mean that user cannot send mail, nor does it mean they can't receive mail if some is sent to them. 90 Electronic Mail You can regulate the sending of mail, though, by setting the post attributes field in the MAIL subboard (use the CONFIG program to do this). Users who do not have these specified attributes won't be able to send mail messages (but can still read any messages sent to them). If for any reason you wish to manually create or delete someone's mailbox, Jump to the MAIL subboard and use the 1-Member commands. Notice that deleting a user's mailbox does not delete any of the messages in that mailbox, it only removes the user's access to those messages. 91 Bulletins Using The Bulletins System Bulletins are a small, special group of messages maintained by Searchlight. These are the messages that are listed when a user first logs in, or when the Bulletin command is executed from the main menu. As you may have guessed, bulletins are actually stored in the BULLETIN subboard that was created by default when you installed Searchlight BBS. Although Bulletin is a subboard, the Bulletins command is a special way to read that subboard: it lists the messages in reverse chronological order and allows you to select them with a sequential number (regardless of the actual message numbers). Reading Bulletins To read bulletins, simply execute the Bulletins command and enter the number of the bulletin you want to read. This menu is also displayed as part of the login sequence. Maintaining Bulletins To post, edit, delete, or otherwise maintain your bulletins, simply Jump to the BULLETIN subboard. Use Searchlight's standard message commands to modify or enter new information. Don't worry about the message numbers that are assigned to new bulletins, as the Bulletins command automatically assigns sequential values to your bulletins. By default, BULLETIN is a high access level, protected message area that is accessible only to you as the Sysop. However, you might want to allow some or all of your users to access the BULLETIN subboard and perform modifications. To do that, just edit the access levels and attributes of the bulletin area via the Setup utility program. If you do allow your users to post bulletins, you will usually want to insure that the number of bulletins available doesn't go beyond a certain value (say 15 bulletins). We recommend setting this as the maximum number of messages via the CONFIG program. As well, use the "Auto Purge" feature to automatically purge old bulletins after the limit is reached (protect important bulletins by editing them and setting the protect flag on). The maximum allowable number of bulletins is 100. Using an Alternate Bulletins Subboard The Bulletins command can work with a subboard other than the default BULLETIN subboard. This feature allows you to have multiple bulletins areas by creating a subboard for each area and a command to start the bulletins menu for that subboard. To have the Bulletins command execute for a different subboard, use the menu editor to create an internal command. For example: 1. Command Name ........................ CarPool 2. Command Key ......................... C 3. Description ......................... Car Pool Info 4. Access Levels & Graphics [...] 92 Bulletins 5. Command Number (1) .................. 106 6. Command Parameters (1) .............. CARPOOL /x In this example, we created a bulletins command using the CARPOOL subboard. The interface for this command will be the same as the regular bulletins command, except that it get its messages from our CARPOOL subboard. (For more information about creating commands and using internal command numbers, see the menu editing section of this manual beginning on page 144). The Bulletins command can accept any subboard name, even if the caller does not have access to the subboard. Thus, alternate bulletins areas can be created without those areas appearing in your regular subboard listings. However, if you use a MAIN.SUB file, or if you use internal command 200, the bulletin subboard must be part of the current subboard listing. 93 Using Chat Mode Using Chat Mode "Chat Mode" is a feature which allows you to "talk" to, or exchange short messages with, a user logged on to your BBS. There are two kinds of chatting: Sysop-To-User chatting, which enables the Sysop to talk to a logged in user, and Internode chatting, which allows two logged-in users to communicate. Sysop-To-User Chatting The Sysop-To-User chat feature is invoked when the Sysop responds to a "page" by a logged-in user, or by the Sysop by pressing ALT-C anytime at the local console. In ANSI or RIP modes, ALT-C invokes a split screen Sysop chat mode. The screen is divided in two; your typing occupies the lower portion of the screen, and the caller's typing appears in the upper portion. In non-ANSI mode, the local chat mode simply lets you and the caller type messages back and forth in a single window. Chat conversation may be logged by using the ALT-L logging facility. To exit chat mode, the Sysop presses the ESC key. If you like, you can provide a background or "wallpaper" file for split screen chatting in RIP mode. To do so, create a RIP file called CHAT.RIP and place it in your Text directory. Searchlight will display your file when ALT-C is pressed and place the chat windows on top of it. Wallpaper is not available in non-RIP modes. Internode Chatting A more powerful Chat command, available only with multiuser versions of Searchlight, allows two or more logged-in users to communicate directly, instead of just being able to chat with the Sysop. An internode chat session is initiated when one user enters the Chat command from the main menu. Chat displays the list of available nodes, and prompts you to select the desired node with which to chat. If you select the Local Sysop option, Chat performs a local Sysop-To-User page, as with single-user systems. If you select a node, however, Chat prints the message Entering Chat Mode. Enter a period (.) to exit, .H for Help. followed by a right-bracket prompt. You may now type a short text message, pressing Enter when you are finished. At another node, the caller to whom your message is directed will continue to work. However, the next time the caller's screen is cleared, Searchlight will display the message from you. If this user wishes to respond to you, he or she will then enter Chat mode from the main menu and begin sending messages to you (your terminal will display the sent messages either immediately, if your cursor is just to the right of the ">" prompt and you haven't typed anything, or immediately after you finish typing the current line). When you're done talking, just type a period at the ">" prompt and hit Enter. The chat facility can buffer up to four lines of text. After four lines are sent, you cannot send any more text until the receiver has received the four buffered lines. When this happens, you must either wait for a 94 Using Chat Mode response, or give up trying to chat. Notice that since messages sent to a user are only displayed when the screen clears, a user may not receive your message immediately; you should wait several minutes after sending the initial message before you can expect a reply. At anytime during the chat, you can get a list of currently logged in users by typing ".W" at the prompt. To switch nodes and chat with another user, you can enter ".n" where "n" is the node number you want to chat with next. Messages are exchanged through a file called CHAT.SL2, which will be created on your disk if it does not exist. Since the messages in CHAT.SL2 are of a temporary nature, and since interactive chatting is disk- intensive, we strongly recommend that you use a small RAM-disk to hold the CHAT.SL2 file. You can specify the drive and pathname where CHAT.SL2 will be created using the option in the "Pathnames Setup" section of the CONFIG program. If you do so, however, remember that each node in your system MUST be set to the exact same chat path. Otherwise, chatting between some nodes won't work. The amount of disk space needed for the CHAT.SL2 file will be 512 bytes plus 512 times the number of nodes in your system. Since Searchlight will create CHAT.SL2 if it does not exist, there is no need to copy this file to or from your RAM-disk when the computer is reset. 95 Other Commands Other Commands Here's an outline of miscellaneous Searchlight BBS main menu commands that were not covered in previous chapters: Ansi Command The Ansi command can be used at any time to change the current ANSI mode to Color, Monochrome, or None. Normally, this selection is made before logging in, but it can be changed afterwards. Files Command Files transfers you to the Searchlight File Transfer system, a program used to upload, download, and maintain libraries of files. Before you can use the Files system, you must set up directories using the CONFIG program. For more information see File Transfer System in this manual. Goodbye Command Goodbye logs you off the system, resetting Searchlight for the next call. If the "quotes file" is enabled, Searchlight will prompt you on logoff: Please leave us a quote: > You can type up to 72 characters. The message you leave is stored in the quotes file and can be viewed by later callers with the Quotes command. Info Command This command looks for a file called INFO.TXT (or INFO.ANS for ANSI users) in your text directory area, and displays it if it exists. You can use the Info file to provide a brief description of your system, an editorial, etc. Quotes Command Quotes looks into the QUOTES.SL2 file and displays the quotes entered at logoff (when the quotes file is active). Time Command This command shows you the current time and date, the time you logged in, your elapsed time, and the amount of time left in your current session. User Command The User command is used to list or search for users in the user database or to get a log of the last 75 callers. It has these subcommands: CallLog Search List Find Delete Balance Quit 96 Other Commands To get the list of the last 75 successive calls to the system, select the CallLog option. You can abort the list with ^C if desired. Search lets you enter usernames to search for. If the user is found, the system displays his or her location, system type, total calls, and dates of first and last login. You can specify partial user names here; for example, typing TOM would display all users on your system named Tom. The List function gives an alphabetical list of users on your system. You can start the list anywhere, by typing the first few characters of the name you want to begin with; or press ENTER to view the entire list. If you are the Sysop or a co-Sysop, Searchlight prompts you: Enter Min Access Level [ 0]: Enter Max Access Level [255]: If you press ENTER (to use the default values in brackets), all users are displayed. If you specify an access level range, however, only users who's access levels fall within that range are displayed. The Find option works like List, but allows you to specify an arbitrary search string. Only users who's user records contain the search string in the name, location, or system type fields are displayed. You can abort the search with ^C. o Notice that the List and Find commands display user access levels, but only when used by a Sysop or co-Sysop. Use the Delete option if you want to delete a user from your user file. Naturally, this command is only available to you as a Sysop, and not to your regular callers. o Deleting a user in this manner does not delete any mail or messages on the system for that user. The sysop utilities menu in CONFIG can be use to purge these items if desired. Balance performs an optimization and repair function on your user file. Balance sorts your user file to make sure that names are placed in an optimal order for retrieval, and can also repair any errors within your user file. Use this function if you suspect a problem with the user file (for example, if an error occurs when you try to access usernames) or periodically to ensure that your userfile is in top shape (an especially good time to balance the user file is right after making extensive changes to it, like deleting or adding users). Version Command This command displays: the version number of Searchlight BBS being used, the public portion of your software registration number, and the user license level (single user, three user, etc.) that you purchased. Who Command In multiuser systems, you can use the Who command to display the number of active nodes and the names of the users logged in to each node. On single user systems, this command displays the current user's name and location. 97 Sysop Functions Sysop Functions A special command is provided on Searchlight's main menu that's available to Sysops and CoSysops only. This is the "2-Sysop" command and it lets you change access levels and options, read other users' mail, edit text files, and more. When you execute it (type "2" at the main menu and press ENTER), this subcommand menu appears: Options Adjust Validate Mail TextEdit DosShell Relog Quit Select "Quit" to abort the command, or select one of the command options as follows: Sysop/Options This option lets you edit a user's record, including user information, preferences, access levels, attributes and time limits. Complete details are given in the Configuring User Options section of this manual (see p. 66). Sysop/Adjust The Adjust feature is similar to Options, but allows you to edit four fields which are normally system-maintained: a user's upload and download amounts, first login date, and last login date. Normally, you will not need to change these fields as they are updated by the system; however, you may wish to do so in special circumstances, such as to correct inaccurate upload/download ratios. Sysop/Validate This command lets you "validate" a user by assigning one of the 12 preset access levels to that user's record. When you select Sysop/Validate and enter a username, Searchlight displays a list of the default access levels; choose one by pressing the appropriate letter. Default access levels are configured by using option "I" on the CONFIG program's main menu (see p. 36). Validating a user assigns the values associated with the selected access level to that user's account. You can individually adjust user records, though, by using the Sysop/Options facility. You can also invoke the Validate command by using Other/Validate from any message disposition line. o Updating a particular default access level (via CONFIG) does not automatically update users to whom that access level has been assigned. Use the Sysop Utilities portion of the CONFIG program to effect such changes when required. Sysop/Mail The Mail subcommand lets you access the mailbox of another user. You can read, list, or search the user's mail, purge or delete messages, and write 98 Sysop Functions mail to other users "as" that user. First, pick the desired operation from the options displayed; then enter the desired user name. You can also access user mail by JUMPing to the "MAIL" subboard. Note that when you read a user's mail in Sysop/Mail mode, the "number of times read" indicators do not increment. Sysop/TextEdit This command loads a text file from disk and puts it into the Searchlight text editor. You can edit the file and resave it to disk, thus giving you the ability to edit files used by Searchlight (such as ALIAS.DEF) or other short text files without exiting from Searchlight or using another editor. Searchlight's full screen editor allows you to edit lines longer than 76 characters by appending an underbar character to the end of long lines and continuing them on the next line. If you edit such lines, you must manually maintain the position of the underbar at the end of the line. Do not use TextEdit to edit files longer than 400 lines or files which contain non- ASCII characters. Only the Sysop (access level 255) is allowed to use TextEdit. Sysop/DosShell This command calls up a shell to the operating system (DOS) by running the COMMAND.COM program. This is similar to pressing ALT-D, but it's also available from a remote login (limited, of course, to Sysops with the highest access level). Sysop/Relog Relog can be used during a remote call to log off of Searchlight but return the system to the "Select Graphics Mode ..." prompt instead of hanging up the telephone. By doing this, you can allow someone else to log on to the system without having to redial and make another connection. o Additional sysop utilities that let you purge messages, users and files are available in the CONFIG program. See "Sysop Utilities" on page 176 for more information. 99 Status Line & Hotkeys The Status Line Whenever someone is logged into your BBS from a remote terminal, the local PC screen will display a status line in inverse video at the bottom of the screen. The status line gives you information about the currently logged in user. It looks something like this: Online: USER NAME Access: AAA/BBB Time: XXX/YYY Node N sacnl USER NAME shows you the name of the person who is logged in. AAA and BBB are the user's BBS access level and FILES access level, respectively. XXX is the amount of time (in minutes) that the user has been logged in, and YYY is the user's time limit for this session. Node indicates the node number (in multiuser systems) of the node you are looking at. The lowercase letters to the right are status flags, as explained below. Hot Keys As the Sysop, there is a group of operations that you can perform through the use of what we call "hot keys" at the local keyboard. A "hot key" is a special key that can be pressed at almost any time the Searchlight is running, without disturbing the call in progress. For example, ALT-V is the hot key for validating users. If you press ALT-V while a new user is logged in, that user will be instantly validated, and the status line on the bottom of the screen will be updated to show the user's new status. Pressing ALT-V while a validated user is online results in un-validating the user, or returning the user to the defined new user access levels and time limit. The user at the remote terminal doesn't see any of this happening. The F9 and F10 keys can be used to adjust a user's time limit. Pressing F9 adds five minutes to the currently logged in user's time limit, and pressing F10 subtracts 5 minutes. The new time limit is in effect only for the current call. The F8 key is a status line toggle. Pressing F8 changes the format of the status line, swapping the above access level/time limit display with one of three others showing the user's location, computer type, phone number, and current baud rate, or the system's memory usage. The letters "sacnl" on the lower right hand side of the screen are flags, and they are controlled with hot keys as well. The "S" flag is called the superuser status flag. When the flag is OFF, a lowercase s is displayed. When it is ON, an uppercase S is shown. You toggle it on or off by pressing the ALT-S key on the local keyboard. When superuser status is ON, any user who is logged in is granted full Sysop privileges. Normally, you use this command in order to allow yourself to execute sysop commands while someone else is logged in. You can also use it to grant temporary Sysop access to the logged in user. Note that if you turn this switch ON, it remains ON until you turn it off, or until the current user logs off (or hangs up). The "a" and "c" flags control the operation of the chat command. The "a" flag is the Sysop Availability flag. When it is ON, an uppercase "A" is displayed, and paging is enabled; that is, the system will beep to inform you of an attempt by a user to call you with the "Chat" command. If availability is turned OFF, the computer will remain silent, and inform all 100 Status Line & Hotkeys users attempting to chat that no sysop is available. The sysop availability mode is turned on and off by pressing ALT-A. The "c" flag tells you whether or not the current user has attempted to page you since logging on. If a capital "C" is displayed, it means the user attempted to Chat. This is true regardless of the setting of the "A" flag. ALT-C is the chat hotkey. At most times when the Searchlight is running, you can "break in" to chat with the logged user by pressing ALT-C. This causes you to go into chat mode immediately, suspending any operation in progress. When you exit the chat mode (by pressing the ESC key), Searchlight restores the original screen display and returns the user to the exact place where he or she left off. The 'n' flag and the ALT-N function key toggle Searchlight's Sysop-Next option. Sysop-Next is a flag which you can set to indicate that you would like to system to revert to a local login immediately after the current user logs off, thus giving you the opportunity to log onto the BBS yourself or take the BBS down to perform maintenance functions. When the ALT-N flag is set, Searchlight will, upon recycling back to the call waiting screen, immediately issue the local init string to your modem, sound a short alert tone from the speaker, and go into a local login mode. You can turn the Sysop-Next flag or off by pressing the ALT-N key at any time. A capital "N" indicates that it is on, while a lowercase letter means that it's off. o If a front-end program is being used (that is, if Searchlight is set to Return to DOS on Logoff), it will exit with a result code of 3 when the Sysop-Next flag is set. It is up to the front end program to recognize this as a request to allow the sysop to log in next; if your front end software cannot do this, then you won't be able to use the ALT-N feature. ALT-I is Searchlight's "invisible" hotkey allow you to read messages on any subboard, or in your mailbox, without updating your high message read counter, or the "number of times read" counters in message headers. (An uppercase I appears on the status line when you press ALT-I and disappears when you press it again). ALT-I is particularly useful when you want to review private messages by Jumping to the MAIL subboard, without affecting the counters for those messages. Output Logging The "L" status flag and the ALT-L command control output logging. Logging allows you to capture all of the text being sent to and from your BBS and output it to a disk file or device. For example, you could use this feature to record a conversation with a user while in CHAT mode, or to make ASCII text files containing listings of your upload/download directories, or to get a printout of almost any listing, message, or display that Searchlight normally sends to the screen. To begin logging, press ALT-L; you are prompted to enter a filename. If you defined a default log file in the CONFIG program, it is displayed, and you can use it by pressing ENTER. Otherwise, enter the desired filename. Logging begins, and continues until you press ALT-L again, change from one program module to another (i.e. run the Files program or quit from Files to the main menu), log off, exit via ALT-X, or execute a Door program. All text normally displayed on the screen is copied into the log file. 101 Status Line & Hotkeys If you wish to obtain a hard copy (printout) of BBS activity, use PRN as the output filename. PRN is the printer device file, and it will cause subsequent output to go to the printer. o Backspace characters are processed out of the logged output, and ANSI escape sequences are removed. Also, the "-- more --" prompt is disabled during logging. Exit Key ALT-X can be used to temporarily exit Searchlight and return to DOS. When you press ALT-X (from the local keyboard only), all files are closed, Searchlight terminates, and you return to DOS. When you re-run Searchlight (by executing SLBBS.EXE), you are returned to your BBS and positioned at the main menu. If you use ALT-X while a remote user is online, the modem will not hang up the telephone, but the remote user will cease to receive output or be able to give input to the system until you return to the BBS. You don't have to return to Searchlight after ALT-X: it is safe to shut your computer off, or run another program. However, the next time you run Searchlight it will return to the current session. You must log off (using the GoodBye command) in order to allow Searchlight to receive new calls. ALT-X will exit with a return code (errorlevel) of 1. This allows an external front-end program, if used, to distinguish between an exit to DOS and a normal logoff. o Pressing ALT-X loses your current menu position and may make it impossible to return to previous menus, if you have made changes in your menus. If you encounter menu-related problems after using ALT-X, we recommend you either avoid using ALT-X (use GoodBye instead), or, when re- starting Searchlight, type "SLBBS Local". Hangup Key The ALT-H key has been provided to enable you to terminate a user's session immediately. If you press ALT-H from the console while a user is logged in, the modem will hang up on the user and Searchlight will recycle to accept another call. ALT-H will, of course, terminate a user's session abruptly and may cause that user to lose any message being typed. ALT-H is provided for use at your own discretion. If someone is on your BBS and you need to use your computer, we suggest you use ALT-C first to chat with the user, and ask him or her to log off normally. Local RIP Key Press ALT-R to toggle between RIP mode (graphics mode) and text mode during a local login. When RIP is enabled, Searchlight operates in graphics mode. Graphics features like scroll bars and pop-up dialog boxes are available for your use. In text mode, graphics features are not used. 102 Status Line & Hotkeys If you have an EGA or VGA monitor, you can use Searchlight in either mode; if you have a monochrome or non-graphics monitor, you must use text mode. Command Keys Two special keys are provided to allow access to other programs while running Searchlight. The ALT-F key runs the Searchlight CONFIG program. To use it, your CONFIG.EXE program must be loaded into your SLBBS program directory. ALT-D provides a shell to DOS the path specified in the COMSPEC environment variable. To return to Searchlight, give the command EXIT at the DOS prompt. Both ALT-F and ALT-D will return you to the last menu you accessed before using the command. However, if you press ALT-F or ALT-D while entering a message, you will lose any text which has not been saved. You can also lose new message pointers and lose your place while reading messages or mail. We recommend using ALT-F and ALT-D while situated at a menu prompt, rather than while reading or entering messages. 103 Text Editing Text Editing: Introduction Searchlight contains two text editors that are used whenever you enter a message or send electronic mail. The text editors, while not full-fledged word processors, contain many features and commands that allow you to easily compose, enter, and change short to medium length messages. In addition, you can use Searchlight's text editing capabilities to edit text files on disk, even from a remote terminal. A line-oriented text editor, similar in nature to the DOS EDLIN editor and to the editors found on many BBS systems, is provided for use with non-ANSI terminals. The line editor provides a fast and simple way of entering messages, with rudimentary editing facilities, and it works from almost any kind of remote terminal, from IBM PCs to older home computers to printing terminals. Searchlight also contains a full-screen text editor that resembles the types of editors most people are used to working with on the IBM PC. It gives you an exact representation on the screen of what your message will look like when read back, and it allows you to move the cursor anywhere on the screen and insert, change, or delete text with simple keystrokes. The commands used are a combination of standard PC editing keys and a subset of the popular "Wordstar" command set, so chances are you already know how to use Searchlight's editor. The main disadvantage of the full screen editor is that it's not compatible with all terminals--you must have an ANSI (or vt100) compatible terminal (or terminal emulator) to use it in remote mode. Fortunately, software to emulate ANSI terminals is available for most microcomputers--for the IBM PC, we recommend Procomm, Procomm Plus, and Telix. In addition, you'll find that certain operations, such as PageUp and PageDown, are inherently slower when running from a remote terminal than when executed on a normal word processor: that's because Searchlight can only send text at the speed of the modem being used, and cannot manipulate the screen at high speeds the way regular text editors can. However, Searchlight makes extensive use of ANSI control sequences to minimize the amount of text that must be retransmitted to the remote screen. In local mode, it operates at speeds comparable to most full screen text editors. Searchlight determines which editor to use based on the status of the ANSI graphics mode. When ANSI (color or monochrome) is enabled, the full screen editor is used; otherwise, the line editor is used. You can change the status of the ANSI flag from the main menu with the ANSI command. 104 Text Editing Using The Line Editor When ANSI mode is not selected, Searchlight uses a line oriented editor. The editor is invoked whenever you POST a message or bulletin, EDIT an existing message, or send a message via the MAIL command. When the line editor is running, you'll see the message Enter text; type a period (.) when done. Max NNN lines. followed by the number "001". NNN is the maximum number of lines that you may enter into the message (it can be anywhere from 5 to 400, as defined on the subboard definition screen in CONFIG). You would now begin typing your message. As you type, you can correct errors by pressing the BACKSPACE key. There's no need to press the ENTER key when you reach the end of a line; instead, the editor automatically performs "word wrapping", that is, it breaks the line at the nearest word boundary and moves the last word on the line down to the next new line. As you type, you'll see the line numbers to the left of your text increase. When you are done entering text, press the ENTER key once (so that the cursor is directly to the right of a line number). Then type a single period (.), and press ENTER again. This takes you out of the text insertion mode and places you at the line editor's subcommand prompt, which looks like this: Cont Edit Ins Del List Abort Save -? You can now enter an editor subcommand by typing the first letter of one of the above command words at the prompt. The commands work as follows: Save This is the command that saves the message you just entered (or edited) onto the disk. You use this command when you are done with the message, unless you've changed your mind and decided not to send the message at all. Abort The abort subcommand can be used to throw away the message in case you decide you don't want to send it. It will prompt you to make sure that's what you really want to do, in order to insure that you don't abort the message by mistake. Cont The cont, or continue, subcommand lets you continue entering lines at the end of the message. It places you back into the text entry mode at the next highest line number. 105 Text Editing List This command can be used to list, or review, the message just entered. It will prompt you for a line number; if you enter 1, or simply press ENTER, the message is listed from line 1 to the end. If you wish the listing to start at a specific line number, you can enter that line number. You can pause the listing with ^S, and cancel it with ^C. Ins This is the insert command. It lets you insert one or more new lines of text in between two existing lines. You are prompted to enter the number of the line that you want to insert BEFORE; for example, to insert between lines 11 and 12, you'd give line 12 as the target of the insertion. Once in insert mode, you can type as many new lines as you like. To exit back to the subcommand prompt, once again enter a period at the beginning of a new line. Del The delete command lets you delete one or more entire lines of text from the message. It prompts you to enter the starting and ending line numbers of the range of lines that you want to remove. Edit This command gives you a way to edit the individual characters on a line. It prompts you for the line number of the line you wish to edit, and gives you a choice: Change or Retype? Respond by pressing "C" to change the line, or "R" to retype it. Retyping simply lets you re-enter the entire line of text from scratch. You can only retype one line at a time. Change gives you the opportunity to edit portions of the line without having to re-key the entire line. It works by prompting you for a "source" and a "replacement" string. The "source" is a portion of the text, exactly as it appears in the line. The "replacement" is a string of text that will replace the source string. As an example, suppose we typed this into our message at line number 7: 07 Beethoven was bitten by a communist roach when he visited New York. 08 . Obviously, we meant to type the word "salmon" instead of "roach". To correct it, we would edit the line and enter "roach" as the source string, and "salmon" as the replacement: Cont Edit Ins Del List Abort Save -? E Line Number: 7 Change or Retype? C Source String: roach 106 Text Editing Replacement : salmon Although the corrected line is not displayed on the screen, we could view it by using the List subcommand. The new version of the line would look like this: 07 Beethoven was bitten by a communist salmon when he visited New York. Notice that you can replace a string with a string of a different length (or even a null string, in which case the original text is deleted entirely). However, the total length of the line cannot exceed 76 characters. Editing Existing Messages The line editor can also be used to edit existing messages via the "Edit" command on the main menu. When used in this fashion, it operates identically to the above description, except that you'll go right to the "Cont Edit List..." prompt rather than to the "Enter Text" prompt. Saving the message results in the edited version of the message replacing the old version on disk. If you abort the edit, the changes you've made to the message, if any, are not saved; the original message is left intact. 107 Text Editing Using The Full Screen Editor When using an ANSI compatible remote terminal, or when logged in locally, you'll be able to enter and edit text via Searchlight's full screen editor. The screen editor signs on by displaying an inverse video bar near the top of the screen that contains this message: Editing, max NNN lines | ESC/^Z Exit | F1/^J Help | F6/^P Color Codes If entering a new message, the lower portion of the screen will be clear and the cursor will be positioned at the top of the text entry "window" on the screen. If editing and existing message, you'll see the first few lines of the message, with the cursor positioned at the first character in the first line. You are now ready to enter or edit text. To enter text, simply begin typing. As with the line editor, you can correct single character mistakes as you type by pressing the BACKSPACE key. As you approach the end of a line, the text will "word wrap" down to the next line, so there's no need to press the ENTER key at the end of lines (unless, of course, you wish to type lines shorter than the width of the screen). Unlike the line editor, which has subcommands for performing editing, you can edit text in the full screen mode interactively, using the cursor position keys and control keys. As you change the text, your screen is updated instantly to reflect exactly what the file looks like. If you've ever used a word processor on your IBM PC, you're probably very familiar with this method of editing: you'll need only learn a few of the commands and keystrokes that are specific to the Searchlight editor. Wordstar Compatibility When we say Searchlight's editor is "WordStar Compatible", what we mean is that, in most cases, we've used the same key sequences to perform the same editing tasks as the Wordstar word processor. We picked Wordstar because its command set is a well-known standard, and because its use of control key sequences (rather than menus or function keys) is particularly suitable for use with modems and remote terminals. 108 Text Editing Screen Editor Subcommands If you press either F2 or ^J (control-J) while in the editing mode, you'll see one of three help messages at the top of your screen. Press F2 again to see the remaining messages. The help text looks like this: Left/^S - Cursor left ^A - Word left DEL/^G - Delete char Right/^D - Cursor right ^F - Word right ^T - Delete word Up/^E - Cursor up INS/^V - Insert mode ^Y - Delete line Down/^X - Cursor down CR/^N - Insert line ^B - Reform para -- PgUp/^R - Page up ^QR - Top of file ^QY - Truncate line PgDn/^C - Page down ^QC - End of file ^QL - Restore line Home/^QS Begin of line F3/^KO - View reply-text ^L - Redraw line End/^QD - End of line F4/^KG - Get reply-text ^W - Redraw screen OI - Toggle indent mode ^KP - Message Preview ^KU - Upload text w/ ^OC - Center line F5/^KS - Exit & Save XMODEM These are the main editing commands. Many are self-explanatory, some need further study as we'll divulge below. The ^ character means CONTROL. To generate a control key, you hold down the key marked "Ctrl" on your keyboard, then press the indicated letter key, then release both keys. Notice that some commands have two ways of being entered, either via a control key or via a function key. This is done because some remote terminals don't configure the function keys the same way they're supposed to be set up on the true ANSI terminal. If a key such as F1 or HOME doesn't work on your terminal, you can always use the control key instead. Remember to press ESC (or ^Z) to exit the full screen editor. You can also exit by pressing F5 (or ^KS); this skips the "Continue, Save, Abort" prompt and goes directly into "save" mode. Cursor Movement To edit text, you must first move the cursor to the character, word, or line that you want to change. The cursor movement keys accomplish this. The four arrow keys (left, right, up, down) move the cursor one character in the indicated direction. If you move up or down past the top or the bottom of the screen, the screen will scroll to display the previous or next line of text. You cannot move the cursor past the beginning or end of the file, but you can append text to the end of the file. Press the HOME key to move the cursor to the beginning of the current line. The END key takes the cursor to the end of the line. The ^A and ^F keys move you left and right a word at a time. In local modes only, you can use ^LeftArrow and ^RightArrow as well. You can scroll a long message forward and backward one full screen at a time. Press the PgUp and PgDn keys for this. On a remote terminal, you must use ^R for pageup and ^C for pagedown. 109 Text Editing Finally, you can move directly to the beginning or end of the text. Press ^QR to get to the top of the file, ^QC to go to the bottom. Deletion You can delete text by characters, words, or lines. To delete the character under the cursor, press either DEL or ^G. Pressing the BACKSPACE key deletes the character to the left of the cursor. When you delete text, the text to the right of the cursor moves left to fill the gap left by the deleted characters. Text can be deleted a word at a time. Place the cursor on the first character in the word and press ^T. You can delete all the text on the current line from the cursor position to the end of the line. Press ^QY to perform this function. To delete an entire line, position the cursor anywhere in the line you wish to delete, and press ^Y. When you delete a line, the remaining lines in the message move up to fill the gap left by the deleted line. Insertion Searchlight's editor supports either insert or overstrike mode. In insert mode, text you enter in the middle of a line causes the text to the right of the cursor to shift, making room for the new characters. In overstrike mode, new text overwrites any text underneath it, and no scrolling occurs. The editor is in insert mode each time it starts up, but you can toggle between modes with the INS or ^V key. When insert mode is active, the indicator "Ins" appears at the top of the screen. When overstrike mode is selected, "Ovr" is displayed instead. In insert mode, an attempt to insert characters into a full line causes the line to be split in half at the cursor position. The message "Press ^B to reform paragraph" appears at the top of the screen. After typing your new text, press the ^B key and the subsequent text will move back up and reformat into a paragraph. In overstrike mode, press ^N to force a line break before entering new text. You can also press the ENTER key to enter a new line in the text. In this case, the cursor moves down to next line, rather than remaining stationary as it does with ^N. Error Recovery If you make a mistake, you can restore the contents of the current line provided the cursor has not left the line. Press ^QL for this function. Reformatting Text After performing many insert and delete operations, your text will no doubt have lost its original format: you'll have some lines that are shorter than others. Never fear; you can reformat any continuous piece of text back into 110 Text Editing neat paragraph form by using the ^B command. Simply move the cursor up to the first line in the paragraph and press ^B. The editor will format all the subsequent text into a paragraph, until it reaches a blank line or a line that begins with a space or another non-alphabetic character. Indent Mode Pressing ^OI activates Indent Mode (you'll see the letters "Ind" near the top of the screen when indenting is active). In indent mode, the editor will match your indent when typing lines--for example, if you manually indent the first line of a paragraph by 5 spaces, then type some text, Searchlight will automatically insert 5 spaces before each new line as the text wordwraps or you press ENTER to end lines. This is useful, for example, when you want to indent an entire block of text. You can reformat indented text with the ^B command; Searchlight will continue to obey the indent, and format the text with the proper number of blank spaces before each line. Centering Lines A center line function is provided by pressing the ^OC keys. This command will center the current line of text, and move the cursor down to the next line. Reply Text Often when you reply to a message by selecting the "Reply" option on the menu line, you'll want to be able to read the original message again while you're typing the reply. You may even want to insert a few lines of the original message into the message you're writing. Searchlight provides a way to do this with the "View reply-text" and "Get reply-text" functions. If, while typing a reply, you want to look at the original message again, press F3 (or ^KO). The screen will clear and the text of the message will be displayed. At the end of the message, you'll be prompted to press the ENTER key to go on; when you do so, the editor redraws the screen and returns you to the message you were typing at the exact spot you left off. Reply-Quote Line Selection The F4 (^KG) key lets you do even more with the original message. When you press F4, Searchlight places the original text into a selection mode that lets you review the text and tag specific lines for importing into your editing screen. To begin the reply-quote process, reply to a message and press F4 or ^KG. A full screen display such as this one will appear: Select lines to quote from original message SpaceBar: Mark/Unmark Line F4/F5: Mark/Unmark All Press Enter when Done |Greetings! | Received SLBBS today and am delighted! In only an hour I have 111 Text Editing |the main makings of the BBS and a couple of friends are equally amazed |with what's been done in a small part of one afternoon!! | *| So far... not a single hitch in setting this thing up... of course I *|can see that my first problem is going to be resisting the urge to have *|ump-teen hundred different Subboards... they are almost _too_ easy *|to setup :) | | Congrats on an absolute DYNAMITE program! | |Regards, |Bob The full-screen display can be paged and scrolled by using the standard cursor control keys, including page up and down, home and end, and the arrow keys. To "quote" some lines, position the cursor to the left of the desired line, and press the spacebar. An asterisk appears to the left of the line, indicating that it is tagged; continue pressing spacebar to tag more lines in succession. In the example above, four lines starting with the text "So far..." have been selected for quoting. If a mouse is available, you can tag lines by clicking on the area to the left of the line. You can untag lines by clicking or pressing spacebar on the line again; or press F4 or F5 to automatically tag or untag all lines. Once the desired lines are tagged, press Enter or ESC. The tagged lines are imported into your reply: > So far... not a single hitch in setting this thing up... of course I >can see that my first problem is going to be resisting the urge to have >ump-teen hundred different Subboards... they are almost _too_ easy >to setup :) If desired, you can tag more lines later by pressing F4 or ^KG again, and repeating the process. Wise use of the reply-text function can aid you in replying to a long message with many specific points, and it can help end ambiguous electronic mail replies by reminding the original sender what question or statement is being addressed by your letter. Message Uploading Uploading a text file as a message to Searchlight BBS is accomplished by pressing ^KU. The text file to be uploaded should be a plain text file with lines of no longer than 76 characters, and the total length of the message should be no larger than the total number of lines that are permitted to be entered for the current message area. Upon pressing ^KU, Searchlight prompts you to begin sending the file. As in a normal file upload, the remote user should then activate the a file send procedure from his terminal program and begin transmitting the file. Upon completion of the transfer, Searchlight loads the text file into the editor. At this point, the text can be saved immediately or edited. If any text is already in the message editor prior to an upload (such as if you have typed some text in manually) then the uploaded text is appended to 112 Text Editing the text already present. If desired, two or more uploads can be used to create one large message from several smaller message files. Searchlight can use any of its internal protocols, including Zmodem, Xmodem, Xmodem/CRC or Xmodem/1K for message uploads. Select a default internal protocol on the Options/Preference screen. Searchlight automatically truncates lines longer than 76 characters, filters any non-text characters from an attempted upload, and truncates the entire message if it is longer than the maximum allowed message length. Should any of these modifications occur, a warning message appears following the upload to inform the user of the situation. Message Preview The ^KP key sequence provides a message preview feature (a display showing what the message will look like when it is read back later). The preview shows how color codes and included files will look (see the next two sections for information about color codes and file inclusion). ANSI Compatibility Searchlight's full screen editor actually has three modes of operation, designed to allow it to interface with a variety of popular terminal software. When editing remotely using an ANSI terminal, certain operations (such as inserting and deleting lines) require that the terminal software implement the appropriate ANSI escape sequences that will cause the remote screen to scroll appropriately. Unfortunately, many terminal programs are geared for more traditional BBS systems without full screen editors, and thus do not support the required commands. To work with such terminals, Searchlight includes a Generic ANSI mode. To select the editor's mode of operation, type the Options command (on Searchlight's main menu) and adjust option number 5, called "Ansi Compatibility Mode". There are three possible settings: Generic, Procomm, and Full. In Generic mode, the Searchlight editor minimizes the types of ANSI commands sent to the terminal to a small subset of the most widely supported ones. Instead of scrolling the screen and performing inserts and deletes directly on the terminal, Searchlight redraws portions of the screen when a change needs to be made. Of course, the time it takes to continuously redraw the screen can range from long to unbearable, depending on the speed of the modem used; but all of the supported features will work correctly. In Full mode, Searchlight will edit with the full set of ANSI commands for the fastest possible output, and will require a full featured ANSI terminal. The remaining mode, Procomm, is similar to Full but takes into account several quirks found in the Procomm (TM Datastorm Technologies) terminal software. The New User Registration procedure displays information about ANSI modes, and prompts each new user for the correct mode as they log in. 113 Text Editing RIP Mode Editing When using Searchlight in RIP graphics mode, in addition to the keyboard commands, you can use your mouse to select options like Save by pressing the buttons on screen. In addition, a scroll bar is provided for navigating through the message. 114 Text Editing Embedded Color Codes One command that appears on the full screen editor's menu bar that we didn't mention yet is the F6/^P command, Display Color Codes. If you press F6 (or control-p) while within the editor, Searchlight will display a menu of two-character color codes in the help window at the top of the screen. By typing these codes into your messages, you can make your text appear in different colors. Here are the color codes as displayed by the editor: \BK - Black \RD - Red \DG - Dk. Gray \LR - Lt. Red \IV - Invrse \BL - Blue \MG - Magenta \LB - Lt. Blue \YE - Yellow \BI - Blink \GR - Green \BR - Brown \LG - Lt. Green \LM - Lt. Mag. \NO - Normal \CY - Cyan \GY - Gray \LC - Lt. Cyan \WH - White If you have a color CRT, the menu will appear in 16 different colors. On monochrome screens, the first eight colors will appear as normal text, the remaining eight as bright or highlighted text. To use color, just enter the above sequences into your message text. For example, if you wrote Jim left the \BLblue\NO book by the \GRgreen\NO tree, The words "blue" and "green" would appear blue and green when you read the message back. The \NO code is used to reset the color back to the "normal" text color (as defined in the CONFIG menus). If you want to insert the "\" character itself into your message, enter "\\". The inverse code, \IV, reverses the foreground and background colors. On monochrome screens, \IV provides a black-on-white display. With a color CRT, you can create any background/ foreground combination; for example, \BL\IV\WH This text will be printed white-on-blue. \NO Searchlight translates embedded color codes according to the ANSI graphics mode selected at login. If monochrome mode is selected, only normal, highlight, inverse, and underline attributes are used. In non-ANSI modes, no colors or attributes are used at all, but the color codes are still removed from the text; therefore, text with embedded color codes will appear readable in any of the three graphics modes. If you'd like to see what the actual colors you are using will look like, use the message preview command (^KP). Finally, note that color codes are not restricted to the full screen editor. You can insert color codes into messages using the line editor, and you can also use them in login screens, include files, custom menus, and other text files displayed by Searchlight. 115 Text Editing Message Macros Several message macros are available. These macros are special three character sequences--very similar to color codes--that can be inserted into messages, text files, and other places where color codes are allowed. When read back, these macros are expanded by Searchlight to display information. For example, the macro "\SB" stands for "Current Subboard". When this three character sequence appears in a message, text file, or menu prompt, it's replaced with the name of the current subboard. Searchlight's default main menu uses this sequence as part of its prompt. Here is the complete list of macros available: \SB Current Subboard \FD Current File Directory \%N Current User's Name \%U Current User's Name, with spaces replaced by underbars \%K Current User's First Name \%A User's BBS Access Level \%F User's FILES Access Level \%G ANSI Graphics Mode (C, M, or N) \%T User's time limit, in minutes \%M Amount of time left in current session (in minutes) \%L Time the user logged in (HH:MM) \%B Current Baud Rate \%P Active Communications Port (0-4) \%C Sysop 'Chat Available' status (Y or N) \%S BBS System Name \%O Node Number (Multiuser systems only) 116 Text Editing Binary File Attachment Searchlight allows you to "attach", or associate, a binary file (i.e., a file of any type) with a message. The attached file can be downloaded at the time the message is read. File attachment is a convenient way to send files privately through email, and can also be used with public messages. To attach a file to a message, press F2 (or ^U) in the message editor when entering (or editing) the message. Searchlight prompts you with: Enter Name of File to attach to message: > There are two ways to respond to this prompt. If you're using Searchlight as a normal user (not the Sysop) and logged in from a remote terminal, enter the desired filename here. Searchlight then prompts you to upload the file, first selecting one of the internal file protocols. Assuming the file is uploaded successfully, it is stored in the "File Attach Path" as defined in your CONFIG file, and "attached" to the message. If you're logged on as the Sysop, you can also specify the complete path to a file that exists on your local hard drive here. For example: C:\SLBBS\SYSOP\MYFILE.ZIP Instead of initiating a file transfer, Searchlight copies this file into the attach directory. Note that each file that's attached to a message must have a unique filename. If you try to attach a file with the same filename as another file attachment, Searchlight will inform you that the file already exists. You need to choose another name for the file. Downloading Attached Files Whenever you read a message that has a file attachment (whether in your mailbox, or a public message or bulletin) Searchlight will inform you of the file attachment, and ask if you'd like to download the file. If you do want to download it, you'll be prompted to choose a protocol, and the transfer begins. Note that there is no upload ratio associated with attached files; they're treated as part of a message, and anyone who has permission to read a message that has a file attachment can also download the file. However, time limits are enforced; if you don't have enough time to download the attached file, the download is disallowed. If you have a multiuser system, it is important that each node in your system has the same file attach path. Otherwise, files attached to a message in one node won't be accessible from another node. Maintaining Attached Files All file attachments are stored in the "File Attach Path" defined in your CONFIG program (see "File Pathnames Setup" in this manual for details). These files remain on your disk until the message to which they are 117 Text Editing attached is deleted (or, if the message is carbon-copied to a number of users, until the last copy of the message is deleted). You can manually maintain attach files in several ways. First, if you edit a message that contains an attached file, you can remove or replace the file attachment by pressing F2 to attach another file. The new file replaces the old one. You can also delete files from the attach directory directly from the DOS prompt, even if you do not know to what message the file is attached. If that message is later read, Searchlight simply displays a message to the effect that the attached file is no longer available for download. You may wish to perform this kind of maintenance periodically in case a large number of file attachments build up in your system and aren't deleted. 118 Text Editing Using Prepared Text Files Sometimes, instead of typing a message by hand, you'll want to insert a previously written file of text into a message, bulletin, or electronic letter. There are several ways to accomplish this with the Searchlight's editors. Uploading The simplest way to insert a text file into a message is to log on from a remote location using a terminal that's capable of Xmodem file transfers. By pressing ^KU in the full screen message editor, you can begin an Xmodem transfer of your text file, which will be loaded into the editor upon completion of the transfer. There are a couple of things to look out for when using this method of sending text. First, the text file should not contain lines longer than 76 characters; if it does, Searchlight will try to wordwrap the text, resulting in a sloppy format. Also make sure the text doesn't exceed the maximum line length of the message. You can't send text that contains embedded ANSI escape sequences, such as text that moves the cursor around on the screen or effects color changes (although eight-bit IBM graphics characters can be used). If you want embedded control codes, use one of the other methods for inserting text into messages. Loading Files The text editors feature a special function, executable only by Sysops, that lets you load a text file directly into a message. To use it, press ESC and then "L" for the full screen editor, or press "F" at the subcommand prompt of the line editor. The editor will prompt you for a filename, and load the text of the specified file into the message. You can give a full pathname and drive letter if you want. The %%FILENAME Directive A third method of including text in messages is to use the '%%FILENAME' directive inside of a message. This method involves placing a special line within the message. It doesn't matter which editor you use to create the message. Let's suppose we have a text file called "PHONE.TXT" that we wish to include in a message we're sending to someone. We could write the following: 01 Bill, 02 Here's that phone number list I promised you: 03 04 %%PHONE.TXT 05 06 Enjoy. 119 Text Editing When we list, save, or edit this message later on, it looks exactly like the six lines shown above. However, when the message is read by Searchlight's read routines, something special happens when line 4 is encountered. Instead of printing line 4 verbatim, Searchlight looks into a special directory for a file called PHONE.TXT, and displays the contents of that file on the screen. When the PHONE.TXT file is done, Searchlight goes back and prints out lines 5 and 6. The '%%FILENAME' directive is convenient because the included file doesn't take space in Searchlight's message file, doesn't have to be less than 400 lines long, and can contain any ANSI sequences that you desire. Notice, however, that you may give ONLY a filename with this directive, NOT a drive letter or pathname. The text file must reside in the directory you designated as the "include" directory when configuring your system via the CONFIG program. This is done for the purpose of security; since anyone can enter a '%%' directive into a message, you want to ensure that users don't try to read files which they don't have access to. It is assumed that anything in the "include" directory is public knowledge. The '%%' characters must be in the first column on the line, and the line must not contain any other text after the filename. You can have more than one include file in a particular message, however. If you only use file inclusion yourself, it doesn't matter what you choose as your "include" directory, as long as you store all the files which you want to include in messages there. However, if you want your users to be able to upload files to the system and include them in messages, make the "include" directory accessible via the FILES system; that is, define a file directory that uses the include directory to store the uploads. This way, your users will be able to upload files to the include directory, and access them in messages they post or send. Using include files this way, for example, is the only way to allow users to post messages containing ANSI escape sequences on your BBS. The @@FILENAME Directive In addition to including files in the "include" directory, we've also provided a way to access files in your "text" directory from within a message. It's similar to the "%%filename" construct used above, but you type "@@filename" instead. This directive lets you access any of your system's text files--including custom menus, help files, login screens, etc.--from within a message. We don't recommend letting your users have upload access to your TEXT directory, however, since these text files are used by Searchlight BBS and you'll want to remain in total control of their contents. 120 Files Subsystem Searchlight BBS File Transfer System Introduction One of the most valuable features of the Searchlight BBS is its file transfer system. With file transfer, Searchlight gives you the ability to transmit files of any type from one computer to another over the telephone, with the capability to check for errors. It lets you set up multiple directories where users can "upload" a file or choose from a selection of files to "download". You can have as many file directories as you need, and, if desired, you can use a different set of directories for each message subboard on your system, giving you thousands of possible directory setups. As the sysop, you can assign different access levels to control what users have access to what files. The Searchlight file system has many useful features: alphabetical and chronological directory listings, wildcard directories, global directory scans, three built-in plus nine external transfer protocols, password protection, and private file transfers. Batch uploading and downloading are supported. Users can view the internal directory of ZIP, PAK or LHARC files while online. Sysops can delete files, move and copy files between directories, and import filenames from existing files on disk quickly and easily. You can modify file descriptions and other information after it's been entered. Plus, Searchlight's file transfer programs are the fastest available, due to advanced two-way interrupt driven RS232 handling. Setting Up Directories Before you can use Searchlight's file transfer system, you need to set up directories from which to transfer files. Directory setup is accomplished via the CONFIG program, as covered at the beginning of this manual (see p. 52). Although the directory setup facility is easy to use, it's worth noting that you should create the actual DOS directories you want to use with Searchlight before defining them in CONFIG. A word about what we mean by "file transfer directories". You are undoubtedly aware that the DOS operating system uses directories and subdirectory structures. For the purposes of Searchlight, however, we will be defining our own directory structure, partly to afford a greater level of security than is available with DOS, partly to extend the functionality of the directory beyond what DOS provides. Still, your upload/download directories can, and should, be constructed so that they correspond to actual DOS directories. One directory that almost every BBS has is called UPLOADS, and it's used to contain all the "new and recently uploaded" files on the system. As an example, we will create this directory in the "root" directory of the C: drive. The proper command, from the DOS prompt, would be: MKDIR C:\UPLOADS Next, we have to configure the FILES program to use the new UPLOADS directory. Run CONFIG and select option C at the main menu; then press F1 to add a directory. At the prompts, enter 'UPLOADS' as the directory name, and 'C:\UPLOADS' as the path. Searchlight creates an UPLOADS.SL2 file (which holds such information as file descriptions). 121 Files Subsystem Repeat this procedure to create other directories as needed. Setting A Default Text Message You can create a message that will be displayed automatically each time the FILES program is run. This message can contain any instructions or comments that you wish to give each time someone enters the file transfer system. The FILES default message is a text file called FILES.TXT and/or FILES.ANS. It must be located in your user-defined "text" directory. As with BBS text files, you can either provide both a .TXT and an .ANS version of the file, or just the .TXT version, which will be delivered to everyone. The FILES text message is optional; if you don't provide one, no error message will be generated. Loading Filenames Normally, Searchlight enters new filenames and descriptions into its directories as files are uploaded to the system. However, you may have an existing library of files which you wish to include in your BBS directories. Searchlight provides two commands, 2-Sysop/Get and 2- Sysop/Import, which facilitate the loading of existing files from disk and the importing of existing filename/description lists. These commands are described in more detail below. Using The File Transfer System To use the file transfer system, log in to Searchlight and execute the FILES command from the main menu. You'll see a message indicating that the files system is active, followed by your text message (if you created one), and finally a command prompt similar to Searchlight's main menu prompt. From here, you can execute the FILES system commands, as we'll describe in a moment. If no subboard-specific .DIR file exists for the subboard you're using when you execute FILES, all accessible directories defined in CONFIG are available. If a particular subboard's .DIR file is available, it is loaded, and the message "Loading Subboard Directories" appears, informing you that a special group of file directories, available only from that subboard, is becoming available (please see File Directory Setup on page 52 for information about custom file directory setups). Files System Commands Accessing the FILES system presents you with a new command prompt and a new set of commands. The new prompt works the same way as Searchlight's main command prompt; it allows you to enter commands by typing the first letter of the command or by scrolling through the commands with the SPACEBAR and BACKSPACE keys, it will list available commands via the "Help" command, and it will display an explanation of each command when the F1 key is pressed. The name and letter of the currently active file directory is displayed to the left of the prompt. To return to the message system, use the "Quit" command. 122 Files Subsystem Protocols You can select an upload/download protocol using the Xproto command. Xmodem, CRC Xmodem, and Ymodem protocols are available; in addition, up to 9 external protocols can be selected, as described below. Downloading Files in the currently active directory can be downloaded, or sent from your BBS to a remote terminal, via the Download command. (See note below regarding file transfer during a local login). If a user's download/upload ratio exceeds the maximum value assigned to them, no downloading is allowed until the user has uploaded enough to reduce his or her ratio to within the allowed range ("free" downloads are exempted). Multiple file downloads are allowed for external protocols if the external protocol supports it. To specify multiple files, give one or more filenames or wildcard specifications when inputting the name of the file to be downloaded (use blank spaces to separate filespecs). All files must reside in the same directory. The approximate time for the download is computed before the file transfer begins. If the time to download the file exceeds the amount of time left in the current user's session, the download is not allowed. Uploading Use the Upload command to upload files to Searchlight. "Uploading" means to send a file from the remote terminal to the BBS. The remote terminal must support one of the file transfer protocols used on the BBS system. For upload protocols which support only single file uploads, you must enter the exact filename of the file you wish to send. External protocols which have been configured to allow for "batch" uploading will allow you to specify anywhere from zero to 40 filenames and descriptions before uploading begins. If no filenames or descriptions are specified prior to a batch upload, you'll be prompted for a description when the upload completes. Before an upload begins, Searchlight checks available directories to see if any file of the same name already exist on your BBS. If the file is a duplicate, the message File already exists. will appear. For non-batch uploads or for batch uploads where all of the specified files exist, Searchlight will abort the upload at this point. Note that the upload is not aborted when one of several filenames in a batch upload is found. In this case, the uploader should simply not send the duplicate file(s). A properly configured external protocol command should not accept duplicate files in the same directory, but may accept duplicates if the duplicate is in another directory area. 123 Files Subsystem Upload AutoDoor You can add procedures to Searchlight that process files immediately after uploading by using an Upload AutoDoor. The upload autodoor is a program or batch file you can set up in the CONFIG program (see p.32). Upload autodoors can process newly uploaded files in the UPLOADS.BBS directory before they're registered in Searchlight: you can scan new uploads for viruses, repackage archives, remove unwanted file types, etc. Whatever files remain in the UPLOADS.BBS area after the autodoor processing is complete are the files actually seen by Searchlight as the new uploads. o Since upload autodoor processing takes place while a user is online and waiting, autodoor processing should be brief, or else it should send progress messages to the COM port. FILE_ID.DIZ Importing Searchlight can automatically import file descriptions from ZIP, ARJ, LZH or ARC files as the files are uploaded, provided that the file contains an internal text file called FILE_ID.DIZ or DESC.SDI. A special program called FILEINFO.EXE is provided for the purpose of importing file descriptions. This program runs like an upload autodoor, except that it is called directly by Searchlight BBS after an upload (and after the regular upload autodoor, if one is defined). There is no need to explicitly run the FILEINFO program from your upload autodoor. FILEINFO.EXE searches the UPLOADS.BBS directory for ZIP, ARJ, LZH and ARC files. When such files are found, it attempts to extract a file called FILE_ID.DIZ or DESC.SDI by making a call to the appropriate archive program. In order to support unpacking of all file types, you need to have the following programs available on your system: PKUNZIP.EXE, ARJ.EXE, LHA.EXE, and PKUNPAK.EXE. The archive programs can be in any directory that is pointed to by your PATH statement. If the FILEINFO program is successful in extracting a FILE_ID.DIZ or DESC.SDI file, it packs the contents into a temporary file, which is read by Searchlight upon completion of the upload. Both the temporary file and the unpacked FILE_ID.DIZ or DESC.SDI file are automatically deleted. Imported descriptions appear in the file directory list just as if they hadbeen typed in manually. After uploading, Searchlight does not prompt the user to enter a manual description if a description has been imported. The FILEINFO.EXE program must be placed in your Primary or Alternate Program Path for Searchlight to find it. (If you wish to disable automatic importing of descriptions, delete the FILEINFO program). Since the FILEINFO.EXE program makes calls to archive programs like PKUNZIP and ARJ, problems can occur if there is insufficient memory available to run these programs (such as if you are running Searchlight in a small DESQview window). We have run it successfully in a 400k window. Because it shells to archive programs, when the FILEINFO program runs you will notice that your local screen will become cluttered with the output of the archive programs. This output is hidden from the remote caller, however. 124 Files Subsystem Bi-Directional File Transfer Searchlight actually checks the UPLOADS.BBS directory for newly uploaded files after executing either upload or download commands. Thus, Searchlight supports two-way file transfer via such programs as BiModem, as long as all uploaded files are stored in the UPLOADS.BBS directory. To perform such a transfer, configure the protocol driver to direct all uploads to the UPLOADS.BBS directory, then install it as a download protocol via the directions outlined above. Should a remote user choose to upload files when executing a download command, Searchlight will recognize these files upon completion of the download and will prompt the user for descriptions (note that it is not possible to prompt for descriptions prior to the file transfer when using a bidirectional protocol). Local File Transfer During a local login (a session that takes place on the computer running Searchlight BBS, rather than from a remote terminal), downloading and uploading take on a somewhat different meaning. Since you will not be transferring a file from one computer to another, file transfer in the traditional sense (via a protocol like Xmodem or Zmodem) does not take place. Instead, Searchlight performs a local file copy. If you're downloading, after selecting the files or messages you want to download, Searchlight pops up a box and prompts you to enter a target directory. Enter any valid DOS directory name. Searchlight will copy the files from its own directories to the directory you specify. If you're uploading, Searchlight prompts you to enter the complete path and filename of the file you wish to upload. Wildcards and multiple filenames (separated by a space) are supported. Searchlight copies these files into its own directories (the same directories it would use during a traditional upload). Local file transfer is ideal for BBS systems running on local area networks (LANs), since it allows LAN users to move files between their local or private directories and the shared Searchlight directories in a way that's analagous to the way callers of a traditional BBS share files over the telephone lines. Directory Listings There are several types of directory listings that can be obtained using the Files and New commands. Wildcard, alphabetical, and date-sorted listings are available. To switch from one download directory to another, use the List command for a list of available directories, and Jump to move between them. File Maintenance Sysops and co-sysops can delete files, move files from one directory to another, rename files, and change the description associated with a file. The commands to execute these functions are Kill, Move, Rename, and Edit. These operations can also be performed by the user who uploaded the file. 125 Files Subsystem Password Protection Passwords can be assigned to files on an individual basis using the Passwd command. Once a file is assigned a password, it cannot be downloaded or deleted without giving the password. Even cosysops must know the password of a protected file to download it; only the Sysop can access the file without using the password. A typical use of passwords would be to allow two users to exchange a file privately. The sender would upload the file and assign a password to it. He or she would then communicate the password to the intended receiver (by sending a private message), who would then use the password to download the file. If more than one user needs to access the file, the sender gives the password to each person who needs to be able to download it. Another way password protection can be used is via the Default Password for Uploads field in the CONFIG file. If this field is filled in, each new file that is uploaded to the system is assigned the default password. Thus, newly uploaded files cannot be accessed by the general user population; only the Sysop, and those who know the default password, can access a new file. Typically, you'd use this option to give yourself the opportunity to check all new files before they can be downloaded by the users of your BBS. After confirming that the file is OK to download, you would remove the password (by using the Passwd command). A "+" sign appears in the directory listing of a password protected file. This allows you to identify such files easily. File Names The filenames used by Searchlight are in the same eight characters with three character extension format used by DOS. In addition, Searchlight allows the use of wildcards with most commands. You can enter "*" and "?" wildcard characters, and you can enter two or more filenames or wildcard masks by separating each with a space. In general, you do not need to enter the full filename when entering filenames for the Download, View, Move, and other commands. Just enter the first few letters, and Searchlight will pick the correct file, filling in the remainder of the filename right on the screen. File Tagging Searchlight features file tagging, a shortcut method of selecting a list of files for downloading (or other operations) while viewing file listings. File tagging lets you conveniently select files with just one keystroke whenever filenames appear on the screen. File tagging is available with the Files, New and Zippy commands. These commands display files in a new format that includes a one letter "tag" to the left of the filename: A F2DIRM2.ZIP 16k 35 10-24-92 Import 'files.bbs' to Searchlight Faster! No longer needs DIRMAINT! Import from text file lists such as provided by Tick, Flea, and other BBS types. 126 Files Subsystem B FARMRAT3.ZIP 38k 23 12-31-92 UP/D ratio checking program. Uses DOOR.SYS file and shows up/dwn ratio, security level, ect. D FIAUDIT.ZIP 10k 61 3-29-92 File Area Audit trail program lists file area name & security aspects More... Continue Tag Stop Notice the Tag option available at the "More" prompt; it's used to select any of the files on the current screen. For example, suppose we wanted to select the files F2DIRM2.ZIP and FD-SLBBS.ZIP from the above listing. Simply select "Tag" from the prompt above. Searchlight responds with: Tag Items: Now simply type the letters A and C--the "tag" letters associated with the desired files. Searchlight adds those files to an internal list, and continues with the file display. You can tag additional files, and even run other listings and tag more files there. Later, you can download the entire list of tagged files by giving the Download command. Searchlight prompts you with: Select 2 Tagged File(s)? Yes No Edit Enter "Yes", and Searchlight will select the two files tagged earlier and place them into your download list. You can then enter additional filenames, or just press Enter to begin downloading. If you select "No", Searchlight disposes of the previously tagged file list, and allows you to enter new filenames manually. The "Edit" option shown above lets you edit the list of tagged files. A full screen display appears showing the files currently tagged. You can scroll through the list with arrow keys, PgUp and PgDn keys, etc.; press F2 to remove a file from your list. You may wish to use the edit option if you decide against downloading a particular tagged file, or if more files were tagged than may be downloaded given your current file ratio or time limit (see below). You can also edit the tag list at any filename input prompt by typing L and pressing Enter. Regular users can use the tag option to select files for downloading. In addition, Sysops and co-sysops in the file areas can use file tagging with the Kill, Copy and Move commands. Tagging and Ratios The file tag command allows you to select any files that you can view-- including files that may be password protected, located in write-only directories, or that would exceed your download limits. However, the Download command will never allow a user to actually download such files: the entire tag list is always scanned immediately prior to a download, and any files which cannot be downloaded because of the above conditions are removed from the list (the remaining files may be downloaded). To aid users in deciding how many files should be selected for download, Searchlight displays a running total of the number of kilobytes selected, and the number of kilobytes available to download, at the top of each file 127 Files Subsystem listing screen (see the example above). The same numbers are also displayed to the left of the prompt that is used for traditional filename inputs when selecting files for download: You may enter up to 40 Filenames. Press F for File List, ? for Help, ENTER when Done: ( 0k Total/ 1540k Avail) : Total Kilobytes is the total number of K selected for download. Available Kilobytes is the total number of K that may be downloaded in the current session. This number is computed based on the user's file ratio, baud rate, and time left in the current session (note that since time is part of the computation, available kilobytes decreases as time goes on). Although the Tag command while viewing file lists will accept tags on files which might cause total K to exceed available K, when typing filenames in manually, they will be rejected if they cause the total to exceed the available number. o Available Kilobytes is also based on the "Free Files" and "File Value" parameters associated with the current directory. Because of this, it is possible that a file in another directory may be selected for download even if its size exceeds the displayed K Available number, since the displayed number is only accurate for the current directory. The tag list can hold up to 40 filenames. The list itself is "global" and remains available in memory until a successful download, kill, move or edit command uses the list. The list is also cleared if a door is executed. Sysop Functions A 2-Sysop command in the Files section gives you additional Sysop commands to load or import filenames from disk, update file sizes, and "balance" the directory tree. These are discussed further in the following pages. RIP File Browser In RIP mode, Searchlight lets you manage files and use its file system with an integrated series of graphical screens we call the RIP File Browser. The browser replaces traditional line oriented file listing commands, like Files, Zippy and New. In browse mode, you can use your mouse or arrow keys to navigate file directories, tag files, and perform most file related commands. You'll see the file browser whenever you use the Files, New or Zippy command. Here's an overview of what you'll see and how it works: You'll start by seeing a screen with a list of file directories. If you do a plain Files command, you'll see a list of all directories that are available to you. If you do a New or Zippy command, you'll see only those directories that contain new files, or those that contain files which match your search string. If the directory list is longer than one screen, use the scroll bar or arrow keys to see the entire list. 128 Files Subsystem To view the matching files in any directory, just double click on the directory or position the lightbar on the directory and press Enter. If the files list is longer than one screen, use the scroll bar or arrow keys to view the entire list. If you want to download a particular file, place the lightbar on the file and click the download button on the bottom of the screen (or press D). If you want to download more than one file, tag the desired files by double clicking with your mouse or by presssing Spacebar. Then click the download button. Use the "Directories" and "File List" buttons to switch between the files list and directory list. Files you tag remain tagged as you move from one directory to another. You can also use the Next Dir/Prev Dir buttons. Most of the other file related commands, like Xproto, are conveniently available on the browsing screen. You don't need to exit the browser to use these commands. You can even View archive files. You also don't need to leave the browser if you want to do a different Zippy scan or New scan. Use the buttons at the top of the screen. 129 Files Subsystem Setting Up External Protocols An external protocol is a program which is capable of transferring files to or from a remote system via modem. Typically, such programs are written to be used from the DOS command line or as part of a BBS like Searchlight, where they can provide new transfer protocols such as Ymodem, Batch Ymodem, Kermit, etc. in addition to Searchlight's built-in protocols. To set-up external protocols, run the CONFIG program and access the "Protocol Setup" section. Each of the 15 possible protocol choices has a submenu which looks like this: 1. Protocol Name ...................... 2. Protocol Type ...................... External 3. Protocol Send Command .............. 4. Protocol Receive Command............ Each protocol consists of a name (which is displayed by the Files system), a type (set this to "External" to install external protocols), a send command, and a receive command. Send and receive commands are the commands normally used to execute the required external program from the DOS command line, including all parameters. You should specify the exact filename and path (including COM, EXE or BAT extension) to the external program. Where a filename is required on the command line, Searchlight provides three special character sequences which are substituted with actual filenames when the command is used. The special characters are: %F %W .. @FILENAME ..... Specifies an "indirect" file You don't have to specify both a send and receive command for each protocol. If a receive command is missing, then the protocol can be used only for sending (downloading) files, and vice-versa. Note that since the directory from which an external protocol is "launched" can change, it is recommended that a full pathname be specified for each protocol (i.e. "C:\BIN\DSZ.COM ..."). Download Commands Download commands should contain either the %F, %W or @FILENAME parameters in the command line where filenames are required by the external protocol. The %F parameter specifies a single filename; %W specifies one to three filenames. Each filename will be passed to the command line in sequence separated by a blank space. Wildcard characters are not passed to the command line, but are expanded to their full filenames. The @FILENAME parameter provides an alternate means of passing filenames to a download command (for use with those programs that support it) and allows multifile transfers of up to 40 files at a time, from any number of directories. The @FILENAME parameter (where "FILENAME" is any filename, optionally including a drive letter/drive path) writes an indirect text file to disk. The indirect file contains a list of the files requested for download by the user, including full pathnames and drive letters. Many 130 Files Subsystem external protocols--such as DSZ.COM--can use such a file list instead of command line parameters. All download commands are launched from the Searchlight home directory area; the indirect text file is created in the home directory unless a specific drive/path is specified. Searchlight creates a file called FILELIST.BBS in your home directory during external download procedures. This is a temporary file and need not be backed-up (it will be created again if missing). Upload Commands Searchlight supports single-file or batch uploading (uploading two or more files with one command) in conjunction with external protocols that allow it. Batch uploading is assumed if no filenames (i.e. no %F parameter) is specified on the command line for a given upload protocol. For nonbatch protocols, add the %F parameter where a filename is expected. When performing a batch upload, Searchlight can accept up to 40 filenames and descriptions before the upload begins. After uploading is completed, Searchlight locates the actual file(s) sent, and matches them to the descriptions provided prior to the upload. Should any files lack a description, the system will prompt for one after the upload. A default message of "description not available" is used if no description is provided by the user. Searchlight executes all external upload procedures from a temporary directory called UPLOADS.BBS, which is created as a subdirectory of your BBS home directory if it does not already exist. After each external upload procedure completes, Searchlight checks the UPLOADS.BBS directory to locate all uploaded files, then moves these files to the appropriate files area. (Please note that if an uploaded file already exists in the current directory, Searchlight will delete the duplicate file). The UPLOADS.BBS directory is expected to be empty before uploading begins, so do not store any files in this directory. Searchlight creates a temporary file called UPLIST.BBS during external upload procedures. External Protocol Examples The popular program DSZ (Omen Technology Inc.) can be used to add protocols like Ymodem Batch to Searchlight. With the DSZ.COM executable file installed in the root directory of drive C:, you can use it like this: 1. Protocol Name .. Ymodem Batch 2. Protocol Send Command .............. c:\dsz.com port %p sb -k @c:temp.txt 3. Protocol Receive Command ........... c:\dsz.com port %p restrict z pr1 rb Here we're using DSZ.COM to implement the Ymodem protocol by specifying the "sb -k" and "rb" command line parameters. Filenames are passed via an indirect file called "c:temp.txt" (note that the drive letter is required 131 Files Subsystem by DSZ in order to recognize an indirect file). Searchlight will allow you to enter up to 40 filenames and will allow filenames from multiple directories to be selected when you use this command. These commands are specific to DSZ; other software will use different commands. In general, any program can be set up to run as a protocol. It is up to you to install programs with the correct parameters for the transfer desired. As a final thought, note that external protocols can do other things besides straight uploading and downloading of files. For example, an external protocol could perform processing, such as extraction of PKZIP files, before performing a file transfer. External protocols gives you a way to interface custom file handling procedures with Searchlight. 132 Files Subsystem Summary Of Files System Commands Here's a printout of the File System's main menu of commands, followed by an explanation of what each command does. Copy ...... Copy File to New Dir Passwd .... Assign/Change Passwords Download .. Download File Quit ...... Return to BBS Edit ...... Edit File Descriptions Rename .... Rename File Files ..... Directory of Files Status .... Ratios & Disk Space Goodbye ... Log Off System Type ...... Read Text Files Jump ...... Jump to Directory Upload .... Upload File Kill ...... Delete File View ...... View Compressed Files List ...... List of Directories WideDir ... Brief File Listing Move ...... Move File to New Dir XProto .... Change Xfer Protocol New ....... New Files by Date Zippy ..... Zippy Dir Scan Owner ..... Show Add'l File Info 2-Sysop ... Sysop Command Menu Files/Copy The Copy command copies files from one directory to another. The disk file, as well as the file's description, are copied to the new location. Copy is similar to Move, except that Move removes the original file after copying it, whereas Copy does not. You may specify a single filename or multiple filenames with this command, or you can copy all of the files in your tag list. Files/Download The Download command is used to transfer files from the BBS to you. Your computer or terminal must be capable of receiving the file using one of three internally supported transfer protocols (Zmodem, Xmodem, CRC Xmodem, 1K Xmodem) or an externally supplied protocol (use the Xproto command for a list). If no protocol has been previously selected when you give the Download command, you will be prompted for a protocol; otherwise, the protocol used last is used. To begin downloading, enter the name of the file you wish to receive. You need not type the full filename. When Searchlight displays the message "Ready to send", the file transfer is ready to begin. However, before you can receive the file, you must give your terminal the proper command. Usually, this is done by selecting an option to receive files from a menu. Some external protocols allow you to specify multiple filenames and/or wildcard filespecs. The "*" and "?" characters may be used. All files specified must reside in the current directory. 133 Files Subsystem A file may be password protected. If you attempt to download such a file, you will be prompted for a password, and the download will proceed only if you provide the correct password. An auto-logoff feature is supported. If selected, the system will log you off after the download completes, allowing you to leave your computer unattended during the transfer. To get a directory of the files available for downloading, use the Files and New commands. Files/Edit This command allows you to change the one to three line description associated with a file. You can only change a file that you uploaded, unless you have sysop status, in which case you may edit any file's description. Files/Files The Files command displays a listing of files available for downloading. It prompts you to enter the "Starting Filename or Wildcard" of the directory you wish to view. There are three ways to respond to this prompt: Pressing ENTER without typing anything gives you a list of all files in the current directory. The list is in alphabetical order and shows the filename, date uploaded, size in Kilobytes, number of times downloaded, and a description of the file. Typing a filename, or the first few characters of a filename, WITHOUT a wildcard, lists files in alphabetical order starting with the filename entered. For example, if you enter "L", you will get a list beginning with the files that start with the letter L, and continuing to the end. Finally, you may type a wildcard (a filename containing one or more "*" or "?" characters). In this case, only those files that match the wildcard specification are shown. In addition, the prompt "Search all directories (Y/N)?" appears. If "Y" is selected, Searchlight will list all files in all directories that match the wildcard; otherwise, only files in the current directory are listed. A "+" sign displayed in the file listing indicates a password protected file. You can view or download such a file only if you know the password. Notice that Searchlight displays file sizes in terms of Kilobytes rather than bytes. One kilobyte equals 1024 bytes. You may abort any file listing at any time by pressing the or keys. Also, refer to the New command for information about date- sorted file listings. Files/Goodbye Use this command when you are ready to log off, or disconnect, from the BBS. The computer may prompt you to "Please leave us a quote". Type a short 1-line message and press ENTER. 134 Files Subsystem Note that is considered good practice to always log off properly by using the Goodbye command, rather than simply hanging up. However, hanging up will not cause any damage to the system. Files/Jump This command is used to access the various file directories available on the system. Type the name (or partial name) of the directory you want. To see the list of available directories, either type "?" in response to the Jump command's prompt, or use the List command. Files/Kill The Kill command deletes files. If you have Sysop or Co-Sysop access, you may delete any file; otherwise, you can only delete a file if you uploaded it. Kill can take a single filename, or one or more filenames and/or wildcard filespecs. The "*" and "?" characters are supported. Sysop Only: You may delete files from Searchlight's list of files without actually deleting them from the disk. You will be prompted for this option. Files/List The List command gives you a list of available directories. In order to view or download files in a specific directory, you normally make it the current directory; do this by responding to the List command's prompt with the directory name, or by using the Jump command (see Jump). Files/Move Use the Move command to transfer, or move, files from one directory to another. The files are copied into the destination directory and then the original files are deleted. Both Searchlight's entry for the file, and the actual file on disk, are moved to the appropriate directories. Move can take a single filename, or one or more filenames and/or wildcard filespecs. The "*" and "?" characters are supported. You can also move the currently tagged files if you are maintaining a tag list. Note that the Move command performs a byte-by-byte file copy only when the source and destination are on different drives; otherwise, it performs an efficient file rename without a physical file move. Users with Sysop access can move any file. Otherwise, you can only move your own files (files you have uploaded) into directories to which you have access. Files/New The New command allows you to get a listing of "new" files since the last time you logged on, or since any specified date. 135 Files Subsystem To use the New command, answer the prompt with the desired target date. The date shown in brackets, which is the date you last logged on, is used as the default date if you press ENTER. A second prompt appears, "Scan all directories (Y/N)"- if you enter Y, all directories will be searched for new files, otherwise only the current directory is searched. Dates are entered in either USA (mm/dd/yy) or European (dd/mm/yy) format, depending on your Configuration (see CONFIG menu #2). You can use dashes, slashes, or any nonnumeric separators. If you don't include the year (e.g. "9/21"), it defaults to the current year. The new file listing appears in reverse date-sorted order. It is often useful to run the NEW command with a very early target date, as this gives you a chronological file listing rather than an alphabetical listing as with the FILES command. Files/Owner This command prompts you for a filename and it displays the file's owner (the name of the person who uploaded the file) and the number of times that the file has been downloaded. Files/Passwd The Passwd command lets you assign a password to a file. Once a password is assigned, only users who know the password are able to download the file. You can only assign a password to a file that you have uploaded. If the file already has a password, you can only change it if you can give the old password. Note that the Sysop can assign an automatic password to all newly uploaded files, thus preventing anyone from downloading a new file until it has been cleared by the sysop. Files/Quit The Quit command returns you to the Searchlight BBS Main Menu. Files/Rename Searchlight's Rename command is similar to its DOS counterpart. It will rename a single file; you must be a Sysop or the uploader of the file you want to rename. Both the directory entry for the file and the actual file on disk will be renamed. You cannot rename a file if the file resides on a read-only disk. Files/Status The Status command shows various information, including: the current time and date, time left in the current session, your current download:upload ratio and dl:ul limit, and the amount of free disk space remaining on the current volume. 136 Files Subsystem Files/Type The Type command allows you to read a text file. The output will pause every 24 lines and can be controlled with pause (^S) and break (^C) keys, just like when you read messages and other text. Files/Upload The Upload command is used to send files from your computer to the BBS. Your computer or terminal must be capable of sending the file using Zmodem, Xmodem, CRC Xmodem, 1K Xmodem, or one of the supported external protocols. If no protocol has been previously selected when you give the Upload command, you will be prompted for a protocol; otherwise, the previously selected protocol is used. To begin uploading, enter the filename of the file you wish to send. You must enter a legal DOS filename (8 character filename with optional 3 character extension). Do not include drive letters or directory pathnames. Before the file transfer begins, you will be prompted to enter a short and long description of the file to be displayed so that others will know what information the file contains. (Long descriptions are optional and may be 0, 1 to 2 lines in length). If less than 200K of disk space is available, Searchlight will display the amount of space left and ask if you wish to continue. Press "N" if your file is larger than the amount of space available, or "Y" to go on. Searchlight features an auto-logoff option. If this feature is selected, you will be logged off immediately after the upload completes. Thus, you may leave your computer unattended without worrying about terminating your session when the upload is finished. When Searchlight is ready to receive your file, it will display the message "ready to receive". What happens next depends on the terminal software that you use. In most cases, you must give a command to your software that tells it to load the file and begin sending it using the proper protocol. If the Sysop has assigned a "default" password to the files system, your file will be password protected until it is cleared by the sysop. After a successful upload, Searchlight will increase your time limit for the day according to the amount of time required for the upload, multiplied by the Upload Repay Rate (set by the Sysop on CONFIG menu #2). Files/View This command displays the internal directory of a compressed file, such as a ZIP or ARJ file. You are prompted for the filename, which may be abbreviated. The directory of the compressed file is displayed in a format similar to that of the "verbose" directory option found in the compression utility programs. Searchlight's View command supports ARC, ZIP, LZH, ARJ, SQZ and GIF file types (for GIF files, Searchlight displays only the file dimentions and color depth). The View command determines the file type by looking at the data in the file, rather than by the filename; therefore, you can view 137 Files Subsystem compressed files even if the filename does not have the expected extension. The View command can also be used like the Type command to look at text files. Files/WideDir This command gives you a "wide", four-across file listing which shows only the filename and file size in Kilobytes. It is similar to the DIR/W command in DOS. There is no parameter for WideDir; all files in the current directory are listed. You may abort the listing with ^C. Files/XProto This command lets you change the transfer protocol used for uploading and downloading files. Searchlight supports three internal protocols (Xmodem, CRC Xmodem, and 1K Xmodem); in addition, up to 9 external protocols can be supplied by the Sysop. Once a protocol is selected, it is used by default for all subsequent transfers until you change it again with the XProto command. Files/Zippy The "Zippy Directory Scan" command searches one or more file directories for a specific search string. The search string can be any group of characters, and both filenames and descriptions will be searched. It is not necessary to use wildcard characters with Zippy, and the search is case- insensitive when searching file descriptions. Searchlight's Zippy command is dedicated as a tribute to the folks at PCBoard for creatively allocating the last letter of the alphabet as a command, and to comic artist Bill Griffith for the inspiration provided to this author via his Zippy The Pinhead comic strips. You can abort the search by pressing ^C. Files/2-Sysop This command allows you to access several subfunctions related to the maintenance of your file system. Only Sysops can access these commands. Get--The Get command is used to load the names of existing files into Searchlight's directory, without having to upload them. To add files to a directory, first use DOS commands to copy the files to the appropriate disk and directory. When you execute Get, Searchlight reads the disk directory of the active drive and compares the filenames it finds to the filenames in its own internal directory list. When a new file is found, its name is printed and you are prompted to enter a description of the file. If you enter no description, the file is skipped; otherwise, it is added to Searchlight's list of files. To use Get, you must specify a filename or wildcard mask for the file(s) you wish to add. Enter "*.*" to search all the files in the directory. 138 Files Subsystem o By default, the Get command looks in the "Path to Files" path for the current directory to find files. However, you can override this path if you enter a complete file path with the Get command -- for example, "C:\SLBBS\UTILS\*.ZIP". Repeated use of the Get command with different paths allows a single Searchlight directory to contain files from multiple DOS directories. More information about working with multiple paths can be found on page 142). If you want to load more than one filename at a time, you may wish to use the Import features described in the following section. Update--This command compares Searchlight's directory with the DOS directory of the current drive. It is used to update the sizes of files which have changed size since they were uploaded or added to the Searchlight directory. Update will place a "*" next to the directory listing of any files which have been deleted from the disk but remain in the system's file list. 139 Files Subsystem Importing File Lists Searchlight's Import function, available from the CONFIG program under "Directory Utilities", is a flexible command that allows you to use filename and description lists from CD-ROM disks and other bulletin board software with Searchlight BBS. Searchlight BBS stores filenames and descriptions for its file transfer directories in binary rather than text files. This gives Searchlight the unique ability to maintain both alphabetical and date sorted indexes to its files, as well as file passwords, ownerships, and running download counts. One limitation of binary files is that file listings from other BBS software or generic file listings (such as those provided with CD-ROM systems) cannot be used directly. However, the Import facility converts such listings for use with Searchlight and also allows you to freely edit Searchlight directories by listing to a text file, editing the text file, and importing the results back into the system. Import List Format The Import command expects to read a text file containing filenames in the following general format: [size] [date] [description] The filenames must begin in column 1, and can be expressed as NAME EXT or NAME.EXT The file sizes can begin in any column, and may appear in bytes or Kbytes: 153506 or 149.9K The date can begin in any column, can be parsed with either "-" or "/" characters, and can appear as "MM/DD/YY" or "MM/YY": 10/91 or 10/23/91 or 10-23-91 The remainder of the line after the date contains the description. If a date is missing, Searchlight substitutes the current system date. Additional fields, such as the "times downloaded" field used in Searchlight file lists, may appear but will be ignored. Any lines which do not conform to the above, such as blank lines or heading lines, will be ignored when the file is processed. Any lines which contain an invalid filename, size, or date will also be skipped. Running The Import Command To begin importing, run the Config program and select File Directory Maintenance. Place the cursor next to the desired directory, press F3, and select Import Filenames from the menu. (If you have not already created a Searchlight directory entry for the files you wish to import, do so first 140 Files Subsystem by pressing F1 and following the prompts. More information about creating directories can be found on page 53). To begin the import procedure, you need to enter two pieces of information: the path where the files are located, and the name of the file containing the file descriptions. Searchlight provides the Path to Files for the directory as a default for the first question, but you may override this with a different path. (Changing this path allows you to create a Searchlight directory that contains files from multiple DOS directories. If you have more than one directory from which you'd like to import files, repeat the import procedure for each. For more information about working with multiple directory paths, see page 142). Searchlight may also provide you with a default for the import filename, if a suitable file can be located. If a default is provided, either press Enter to accept it or type a different filename. If no default is shown, type in the complete filename of the description file (the description file may be located in any path you choose). Next, you'll see this prompt: Update Existing Files (Y/N)? If you answer "N", any files found in the import list which already exist in the Searchlight directory will be skipped. If you type "Y", then existing files will be updated with the file size, date, and description found on the import file list. Searchlight will proceed to read the import file list, and will report the number of files added and updated at completion. All newly added files will be assigned an ownership of Sysop (or the name of whomever executes the Import command) and will have the times downloaded counter set to zero. Tips On Importing It is recommended that you run the 2-Sysop/Balance command after an import operation, to ensure that the directory is in an optimal tree sorted structure. Import does not check the file sizes of the files it reads. To do that, execute 2-Sysop/Update after importing. When specifying the name of the import file, Searchlight will be looking for that file in the DOS directory containing the files for the currently active file area. If your import file is in another directory, you can specify the drive letter and/or path. The Import command can read files created with Searchlight's SLDIR utility. You can use SLDIR to create a text file listing of your directory, then edit file descriptions, sizes, or dates with a word processor, and load the changes back into Searchlight by specifying "Update Existing Files" when you import the list. There is no need to remove the headings or blank lines from the SLDIR list, as these will be ignored when the file is imported. Importing works one directory at a time. If you want to import several different file lists into one Searchlight directory, repeat the import procedure for each list. If you want to import files from a large list into 141 Files Subsystem several Searchlight directories, you'll need to split your list into smaller lists and import each one into the appropriate file area. Working With Multiple Paths By default, each directory you set up with Searchlight's Config program (that is, each Searchlight directory) points to a particular DOS directory on your hard drive or a particular directory on a CD-ROM or network drive. This is the path defined by "Path to Files" in the directory setup screen. This is the path where Searchlight places new files when they are uploaded to the directory or copied to the directory when the Copy or Move commands are used from the Files menu. Sometimes, you may want to group files into a single Searchlight directory even though those files exist in different DOS directory paths. The most common reason for doing this is when you have CD-ROM discs. Suppose you have three CD discs and each disc contains files related to word processing. Rather than make three sepearate word processing directories, you might want to create a single file area combining the contents of the three discs. Another reason for grouping files from different DOS paths is so you can have one file appear in two or more Searchlight directories without making multiple copies of the file. Searchlight allows you to create multiple path groupings in two ways: When you use the 2-Sysop/Get command, specify the full path to the files you wish to get; for example, "C:\SLBBS\WP\*.ZIP". Searchlight allows you to retrieve those files and create discriptions of them in the current file area, even if the "Path to Files" for the current area doesn't match the path typed. When you use the Import command in the Config program, specify the desired file path when prompted. In both cases, repeat the command as many times as neededusing a different path each timeuntil all of the files you need are placed into Searchlight's file database. Searchlight treats files that aren't located in the primary "Path to Files" much like any other files when listing and searching directories. Of course, when you attempt to View or Download such a file, Searchlight retrieves the file's contents from the correct directory. There are several differences between a "normal" file (one contained in the directory's default "Path to Files") and a file in a different path. If you use Searchlight to copy or move the file to a different directory, the file itself isn't physically copied. Instead, only the file description is moved. Searchlight stores the file's actual DOS path as a hidden part of the file description. Sysops can see the path: when you're logged into your system as a Sysop, you'll see the alternate directory path as part of the description when you display the file. Your regular callers can't see this path, and won't experience any difference between these files and other files. 142 Files Subsystem You cannot edit a file's path once it has been entered, nor can you convert existing files into files which use an alternate directory path. The only way to create these files is with the 2-Sysop/Get or Import procedures. 143 Menu Editor Searchlight Menu Editor Searchlight uses an externally stored menu system that directs the flow of commands, and forms most of the menus you and your callers will see when using the software. Because menus are stored externally in files, and because Searchlight's internal command structures include command-line style options, you have a tremendous amount of flexibility to decide how your system will look and work. With Searchlight and its menu editor software, you'll be able to: o Rename, rearrange, eliminate, or regulate by access level and attributes, any command on the default menus provided. Even translate commands (including the command names and their associated "hot key") into other languages. o Create new commands on any menu. Your commands can be internal Searchlight functions (like List Subboards or Read Messages), external Door programs, or other menus. o Create commands that do something different, depending on the access level, attributes, and/or help level of the user who selects the command. o You can even execute a list of commands (both internal commands and Doors), creating commands that can perform complex sequences of events. 144 Menu Editor Using The Menu Editor The core of Searchlight's menu system is a series of menu (*.MNU) files located in a directory on your hard drive. The menu editor function (part of the CONFIG program) can be used to examine and alter existing menu files or to create new ones from scratch. Note that it is not necessary to use the menu editor to use Searchlight; the default menus provided with the system can be used as-is. You need to use the menu editor only if you want to alter, or add to, the stock menus. o All of the command descriptions and examples in this manual assume you are using the default menus provided with Searchlight. If you change menus using the menu editor, you should be aware that the exact menu choices and keystrokes described in this manual may no longer be accurate for your system. However, commands themselves will operate the same. Starting The Menu Editor To start the menu editor, run CONFIG and select item E, "Searchlight Menu Editor". You can also type from the DOS prompt: CONFIG E The menu editor starts up by displaying a list of available menus. The first time you run the menu editor, you will see a list of menus similar to this one: FILES 23 Searchlight Files System FSYSOP 6 Sysop Command Menu MAIL 8 Electronic Mail MAIN 25 Searchlight BBS Main Menu MEMBER 6 Subbd Member List/Options NEW 5 New Message Scans OPTIONS 5 Your Options & Stats SCAN 5 Quick Scan Messages STARTUP 7 SLBBS Startup Menu SYSMAIL 8 E-Mail/Sysop Access SYSOP 8 Sysop Options Menu SYSOPT 5 Sysop Options/Stats Access USER 7 User Lists & Information These are the default menus provided with Searchlight BBS. As you add your own menus, those choices will also appear. From the menu editor's main screen, you can select a menu for editing by placing the cursor on the desired menu and pressing Enter, or by double- clicking the menu name with your mouse. You can add menus by pressing F1 and delete menus with F2. If the list of menus is longer than one screen, you can scroll with PgUp/PgDn keys, arrow keys, or by using the mouse to click on the screen messages. The menu editor always uses the "Menu Directory" that's specified in the CONFIG file for the node in which you are working, and all menus are searched for (or created in) that directory. If you need to change the default menu directory, you can do so by accessing the Pathnames Setup portion of the CONFIG program prior to running the menu editor software. 145 Menu Editor Components Of A Menu Each menu file consists of two distinct parts: a "header" part which contains information about the menu as a whole, and a body part, which consists of a list of commands on the menu. Every menu has one header and menus may have up to 64 commands. There are three basic menu types, and several options that control how a particular menu is displayed. A Word style menu is the kind of menu that makes up Searchlight's default main menu and files menu. That is, it consists of a series of one word commands, which can be selected by pressing the spacebar or backspace key or the first letter of the command, and then pressing Enter. A list of all the commands on this type of menu can be displayed, typically by selecting a "Help" command; the listing can be generated by Searchlight or displayed from and external file. Character style menus are similar to Word menus, except that no scrolling list of options is displayed. Users select commands by pressing 1 key, and the command is immediately executed. With this type of menu you'll normally want to display a list of the menu's commands every time that menu is used, although the exact behavior is up to you. MenuBar menus are the typical "Lotus 1-2-3" style menus found in areas such as the Mail or User command submenus. With MenuBars, the commands are always displayed, and must fit on a single line (typically there are between three and eight selections on any MenuBar style menu). Commands Every menu contains a series of one or more commands. Commands consist of several components: a one to fifteen character command name, a "hotkey" that selects the command, a description of what the command does, access level/attribute information, and specific actions that Searchlight will take when executing that command. There are three basic command types: Internal commands execute a function that's built into Searchlight BBS; Door commands run external programs; and Menu commands transfer control to other menus. Menus can contain up to 64 commands. Not every command on every menu need be available to every person who uses the menu. Access level and attribute restrictions allow you to design commands that only certain groups of people can use--you can even have two or more commands with the same name that perform different operations, provided that you arrange it so that only one is available to any particular user. You can also place commands in any order on the menu that you choose. Word, Character and MenuBar type menus all contain the same types of commands. The only difference is in how the menu is presented and how the command is selected. RIP Graphics When in RIP graphics mode, Searchlight can generate graphical representations of menus instead of simply displaying text listings of the 146 Menu Editor commands. These graphical displays can include a window face, a title bar, and mouse buttons, and the colors and other graphical features used to display the menu are governed by you via a feature called RIP Styles. For more information about RIP Styles, see page 214. For now, you should know that pressing F6 will show you a graphical "Preview" of what your menu will look like in RIP graphics mode. 147 Menu Editor Menu Header The first screen that's displayed when editing a menu is its header information. Menu headers consist of 13 fields, as shown in this example: 1. Title .............................. Main Menu 2. Clear Screen? ...................... No 3. Display Title? ..................... Yes 4. Display Filename ................... 5. Display Menu (Novice) .............. Yes 6. Display Menu (Intermed) ............ No 7. Display Menu (Expert) .............. Yes 8. Prompt Type (Novice) ............... Word 9. Prompt Type (Intermed) ............. Word 10. Prompt Type (Expert) ............... Word 11. Prompt String 1 .................... Command: 12. Prompt String 2 .................... 13. Prompt String 3 .................... 14. Use RIP Mouse Areas ................ Yes 15. RIP Display Style .................. Steel 16. RIP Menu Columns (Novice) .......... 2 17. RIP Menu Columns (Expert) .......... 2 Here's a description of each field: 1 -- Title The title field contains a title, or description, for the menu as a whole. For MenuBar type menus, this title is displayed before the menu is generated when field 3 is set to "Yes"; for Word and Character style menus, it's displayed whenever the menu is printed, unless and external file is used for menu display. 2 -- Clear Screen? 3 -- Display Title? These fields determine whether Searchlight will clear the screen, and display the menu title, before displaying a menu. With MenuBar menus, this is every time the menu is called; for Word and Character type menus, whenever a display of the menu is requested. 4 -- Display Filename (Optional) This is an optional field. For Word and Character style menus, this field allows you to name a file that will be displayed in place of the default menu generated by Searchlight. This file can be any text, ANSI or RIP file contained in your system "Text" directory. Notice that omitting the file extension causes Searchlight to select between ".TXT", ".ANS" and ".RIP" files as appropriate--.TXT for a pure text file, .ANS for an ANSI graphics file, and .RIP for RIP graphics images. For MenuBar type menus, this file does not replace the default display, but contains a message that's displayed before the default menu is generated. 148 Menu Editor 5 -- Display Menu (Novice) 6 -- Display Menu (Intermediate) 7 -- Display Menu (Expert) These three fields determine, for users with the three possible help level settings, whether or not a listing of all the commands on a Word or Character type menu is generated each time the menu is entered (or re- entered after executing a command). These fields have no effect on MenuBar menus. 8 -- Prompt Type (Novice) 9 -- Prompt Type (Intermediate) 10 -- Prompt Type (Expert) These fields determine the type of menu, Word, Character or MenuBar, that's generated from this menu file. It's possible to have one menu appear in several different ways, depending on the user's selected help level: although in most cases, you will design a menu to be displayed one particular way, and thus will set all three of these fields to the same value. o MenuBar style menus may not contain more choices than will fit in one screen line (80 characters). It is up to you to assure that menus will fit on a single line before selecting this type of menu. 11 thru 13 -- Prompt Strings These three fields provide you with one to three lines to create a prompt. A prompt is short text that appears right before the cursor pauses to accept keyboard input for the menu selection. For example, on the default main menu, the prompt string consists of the current subboard name in brackets, followed by the word "Command:". Notice that Searchlight color codes and macros are available for use in the prompt strings. "\sb" is an example of one of a macro code; it displays the name of the current message subboard or file directory. A complete listing of these sequences appears earlier in this manual (see p. 116). 14 -- Use RIP Mouse Areas Since Searchlight provides its own mouse support with built in menus, this command is included in the menu setup screen to disable Searchlight from producing mouse areas for its internal menus. Set this option to "No" only if you are using RIPscrip files to generate your own menus with mouse areas. Otherwise, leave it set to "Yes". The "No" setting prevents Searchlight from interfering with mouse areas that may have been created by your external file. 15 -- RIP Display Style This field selects a style for displaying the menu when in RIP graphics mode. A "style" is actually a collection of colors, fonts, and other attributes that describe how the menu will look when displayed on screen. The choices that will be available here depend on what styles you have 149 Menu Editor created using the RIP Styles Setup portion of the CONFIG program; for more information, see page 214. 16 -- RIP Menu Columns (Novice) 17 -- RIP Menu Columns (Expert) These fields define the number of columns that will be used to draw the menu in RIP graphics mode, for novice and expert callers. You should be careful to fill in values here that make sense for your menu. o When setting RIP display style and menu column values, use the RIP preview feature to see what your menu will look like. To access the preview feature, press F6 on the main "Edit Menus" screen. At least an EGA graphics monitor is required for the preview feature. See the RIP Graphics section of this manual (p. 212) for more information. 150 Menu Editor Editing Commands Once you have entered or changed the header information for a particular menu, you can move on and examine or create the commands for that menu. To access the command editor, press F1 from the header editing screen. Your screen will now show a list of the menu's commands, like this: Edit Add Delete Copy Move Exit Kill K Delete Messages INTERNAL 104 List L Subboard List INTERNAL 102 Mail M Electronic Mail MENU MAIL New N New Message Scan MENU NEW Command, Key, Description and Type are some of the parameters that are associated with commands. For now, we'll ignore the meaning of these fields and concentrate on using the command editor's functions to manipulate the command list; individual command options will be discussed shortly. Command Editor To use the command editor, you select a command by positioning the cursor to the left of the command name. Use the up and down arrow keys to move the cursor; on menus where the number of commands exceeds the screen size, you may use PgUp and PgDn to view additional commands. You can also go directly to a command by pressing the first letter of its name (when there is more than one command with the same first letter, continue pressing that letter until you arrive at the desired location), or by using the mouse. Note that all menu editing takes place in RAM only. The actual menu file on disk is not updated until you exit the menu editor and save the file. Therefore, should you make a mistake when editing any part of a menu, and wish to go back to the original, simply exit the menu editor and choose NOT to save that menu back to disk. Editing Existing Commands To edit a command, simply press once the cursor is located on that command. You will be presented with the Edit Command screen, which is discussed shortly. You can also click twice on a command with your mouse to edit it. Adding Commands Press F1 to add a new command. You'll be asked to select the type of command you want to create, and then the Edit Command screen will appear, allowing you to enter the specifics for the command. When you add a command, it's added into the menu directly before the current cursor position. Therefore, you'll want to position the cursor to 151 Menu Editor the desired location before pressing F1. To add a command to the end of the menu, place the cursor 1 line past the last command. Deleting Commands F2 is the delete command key. Press it to remove the currently selected item. The menu editor confirms the deletion with a Yes/No prompt. Copy Command The F3 key performs a copy function. It lets you create a new command by duplicating an existing command. This is useful when you want to create several commands that are similar, as it saves you from re-entering the elements that are common to each command. To copy a command, place the cursor on the existing command and press F3. Then, move the cursor to the place where you'd like the new command inserted, and press . As with the F1 key, the new command is inserted before the cursor position. You can now press once more to edit the new command's parameters. Move Command Use the F4 key to move an existing command to a new position in the menu. Begin by placing the cursor on the desired command; then press F4. Now, move the cursor to the location where you'd like that command to be moved, and press . The command is moved, and the screen is redrawn to show its new location. Press the key when you are done editing commands. 152 Menu Editor Edit Command Screen Whenever you edit a command or insert a new command, the Edit Command screen appears, allowing you to enter specific information about the command. This screen consists of two parts. The first nine lines of the Edit Command screen are the same for any command. The remaining lines vary according to the type of command (Internal, Door, or Menu) that's being edited. For existing commands, the correct screen is selected based on the type of command. When entering new commands, a prompt appears allowing you to select the desired type: Select Command Type: Internal Door Menu Quit The first part of the Edit Command screen looks like this: Press F1 to Change Command Type 1. Command Name ....................... Bulletin 2. Command Key ........................ B 3. Description ........................ Bulletins 4. Access Levels & Graphics [...] The first three options on this menu control what the command will look like when it appears on a menu. The fourth item is a submenu that controls who has access to the menu by a variety of criteria. Here's a breakdown of the options: 1 -- Command Name This is a short name for the command, of between one and 15 characters. This is the name that's displayed by Searchlight's default menu listing (for Word or Character style menus) or in the menubar for MenuBar type menus. If you use an external file to replace the default display for a Command or Character menu, then this name is not displayed, and is unimportant. 2 -- Command Key The most important attribute of a command is the key that needs to be pressed in order to trigger it. In almost all cases, this character is the first letter of the command name itself. However, it may be any other character (it is recommended that you use a character which appears somewhere in the name of the command, however). You may wish to use something other than the first character of the command name in order to resolve the problem of having two commands on a menu which start with the same letter. Searchlight always highlights the appropriate letter when drawing a menu display or menubar. Notice that the menu editor does not check to see if you enter two or more commands with the same command key. In fact, this is not only possible but it's something you'll want to do often--as long as you insure, through the 153 Menu Editor use of options 4 through 9, that two such commands are never available to the same user. 3 -- Description The command's description is used on the Searchlight generated main menu display (for Character or Word type menus) and in the help field below the cursor, when selected, in Menubar and Word menus. 154 Menu Editor Controlling Command Availability Searchlight contains a rich set of configuration parameters that control which commands are available to a user whenever a menu is loaded or executed. Not only can certain commands be regulated by minimum access level and attributes, but you can omit low-access level commands from a menu when an experienced user logs on. In fact, you can even make the same command perform different actions depending on the user that executes the command. How is this done? Simply by having two or more commands with the same name, and same command key. Through proper configuration of access levels and other parameters, you set it up so that only one of the identically-named commands is available to any particular user. In exploiting these options, you may create menus which contain more commands than will ever actually appear at one time, and menus where the same command name and key appears more than once. That's not only OK, but recommended--it lets you build very powerful menu systems. The commands available (on the "Access Levels & Graphics" submenu) include: 1. Minimum Access Level ............... 0 2. Maximum Access Level ............... 255 3. Require Security Attrib ............ 4. Exclude Security Attrib ............ 5. Require Preference Attrib .......... 6. Exclude Preference Attrib .......... 7. Help Levels ........................ All 8. Graphics Required .................. All 9. Minimum RIP Version ................ 150 10. Maximum RIP Version ................ 9999 1 -- Minimum Access Level 2 -- Maximum Access Level These two fields work to regulate which users "see" this command when the menu is displayed on screen. If a user has an access level between the two values, and meets the other requirements in lines 6-9, then this command is made available. Otherwise, it is not displayed, nor can it be executed in any way. 3 -- Require Security Attrib This line gives the required security attributes necessary for this command to be executed. Similar to the way subboards and file areas use attributes, if a particular user has the attributes listed here, then the command is available; otherwise, it's omitted from the menu and can't be executed. 4 -- Exclude Security Attrib This field specifies a set of security attributes which--if the user satisfies the condition of having all of the attributes specified--causes the command to be omitted from the menu. 155 Menu Editor Typically, this line is used the way the Maximum Access Level line might be used: to omit commands from a menu: not because a user does not have the privilege of using that function, but because the command is designed for someone with a lesser overall access level. For example, a command to request validation instructions might be omitted if the user is already validated, as determined by examining their attributes. 5 -- Require Preference Attrib 6 -- Exclude Preference Attrib These fields modify command access by user preference attributes. Preference attributes are a group of 24 flags that users can set to choose between two or more possible ways that your BBS will look or work. Preference attributes are like the security attributes that you assign to your users' accounts, except that a preference attribute is something that users themselves can set or clear using the OPTIONS command on Searchlight's main menu. Whereas security attributes are something you use to grant or deny access to particular areas of your BBS, preference attributes enable the user to select between two or more alternatives, all of which are equally accessible. Like security attributes, you can set up menus so that particular preference attributes are required for the command to appear, or you can set it up so that particular attributes exclude that command from being available. 7 -- Help Levels This field controls whether or not the command appears on the menu based on the help level of the current user. The default is "All", meaning that the command is available to all help levels (Novice, Intermediate, and Expert). By changing the value of this field, you can limit the command to only one or two of those help levels. 8 -- Graphics Required This line can be used to create commands that are only available in certain graphics modes--for example, only in ANSI mode, or only in RIP mode. For example, if RIP is specified here, then this command only appears for callers that have RIP compatible terminals; other callers can't execute the command. You can toggle through the options, which contain all available combinations of ANSI, RIP and None graphics modes. 9 -- Minimum RIP Version 10 -- Maximum RIP Version These fields can be used to define what RIP versions are allowed for use of this command. Since Searchlight itself supports all RIP versions internally, there is no need to use this command in conjunction with internal Searchlight features. You may want to use it in the future with door programs that are designed to work only with newer versions of the RIP protocol. We recommend leaving the settings as shown unless you have a specific need. 156 Menu Editor As an additional note on the issue of command regulation, it should be stated again that ALL of the requirements presented in these fields must be satisfied before a particular command will appear on a menu. If a user fails to meet any of these requirements when the menu is loaded, then that command is omitted. The default values for these fields when entering a new command (and for most of the commands in the standard menus) is either blank, or the minimum or maximum value of the field, meaning that the command is available to everyone. Typically, only one or two of these fields are used at any one time, although more sophisticated menu systems may of course take advantage of all of them. 157 Menu Editor Internal Commands Now that we've discussed how to specify command names and regulate who can use a command, let's get down to the business of discussing what commands do, and how to specify those actions on the menus. The three basic kinds of commands are Internal commands, Doors, and Menus. When you create a new command, you are prompted to select a command type. When you edit an existing command, the command type is automatically selected. Fields 10 and up on the Edit Command screen vary depending on what type of command you're looking at. For internal commands, you'll see these fields: 5. Command Number (1) ................. 6. Command Parameters (1) ............. ... 11. Command Number (4) ................. 12. Command Parameters (4) ............. Command Number is the number of a built in Searchlight function. Whenever someone selects this command choice off of a menu, what's actually executed is the internal function associated with the function number indicated here. For example, the function to read messages is function number 100; any internal command which specifies "100" in the Command Number field will cause the read message function to execute. This is true regardless of the name or key associated with the command. Command Parameters is an optional alphanumeric field that can be used to supply parameters to certain internal functions. Command parameters typically consist of either short strings of characters (such as a subboard name) or option flags, specified as a slash or dash followed by a letter, much as you would specify parameters for a command line program from the DOS prompt. For example, the parameter "/X" can be used with any internal function number to suppress that function from clearing the screen, and displaying its description, before it executes. A complete list of the internal function numbers and the parameters associated with them appears in Appendix G, Internal Command Reference. Internal commands let you specify up to four pairs of command numbers and parameters (fields with zero do nothing). When several functions are specified, they execute at once, in the order given, each time that command is selected. Therefore, it's possible for a single command that appears on a Searchlight menu to actually execute two, three, or four built in functions. (It's also possible to execute more functions than this, including external functions, by executing menus--we'll describe that process shortly). External (DOOR) Commands The second major category of command that can be included on a menu is a Door command. This type of command, when selected from a menu, executes an 158 Menu Editor external program, such as a database program, a utility like CONFIG.EXE, a BBS game, or other program. When the command is a door, these fields appear in the Edit Command menu: 5. Door Command ....................... command.com 6. Directory Path ..................... c:\ 7. Communications Support ............. BIOS 8. Abort Method ....................... Reboot 9. Write Protection ................... No 10. Parameter File ..................... None The example above shows a typical "Shell To DOS" command that might be included on a Sysop function menu. For more information about the above parameters, please see the Doors Subsystem section of this manual beginning on page 164 After a door is finished executing, control returns to the menu from which the door was selected; thus, doors can be integrated into any menu in a seamless manner. Menu Commands The third type of command that you can place on a Searchlight menu is a Menu command--basically, a link that starts up and displays a new menu. Menu commands are quite powerful, since you can use them to connect dozens, even hundreds, of menus together to form a comprehensive user interface. The options that appear for Menu commands are: 5. Menu Name .......................... MAIL 6. Execution Method ................... Display Menu Name is the eight-character filename of the new menu that you wish to load when this command is selected. Provide the menu name exactly as it appears in the menu editor. Note that the named menu must exist in your specified menu directory when the attempt is made to load it. Otherwise, Searchlight will exit with an error message. Therefore, it is recommended to test all menu commands at least once before placing your system online. Execution Method tells Searchlight what to do with the menu specified in line 10. The usual function is called Display, and it does what you might expect: displays the new menu, and allows the user to select a choice from that menu. The other option available here is called Execute, and it's one of the most powerful aspects of the entire Searchlight menu system. When you Execute a menu, Searchlight does not display the menu and solicit a choice from the user. Instead, it automatically executes every command on that menu in sequence. By setting up menus for execution, you have the capability of running long sequences of commands one after the other: those sequences can include internal functions, Door functions, and even other menus. 159 Menu Editor Menu execution can be used anytime you want to string a series of commands together. As a typical example, the first thing Searchlight does after a user logs in is it executes a special menu called "STARTUP". This menu contains a series of commands that tells Searchlight to perform its usual log-in sequence: display the bulletins, check for new mail, etc. Since that command sequence is a menu, it's completely modifiable. Changing Command Types You can change the command type of an existing command by pressing F1 while on the Edit Command screen. You'll be prompted to pick a new command type from the command type menu (Internal, Door or Menu). You can abort the change and retain the current command type by selecting the current type (highlighted on the menubar) or by selecting "Quit". Be aware that all command parameters specific to a particular type of command (that is, all items on the Edit Command screen after line 4) are cleared if you change the command type. Changing the command back to its original type will not restore the original information. Therefore, be sure you want to change the command type before doing so, and save a backup of the menu file (or a printout of the Edit Command screen) if you wish to have a record of the previous settings. More information about menu execution, and menu setup in general, is provided in the following section. 160 Menu Editor Guide To Menu Setup In the previous sections, we described how you can create and edit menus using Searchlight's menu editor. Here, we'll talk more about what you need to know to actually create working menu systems, along with tips and pitfalls to watch out for. Standard Menu Names There are only two menu names that are hard-coded into Searchlight BBS, and therefore required for it to operate. Those names are STARTUP and MAIN. STARTUP is the name of the menu that's executed as soon as Searchlight completes the process of logging in a user, and transfers control to the BBS.EXE program module. The STARTUP menu is executed, not displayed; that means the commands it contains are run one after another. In the standard menus that are supplied with Searchlight, the last command in the STARTUP menu is a command to load the MAIN menu. Something to notice about the STARTUP menu: since it's always executed rather than displayed, the names of the commands in it don't matter too much, except perhaps as comments you can refer to when examining the menu. MAIN is typically the name of the menu called by STARTUP, although it doesn't need to be. The only time that a MAIN menu must be available is if you exit Searchlight by pressing ALT-X and wish to resume your current session by restarting the program from the command line. When you press ALT-X Searchlight loses track of the name of whatever menu you were using, and any previous menus that were loaded; therefore it resorts to loading the MAIN menu. If you use ALT-X often, you'll want to make sure that the primary menu file on your system is MAIN, to avoid confusion. Menu Levels Whenever one menu contains a command that calls for another menu to be executed or displayed, Searchlight keeps track of the name of the previous menu. This allows any menu to contain an "Exit to previous menu" command (internal command number 1). The level to which menus can be "stacked" in this manner is 40. That means that if 40 menus are loaded before any menu tries to exit back to a previous menu, Searchlight will not be able to keep track of any further menu levels. The limit of 40 includes menus from both the main system and the files system. Because of this behavior, you should always construct menu systems in hierarchical fashion; that is, in a way so that menus "exit back" to previous menus. Do not make two menus that both contain commands to load each other--or any possible way for a circular path to be created where the same menus are loaded one on top of the other. Doing that will result in unpredictable behavior once the internal menu stack overflows. 161 Menu Editor Executable Menus When all the commands on an executable menu finish, control returns to the previous menu (i.e. the menu which called the executable menu). Should the STARTUP menu be allowed to finish (if a "Quit" command is placed on the main menu, for example) Searchlight will hang up and recycle back to the Login program. This may be used to provide a "quick logoff" function, if desired. Files System Commands In previous versions of Searchlight BBS, the file oriented commands were distributed as a separate executable program, FILES.EXE. One of the limitations of that design was the fact that an explicit command (internal command 153) was needed to load the files program, and only files system commands--those with command numbers 300 and above--could be used on file menus. For example, in Searchlight 2.25, it was impossible to put a Download command on the same line as a command to send mail to the Sysop. Searchlight 3.0 and later combines file commands and main commands into one program, eliminating this limitation. If you used previous versions of Searchlight, you may notice that there is no longer a FILES.EXE program distributed with Searchlight; instead, all files functions are contained in the main program, BBS.EXE. As a result, menus in Searchlight 4.0 can contain any internal commands. File commands, like the commands to list directories, download files, etc. may be freely placed on any menu wherever they are desired. No special command is needed to start the files program before executing a files command, and no special command is needed to exit the files program. However, Searchlight 4.0 still supports the old command sequences--command 153 to enter the files area, and command 330 to exit the files area. Instead of loading a new program, Searchlight 4.0 emulates the actions of the old FILES.EXE program. Therefore, all existing menus are compatible with Searchlight 2.25, and no changes to your menus are required unless you want to take advantage of the new capability to have files and regular commands on the same menu. If you do decide to create combined menus, a few notes are in order: o Searchlight's internal command 153 performs a few special actions: it checks to see if a custom directory list for the current subboard exists, and loads it if available. It also changes the area name that appears at the top-right hand corner of the screen to the current directory name, and tells the menu display programs to search for help files ending in ".FH" instead of ".MH" if help is requested. If you load a files-oriented menu directly, without executing command 153, the commands will still work, but you should be aware that the above actions will not take place. (You can load subboard lists yourself using the new internal command 201, outlined below). o Should you execute an internal command 153 which loads a particu *.DIR file with a list of available directories for the current subboard, be aware that this directory list remains in memory as the list of available directories until another 153 command is executed. 162 Menu Editor This is important if you use internal command 153 in some places but not in others. o Command 330 (return from files area) performs the following actions in Searchlight 4.0: it changes the help file suffix back to ".MH", sets the on screen area name back to the current subboard name, and returns to the menu where the previous command 153 was executed. Use this command only if you used command 153 to enter a files menu (otherwise, just return to the previous menu with internal command number 1). 163 Doors Subsystem Searchlight BBS Doors Subsystem Introduction The Searchlight BBS Doors system provides a method for integrating external programs with your BBS. You can use doors to add additional features and capabilities to your system, such as databases, games, user polls, sysop utilities, etc. Doors can be programs provided by Searchlight Software, programs you write yourself, or programs written by others. In addition, many general purpose DOS programs and utilities can be used as Doors. Most popular bulletin board systems provide only a means of executing a subprocess as the Doors mechanism. This has led to a plethora of external programs, drivers, and other methods of directing a Door program's input and output to the COM port for use by a remote caller. By contrast, Searchlight BBS fully supports the COM port during Door operation; you can use almost any program directly as a door, without having to alter the program, load a serial port driver, or use a batch file. Even programs which use full-screen cursor manipulation, color, IBM type character graphics, and simple sound effects will work, as long as these programs run in text mode. In addition, the Searchlight Doors system monitors and handles loss of carrier; optionally write-protects disk drives while the Door is active; and consumes less than 75K of memory above DOS, freeing the rest of your RAM for use by the Door software. We've also included features that help make Searchlight compatible with many of the Door programs already written for other BBS systems. Searchlight's COM port support can be fully disabled, allowing you to run programs which provide their own COM support, and Searchlight will optionally generate a door "drop" file such as DOOR.SYS. o If you use an ANSI.SYS you may be unable to run DOS shells and other programs that output through DOS on your system. We recommend switching back to the original DOS ANSI.SYS driver when running Doors with Searchlight. 164 Doors Subsystem Setting Up Doors Doors are usually installed by adding a command to one of Searchlight's existing menus, or by creating a new menu. See the previous chapter on menu editing for more details about the process of editing menus and entering new commands. If you are new to Doors and Searchlight BBS, we suggest the following steps to create a menu in which to place your first Door programs: o Run the Menu Editor program (see previous section). Access the MAIN menu, and delete the "Doors" command that resides there. o Press F1 to create a new command. Make this command "Doors" (same name as the previous command) but have it be a Menu type command. Enter "DOORS" as the name of the menu to display. o Save the MAIN menu, then create a new menu called "DOORS". Enter your desired Door commands as entries in this menu. Finally, execute them by selecting the "Doors" command from Searchlight's main menu. You can, of course, add Door programs to existing menus or create other menu structures. The above is just a suggestion to get you started. 165 Doors Subsystem Door Parameters When you are editing a menu and you reach the place where you need to enter the commands for a particular Door program, you'll see this screen: 5. Door Command ....................... command.com 6. Directory Path ..................... c:\ 7. Communications Support ............. BIOS 8. Abort Method ....................... Reboot 9. Write Protection ................... No 10. Parameter File ..................... None 5 -- Door Command This is the name of the program that will be run. It should look exactly like the command line you'd normally type when starting the program from DOS, including any parameters, with one exception: if the program is a COM or EXE file, you should specify the .COM or .EXE extension in the program's name (for example, use COMMAND.COM instead of just COMMAND). If you don't specify an extension of .COM or .EXE, Searchlight assumes the program you wish to run is a batch (.BAT) file or a DOS command such as DIR, TYPE, etc. In this case, Searchlight will first load a copy of COMMAND.COM, and then execute the command. If the command is really a COM or EXE file and you don't say so, it will still run, but you'll have an extra copy of COMMAND.COM in memory that doesn't need to be there. If COMMAND.COM must be loaded, Searchlight will try to find it by examining the environment table for the line "COMSPEC=". Failing to find this, it will attempt to load COMMAND.COM from the current directory. If COMMAND.COM (or the Door program itself) cannot be found, the door won't be executed and control will return to Searchlight BBS. 6 -- Directory Path This is the drive/directory specification for the directory that will be made the current directory before your program is run. Since many programs require data files that reside in the current directory when they are run, you can specify the directory to switch to before the program is executed. Searchlight automatically switches back to its own directory when the door closes. If you do not need to change directories when running an external program, or you wish to use the current directory, type a single period (".") as the directory name. 7 -- Communications Support Values for this field are BIOS, None, Force-Color and DirectVideo. "None" specifies that no modem support will be provided for this program; the program is expected to interface with the serial port itself. Use a setting of None with products that are designed as door programs, but not designed specifically for Searchlight BBS. Usually, "None" programs will require parameters to tell them which serial port and baud rate to use; they may 166 Doors Subsystem read this information in the doors system configuration file, Searchlight CONFIG file, or via explicit command line parameters. Select the "BIOS" option when running programs that use BIOS function calls for input and output. This normally covers command line programs (like the DOS command prompt) and simple full screen programs; it also includes many door programs written expressly for Searchlight BBS. The "Force-Color" mode is similar to BIOS, but allows programs to use color codes on a remote terminal even if the local terminal is monochrome. If you want to run an application program that isn't specifically designed to be used on a BBSsuch as a database program or a business applicationyou'll use the DirectVideo setting. Searchlight can run almost any program, as long as the program has a text (character) based interface. "DirectVideo" mode allows you to run any program that does not use BIOS function calls (it also works with BIOS compatible programs). Use the DirectVideo setting if your program is a full screen application that features fast screen updating. You can also use the DirectVideo setting if you are not sure whether your application uses BIOS function calls. For more information on the Communications Support setting and on using various types of door programs, see What Programs Can Be Used As Doors?, beginning on page 170. o Versions of Searchlight earlier than 4.0 used the term "Standard" instead of BIOS for the BIOS compatible door mode. If you are installing a door program which mentions "Standard" communications support, use BIOS instead. 8 -- Abort Method This field specifies the action to be taken if the Doors system detects a carrier signal loss (i.e. if the user hangs up the telephone) during the operation of a door. If set to "None", the carrier is not monitored, and no action is taken. If set to "Terminate, the door system will attempt to terminate the running program via the DOS terminate procedure. If set to "Reboot", the doors system will reboot the computer when a carrier loss occurs. "None" should only be used with programs that do their own carrier loss checking, or with programs that must not be interrupted during processing. "Terminate" is the standard abort method; it will work with programs that abort normally through the DOS TERMINATE process. "Terminate" is the preferred way to abort a program. Some programs, notably COMMAND.COM, will not abort via the standard DOS call, because they replace the return vector with a pointer back to their own code. Many games and other ill-behaved programs fall under this category. If a program will not return to the BBS via the TERMINATE call, an alternative is to set abort type to "Reboot", which will initiate a warm boot of the computer if a carrier loss is detected during the operation of the door program. If you use this method of abort, you must include in your AUTOEXEC.BAT file the commands necessary to start up Searchlight after the system boots itself up. Since it will be an unattended bootup, you must eliminate any programs from your AUTOEXEC that prompt you for input when they run. 167 Doors Subsystem o If you use a multitasker, such as DESQview or OS/2, the reboot and terminate options may not operate correctly on your system. Try them before allowing callers to access your doors. Using "Reboot" is not recommended for multiuser systems, since it can interrupt other sessions in progress. It's also not recommended if you employ a write-buffered disk cache. 9 -- Write Protection This field determines whether the disk drives will be write protected during the execution of the door. If set to No, write protection is not in effect, and all disk i/o proceeds as usual. If set to Yes, software write protect is enabled on all disk drives. No disk writes will be allowed while this door is running. Write protection is useful when you wish to run a program that allows users to specify filenames to which data will be written. For example, a game program might have a "save game" option that asks the user to enter the name of the file to hold the saved game. If the user were to type the name of an existing file, he or she could easily destroy important data on your disk. The software write protect guards against this. Any attempt to write to a disk while write protect is in effect will result in the standard DOS "Write protect error writing drive" message. 10 -- Parameter File Searchlight supports four kinds of parameter files (also known as "drop files") when launching a door program: PCBOARD.SYS version 12 and 14, DOOR.SYS, and DORINFOx.DEF. Parameter files are special files created by Searchlight just before executing a door program; they contain information that the door can read to find out the name of the person running the door, the current communications parameters, time limits and access levels, and many other items. Depending on what kind of file a particular door program expects, you can choose to create a DOOR.SYS file, DORINFOx.DEF file, or PCBOARD.SYS file when running a door by toggling the "Parameter File" field to the appropriate value. When DOOR.SYS is selected, Searchlight creates a text file called "DOOR.SYS" in the home directory of the current node. DOOR.SYS contains standard information about the current user and current status of the BBS. If DORINFOx.DEF is selected, Searchlight creates a file called "DORINFOx.DEF", where "x" a the node number from 1 to 9. If the current node number is between 1 and 9, Searchlight writes the DORINFOx.DEF file to the node where the door is launched from, rather than from the SLBBS home directory. For node numbers greater than 9, Searchlight creates a file called "DORINFO1.DEF" in the node's home directory. o When setting up door programs that use DOOR.SYS or DORINFOx.DEF, be sure to configure the program so that it looks for the drop file in the appropriate directory, as outlined above. Door programs have many different means of configuration; be sure to read each door program's documentation thoroughly before attempting to install it in Searchlight BBS. 168 Doors Subsystem PCBOARD.SYS Files For backward compatibility, Searchlight 4.0 will still use the "Door Parameters Filename" in the CONFIG file as the target filename when creating a PCBOARD.SYS file. However, for convenience and for the sake of consistency with the new DOOR.SYS and DORINFOx.DEF options, Searchlight will simply create a file named "PCBOARD.SYS" in the home directory if the "Door Parameters Filename" is left blank. Unless you have a need to place the PCBOARD.SYS file in a particular directory or a need to have it named something other than PCBOARD.SYS, we recommend blanking that CONFIG field and letting Searchlight use its default behavior. If You Receive An Error Message... If you give the name of a non-existent program or directory when setting up doors you'll get an error message when you try to execute the command from within Searchlight. Check your setup screen and try to correct the error. Door programs can also fail to run if there's insufficient memory for the door to operate, or if Searchlight cannot locate the COMMAND.COM file when executing batch files or internal DOS commands. The latter situation can usually be corrected by examining your COMSPEC environment variable, or by placing a copy of COMMAND.COM in the SLBBS home directory. Of course, door programs can fail to operate correctly once they've been executed, even if the door is properly set up on Searchlight's end. If a door program runs, but displays error messages or seems to operate incorrectly, it's usually best to consult that program's documentation for more information (or contact the program's vendor, or others who use the program). 169 Doors Subsystem What Programs Can Be Used As Doors? Searchlight's Doors system allows you to run almost any program that is designed to be used as a door on a BBS system, including many programs that were originally designed to be used with other BBS software products. In addition, Searchlight allows you, through the use of its BIOS and DirectVideo door modes, to run any text based program as a door, even if the program was not originally intended to be used with a BBS. BIOS mode is intended for programs that use the BIOS interrupts for input and output; DirectVideo mode is for programs that don't. Generally speaking, programs with command line interfaces (like a DOS prompt) tend to use BIOS functions, whereas full screen applications usually require the DirectVideo interface. If you're not sure which setting is appropriate for your application, we recommend trying BIOS first; if it doesn't work, switch to DirectVideo. For more information about the DirectVideo option, see below. Using COMMAND.COM as a Door If you use COMMAND.COM as a Door, as shown in our example on page 166, you'll receive a DOS command prompt (i.e. "C>") at the remote terminal, and you will be able to enter DOS commands, such as DIR and CHKDSK, as well as execute other programs. You can obtain a DOS prompt and execute DOS commands in both BIOS and DirectVideo mode. Because BIOS mode is more efficient, many people prefer using it when executing DOS commands. However, you must use DirectVideo mode if you want to run programs from the DOS prompt that require it. The Reboot abort method is normally used with a COMMAND.COM door, since the new DOS shell points the abort return pointers back to itself and not back to Searchlight. Make sure you have your system configured to run your BBS when it is booted up (i.e. as part of the AUTOEXEC.BAT file) whenever you use a Reboot abort method. To exit back to Searchlight from the command shell, give the command EXIT. Using Batch Files as Doors The use of batch files (files with the .BAT extension), as well as DOS direct commands (such as DIR and COPY), is supported by the Doors system through the execution of a COMMAND.COM door. When you give a command line which does not specify a .COM or .EXE file to be run, Searchlight loads a COMMAND.COM shell and passes your command to it; this is necessary for the execution of DOS commands and batch files. In order to run COMMAND.COM, of course, it must be available on your disk. Searchlight finds COMMAND.COM by looking for the "COMSPEC=" line in the environment table. If no "COMSPEC" entry is found, it attempts to load the command processor from the current directory. If this fails, the message "Error running command" appears, and control returns to the BBS (you also get this error message if the command or program you're trying to execute is invalid or does not exist). 170 Doors Subsystem o Searchlight will assume that any command without a .COM or .EXE extension is a batch file. Therefore, when executing commands that are executable files, always include the extension in the command line. Running DirectVideo Doors In the DirectVideo mode, Searchlight monitors video RAM and peridoically updates the remote user's screen to match. During a Direct Video door, you can execute any text-mode application program, including programs like databases, word processors, etc. You can also select DirectVideo mode when running a DOS shell, which in turn enables you to run these kinds of programs from the command prompt during your remote DOS session. DirectVideo mode is inherently different than BIOS mode. In BIOS mode, Searchlight captures each character or screen control command from the door program and outputs it directly to the remote screen. In DirectVideo mode, Searchlight sends a picture of the local video screen to the remote screen, and updates that picture as the local screen changes. The main functional difference you'll notice is that Searchlight will update the remote screen in phases when the local screen is changing rapidly. Searchlight's DirectVideo door support has a number of special features, all of which are built in and require no special settings on your part: The timing between screen updates is determined automatically based on the screen content, baud rate, and keyboard activity. Searchlight keeps the screen reasonably current while minimizing transmission time and redundant screen updates. Searchlight can handle 24 or 25 line screens. The size of the remote user's screen is determined automatically right before the door begins to run. In the event that the remote screen is only 24 lines but the local application uses 25 lines, Searchlight dynamically displays either lines 1-24 or lines 2-25 depending on the cursor's location. If you want to have full access to 25 lines when running a door, disable your term program's status line immediately before executing the door. When the local application scrolls the screen, Searchlight also updates the remote screen by scrolling it. This is a significant enhancement compared with typical direct video drivers, which often repaint the entire screen in the event of scrolling. All function keys and special keys are active during a direct video door. In most cases, you will need to activate your terminal program's "Doorway Mode" in order to be able to use them. 171 Doors Subsystem Passing Parameters to a Door Program Often, a program running as a Door will need to know something about the status of the BBS system at the time the program is run. Many programs will need to know the name or access level of the person who is using the door; others will need information such as the user's time limit or the active COM port and communications speed being used. Searchlight provides several methods for communicating this information to the Door process. Using Command Line Metacharacters The easiest and most portable way to pass parameters to a program is via the command line. Searchlight provides 19 system variables, or "metacharacters", which you can include on a command line in a menu or autodoor definition. When Searchlight executes the door, the metacharacters are replaced with specific information. Here is a list of the characters available: %N.... %U.... %K.... %A.... %F....User's FILES Access Level %G.... %T.... %M.... %L.... %B.... %R.... %P.... %C.... %S.... %O....Node Number %I....User's alias name %J.... %X....User's login name %Y....User's login name with spaces replaced by underbars The time parameter, %L, is given in the format "HH:MM", as a 24-hour time. All other parameters appear as strings of characters or decimal numbers in the range 0 to 255. Baud rates appear as "2400", "9600", etc. The %N and %U parameters differ in that %N returns the user's exact name, including any spaces, while %U replaces spaces with underbars. Since the space character normally delimits command line parameters, many programs won't interpret a name containing spaces properly; you can use %U to send the full name as one word. %K returns the first name with all but the first character converted to lowercase. %P returns a value of zero if the current user is logged in locally; otherwise, it returns the value of the active COM port, 1 through 4. If %P returns zero, the value returned by %B is undefined and should be ignored. As an example of how to use metacharacters, let's say you have a game called SLOTS that you want to run as a door. SLOTS takes as a command line parameter the name of the person running the program; it uses your name to keep a high scores table. The command line syntax is SLOTS . 172 Doors Subsystem To make SLOTS accept the first name of the logged in user, without the user having to type his or her name, enter SLOTS %K as the command line for the door: SLOTS.EXE %K Now, if a user named JIM BARRY executes this door selection, the actual command line sent to DOS will look like this: SLOTS Jim The SLOTS program would run, and use "Jim" as the user name. Similarly, a %N parameter line would have produced "SLOTS JIM BARRY", using the entire name, and %U would return "SLOTS JIM_BARRY". Running PCBoard Doors With Searchlight Another way to pass parameters to a door program is via an external file. Searchlight can generate an external data file containing the same kinds of data as can be passed on the command line via the metacharacters. The format of this data file is equivalent to the format used in PCBoard(TM) bulletin board systems version 12 or 14. Thus, you can use many Door programs intended for PCBoard systems with Searchlight. Option number 11 on the "Pathnames Configuration" menu of the CONFIG program (see p. 27) allows you to enter a filename to which the Doors system will write information before a door is invoked. If you do not specify a filename, no file is created. Note that you must enter the full path and filename in this field, not just the directory path; in other words, if you want to create a file called "C:\SLBBS\PCBOARD.SYS" when running a Door program, you must type that filename exactly. Two types of PCBOARD.SYS files can be created for compatibility with either PCBoard 12.0 or PCBoard 14.0 type door programs. The version you choose to create for each door program should correspond to the version of PCBoard for which that program is intended. PCBoard 12.0 is the default. PCBoard compatible Door programs can read the PCBOARD.SYS file generated by Searchlight to get the current user's name, active communications port and baud rate, and other such information. The actual format of the PCBOARD.SYS file can be found in the PCBoard documentation. Searchlight does not support all of the fields used by PCBoard, therefore, not all of the information available in PCBoard systems will be available to door programs running under Searchlight. Many PCBoard compatible door programs will also look for a file called PCBOARD.DAT. In PCBoard systems, this is a static file containing information which is roughly equivalent to the information found in Searchlight's CONFIG.SL2 file. Since this information is static in nature, it is relatively easy to provide a "fake" PCBOARD.DAT file for PCBoard compatible door programs to use. There are several public domain utility programs available for doing just that. Not all PCBoard compatible door programs will run under Searchlight. In particular, those door programs which require access to other PCBoard files, such as the PCBoard user or message files, won't work under Searchlight. In general, you can use doors which are well-behaved and don't 173 Doors Subsystem rely on the presence of PCBoard data files (other than PCBOARD.SYS and PCBOARD.DAT) or PCBoard directory locations. Direct Use Of Searchlight Files As a final method of obtaining information, a Door program can access Searchlight BBS's binary data files (files ending in .SL2). Since Searchlight closes all of its files before Door processing begins, and reopens them when processing resumes, Doors are free to read and/or write to these files, provided the proper data formats are retained. A program that reads Searchlight's data files can obtain everything Searchlight knows about its current state, including the ID of the current user, baud rates, configuration information, etc. If you want to be able to read in a message from the Searchlight data files, or post a message to a public subboard or mailbox, you can use the SLMAIL program provided by us rather than code your own message conversion functions. SLMAIL is discussed in Appendix F. The exact formats of the SLBBS data are provided on your distribution disk. Please refer to these files for commented type definitions and code examples. If you wish to write programs that do more than simply read configuration data, we strongly recommend you obtain our developer's toolkit (see p. 174 for more information). o Searchlight Software is committed to assisting third party developers who want to write applications that interact with our BBS product. Much more detailed programming information, including a free Pascal language function library that can be used to create complex applications that access Searchlight message files and data files, is available from Searchlight Software Check our BBS or contact us to obtain the latest information. Some Door Programming Tips Here are some tips for programmers writing Door programs: o Use DOS or BIOS calls for all input and output; don't write directly to the screen. Programs that do direct screen writes won't run as remote Doors, and may not work with windowing or multitasking operating system software. Most compilers default to or can be set for BIOS I/O. o Don't access the serial port. Searchlight will handle all modem I/O automatically when the door runs online. If you must access the local console independently of the remote, use the methods outlined above for accessing the original BIOS pointers from your program, or obtain our developer's toolkit for serial port access procedures. o Use command line parameters to pass information to your program when possible. Don't access Searchlight data files directly. Command line parameters are much faster and easier to use, and provide the advantage that your program can be distributed to and use by others who don't have a BBS. 174 Doors Subsystem o Door programs should be as easy to run from the command line as they are to invoke from the BBS. Make parameters optional where possible; default username to SYSOP, baud rate to LOCAL, etc. o If you write a utility program that uses SLBBS files directly, bear in mind that the data file format is subject to change. Your program should document which version of Searchlight it is to be used with, and, if possible, be flexible enough to work with different versions. For best results, use our prepared developer's library rather than code your own data formats and file access routines. 175 Sysop Utilities Searchlight Sysop Utilities Introduction Searchlight's CONFIG program contains a rich set of utility functions that allow you to easily maintain messages, users, subboards, and other aspects of your BBS. With the sysop utilities, you can rename users with optional updating of messages, purge your user file by last login date, access level and/or attributes, purge messages by date or search key, purge undeliverable mail, purge subboard members and files, and effect mass validation changes. To access the sysop utilities, run CONFIG and enter option D: D. User/Subboard/File Utilities You can also type CONFIG D at the DOS prompt, or place the command on a menu that you can access from within Searchlight BBS. Please read this documentation thoroughly before attempting to use any of the purge or validate utilities. Due to the nature of these utilities, a mistake or misunderstanding of a feature could have disastrous results. If you aren't sure, BACK UP your files before doing anything. If you are running a multiuser BBS, please see the note about concurrent operation at the end of this section. The Sysop utilities main menu shows the following options: A. Change User's Name B. Purge User File C. Purge Message Files D. Purge Member Files E. Mass Validate Users F. Purge File Areas To select a command, type a letter from A to F, or highlight the desired command and press Enter. Here's a breakdown of each menu option: Change User's Name This option allows you to rename one or more users. Enter the name of the user you wish to rename, then press Enter, and type the new name you wish to assign to that user. Provided that the user is found and that the new name does not duplicate an existing name, the change will be made in the User file. If you wish to rename additional users, press Yes when prompted; otherwise enter No. If possible, it is advantageous to rename several users at once, rather than one at a time, since the message update phase of the rename operation may take some time. After you have input all of the name changes you wish to make, this menu will appear: A. Update All Messages B. Update Personal Messages Only 176 Sysop Utilities C. Do Not Update Messages During this phase, the Sysop program will scan your entire message base, or selected portions of it, in order to change the to and from names on any messages posted by, or sent to, one of the users that has been renamed. It is recommended that you use the "Update All Messages" option. If you choose option B, the update scan will take less time, but will still ensure that mail and personal messages are correctly addressed, as well as high message pointers in message areas. Be aware that if you skip the update scan, messages left by users that have been renamed will bear the user's old name, and subboard membership records will not be changed. After you choose option A or B, a subboard selection screen will appear. We recommend pressing ESC to accept the default settings here and update all subboards. If desired, you can select the subboards to be updated; see "Purge Message Files" later in this documentation for information about subboard selection. o Those who write utility programs for Searchlight should note that the rename procedure may move the user record in question to a different record number in the user file. Purge User File This option allows you to purge many names from your user file at once, based on various criteria. When option B is selected off of the main menu, an input screen appears. Your responses to these input prompts determine which users will be purged. 1. Cutoff Date ........................ 5-30-92 2. Min Access Level ................... 0 3. Max Access Level ................... 240 4. Maximum Calls ...................... 0 5. Include Attributes ................. 6. Exclude Attributes ................. 1 -- Cutoff Date The cutoff date determines the age of users to delete. In this example, any user who has not logged on since April 30th, 1992 is eligible for deletion. (Whether such users are actually deleted depends upon the answers to the remaining prompts; a user must pass all eligibility requirements in order to be deleted). By default, the cutoff date is set to 6 months prior to the current date. Change this field as desired. 2 -- Min Access Level 3 -- Max Access Level These fields determine the minimum and maximum access level that a user must have to be considered for deletion. Users that fall between the given 177 Sysop Utilities access levels (inclusive of the minimum and maximum) are eligible to be purged. 4 -- Maximum Calls This field, if set to a nonzero value, lets you specify a maximum number of calls as part of your purge criteria. For example, a value of 2 specifies that users who have called your BBS 1 or 2 times may be targeted for deletion while users who have 3 or more calls are exempt. If this field is left as 0, number of calls is ignored. 5 -- Include Attributes 6 -- Exclude Attributes These two fields look at user attributes as part of the selection process. You can input attribute strings here (letters from A to X). If Include Attributes are specified, only users who have all of the attributes specified here are considered for deletion. Users who do not meet all of these attribute requirements are exempted from the purge. If Exclude Attributes are specified, users who have any of these attributes are exempted from the purge. In other words, a user must have all of the attributes listed in line 5, and none of the ones listed in line 6, in order to be eligible for deletion. For example, if you specified "AB" as the Include Attributes and "CD" as the Exclude Attributes, users who have attributes "AB", "ABX" or "ABFG" would be eligible for deletion, while users with attributes "AFG", "ABD" or "ABCFGX" would not be deleted. Purging Users Once all fields are filled, press Escape. This prompt appears on your screen: Purge user file based on above criteria? Enter "Yes" to begin purging users, or "No" to abort the operation. If you proceed, the program provides a display of its progress. o The User Purge operation does not delete mail in the user mailboxes, nor does it delete the member information on subboards. However, the Sysop utilities provide special options in the Purge Message Files and Purge Member Files commands specifically for deleting mail and member records after a user purge. It is recommended that these be run after purging the user file to delete unnecessary mail and member records. Purge Message Files This command option provides for the mass deletion of messages from one or more message areas (including the MAIL area) based on age, search strings, or other criteria. When option C is selected, a new menu appears with these choices: 178 Sysop Utilities A. Date Range & Options B. Search Key Specification C. Subboard Selection D. Begin Message Purge Date Range & Options Option A lets you specify the following criteria for purging messages: 1. Start Date ......................... 1-01-87 2. End Date ........................... 5-30-92 3. Minimum Times Read ................. 0 4. Undeliverable Mail Only ............ No 1 -- Start Date 2 -- End Date These two fields let you specify the range of dates that you wish to include in the message purge. The default is all dates up to 6 months prior to the current date. Change these as necessary. 3 -- Minimum Times Read This field lets you select messages based on the number of times the message has been read. Messages which have been read less than the number of times indicated here are not deleted. The default value of 0 effectively ignores the times-read counter. This option is primarily of use for deleting mail, as it can be used to insure that unread mail is not deleted. 4 -- Undeliverable Mail Only If this field is set to Yes, only messages which are addressed to a user who is not in the system's user file, and thus cannot be received, are deleted. The main use for this feature is to delete mail addressed to users that have been deleted from the system with the user delete or purge commands. When this option is selected, Searchlight automatically selects the MAIL subboard, and only that subboard, as the default. You can change that by using the Subboard Selection option. If other subboards are selected, Searchlight will delete public messages on those subboards that are addressed to nonexistent or deleted users, including messages addressed to "All"--so it's not recommended that you run this kind of purge except on the MAIL subboard. Search Key Specification This set of options lets you select messages for deletion based on a search string, which can match the To, From, Subject, or Fwd From fields in a message header. 179 Sysop Utilities 1. Search String ...................... 2. Case Sensitive ..................... No 3. Search To: Field ................... No 4. Search From: Field ................. No 5. Search Subject ..................... No 6. Search Fwd From .................... No To use a search string selection, enter the text to search for (such as a username or a subject fragment) in line 1. If you want to do a case sensitive search, change the default on line 2. Fields 3 thru 6 determine where in the message header your search string should be found. You can select any combination of areas to search. At least one area must be specified if you wish to have a successful search. Only those messages in which the search string can be located in one of the indicated fields will be deleted. Note that the Search string works in conjunction with the date range and options in the previous menu. Only those messages which pass all of the tests indicated in the Date Range menu and the Search String menu (if a search string is used) are actually deleted from the system. Therefore, if you wanted to delete all messages containing a particular string, you should be sure to set the date range to the present day. Subboard Selection This menu choice lets you select the subboards which you want to purge. You can purge messages from all subboards, or any combination of subboards. When this option is selected, a subboard list appears, similar to the subboard list used in the Subboard Maintenance section of CONFIG. To navigate through the list, use your Up/Down arrow keys; PgUp and PgDn; or press the first letter of the subboard to which you wish to travel. Subboards can be marked and unmarked by pressing the when the cursor is to the left of the desired subboard. Marked subboards are indicated by an asterisk (*) in the left hand column. If you did not select "Undeliverable Mail Only" in the Date Range menu, all subboards will be marked by default; otherwise, only the Mail subboard will be marked. Select the desired subboards by marking and unmarking. You can use the F4 key to mark all subboards or F5 to unmark all. When you are done, press the ESC key to exit. Begin Message Purge Select this option to actually begin the purge operation. The CONFIG program examines the selected subboards and deletes messages meeting the criteria specified. A status report displays the program's progress. If you decide not to purge messages, press ESC at the Purge Messages menu instead of selecting option D. 180 Sysop Utilities Purge Member Files This option provides for purging the member files associated with message areas. You can purge members who haven't accessed a subboard since a specified date, or via a number of other criteria. The Purge Member menu contains these options: A. Member Purge Options B. Subboard Selection C. Begin Member Purge Member Purge Options This input screen lets you select the criteria on which to purge member records. The fields are: 1. Cutoff Date ........................ 5-30-92 2. Invalid Usernames Only ............. No 3. Inactive Members Only .............. No 4. No Personal Msgs Only .............. No Cutoff Date specifies the last access date to purge members. Those members who have not accessed the subboard (JUMPed to it or read messages as part of the NEW command) are eligible to be deleted. Invalid Usernames Only specifies that only members which are not valid names in the USER file are deleted. You would select this option primarily as a clean-up operation to delete member records after purging the user file. Inactive Members Only means that only members who are not active in the subboard are deleted. "Not active" means that the member's highest message read is lower than the lowest numbered message in the subboard. No Personal Msgs Only specifies that the purge involves only users who have no personal messages on the given subboard. This is primarily of use in conjunction with the MAIL subboard, where it can be used to delete members who have no mail, and may be a useful option on other subboards as well. Note that as with other purges in the Sysop utilities, member records must meet all of the selected criteria in options 1 through 4 in order to be deleted. Subboard Selection This choice lets you specify the subboards to be included in the member purge. Select subboards by marking with the , F4 and F5 keys. See the "Purge Message Files" command above for more information about subboard selection. 181 Sysop Utilities Begin Member Purge Select this option to actually begin the purge procedure. (Press ESC if you wish to abort instead). A progress display is generated. Mass Validate Users This command allows for making access level adjustments on many users at the same time. Users can be selected for validation by access level and attributes and can be affected by a variety of changes to access levels, attributes, time limits, and file transfer ratios. The term "Validate" is used loosely here to indicate changes to a user's security levels. Mass validation can involve changes in either direction to users' security levels. Option E calls forth the following submenu: A. Specify Target Users B. Specify Adjustments C. Begin Mass Validation Suboption A specifies which users are to be validated; option B specifies the changes to be made to their accounts. Use option C to begin the process (or press ESC at this menu to abort it). Specify Target Users The following input items appear after selection of this option: 1. Min Msg Access Level ............... 0 2. Max Msg Access Level ............... 240 3. Min Files Access Level ............. 0 4. Max Files Access Level ............. 240 5. Include Attributes ................. 6. Exclude Attributes ................. Lines 1 through 4 determine by access level which users will be included in the validation. Users who have message access levels and file access levels within the specified ranges are included. Lines 5 and 6 specify by attributes which users are included in the validation. In order to be included, a user must have all of the attributes listed in line 5, and none of those listed in line 6. When both lines are blank, as in the default condition, no users are excluded based on attributes. For more information on the Include/Exclude Attribute fields, please see the example in "Purge User File" earlier in this section. As in other areas of the Sysop utilities, users must meet all of the requirements specified in lines 1 through 6 to be included in the validation operation. 182 Sysop Utilities Specify Adjustments In this input screen, you specify what changes you want to make to the user records selected. The input lines are: 1. Msg Level Adjustment ............... No Change 2. Value ............................. 0 3. Files Level Adjustment ............. No Change 4. Value ............................. 0 5. Ratio Adjustment ................... No Change 6. Value ............................. 0 7. Daily Time Limit ................... No Change 8. Value ............................. 0 9. Session Time Limit ................. No Change 10. Value ............................. 0 11. Account Expiration (Days) .......... No Change 12. Value ............................. 0 13. Add Attributes ..................... 14. Remove Attributes .................. Msg Level Adjustment and Value specify what adjustment is to be made to each user's Message Access Level. The options for line 1 are "No Change", "Change To", "Increment" or "Decrement" (press Spacebar to toggle between the choices). Line 2 can contain a value between 0 and 255. If "No Change" is selected, no change is made to the message access level. If you select "Change To", user message access levels are changed to the value in line 2, regardless of their previous value. If "Increment" or "Decrement" are selected, then the message access level is incremented or decremented by the value specified in line 2. If the result is less than 0 or greater than 255, it is rounded off to 0 or 255, respectively. Lines 3 through 12 are used to effect changes to the files access level, upload ratio, time limits and expiration dates. As with lines 1 and 2, these fields work in pairs, with and action and a value. Time limit fields allows a maximum value of 14400. The Session Time Limit action (line 9) supports a value of "DailyLimit", which sets the session time limit equal to the user's daily time limit. Fields 13 and 14 add or remove security attributes from the selected user accounts. Enter those attributes you wish to add into line 13, and those you wish to remove, in line 14. Begin Mass Validation Select this menu choice to begin the mass validation. A status display is generated as the validation operation proceeds. Purge File Areas The Purge File Areas option allows you to automatically delete files from your download libraries based on age, number of downloads, and other criteria. Use this option when your hard disk becomes nearly full, or anytime you want to clean out old files from your BBS. 183 Sysop Utilities The file area purge works like the other purges, and presents this menu: A. Date Range & Options B. Directory Selection C. Begin File Purge Date Range & Options Use this screen to select the desired file purge options: 1. Start Date ......................... 1-01-87 2. End Date ........................... 5-30-92 3. Minimum Size (K) ................... 0 4. Maximum Size (K) ................... 9999 5. Maximum Times Downloaded ........... 9999 6. Confirm Each Deletion? ............. Yes 7. Erase Files from Disk? ............. No 8. Remove Upload Credits? ............. No Start Date and End Date specify a date range for deletion. Files with an upload date between these two dates will be eligible for deletion. Note that Searchlight looks at the date the file was uploaded (date in the directory listing), rather than the file's DOS date, as the basis for this selection. Minimum Size and Maximum Size specify a size range in kilobytes (1KB=1024 bytes). Only files which fall within the range will be deleted. Maximum Times Downloaded allows you to prevent deletion of files which have been downloaded more than a particular number of times. For example, if you enter 50 in this field, then files which have been downloaded more than 50 times are prevented from being purged. Only files with 50 or fewer downloads will be deleted. Confirm Each Deletion lets you decide whether you would like Searchlight to automatically delete files based on your specifications, or prompt you with a Yes/No prompt for each file. If you select "Yes" in line 6, you will be prompted; "No" initiates an automatic purge. Erase Files From Disk lets you decide whether Searchlight will erase entire files, or just remove the directory entries. Select "Yes" if you want to delete the files from disk and free up disk space. Remove Upload Credits selects the action Searchlight will take with upload credits. If Yes is entered, Searchlight removes upload credits from the uploader of each file it deletes. In other words, if a 50KB file is deleted, Searchlight deducts 50 from the upload count of the user who uploaded that file. Select No if you do not want to deduct upload credits. Directory Selection This option lets you select the directories on which File Purge will operate. Only those file areas you mark will be affected by the purge. Press F4 and F5 to mark and unmark all directories, or Spacebar to mark or unmark individual directories. 184 Sysop Utilities Begin File Purge Searchlight shows you a running count of the number of files deleted and the amount of disk space freed up as it deletes files. Sysop Utility Notes Backups We strongly recommend performing purge and mass validation operations only when a recent backup of the data files being modified is available. Due to the far-reaching nature of these operations, a small mistake in specifying the target parameters can lead to the loss of many users or messages. A backup is by far the best way to avoid disaster. Multiuser Operation If you run a multiuser BBS, it is recommended that you do not run lengthy purge or validation operations while other nodes are active. Since these operations keep the data files locked for long periods of time, and put a large load on the file system, they may cause unacceptably slow operation on other nodes. Therefore, we recommend you shut other nodes down while running these operations. 185 Alias Names Alias Names Introduction Searchlight BBS supports alias names. Simply put, an alias is an alternate name for the same user account. Alias names are generally used to hide a caller's true identity when posting a messagewhen you permit it, users can choose to post messages with either their real name or their alias name. For example, you may wish to allow alias names in an adult oriented message area, or other area where real names might not be appropriate. Searchlight also allowes alias names to substitute for real names at most places where entry of a username is required (such as when sending mail). Unlike anonymous messages, alias names permit callers to distinguish between messages left by different callers, and even permit private replies to messages, without revealing the true identity of the original writer. Of course, as the Sysop, you have the ability to look up the real name of an alias author (or find the alias of a real name) at any time. Alias Name Setup Searchlight's CONFIG program contains three options relating to alias name support, and there are several ways in which a user may obtain an alias name. Under "General Setup Menu #1", you'll find an option which reads "Prompt for Alias Names?". If set to Yes, Searchlight will prompt for an alias name from new callers during the new user registration process. The default setting is No. If Yes is selected, an alias is asked for along with a real name, password, location, etc. during the new user registration. Blank alias names are acceptable, but alias names that match an existing real name or alias name are not. Under "Function Attrib Setup", there are two options called "Add Alias Name" and "Change Alias Name". The first, Add Alias Name, describes the security attributes needed for a user to assign herself or himself an alias. Here's how it works: if a user meets the attribute requirements listed here, and they do not already have an alias name, they can create an alias for themselves by entering one on the Options/Info screen. The "Change Alias" setting determines whether a user with an existing alias can change that alias later on, again using the Options/Info screen. If you would like your users to be able to change their alias name at any time, enter an appropriate list of security attributes here. If you wish to allow existing users without alias names to be able to enter an alias, but don't want them to be able to change it in the future, the best way to do this is to set "Add Alias Name" to blank, and "Change Alias Name" to ALL or a similar high access level. This allows your current users to add alias names without giving them the opportunity to change their name in the future. Searchlight warns the user that this is the case, and provides an "Are You Sure?" prompt before accepting their alias name. Note that users can always view their alias name with the Options/Info command, but may not be able to change their name. A "read-only" designation appears next to the alias name if changing is not allowed. 186 Alias Names Finally, as the Sysop, you can inspect, assign or change the alias name for any account, by using the 2-Sysop/Options/Info command sequence. The alias name appears in the list of options. "Alias Names" are very similar to real names in Searchlight: they are strings from one to 25 characters in length, consisting of all uppercase letters; high ascii characters are permitted if the Allow High Ascii switch is set in your CONFIG file. Alias names must be unique. No two users can have the same alias name, nor can an alias name be the same as a real user name. Searchlight enforces this rule by disallowing alias names that are the same as another alias name or a real name, and by disallowing real names that are the same as an exisiting alias name. Since all names are unique, Searchlight can easily substitute alias names for real names without ambiguity. If you do not wish to use alias names on your BBS at all, simply leave the settings for "Prompt for Alias Names", "Add Alias Name" and "Change Alias Name" at their defaults ("No" and All attributes, respectively). Alias Name Lookups Once an alias name is created for a particular account, it immediately becomes available as an alternate means of accessing that account. For example, if a user named JOE WILLIAMS chooses an alias name of SANTA CLAUS, then the name SANTA CLAUS can be used as a replacement for JOE WILLIAMS in commands such as Mail/Send, 2-Sysop/Options or 2-Sysop/Validate. In fact, an ordinary user who enters the name SANTA CLAUS as a destination for mail has no way of knowing whether SANTA CLAUS is a "real" user name or an alias name. Searchlight treats the alias name the same way as it would treat a real name. However, mail sent to SANTA CLAUS actually winds up in JOE WILLIAMS' mailbox. As the Sysop, you can type alias names like SANTA CLAUS when looking up user information via commands like 2-Sysop/Options. Although Searchlight treats the name like a real user name, you will of course see information for the "real" account of JOE WILLIAMS; thus, the "true identity" of SANTA CLAUS is revealed to you. Alias Name Logins By default, Searchlight does not allow users to log in with an alias name. You can change this by setting a switch in the Config program: 5. Allow Alias Name Logins ............ Yes When enabled, users can log in to your system by giving either their real name and password at the login prompt, or their alias name and password. The commands Who, User/CallLog, and the Chat functions, as well as the "Last caller was..." display, show whichever name was actually used to log in. In other words, if a user logs in with an alias name, the alias name is displayed in the Who command, etc. If the same user logs in with a real 187 Alias Names name, then the real name is displayed. The local status line always displays the caller's real name. When the User/CallLog command displays an alias name, the caller's location is listed as "Somewhere" rather than their actual location. This prevents users from matching real names to alias names via the location. (If you wish to change the string "Somewhere", it's located in the default.lng file as string number 1240). Files uploaded during an alias session (a session which began by entering an alias name at the Login prompt) will show the alias name of the file uploader when the Owner command is used. However, you can override this behavior, and have the Owner command always display real names, by adding a /R switch to the Owner command on your menus: 5. Command Number (1) .......... 322 6. Command Parameters (1) ...... /x /r Sending Messages with an Alias Notice that having an alias name associated with your user account does not automatically permit to you to "hide" behind your alias when entering a message. By default, any message you enter contains your real name as the "From:" address on the message, even if you are replying to a message which was sent to your alias name. Obviously, the most important aspect of alias support is the ability to substitute your alias name as the "From:" name on messages you send. Before you can do this, two things are required: you must have an alias name associated with your account (as per the above discussion), and the message area you're in must be configured to allow alias names. As the Sysop, you can control how alias names may be used in each message area of your system (including the MAIL area). To do this, access "Subboard Maintenance" from the CONFIG program, choose a subboard, and press Enter to edit its attributes. Examine line 9: 9. Alias Name Support ................. Real Only The default for all subboards when you first install Searchlight is "Real Only". In this mode, only real names are permitted. Any message entered into the area will have the author's real name in the "From:" address, regardless of whether that person has an alias name or not. In order to support alias names, you must change this setting to one of the other three options: Alias Only, User Choice, or Replies Only. "Alias Only" is, in many respects, the direct opposite of "Real Only". In this mode, all messages posted on a subboard contain the poster's alias name in the "From:" field. The process is automatic and does not require a choice by the user. The only exception is for users who do not have alias names associated with their account; their real names are used instead. 188 Alias Names "User Choice" is the most flexible option. In this mode, users who have alias names are prompted each time they enter a new message with the question: Do you wish to use your Alias name for this message? Y/N The user can choose whether the "From:" field contains their real name or their alias name by responding to this prompt appropriately. "Replies Only" allows users to choose whether to use their alias or real name, as in the User Choice option, but only when replying to a message that was addressed to their alias name. That is, if JOE WILLIAMS were to reply to a message that was addressed to his alias name, SANTA CLAUS, he would have the option to use his alias or real name. But he wouldn't have that option if posting a message directly, or replying to any other message. The "Replies Only" option is most useful with the MAIL subboard. It allows users to respond to private messages sent to their alias address without revealing their true identity; but it prevents users from originating new messages from their alias name. In multiuser systems, Searchlight normally sends a chat message to you if you're online when someone sends you mail; i.e. Message from GEOFF BECKMAN on line 1 * Received new mail from GEOFF BECKMAN When alias names are involved, Searchlight sends this message only if the "From:" name in the message matches the name with which the sender logged in. That is, if someone who logged in via a real name sent mail under an alias, the chat message would not appear. Replying to Alias Messages A message posted with an alias address may be replied to as easily as a message posted with a real name. As mentioned, Searchlight protects the "real" identity of the message poster, and in fact provides no indication as to whether a name is a "real" name or an alias. Most importantly, though, Searchlight's personal message pointers are internally maintained on the "real" account when a reply is posted. That is, if a private reply is made to a public message, the reply is stored in the mailbox of the "real" account. For example, JOE WILLIAMS might receive messages in his mailbox addressed to either his real name, JOE WILLIAMS, or his SANTA CLAUS alias. Users who send mail to JOE WILLIAMS and/or SANTA CLAUS do not know that the mail is going to the same place. Similarly, if Joe does a personal message scan on a subboard that allows alias names, he will see both messages addressed to his real and alias names. Because alias names are internally translated into "real" names for the purposes of maintaining high message pointers and personal mail lists, alias names will never appear in the member listing of a subboard. Only the user's real name appears in the member listing. 189 Alias Names Replying with an Alias When you reply to an existing message, Searchlight either forces you to use your real name, forces you to use your alias, or offers you a choice, depending on the "Alias Name Support" setting for the current subboard (or for the MAIL subboard, when replying to mail). In this respect, replying to a message is very similar to entering a message. However, Searchlight takes some precautions when you reply. If the alias support setting for the message area is "User Choice" or "Replies Only", Searchlight will display a message such as: The message you are reading is addressed to your Alias name. Do you wish to use your Alias for the reply? Y/N Similarly, if the original message is addressed to your real name, you are informed of this. Since most people will want to reply with the same nameas the original message was addressed, this prompt guards against accidentally replying to an alias-name message with your real name or vice versa. If a message you are reading is addressed to your alias name, but the message area only allows real names, you'll see this warning when you try to reply to that message: The message you are reading is addressed to your Alias name. However, your reply may only be addressed from your Real name. Do you wish to continue with the reply? Y/N Since replying to the message would force you to use your real namethus sacrificing your anonymitySearchlight warns you before proceeding. You can choose to continue by answering Yes, or abort the reply with No. A similar warning is displayed if you reply to a message addressed to your real name in an area that only allows alias names. Changing Alias Names Each user may only have one active alias name at any given time. However, that name can be changed. If the "Alias Change" attribute setting allows it, users can change their alias names using the Options/Info command. Their existing alias appears in the options list and can be edited, replaced or removed completely by entering a blank. Note that if the Alias Change attributes are insufficient to allow changes, users can still view their alias name via the Options/Info command, although Searchlight will disallow any attempted changes. Regardless of the Alias Change setting, Sysops may change or remove alias names for any user by using the 2-Sysop/Options/Info command sequence. Note that either the user's real name or alias name is acceptable to enter when you are prompted for the username. Sysops can also use Other/Options when reading messages to view or alter the alias name of the person who wrote the message being read. Alias names can be changed at any time. However, changing an alias name has no effect on messages previously posted with the old alias name, except to render private replies or name lookups on those messages impossible (since the alias name no longer exists, it cannot be cross-referenced with a real name). Also, should a user reply to messages addressed to his or her old 190 Alias Names alias name, the replies may only contain their new alias or their real name. You should also be aware that if someone's alias name changes, private mail that is addressed to their old alias name will be lost if you execute a message purge from the Config program that specifies "Undeliverable Mail Only", or if you need to run the Header File Repair function on your Mail subboard (these functions won't damage mail addressed to alias names that are current). Alias Names and Subboards The most common use for alias names is in public message areas. Many sysops wish to allow alias names in conferences with sensitive topics, such as adult-oriented conferences. In the typical scenario, the Sysop will set the Alias Support option in these conferences to "User Choice" or "Alias Only", thus allowing (or requiring) users to post messages with their alias name as the "From:" address. Once such a message is posted, the ordinary caller has no way of determining the "real" name of the person who posted the message. Note, however, that while Searchlight displays no overt indication that the From: name in a message is an alias name, there are some differences between alias names and real names. Particularly, the "User/Search" feature does not display alias names [See Note Below]. Therefore, it is possible to determine whether a particular name is an alias or a real name, although it is not possible to actually find the corresponding real name for an alias (except for Sysops, who can use the 2-Sysop/Options/Info or Other/Options sequences to do so). Reading and replying to messages from alias names may be done freely within a public message area without regard to whether the author name is a real name or an alias. Alias Names and Mail Searchlight's MAIL commands fully support alias names, and fully protect the real identity of the user. You can send mail to an alias name via the Mail/Send command, or by replying privately to a public message posted with an alias. The reply appears in the mailbox of the "real" user. Users who have alias names can carry on extened private message exchanges using their alias, without fear that their real names will be revealed. Because it is possible to receive messages in your mailbox that may be addressed to either your real name or your alias, Searchlight always displays the "To:" address on mail messages. This allows you to quickly determine whether the message you are reading was sent to your real name or your alias. (In previous releases, Searchlight did not list the "To:" address when reading private mail). Searchlight's Mail/Inquire command and carbon copy feature treat alias names just like real names. You can use the Inquire feature to review messages that you have sent to an alias name just like you can with a real name. You can also carbon copy messages to alias names. Note that it is possible to carbon-copy the same message to a user's real name and their alias name, which results in the message appearing in that user's mailbox twice (Searchlight intentionally allows the duplicate message, since 191 Alias Names disallowing it would serve to indicate the linkage between a particular set of names). If a user has a netmail address associated with their account, then sending a message to their alias results in a netmail message to their net address. Alias Names and Doors Searchlight supports the use of alias names in door dropfiles (such as DOOR.SYS) and in command metacharacters. Four metacharacters are available in Searchlight in support of alias names. They are: %I User's alias name %J User's alias name with spaces replaced by underbars %X User's login name %Y User's login name with spaces replaced by underbars By "User's login name" we mean whichever name the caller used to log in during that session. The login name is always equal to either the real name or the alias name. If your system doesn't allow alias names as login names, then %X and %Y always return a real name. The %I and %J sequences always return an alias name, except when no alias name exists, in which case they return the user's real name. For more information about metacharacters, refer to "Doors Subsystem" beginning on page 164. Door "drop" files can also be configured to contain either the user's realname, alias name, or whichever name was used to log in. Changing the drop file is accomplished with an additional setting that appears on each door type menu choice: 12. Pass Username As ................... Real Name By default, the user's real name is passed. You can change this setting to "Alias Name" if you want to always pass the user's alias name to a particular door; or "Login Name" if you want to pass whichever name was used to log on for that session. Each door can be individually configured as desired for that door. Maintenance Searchlight creates a data file, ALIAS.SL2, to store alias names and the cross-referencing information that enables it to substitute alias names for real names during name lookups. Be sure that your backup procedures include the ALIAS.SL2 file when backing up your Searchlight data files (it is located in your Data Files Path along with your USER.SL2 and other data files). You should keep your ALIAS.SL2 file in sync with your USER.SL2 file. That is, should you ever need to restore a USER.SL2 file from a backup, be sure 192 Alias Names to restore the ALIAS.SL2 file that was saved in the same backup, and vice- versa. Failure to do this will not cause an error, but may result in an inability to use alias names in name lookups and private mail functions. Should your alias file become corrupted, the User/Balance command willattempt to repair and optimize the ALIAS.SL2 file after it fixes the USER.SL2 file. Use this command if you suspect a problem with your alias file (such as if you cannot look up an alias name properly). Notes The User/Search command does not look up alias names. If an alias name is entered, it will be reported as "Name not found". This may seem counter intuitive when you consider that Searchlight treats alias names the same as real names in every other case. The reason for it is because it is our intention to protect the "real" identity of users who choose to use an alias name. Suppose a caller suspects that the alias name DARK AVENGER is really the mild mannered user JOE FRANKLIN. If the User/Search command permitted either name to be looked up, the caller might look up both names: by comparing the resulting stats (location, last login date, etc.) it would be easy to verify the hunch that these names are really the same caller. By disallowing alias names in the User/Search command, users can determine only that "DARK AVENGER" is indeed an alias name. No clues as to the user's real identity are revealed. Still, if you consider alias names to be a sensitive security issue on your system, you may wish to remove the "User" commands and even the "Who" command from your menus, since these commands might reveal certain clues about the owners of alias names. 193 Language Configuration Language Configuration Introduction Searchlight BBS offers multilanguage support. This feature allows you to offer your callers a choice of languages each time they connect to your system. Language choices can be human languages (like English, Spanish or French) or whimsical selections (like Star Trek or New York). When a language is selected, some or all of Searchlight's messages, prompts, text and menu choices will appear in the selected language. You can also have a different menu structure for each language if that is appropriate. Adding Languages A "language" in Searchlight consists of a strings file and, optionally, a menu and text directory. The default English language is stored in a file called DEFAULT.LNG, which is included with your copy of Searchlight. (If you are upgrading to Searchlight 4.0 from an earlier release, note that the DEFAULT.LNG file replaces the STRINGS.SYS file. The two files are of the same file type and format; you may use exising utility programs designed for STRINGS.SYS on DEFAULT.LNG). To offer multiple languages to your callers, the first step is to obtain or create a language file. Language files should be placed in your Program Path directory (the same directory as the Searchlight executable files). Next, run the Config program and select "Languages Configuration". The DEFAULT language should already be installed. To create a new language, press F1, then enter the language file name without the .LNG extension. Searchlight will add the language to its internal language list, and offer the following options screen: 1. String File Name ..... FRENCH 2. Description .......... French Language 3. Primary Menu Path .... 4. Alternate Menu Path .. 5. Text Files Path ...... Line 1 is the name of the language's string file. Line 2 is a description of the language. If the person who created the language file placed a description of the file in string number 1, this description is imported for you. If not, type your own description here. Searchlight offers you the option to have a separate primary and alternate menu path and a separate text files path for each language. If you don't want to take advantage of these options, leave the fields blank. If you do want to use them, then fill in the appropriate fields. For example, if you had a series of French language menus to go with your French strings file, you should fill in the menu directory name in line 3: 3. Primary Menu Path .... C:\SLBBS\FRMENU\ 194 Language Configuration Searchlight would then use the directory "C:\SLBBS\FRMENU" as the primary menu path whenever a caller selected the French language. Similarly, if you had a French language text directory, place its name in line 5. When more than one language is available in your system, you have a choice as to how your callers are prompted to select a language. This choice is expressed in General Config menu #1: 6. Language Selection Prompt ........... Before Login The options are "Before Login", "After Login" and "None". If "None" is selected, then no prompting for languages takes place. "Before Login" is the default. With this setting, Searchlight prompts for a language before displaying the Login screen or accepting the user's name and password. The advantage to placing the language prompt before login is that the login screen and login dialogue will appear in the language of the caller's choice. The disadvantage is that the language prompt always appears; since Searchlight doesn't yet know who the caller is, it cannot offer a default. If you prompt for languages After Login, Searchlight can offer to default to the caller's last selection. For example, if the caller used the FRENCH language on his or her last call, Searchlight asks: Your current language is FRENCH. Do you want to select a new language? Yes/No The caller can then simply press "No" to use their default language, or press "Yes" to select something else. Obviously, the disadvantage to this method is that the login screen, "Enter your name" prompt, and language prompt will all appear in the default language for every caller. (Note that the "default" language need not be English. If your callers are primarily non-English speaking, you can use any language as your default simply by naming the file for that language DEFAULT.LNG). Obtaining Languages Searchlight Software offers language files and default menus for several common languages. Contact us for more information. You can create your own language files. A language file is a file in the same format as the DEFAULT.LNG file and must end with the extension LNG (for example, FRENCH.LNG or STARTREK.LNG). You can use the Searchlight programs MSYS.EXE and XSYS.EXE to create a language file (to obtain these programs, install the Strings File Editor from your installation disks under "Install Utilities"). The best strategy is to start with our DEFAULT.LNG file and modify it. For a complete language implementation, you'll want to modify menus and text files to correspond to the target language. More information about menu modifications can be found beginning on page 144. 195 Netmail Introduction To Netmail What is Netmail? The term netmail refers to any private electronic mail message, sent from one individual to another, that is carried across a network (hence network mail or netmail). The network that carries such a message can be any of the Fidonet(TM) technology networks that exist between bulletin boards, including Fidonet itself, SL_NET, or any of the other networks which use the Fido style message standards. Why use netmail? The answer is that is allows you to communicate with virtually any person who is a member of a bulletin board in the network to which you are connected, without placing a direct call to the particular BBS on which that person is a member. As an example, let's look at what happens when you send a typical, non-netmail message using Searchlight BBS. Suppose you call a local Searchlight BBS, Joe's World of Widgets, by dialing a local telephone number with your modem, and you leave a private message to your friend Walter, who lives in a different state. Of course, Walter won't be able to see that message until he calls Joe's World of Widgets himself--which is something he does infrequently, since it's a long distance call for him, and he's not all that interested in widgets anyway. If your message is important, Walter may not get it until it's too late to be of use to him. With netmail, though, you can make long distance communication much faster and more reliable. Suppose you know that your friend Walter uses a BBS in his area called Phil's Faucet Emporium on a daily basis, and both Joe's World of Widgets and Phil's Faucet Emporium are members of the international Fidonet network. You could send a message from Joe's BBS in your area code, and address it to Walter at Phil's BBS. In a day or two, network traffic automatically carries your message from Joe's BBS to Phil's BBS, where it appears in Walter's mailbox. Since Walter calls Phil's BBS every day, he sees your message immediately. The result: you can exchange mail with your friend Walter, even though he lives in a different state and has much different interests than you, and neither you nor Walter has to dial a long distance phone number or use an out of state BBS. Of course, there were some long distance calls and charges involved with getting your message from Joe's BBS to Phil's BBS, but those charges were incurred during late night hours and only for the amount of time necessary to transmit a compressed version of your message between two bulletin boards, so they're significantly less than what you'd pay to call the out of state BBS and leave your message personally. In addition, netmail gives you the convenience of being able to originate and receive mail on one BBS instead of having to dial many different systems to communicate with all the people you'd like to reach. Who can use Netmail? Any Searchlight BBS which participates in a Fidonet-technology network can send and receive netmail messages. As the Sysop of a networked BBS, you can regulate by security attributes which of your users has the ability to use netmail. If your BBS does not currently participate in a Fidonet style network, you'll need to establish a network link before you can begin using netmail. 196 Netmail Network policies vary; however, the usual procedure is to obtain and install a Fidonet compatible front end mailer software package on your system, and then apply for membership by contacting another BBS in your area that serves as the central distribution point (Hub) for that area. Before you try to install netmail support on your BBS, confirm that you can send and receive netmail messages (via "MSG" files) to and from other systems in your network. Once you have that capability, you'll start to use Searchlight to read and create the MSG files, rather than a front end mailer or special editor. 197 Netmail How Searchlight Handles Netmail If you are already familiar with echomail, you'll find that netmail works in much the same way. If not, you may find the discussion below useful as background information. To send netmail from Searchlight BBS to another BBS, you start by entering a message through Searchlight's text editor, typically by selecting a command such as "Mail/Send" or by replying to an existing netmail message. When sending a new message, Searchlight will ask you for both the name of the person to whom you are sending the message and the netmail address of the bulletin board where you would like the message sent. All networked systems have a three part numerical address in the form "Zone:Net/Node example, the address of Searchlight BBS in Cleveland is "1:157/582". (Some systems have multiple addresses and some have an additional number called the point address). In many cases, Searchlight will provide the netmail address itself (by looking at an address list) but you should always be prepared to type the address in yourself, if required. Once your message is typed and saved, it exists inside Searchlight as an ordinary mail message. The next step in the message's journey is to be exported from Searchlight BBS into a format that can be handled by network mail software. Exporting occurs when you run Searchlight's included NETMAIL.EXE utility program. The netmail utility turns netmail messages from your BBS into individual MSG files in a standard format that is recognized by Fidonet mail software. If you have a network mail system installed on your BBS, you most likely already have a directory where incoming netmail MSG files are saved and outgoing files are stored before they are sent. This is where you'll export your Searchlight netmail. Once your netmail is exported, your netmail software (third party products provided by other companies) can actually transmit the files to another BBS. There are usually two steps involved, called "tossing" and "polling". To find our more about these steps, you need to obtain a third party mail product (such as D'Bridge, Front Door or Binkleyterm) and follow its documentation. To receive netmail, the procedure is reversed. Incoming mail is stored as "MSG" files by your front end software, which are then imported into Searchlight by the netmail utility program (NETMAIL.EXE). Once imported, you read the mail using Searchlight's usual Mail/Read or Mail/New commands. Of course, on most systems you'll want to automate the whole process by running the NETMAIL.EXE program as part of a mail event. The main difference between netmail and echomail is that each netmail message has a distinct from and to address provided by the person sending the message, whereas echomail goes to all addresses as determined by the network software. Two additional aspects of Searchlight's netmail implementation are nodelist indexing and mail routing. Nodelist indexing is the process by which Searchlight gains access to the information that is in your network node lists; it's important because Searchlight can use the nodelist to look up BBS names and addresses through the nodelist to help your users enter correct netmail messages. If you choose to restrict your users to sending netmail only to listed addresses, the nodelist index is essential since it's used to determine which addresses are considered valid. Searchlight 198 Netmail includes a stand-alone utility program, INDEX.EXE, which compiles a nodelist index on demand. Mail routing allows you to associate a netmail address with a username on your system. By doing this, any mail sent to that person is automatically converted to netmail, even if the person entering the message does not type in the netmail address. Routing is useful when you want to simplify the process of sending netmail to certain people without having to remember their net address. It's also great when you have users who are infrequent callers, but frequently call another networked system. 199 Netmail CONFIGURING SEARCHLIGHT FOR Searchlight's main netmail options are entered via the CONFIG program. To access the setup screens, run CONFIG.EXE from the DOS prompt, then enter the General Configuration menu and choose option J, "Netmail Setup". The following options screen is disclosed: 1. Primary Address .................... 1:157/582 2. Sysop's Real Name .................. FRANK LAROSA 3. Send Bad Messages To ............... SYSOP 4. Netmail Reply Attributes ........... 5. Netmail Originate Attributes ....... 6. Unlisted Address Attributes ........ WX 7. Send Crashmail Attributes .......... 8. Routing Address Edit ............... ABCD 9. Nodelist Setups [...] 10. Alias Addresses [...] Fill in these fields as follows: 1 -- Primary Address This line lets you enter the primary address of your system, which should be typed in the format "Zone:Net/Node" or "Zone:Net/Node.Point". You must list a primary address in order to activate netmail functions. If you have more than one address, list additional addresses under "Alias Addresses", as outlined below. 2 -- Sysop's Real Name Type your name in line 2. Searchlight uses your name to replace the word "SYSOP" on outgoing and incoming messages, so that if you use the name SYSOP to log onto your own BBS, you can still send netmail using your real name. 3 -- Send Bad Messages To In this field, type the name of the person to whom you'd like bad messages sent. A "bad message" is simply an incoming message which is addressed to a username that does not appear in your USER file. For example, if someone tried to send a netmail message to "Ronald Reagan" on your BBS, and your userlog did not sport the former president as a caller, the message would be sent to you, or to whatever username you place here. On almost all systems, you'll want to put the name SYSOP here, or your own name if you do not use the name SYSOP to log on to your BBS. 4 -- Netmail Reply Attributes Fields 4 through 7 are security attributes that define which users on your BBS can perform netmail related functions. Field 4 specifies the security attributes required to reply to a netmail message. Any user who possesses these attributes can respond to a netmail message or an echomail message, but cannot necessarily originate a new message. As with all security 200 Netmail fields, you can leave this field blank if you do not wish to restrict this feature. 5 -- Netmail Originate Attributes This field defines the attributes needed for a user to be able to create a new netmail message to anyone who is reachable on the networks to which you belong. Searchlight determines which addresses are valid primarily by consulting the nodelists on your system. It also considers any pre-entered addresses to be valid. 6 -- Unlisted Address Attributes These are the security attributes required to send netmail to any address, even if the address is not listed in a nodelist. Be careful with this option; if you allow users to have unlisted address access, they will be able to send incorrectly addressed netmail which will never reach its destination. It is best to send such messages with care. 7 -- Send Crashmail Attributes These attributes define which users are able to send "Crash Mail". Crash mail is urgent netmail: instead of being routed through the network at night, it's sent directly to the destination BBS immediately. Since crash mail can cause your system to place long distance phone calls at any time, it is best to restrict this function to yourself and your most trusted users. 8 -- Routing Address Edit These attributes determine whether your users can supply their own routing address. A routing address is a netmail address associated with a user account: whenever any mail is sent to such an account, it becomes netmail. Normally, you will want to prevent your users from doing this, and assign such addresses yourself on a case by case basis. However, you can give your users the ability to change their own routing address (via Options/Info) if you specify appropriate attributes here. 9 -- Nodelist Setups To access the nodelist configuration screen, press Enter here (or click here twice with your mouse). A new screen appears which allows you enter up to twenty nodelist filenames: 1. Primary Nodelist ................... \DB\NODELIST 2. Alternate Nodelist ................. \DB\SL_NETNL 3. Alternate Nodelist ................. 4. Alternate Nodelist ................. 5. Alternate Nodelist ................. ... 201 Netmail A nodelist is a text file containing a listing of the names and network addresses of all bulletin boards in a given network. You should have at least one such file for each network in which you are a member. Type the filenames here, but leave off the extension part of the filename. Since the extensions change when nodelists are updated, Searchlight automatically searches for the most current filename. Searchlight uses nodelist files to look up and display information about bulletin boards in your network, but it can only do so after it has compiled a special binary index file, called NLINDEX.SL2, that helps it find information quickly. The included utility program, INDEX.EXE, creates the index. You should run INDEX.EXE manually after inputting or changing your list of nodelist files. It's also a good idea to run it as a nightly event, to ensure that the index is kept up to date. 10 Alias Addresses If you have more than one netmail address, use this screen to list up to 19 additional addresses. You should only list one address for any given zone number here, and it should be the address you'd like to use as the origin for netmail originating on your BBS to a point within that zone. If you have additional addresses in the same zone, you can list these separately in a configuration file so that mail written to any address can be imported to your system. 202 Netmail Netmail Import & Export The way netmail messages move to and from your Searchlight BBS system to the rest of the network is through a special utility program called NETMAIL.EXE, which is included with your Searchlight package. Any netmail created from within your BBS remains there until it is exported by running the netmail utility (which creates "MSG" files for the outbound mail). Similarly, incoming netmail is not available within Searchlight until the MSG files are imported. You can, of course, run the program NETMAIL.EXE manually from the DOS prompt to move your mail, or attach it to a menu inside Searchlight to be executed on demand. But the best way to run the netmail utility is as part of an event or batch file, so that importing and exporting of netmail is automated. For example, you could run a netmail import event after your system receives mail packets, or once per day, or even after each login or logoff to your BBS. The syntax for the NETMAIL.EXE utility is as follows: NETMAIL Command [Options] Command is "E" or "Export" to export messages, "I" or "Import" to import messages. Options are as follows: -a -l -c Allow color codes in messages -k -o Optimize lock/buffer strategy -v -p -g Specifies path to *.MSG files The most basic Netmail command lines are NETMAIL E to export messages and NETMAIL I to import messages. If the MSG files are not in the current directory, use -G to specify their location. If your CONFIG.SL2 file is not in the current directory (or in the environment), type -P to give its path. The -A option can be used to force the netmail utility to import or export all available messages. By default, if -A is not given, only new messages are imported or exported. The utility determines which messages are new when exporting by means of a high message pointer on the MAIL subboard keyed to the name "NETMAIL"; it determines which are new when importing by looking for its tagline in the source MSG files. It is not recommended that you use the -A switch except for special purposes. The -K or Kill switch is recommended. When used during an import, the netmail utility deletes the source MSG file after importing it. When used during an export, the utility deletes the source message from Searchlight's mail subboard after exporting it. It's especially important to kill messages after exporting because a netmail message that resides inside Searchlight BBS is generally inaccessible by any user, and therefore would simply take up space until removed during a mass message purge or manually deleted, if -K were not used. 203 Netmail Other NETMAIL.EXE switches are similar to the SLMAIL echomail utility, and allow you to process lowercase name conversions and color codes. The -O switch optimizes the file locking strategy on multiuser systems by locking the entire MAIL subboard for the duration of the operation; this makes netmail operations faster, but locks other nodes from using the MAIL subboard during the Netmail operation. We recommend using the -O switch only if no nodes are active during the time that the Netmail command executes. Additional Alias Addresses for Import Earlier, we mentioned that you should specify only the primary address in a particular zone when typing your own netmail addresses into Searchlight's CONFIG program. As a rule, the NETMAIL utility will only import messages that are explicitly addressed to your system, which is determined by matching the destination address to your system's primary or alias addresses. If no match is found, the netmail utility won't import the message; this is an important feature, because your system may act as an intermediate storage area for mail that is destined for another BBS, and you don't want that mail to be imported into your BBS (and possibly deleted) by the netmail program. If your BBS has a number of alternate addresses in a particular zone, though, you need to tell the Netmail program about the other addresses so it can import all the mail that should be on your BBS no matter which alias was used by the sender. The way to list your additional addresses is to create a text file called NETMAIL.CFG. Type the additional addresses, one per line, using the standard Zone:Net/Node[.Point] format. Up to 40 addresses may be specified. You should place your NETMAIL.CFG file in your Searchlight "data files" directory (the same directory that contains your USER.SL2 file). Once the NETMAIL.CFG file is installed, the netmail utility will recognize the additional addresses as aliases for your system, and will import mail destined for those addresses. 204 Netmail Nodelist Index The nodelist indexing program, INDEX.EXE, is used to create a binary index that allows Searchlight to quickly access data within nodelist files. You should run INDEX once after setting up your nodelists, and again as a daily event so that any nodelist changes are recorded. Before running INDEX, run the CONFIG program and enter the filenames of your nodelist files as mentioned previously. Be sure to give only the filename of the "raw" or text file nodelist, not the name of any other indexed nodelist that might be used by your system. Only standard (also know as "St. Louis") nodelists may be compiled by Searchlight; do not specify point lists or non-standard nodelists as input. If you like, you can create a private nodelist in the same format as the standard nodelist and include it in your index (a private nodelist enables you to create alias names and/or lookups for usernames that don't appear in regular nodelists). To create the nodelist index, simply type INDEX on the command line. The program will display its progress and, when finished, will have created a file called NLINDEX.SL2 in your Searchlight data file directory. Note that the index utility checks to see if the current index is up to date by comparing the date it was last compiled against the dates of the nodelist files. If the index is up to date, the INDEX.EXE program will not recompile it. However, should you wish to force an index compilation when the index is up to date, add the parameter -F to the INDEX.EXE command line. You can eliminate certain netmail zones from a nodelist compile if you do not wish to have addresses in those zones available for lookup. To do so, specify one or more -N parameters, where N is the number of the zone you wish to exclude. For example, if you are compiling the Fidonet nodelist, but wish to exclude zones 2 through 6, you could type: INDEX -2 -3 -4 -5 -6 Performance A few notes on performance and disk space issues are in order here. The index utility creates a file which contains 24 bytes per node in the nodelist. The complete Fidonet nodelist, which typically comprises some 19 or 20,000 entries, will result in an index file of approximately 450K. The index program will require an area of disk space equal to the size of the final index file as a work area; therefore, at least 900K of disk space must be available in order to compile a Fidonet nodelist. The speed of the index utility may be important to you if you index large nodelists on a relatively slow system. The main factor that influences indexing speed is the amount of DOS memory available to the index program when it is run. For best results, run the utility in a DOS environment or DOS window with as much free memory as possible available. A typical 33mhz 386 PC with disk cache software installed and 640K of RAM available can compile a 20,000 entry Fidonet nodelist in about five minutes. The source files (raw nodelists) must remain on your system for Searchlight's indexes to work. If the raw nodelist files are deleted, 205 Netmail moved, or changed in any way, lookups via the index will become impossible until the index is rebuilt. Executing INDEX.EXE causes the index to be rebuilt only if there has been a change in the source files, so it's a good idea to execute the index utility nightly. Index Uses Searchlight's internal netmail procedures don't require that a nodelist index exist, but without the nodelist index you won't be able to see and confirm the names of the bulletin boards where netmail is being sent, so it's highly recommended that you do use an index. If you choose not to compile a nodelist index, you should be aware that Searchlight will only send netmail if the user sending the message has the "Unlisted Address" attributes, or if the netmail is a reply to an existing message. 206 Netmail Using Searchlight Netmail Once your netmail infrastructure is set up--you've got events and procedures in place which use the NETMAIL.EXE and INDEX.EXE programs to transfer mail and build the appropriate index files--it's time to run Searchlight and actually read and create some netmail messages. The underlying goal of Searchlight's netmail system is simple: netmail is created and read with the same commands as regular mail in Searchlight BBS. In almost all cases, the same intuitive commands you already know how to use to send mail to other users on your system can be used to send netmail. The only time special commands are needed is when there is no way for Searchlight to make a determination itself as to what kind of message you are sending and where its destination is. Receiving Netmail Receiving netmail sent to you from a remote system is extraordinarily straightforward; in fact, no new procedures or commands are required at all. Searchlight simply presents netmail to you in your regular mailbox, along with your other mail, and you read netmail simply by reading your mail in Searchlight. You can easily end up with a mixture of regular mail and Netmail in your mailbox at the same time: Searchlight lets you deal with all of your mail the same way, regardless of its origin. Replying to Netmail In virtually all cases where you are reading a netmail message sent to you, you can reply in the usual fashion simply by selecting the "Reply" function from the menubar. At the "To:" prompt, where the name of the addressee appears, press Enter as usual, and then look for a netmail address and bulletin board name to appear to the right of the name. For example, if you were replying to a message from Tim Rossiter on Searchlight BBS, you might see something like this: To : TIM ROSSITER @250:250/25 Searchlight BBS, Cleveland, OH Notice that the netmail address (250:250/25) was inserted automatically and the name of the bulletin board was displayed for reference. If the name of the BBS were not listed in your nodelists (or if you did not create a nodelist index file), you might see the words "Unknown Address" instead; this usually doesn't indicate that there is a problem with the address, only that the name of the BBS is not known by Searchlight. If a netmail address does not appear, or if you get a message such as "User not on file", it's probably because your account does not have the required security attributes to send netmail replies. Either change your attribute level, or change the required attributes to send netmail in the CONFIG program. If you like, you can send carbon-copies of your reply to others, as with any reply. Then simply type your reply and save it. That's all that is required to reply to a private netmail message on Searchlight BBS--the message is saved and will become netmail as soon as you run the NETMAIL.EXE utility to export it. 207 Netmail You can also create private netmail replies to public echomail messages, and you do so the same way you send regular private replies to public messages: select "Mail" from the menubar when reading the public message. Again, you are able to press Enter at the "To:" prompt and will see the netmail address and bulletin board name if they are available. A few problems are possible when sending netmail replies to echomail. The way Searchlight determines the original address of an echomail message is by examining the "Origin" line on the message: in some cases, the origin line does not reflect a correct address. This is particularly true in conferences that have been gated from one network to another. You may not be able to enter an automatic reply to such messages, although you can still enter a netmail reply by manually typing the correct address with the "@" syntax, as we'll describe below. Originating Netmail There are several ways you can enter a new netmail message to someone that's not a reply to an existing message. In some cases, you will need to know the numerical netmail address of the BBS where you want to send the message, and in other cases, Searchlight can provide the address based on known data. Again, Searchlight's goal is to automate the process of sending netmail without requiring you to specify information explicitly. Let's look at various possibilities. Sending Netmail to a Sysop If the person to whom you are sending a netmail message is the Sysop of a BBS, his or her name probably appears in your nodelist file, and Searchlight can find the appropriate netmail address based on that name. If you select the "Mail" command from Searchlight's main menu and then select "Send" from the mail subcommands menu, and then type in the name of your addressee, you may see something like this: To : JOHN YOHE John Yohe @1:107:213 Fort Z BBS, Levittown, NY? Yes/No/Quit Searchlight discovered the name "JOHN YOHE" in your nodelist, and is asking you if this is the correct person and correct address. If it is, type "Y", and Searchlight will enter a message to node 1:107/213. If the information shown isn't correct, you can press "N" to see additional choices. What if John Yohe is also a member of your own BBS? The answer is that Searchlight will assume you want to send a local message. To override that decision, you need to tell Searchlight explicitly that you want to send netmail: you can do that either by using the "@" syntax outlined below, or by selecting a dedicated "Netmail Send" command from a menu, as we'll describe shortly. Sending Netmail to Others What if you want to send netmail to someone who is a user on a remote system, but not the Sysop? Searchlight won't be able to look up the person's netmail address, since their name doesn't appear in any listing. The only way to send netmail in such cases is to tell Searchlight what the netmail address is. One way to do that is to type an "@" sign after their name, followed by the address, like this: 208 Netmail To : JOHN YOHE @1:107/213 The @ tells Searchlight that you are interested in sending netmail to the given address. You can use @ signs anywhere that you type a username, including carbon copy lines, and in the prompts that appear when you reply to messages or forward messages to users. You can also type the @ sign by itself, without an address after it: Searchlight will either try look up the address in the nodelist, or, if the lookup fails, will prompt you to enter an address on a separate line. (This is a good way to resolve conflicts when you have a local user with the same name as someone to whom you'd like to send netmail). Creating an Explicit Netmail Command While specifying netmail addresses via the "@" syntax is great for experienced users, an easy to use, menu driven program like Searchlight BBS should have a better way to ask for a netmail address. It does, and the way to access it is to set up a new command, "Netmail Send", on a menu within your BBS. Netmail send is a command you can use anytime you know you want to send a netmail message. The difference between the netmail send command and the regular send command is simply that the netmail send command assumes your message will be netmail; it doesn't check the local user database, and asks you to type in a netmail address if no address can be found in the nodelist. The netmail send command is exactly like the regular send command with an "@" sign appended to the username, but doesn't require you to type in the "@" symbol. You can place a netmail send command anywhere you like in your menu structure, but the most obvious place to put it is on your MAIL menu, right after the regular send command. Here's an example: 1. Command Name ....................... Netmail 2. Command Key ........................ T 3. Description ........................ Send netmail 4. Access Levels & Graphics [...] 5. Command Number (1) ................. 131 6. Command Parameters (1) ............. /x /n You may notice that the only difference between this command and the regular mail send command is the /N, or Netmail, parameter given on line 6. When this command is executed and you type a name at the "To:" prompt, Searchlight immediately checks your nodelist file. If a match is found, Searchlight displays it and asks whether you would like to use the address shown. If no satisfactory matches are found, Searchlight prompts for a netmail address: Address: Type the actual address (Zone:Net/Node or Zone:Net/Node.Point) here. If the address is valid, Searchlight will accept it and display the name and location of the BBS if possible. 209 Netmail Creating Netmail Routing Addresses So far we've seen that Searchlight can obtain a netmail address from another message, from a nodelist, or by asking you to type in an address manually. One other way that a netmail address can be supplied is by attaching it to a name in your Searchlight user file. Every user account on your BBS has room for an optional netmail address; by default, that space is blank for all users when you install Searchlight. Use the command 2-Sysop/Options/Info to associate an address with any user account, by typing the netmail address (Zone:Net/Node[.Point]) on the last input line shown. Associating a netmail address with a user account in this way creates the effect of routing that person's messages to their netmail address automatically. That is, anytime someone tries to send a message or forward a message to that user, Searchlight automatically creates netmail to the user's address. This is true whether the message is entered via a normal Mail/Send command or a Netmail send command. Why set up a routing address? There are several reasons for doing so. If a particular person is a member of your BBS but calls infrequently, a routing address enables him to have his private mail sent to another bulletin board which he uses more often than yours. If a person has several different netmail addresses but one address is the preferable one, you could set up that address as his or her routing address. Then Searchlight will find the preferable address immediately instead of scanning through many options. A particular benefit of routing addresses is that it allows you to create known netmail addresses for users who don't appear in your nodelists. For example, if a user named ED SMITH had a netmail address of "250:250/25" associated with his username, Searchlight would automatically know where to send Ed Smith's mail. Otherwise, someone who wanted to send netmail to Ed Smith would need to know his netmail address and enter it manually each time. It should be noted that mail sent to a routed address exists inside Searchlight as regular mail until it is exported; Ed Smith could, for example, call your BBS and read any netmail messages to him that have not yet been exported to your netmail directory. Also, a user who doesn't have the required security attributes to send netmail can send Ed Smith a message, but that message remains local to your BBS and does not become a netmail message. Routing Address Edit Most sysops will prefer to assign routing addresses manually. However, if you prefer, you can enable your users to type their own routing addresses into your system. To do so, specify appropriate security attributes on line 12 ("Routing Address Edit") in the Netmail Setups configuration screen. Additional Netmail Considerations 210 Netmail Netmail Scope Netmail messages can only be created inside of Searchlight BBS. You cannot create a netmail message through an offline reader program or by sending a message with SLMAIL or a similar external utility. You can receive netmail messages through an offline reader, but replies to such messages will not become netmail replies. Bad Messages Occasionally, you may see a message in your mailbox that starts with a line like this: ---- NETMAIL Message For Unknown User: The netmail utility generates this message when it tries to import netmail that is addressed to a user who is not a valid name in your user file. The unknown name is shown, followed by the entire text of the message. Bad messages are often the result of misspelled usernames, or titles (such as "Zone Coordinator") that may have been appended to a username. If possible, forward the message to the appropriate user. Otherwise, delete it or handle it as you see fit. Listed vs. Unlisted Addresses Searchlight considers any address which is found in an existing message or in the user file as a routing address to be a listed address. This distinction is important if you use security attributes to prevent your users from sending messages to random, unlisted addresses. It is possible, though unlikely, that an incoming netmail or echomail message contains an incorrect address or an address which has become obsolete since the mail was sent. In such cases, Searchlight will permit users to reply, which could result in an improperly addressed outgoing message. (Improperly addressed messages are normally not a problem in most networks as long as they are kept to a minimum). You should also consider the possibility of users entering unlisted or improper addresses into their user account, if you allow routing address editing. Origin Addresses When Searchlight's netmail utility exports messages, it automatically picks one of the addresses you specified in the CONFIG program as the origin address for that message. Which of your addresses are used depends on the zone number of the outgoing message: Searchlight tries to match the zone of the origin address to the zone of the destination address. If your system had an SL_NET address of 250:250/25 and a Fidonet address of 1:157/582, Searchlight would assign the former address as the origin to messages destined for zone 250 and the latter for addresses in zone 1. If an exact match is not possible, but the destination address is somewhere inside Fidonet (zones 1 through 7), then Searchlight tries to pick as the origin address any address which is also in zone 1 to 7. If that fails, then your Primary Address is used as the default. 211 RIP Graphics Introduction To RIP Graphics Searchlight supports RIP Graphics, a new kind of terminal protocol that allows your BBS to take advantage of features like high resolution graphics, mouse support, fonts, icons, and more. RIP graphics are generated by a special language called RIPscrip. What is RIPscrip? One way to think of RIP graphics and RIPscrip is as an alternative to ANSI graphics. Most bulletin boards use some kind of ANSI graphics today; Searchlight, in particular, takes advantage of ANSI screen controls to a great extent. ANSI is what allows Searchlight to do full screen interfaces, menubars, colors, and cursor positioning on a remote terminal with ANSI support. You can also make your own colorful ANSI files using products like THEDraw(TM) or Laughing Dog(TM). Like ANSI, RIP is a terminal protocol; that is, it's a special language that Searchlight can use to communicate with a remote terminal. While RIP is compatible with ANSI, it offers far more functions than ANSI alone provides. Among them are: o Full screen graphical primitives (Box, Circle, Line, etc.) o Specialized fill patterns o Full c o Multiple scalable fonts o Simultaneous text and graphics windows on the screen at once o Full mouse support for point and click operation o Remotely stored bitmap icons for detailed, high-speed graphics o Full clipboard copy and paste ability o Custom line-styles for technical drawings, etc. Using RIPscrip graphics on your Searchlight BBS, you can show visually stunning graphics, offer full point and click access to your system, and in many cases, speed up throughput of your user's on-line connect times. In other words, RIPscrip graphics can often be transmitted faster than ANSI graphics. Searchlight's RIP features are available both during a local login and during an online session with a RIP compatible terminal--that is, when you or your caller dials into your BBS from a terminal program that supports the RIPscrip protocol. RIP is automatically selected when you dial a Searchlight BBS system with RIPterm. In local mode, you can turn RIP on and off by pressing ALT-R at any Character or Word style menu, such as the main menu. (RIP requires an EGA or VGA compatible monitor). During a remote login, you can use the ANSI command to turn RIP graphics on and off, if desired. Although local RIP displays can be enabled all the time, if you are using a multitasking operating system like DESQview, you may wish to enable RIP only for the node running in the foreground, and only when the node is zoomed to full size. This is the most efficient way to run Searchlight in RIP mode. Attempting to use RIP mode in multiple small windows may result in a significant performance penalty, depending on your system's speed. RIP graphics are available to your callers even if your display is not in graphics mode. When a caller is using RIP graphics and your display is not in graphics mode, you won't be able to see all of the RIP features like 212 RIP Graphics buttons and scroll bars, but you'll still see as much of the text window as possible. How Searchlight Supports RIP Searchlight's RIP graphics support can be roughly divided into three main categories: o Built-in RIP features. These are features like pop-up dialog boxes, scroll bars, etc. that are built in to Searchlight BBS, and are displayed automatically in RIP mode. You can change the colors and certain other aspects of these features, but you can't change the buttons or commands that appear. o RIP menus. Searchlight lets you build your own RIP menus, using our menu editor system in conjunction with a set of "RIP Styles". Your RIP menus can contain any command buttons you choose, and can appear in a variety of colors, font styles, and layouts. o External RIP support. Searchlight can display external files created with a RIP graphics program, such as RIPdraw or RIPaint. These files can simply be pictures, or they can be menus with buttons and mouse areas. You can also use externally generated RIP files as backdrops for built-in menus. In a moment, we'll look at each of these categories in more detail. First, though, let's look at Searchlight's RIP General Setup and RIP Styles Setup menus, located in the CONFIG program. RIP General Setup The RIP General Setup menu controls overall aspects of Searchlight's RIP features. The options are: 1. Enable RIP Graphics ................ Yes 2. RIP on All Help Levels ............. Yes 3. ANSI Menus in RIP Mode ............. No 4. RIP Dialog Box Style ............... Aqua 5. RIP Popup Box Style ................ Aqua 6. RIP Text Editor Style .............. RedGrey 7. RIP Subboard List Style ............ Aqua 8. RIP Text Quote Style ............... Aqua 9. RIP Bulletins Style ................ RedGrey 1 -- Enable RIP Graphics This is a "master switch" that you can use to enable or disable RIP graphics for your entire system. If you do not desire any RIP features to be available in your BBS, turn this switch to No. 213 RIP Graphics 2 -- RIP On All Help Levels If set to Yes (the default), Searchlight displays full RIP menus regardless of whether a user's help preference is set to Novice, Intermediate or Expert. This is the recommended behavior, because RIP menus generally need to be displayed in full each time they are used in order for mouse areas to be available. If you set this switch to No, then Expert and Intermediate users may get abbreviated ANSI menus rather than RIP menus on some screens. 3 -- ANSI Menus in RIP Mode This switch tells Searchlight what to do if it encounters an external ANSI file attached to a menu, but no external RIP file. If set to No (the default), Searchlight displays its own internally generated RIP menu rather than the ANSI file. If set to Yes, then Searchlight displays the ANSI file rather than its internal RIP menu. Since ANSI files do not have mouse areas, it is recommended to leave this switch set to No. If you'd like to display your ANSI files to RIP callers, however, then set this switch to Yes. o Notice that if an external RIP file is available, it is displayed in RIP mode regardless of this switch setting. This switch only controls whether Searchlight's internal RIP menus get precedence over external ANSI files. 4 -- RIP Dialog Box Style This selection--and the selections following it--define the "RIP Style" used to generate dialog boxes, popup menus, the full screen text editor, and other features listed when in RIP mode. The options available here correspond to the named RIP styles you have created in RIP Styles Setup--as described in more detail below. o Note that many of Searchlight's internal features use defaults for font sizes and other features that will override the style settings. This behavior is necessary in order to ensure that information is properly formatted on screen. RIP Styles Searchlight uses a concept called RIP Styles as the primary means of customizing the look of its RIP menus and other RIP features. A RIP style is really a collection of colors, font sizes, and other options. Since there are so many different options associated with each RIP element, RIP styles give you a convenient way to assign options to multiple RIP features without having to manually key in a long list of colors and other settings for each feature on your system. o RIP Styles are used to customize the way Searchlight looks in RIP mode. If you're not interested in customizing Searchlight, or if you prefer to do this step later, you can skip this section and use Searchlight with the default settings that are provided. 214 RIP Graphics Searchlight divides each RIP element into three sections: Windows, Titles, and Buttons. A "Window" is a rectangular area of the screen which contains a particular RIP element, like a menu or a subboard listing. A "Title" is an area at the top of the window--typically one line--that contains a title or heading for that window. "Buttons" are controls (mouse areas) that appear inside the window and let you perform functions. Here's a typical RIP display, showing all three elements: Here, the "Window" is the entire area; the "Title" is the box that contains the text "Electronic Mail"; and the buttons are the various controls, "Read", "Send", etc. You can customize not only the colors of these features, but also font and font size, "beveling" and other special effects, and in some cases screen position. You can also disable the title or the window itself. To view or modify the RIP styles, select "RIP Styles Setup", which can be found under "General Configuration" in the Searchlight CONFIG program. A listing such as this appears: Searchlight BBS RIP Styles Setup A. Aqua Blue-Green Window B. Steel Grey/Black C. RedGrey Steel w/Red Letters D. Up to 16 styles can be entered. Each style is given a one to eight letter name, which is used to apply the style to menus and other features later; a description; and various settings. To view a style, select one of the existing styles and press Enter. The following listing appears: Searchlight BBS RIP Styles Setup Menu 1. Style Name .................... Aqua 2. Style Description ............. Blue-Green 3. Window Attributes [...] 4. Title Attributes [...] 5. Button Attributes [...] 215 RIP Graphics Enter the name and description for the style in lines 1 and 2. As mentioned, the style name is what you'll use later to apply the style, so choose a name that you'll remember. The descripion is only displayed here. Each style has further submenus for the window, title and button attributes, as shown. Start by selecting "Window Attributes" (place the cursor on this line, then press Enter or double-click with your mouse). Window Attributes 1. Make Window Visible ................ Yes 2. Window Position .................... Center 3. User Defined Top Left X ............ 0 4. User Defined Top Left Y ............ 0 5. User Defined Bottom Right X ........ 0 6. User Defined Bottom Right Y ........ 0 7. Foreground Color ................... White 8. Background Color ................... Blue 9. Bright Color ....................... Lt Cyan 10. Dark Color ......................... Blue 11. Surface Color ...................... Cyan 12. Corner Color ....................... Cyan 13. Bevel Size ......................... 5 14. Font Style ......................... Default 15. Font Size .......................... 1 16. Window Style Switches [...] Here's a description of each item: 1 -- Make Window Visible This option determines whether the window itself--the square, usually beveled area that acts as the outline for the entire area--appears. This is normally set to Yes. If set to No, the effect is to have the window's title and buttons "floating" above whatever is already on the screen. You can use this effect to add buttons to existing RIP pictures ("Wallpaper", as described later in this section). 2 -- Window Position This field defines where on the screen this window will appear. There are a number of options that can be selected here: Center, Top-Left, Top-Right, Top-Center, etc. There is also a "User Defined" setting that allows you to describe exactly where you'd like the window to appear on your screen. If "User Defined" is selected, use lines 3 through 6 to define the upper-left and lower-right hand corners of the window. These coordinates are given over a 640x350 pixel range. o Use the "User Defined" setting to place a Searchlight genrated menu within an existing background, such as a picture created with RIPaint. When using this setting, you should be careful to make the window large enough to hold the title and buttons intended to fit within it, otherwise some of these elements may be omitted or may overlap the window border. 216 RIP Graphics 7 -- Foreground Color 8 -- Background Color These fields control the color of the text that appears on the face of the window. The "Background Color" is used only for text "boxes" that appear inside a window (such as in a subboard listing). For regular menu windows, the background color is always the same as the window's surface color. 11 -- Surface Color This is the color of the surface of the button. For example, in the traditional "Steel" look, the surface color is grey. 12 -- Corner Color This is the color used to generate a "3-D" look or shadowed look on the corner of the button. 13 -- Bevel Size This is the size, in pixels, of the "beveling" effect created around the surface of the window, if beveling is enabled. (Beveling makes the window appear to be a raised button rather than a flat feature). 14 -- Font Style 15 -- Font Size Use these fields to set a font style and size for the window text. Various fonts are available, as defined in the RIP protocol. 16 -- Window Style Switches This option leads to an additional screen of yes/no settings: 1. Chiseled ........................... No 2. Recessed ........................... No 3. Beveled ............................ Yes 4. Sunken ............................. No These are various special effects that make a window appear chiseled, recessed, beveled or sunken when selected. Title Attributes The next major portion of a RIP style is the Title Attributes. Options are: 1. Make Title Visible ................. Yes 2. Title Postion ...................... Top Center 3. Foreground Color ................... Yellow 4. Background Color ................... Black 217 RIP Graphics 5. Bright Color ....................... Black 6. Dark Color ......................... Black 7. Surface Color ...................... Green 8. Corner Color ....................... Black 9. Bevel Size ......................... 1 10. Font Style ......................... Default 11. Font Size .......................... 1 12. Title Style Switches [...] Most of the items shown here perform similar functions to the same items listed under Window Attributes, except they apply to the title section of the window, rather than to the window as a whole. Below, we'll list the differences that apply: 1 -- Make Title Visible If set to Yes, the title portion of the window appears; if No, then the title is omitted. You can omit the title for menus that don't require it. 12 -- Title Style Switches These switches are similar to the Window Style switches, except that they apply to the titlebar, and several new options are available: 1. Chiseled ........................... No 2. Recessed ........................... No 3. Drop Shadow ........................ Yes 4. Beveled ............................ No 5. Adjust Vertical Center ............. Yes 6. Sunken ............................. No 7. Left Justify Label ................. No 8. Right Justify Label ................ No Button Attributes These attributes apply to the buttons created within a menu: 1. Foreground Color ................... Blue 2. Background Color ................... Black 3. Bright Color ....................... Lt Cyan 4. Dark Color ......................... Blue 5. Surface Color ...................... Cyan 6. Corner Color ....................... Cyan 7. Underline Color .................... Red 8. Bevel Size ......................... 3 9. Font Style ......................... Default 10. Font Size .......................... 1 11. Orientation ........................ Center 12. Width .............................. 80 13. Height ............................. 25 14. Spacing ............................ 25 15. Button Style Switches [...] 218 RIP Graphics 7 -- Underline Color Buttons that are commands feature an underline under the command's keyboard equivalent, where such an equivalent exists. This setting defines the color of the underline. 11 -- Orientation This setting describes how the text label is presented within the button: Centered, left, right, etc. 12 -- Width 13 -- Height 14 -- Spacing These fields define the width and height of buttons, and the spacing between buttons, in pixels. When changing these values, bear in mind that the dimensions of the entire screen are 640 (width) by 350 (height). You must ensure that the buttons are large enough to hold the intended commands; otherwise, the commands may overflow the buttons. 15 -- Button Style Switches The largest number of special visual effects are available for buttons. They include: 1. Chiseled ........................... No 2. Recessed ........................... Yes 3. Drop Shadow ........................ No 4. Beveled ............................ Yes 5. Underline Hotkey ................... No 6. Adjust Vertical Center ............. No 7. Sunken ............................. No 8. Highlight Hotkey ................... Yes 9. Explode ............................ No 10. Left Justify Label ................. No 11. Right Justify Label ................ No Using RIP Styles The RIP styles you create apply to two major areas of Searchlight: menus (which are created and maintained in the menu editor portion of the CONFIG program), and built in RIP features. To apply styles to built-in features, use the RIP General Setup menu shown above. For more information about applying styles to user-defined menus, including a "preview" function that lets you see what your styles actually look like, see Searchlight Menu Editor beginning on page 144 of this manual. Internal RIP Features 219 RIP Graphics Searchlight provides a host of internal RIP features that are automatically engaged when a caller connects to Searchlight with a RIP compatible terminal. In most cases, the RIP version of a feature contains the same commands as the ANSI version (i.e. the version seen locally or displayed to non-RIP callers), but the screen presentation is enhanced with features like mouse buttons and menus. For example, Searchlight's message reader looks like this in RIP mode: Notice the differences between this display and the ANSI representation. These differences can be summarized into the following categories: o Scroll Bars. The scroll bar to the right of the display allows you to navigate through a long message with your mouse, and also indicates the current cursor position and relative size of the message (by the size of the scroller element). To move the cursor, you can click anywhere on the scrollbar. Below the bar itself are additional controls for page up and down. o Buttons. Functions such as save, quote-text, and abort can be entered by clicking the buttons with your mouse, instead of giving keyboard commands (but the keyboard commands are still available in case you don't have a mouse). o Pop ups and dialog boxes. In many cases, when you're using a full screen display, additional menus or messages "pop up" over the display, as shown here. Select an item from these menus with the mouse or cursor keys. When an item is selected, the pop-up feature disappears and restores the display beneath it. Searchlight uses full screen RIP displays for many internal features, including the message editor, the message browser, subboard listings, and bulletins. Although these features are functionally the same as their text equivalents, the graphics representations are more attractive and often more functional, thanks to the mouse support and scroll bars. Customizing Internal Features You can't change the basic look of Searchlight's internal features or add commands to the displays, but you can change the colors in which these features appear, and to some degree the appearance of the text and menus, by assigning a RIP style to each feature under RIP General Setup (as described earlier in this chapter). Note that some changes you may make to 220 RIP Graphics a style used for an internal feature--most notably, font changes--are overridden by the feature's defaults. This is necessary to maintain correct display formatting. RIP Menus Perhaps the most important RIP feature in Searchlight BBS is its ability to generate RIP representations of user-defined menus created with our menu editing system. In other words, Searchlight takes the menu choices placed on menus by you, and generates its own graphical RIP representation of the menu, complete with a window, mouse buttons, and a title. You can control the colors, fonts, layout and screen position of the menu through RIP styles and menu options. Notice that Searchlight makes RIP menus "on the fly"--that is, it generates these menus as it executes, which means that menus can have different commands based on user access levels and attributes. And when you add or change commands on a menu, the RIP screens are automatically updated. Since there are no external RIP files, you don't need to manually update a file every time you change a menu. Creating RIP Menus As discussed, Searchlight creates RIP menus automatically, and there isn't much else you need to do to have Searchlight create a RIP menu except to create menus as described in our Menu Editing section (see p. 144 for more information). Three fields associated with each menu control how that menu will appear in RIP mode. The are: 15. RIP Display Style .................. Steel 16. RIP Menu Columns (Novice) .......... 2 17. RIP Menu Columns (Expert) .......... 2 RIP Display Style controls how the menu will look--what colors will be used to draw it, what special effects (like beveling) will be used, and where the menu will appear on screen. Lines 16 and 17 control the number of columns that will be used to generate the menu in Novice or Expert mode (Intermediate mode follows the Novice setting). It's easy to describe all the different style settings that are available, but when it comes to actually laying out a menu, you really need to see what the menu will look like. Fortunately, Searchlight provides a RIP preview function that enables you to do so. In fact, you can actually edit your menu and your RIP styles from within the preview mode, making it much easier to actually put a visual representation to all of the different RIP colors and settings. To enter RIP preview mode, go to the Menu Editor main screen, place the cursor next to the desired menu, and press F6. A graphics screen similar to this one will appear: 221 RIP Graphics o You must be running a system with at least EGA graphics capabilities-- preferably with a color CRT--in order to use this preview mode. Also, you cannot use the preview mode if running the CONFIG program from a remote location. What your screen shows here is a mock-up of what the menu will look like when displayed online to a RIP-compatible caller. You can use this display to judge the general appearance of the menu, colors, and placement of commands and text. Notice that the menu is first displayed in "Novice" mode. To see what it looks like in "Expert" mode, click on the word "Novice" on the status line beneath the menu. If you want to change any aspect of the RIP Style used in the menu, you can do so by clicking on the status line or pressing the following keys: F1: Change Window Attributes F2: Change Window Style Switches F3: Change Title Attributes F4: Change Title Style Switches F5: Change Button Attributes F6: Change Button Style Switches Bear in mind that when you change any of these settings, you're changing the style associated with the menu, not the menu itself. In other words, any other menus or features that use this style are also affected by the changes. (See the discussion of RIP styles earlier in this chapter for more information about style editing). Finally, if you want to access the menu's own settings (to change the column placement or style), click on the menu's name in the lower left hand corner of the screen. o Searchlight provides a great deal of flexibility in creation of RIP styles and menus. At the same time, it is possible to create settings that don't make sense, either because the text of your selections overflows the size of the menu or buttons or because your menu is too large to fit within the space given. The preview mode will help you make adjustments to your menus visually so that you can design graphics that look and work well for your own needs. External RIP Files External RIP files provide the ultimate in design flexibility: they allow you to take any RIP scene or menu that you can create with an external 222 RIP Graphics drawing program and use it in your system, typically as a replacement for the built-in menus. External menus are more flexible because they can contain illustrations and layouts beyond what can be created with our internal RIP styles, but they are also somewhat more difficult to create and maintain since you need to use an external RIP painting program. When RIP mode is enabled, Searchlight searches for text files ending in .RIP instead of .ANS or .TXT. You can make .RIP files for menus, include files, your login and logoff screens, and anywhere else that Searchlight displays a TXT or ANS file. In fact, since RIPscrip is plain text, you can even load RIP graphics into messages. If no RIP file is available for a particular menu or display screen, your existing ANS or TXT file is used instead. o You can view RIP files as graphics during a local login only if you enable Searchlight's Local RIP feature by pressing ALT-R at the main menu. Otherwise, RIP files will display as computer codes. Local RIP mode is available only on EGA or VGA graphics monitors. o If your RIP files use icons, you should tell Searchlight the location of your icon files by filling in the RIP Icons Path in the Config program. For more information, see page 28. How can I create RIP files? RIP graphics files are created with special programs such as RIPaint and RIPdraw, available from TeleGrafix Inc. They produce text files ending in .RIP, which you can load into your BBS. Searchlight displays the .RIP files instead of text or ANS files when searching for an external text file. Note that you can only use files created with a RIP specific drawing program; you can't use files created with other kinds of drawing programs. o If you would like more information about software to create custom RIP graphics screens, or if you are a developer and would like information about adding RIP graphics support to your online product, please contact Searchlight Software at our technical support number. RIPscrip Guidelines RIPscrip contains a rich set of commands that can make a RIP terminal display graphics, fonts, change screen sizes, relocate screen windows, and more. Since Searchlight operates in text mode when it is not displaying a RIP file, RIP files should, in general, avoid using commands that would render Searchlight's text unreadable (unless that effect is desired). In order to ensure that its text is readable, Searchlight always resets the RIP terminal's text window and font size whenever it clears the screen. RIPscrip files can contain mouse areas and mouse controls in addition to high resolution graphics, icons and other features. Typically, you will use mouse areas in menu display files, and have the mouse areas return a keystroke to Searchlight indicating the correct menu choice. For example, if F is the key to press to enter the files system on your main menu, you could generate a RIPscrip menu with a mouse button for files access; the mouse button would type the letter 'F' when pressed. Note that your RIP menus should always send a single character in response to a mouse press. Even when you use the "Word" style menus in Searchlight, 223 RIP Graphics it isn't necessary to return an Enter keystroke after the command letter, since Searchlight only requires a single key when displaying a RIP menu. o RIP buttons contain an option that allows the act of pushing the button to clear the screen. Don't use this option in your RIP menus with commands that generate pop-up RIP features (like Searchlight's Time or Version command). Since Searchlight expects the screen to remain unchanged after these kinds of commands execute, it doesn't redraw the menu below; clearing the screen will thus destroy the "pop-up" effect. Since Searchlight provides its own mouse support with built in menubar menus, and may support other RIP features internally, a special command is included in the menu setup screen to disable Searchlight from producing mouse areas for its internal menus: 14. Use RIP Mouse Areas ................ Yes Set this option to "No" if you are using RIPscrip files to generate your own menus with mouse areas. Otherwise, leave it set to "Yes". The "No" setting prevents Searchlight from interfering with mouse areas that may have been created by your external RIPscrip file. Wallpaper Searchlight contains a unique feature that lets you combine the built-in RIP menu feature with external files--we call it the "wallpaper" feature. What it allows you to do is take an external RIP file that contains drawings, but no mouse buttons, and use it as a background image over which Searchlight will display one of its built-in RIP menu representations. The wallpaper feature gives you the best of both worlds: you can design any kind of illustration with a RIP painting program, but still have Searchlight control the actual commands and mouse areas. Since Searchlight controls the commands, the actual menu can dynamically adapt itself to changes in access levels and attributes or changes in the Searchlight menu file itself. To use the wallpaper feature, create (or obtain) a RIP file that you'd like to use as background material, and place in the "Text" file directory in your system. Next, edit the menu in question. In the field marked "Display Filename (Optional)", enter the name of the wallpaper file using this syntax: 4. Display Filename (Optional).......... @!MYFILE Notice the special "@!" syntax: this tells Searchlight that the file is a wallpaper file (otherwise, Searchlight would assume the file was a complete menu, and would not generate its own RIP menu). Searchlight displays the wallpaper file first, then draws its "default" menu on top. You may wish to disable the RIP window and title when using the wallpaper feature (you can disable them by editing the style associated with the menu). Without a window and title, Searchlight simply draws buttons over the wallpaper--which can make the buttons look more like an integral part of the picture. 224 RIP Graphics One final note: you can add a wallpaper file to a menu without destroying an existing ANSI or ASCII text screen. Just place the @!FILE after the existing ANSI filename on line 4, separated by a space: 4. Display Filename (Optional).......... @ANSI @!RIP Wallpaper with Internal Features A number of Searchlight's internal RIP features can also have wallpaper files. When these files exist, Searchlight displays the file behind the indicated feature. In most cases, only the outer edge of your wallpaper file will be visible, so design these files appropriately. Wallpaper files for internal features are defined simply by creating RIP files with fixed names, as defined below. These files should be located in your Text directory: CHATWALL.RIP Defines a wallpaper behind the Sysop split screen chat (ALT- C) feature. EDITWALL.RIP Defines a wallpaper file behind the text editor screen. READWALL.RIP Defines wallpaper behind the RIP text reader (when reading messages, bulletins or email). FILEWALL.RIP Defines wallpaper for the RIP file browser screens. SCANWALL.RIP Defines wallpaper for the RIP message browser screens (Scan and Mail/List commands). 225 Using DESQview Using Searchlight With DESQview Introduction DESQview is the multitasker of choice for use with Searchlight BBS, due to its low overhead and efficiency when running DOS based communications programs. By running DESQview on your 286, 386 or 486 PC, you'll be able to have multiple Searchlight nodes active at the same time, allowing your BBS to support multiple incoming telephone lines and providing you with a means of logging in locally while keeping your incoming lines active for calls. The following remarks will help you to set up an effective multiline Searchlight BBS system on a PC with at least 1 megabyte of memory. This is not an exhaustive review of DESQview's features, so please read your DV manual, especially the sections on memory usage and configuration, in order to get the most out of it. o Searchlight also supports OS/2 and may work with other multitaskers. If you prefer to use another multitasker, this information will still provide you with general guidelines, but you'll need to follow your multitasker's documentation for exact commands and settings. You can also run multinode Searchlight BBS installations from a LAN; for more information, see p. 44) Environment Setup Before installing DESQview, it is best to remove any programs that use serial ports, especially serial mouse drivers. Even if your mouse uses COM3 or COM4, it can interfere with modems connected to COM1 and COM2. On 286 systems, run XDV (extended memory version), which loads DESQview into the first 64K of extended memory. If you do not have extended memory but you do have expanded memory, you can usually configure your RAM board to give some extended memory instead. For 386 systems, you need to install QEMM from your CONFIG.SYS file, then run DESQview; see your Desq manual for more specific installation information. Make sure your Searchlight nodes are set up as explained in the Multinode Setup portion of this manual (see p. 44). Note the locations of your CONFIG files for reference while setting up DESQview. Interrupts Interrupts are an important issue whenever 3 or more remote nodes are configured for use on one machine. The standard IBM PC has only 2 interrupts allocated for communications ports (COM1 and COM2, which use interrupts 4 and 3 respectively). In many cases, hardware adapters which support COM3 and COM4 simply re-use these interrupt lines, making those ports unsuitable for use in a multitasking environment. What you need is an adapter that's capable of selecting an alternate interrupt number, such as 2, 5 or 7. The Everex Magic I/O is one such adapter that's suitable for use with Searchlight. You can also overcome the two-port limitation by means of an intelligent DigiBoard hardware product; DigiBoards work with their own on-board processors instead of interrupts, and are ideal for large installations. See Appendix H of this manual for more information on DigiBoard installation. 226 Using DESQview Local nodes which do not use a modem or an interrupt line require no special treatment. DESQview Setup Access the DESQview setup program by typing 'Setup' from the DV directory. Select the advanced options. Of interest are the mouse and performance setup sections. Mouse: If you have a serial mouse, you may not be able to use it with DESQview since you will probably want to use your available serial ports and interrupts for Searchlight. A bus mouse can be used if available, as long as the bus mouse adapter does not use interrupts which you may need for COM ports other than COM1 and COM2 (on systems running 3 or more lines). Performance: We recommend you allocate between 4 and 8 clock cycles for foreground and background tasks. More cycles may increase efficiency, but also increase "choppiness". Fewer cycles reduce choppiness but decrease overall throughput. It is generally best to use the same value for foreground and background. The more nodes you install, the smaller you should make the performance numbers. On a 10 node system, we recommend using 1 or 2 clock ticks. Select "Yes" for "Optimize Communications". This will give you better performance for the BBS nodes. Select "No" for "Allow Swapping of Programs". Since communications programs are interrupt driven, they cannot be swapped to disk. Assuming you are interested primarily in running Searchlight, swapping can be turned off. (Note: When FOSSIL drivers or DigiBoards are used, it becomes possible to swap Searchlight in and out of memory. However, the performance penalty for doing so is usually too large to make swapping a practical option. If your computer is a '286, you may want to experiment with this option if you need to run more than 2 nodes). Program Setup Set up each Searchlight BBS node as a separate entry in DESQview, using DESQview's Add Program feature. DESQview presents a menu of Basic options as you create each entry, and provides Advanced options by pressing the F1 Key. Basic options should be configured as follows: Memory: Try to allocate at least 400K per node. You can use a minimum of 350K if necessary, but performance is somewhat better with more memory available. Watch out for "out of memory" errors (code 202 and 203) if you allocate too little RAM. Program: Specify SLBBS.EXE as the program to run. If necessary, give the full pathname (such as C:\SLBBS\SLBBS.EXE). Directory: Give the home directory for that node (location of the CONFIG.SL2 file). Make sure each node has a separate home directory. 227 Using DESQview Writes Text Directly to Screen: N Make sure all nodes are configured for BIOS screen writes. This will allow Searchlight to run in the background and in small windows under DV. On 386 PCs, direct screen writes can be used as long as you tell DESQview to Virtualize Text. Displays Graphics Information: N Virtualize Text/Graphics: N Choose "N" if you have Searchlight configured for BIOS operation. If you prefer to configure Searchlight for direct screen writes, you should enter "T" here. Uses Serial Ports: 1,2 or Y For each node, give the serial port (1 or 2) which that node will use. If the node uses a standard serial port other than COM1 or COM2, specify "Y" for this option. On nodes that use external drivers (i.e. DigiBoard or FOSSIL drivers) this setting is unimportant. Requires Floppy Diskette: N After configuring the Basic options, press F1 to access the "Advanced Options" screen. Of the fields on this screen, the majority should be left in the default state. Below are the fields that apply to Searchlight, and the recommended values for each: Can Be Swapped Out: N Interrupt driven communications programs should remain in memory at all times. Swapping is possible if you use a DigiBoard or FOSSIL driver, but is impractical; see note above. Uses Its Own Colors: Y Searchlight uses its own display colors. Runs in Background: Y Share CPU when Foreground: Y These options will allow you to multitask and run all nodes at the same time. Uses Math Coprocessor: N Share EGA When Foreground/Zoomed: N Check your DESQview manual for more information about the other options that are displayed. Memory Issues Searchlight is one of the most memory-efficient programs you'll find in the BBS environment. With a mere 250K memory requirement, it's designed to run effectively in small DESQview windows. However, you may find that Door programs, front end mailers, utilities, and programs you run as events may require more memory than Searchlight. Since 228 Using DESQview Searchlight requires about 50K for its in-memory kernel when executing a Door program, external protocol, or event, the actual amount of RAM available to those programs will be equal to the size of the DESQview window minus 50K, minus any RAM resident programs that might reside in that window (such as DVANSI or a front end mailer). On 386 and 486 PCs, DESQview is capable of running programs in extended 386 memory (which is actually converted to expanded memory by QEMM). That means that with a 386 or 486, you can increase the amount of RAM available to your windows simply by purchasing more system RAM for your computer. DESQview 386 automatically makes the RAM available and can open windows of up to about 600K in size. The only limitation is that DESQview cannot overlap any of your base 640K ram with expanded memory. That means that your first 640K of memory can be used to run either two very small windows, or one large window, or a combination of a large window and a memory resident program (like a RAMdisk or disk cache). Use DESQview's Memory Status (MS) program to assess your system's available RAM. On 286 systems your choices are more limited. In general, DESQview can run programs only in the 640K base memory, which normally limits you to two windows of around 250K each in size. Expanded memory can be put to good use as RAMdisks or disk cache memory; the first 64K of extended memory can be used to run DESQview itself. If you do need to run larger windows, it's possible if you have Enhanced Expanded Memory (EEMS) hardware. DESQview can run programs in EEMS memory, but generally you'll have to arrange your memory map so that your EEMS memory provides some of the base 640K RAM in your PC. Otherwise, there will probably not be a large enough mapping area to provide the 250K necessary to run Searchlight. For more information about this subject, see your DV manual. Performance Issues The more RAM that's available in your system, the better performance you can get out of Searchlight BBS. But just having the RAM available isn't enough. There are three main ways to use additional RAM memory on your system wisely, and each can dramatically improve the speed of your BBS. o Allocate more RAM to Searchlight and increase the size of the overlay buffer. When Searchlight is given more than its minimum RAM requirement, it keeps frequently needed file information in memory and builds tables and buffers that help reduce the number of disk accesses required for many operations. Additionally, more DOS memory means you can increase the size of your overlay buffer, which decreases the amount of disk reads Searchlight needs to perform as it runs. Searchlight can profitably use approximately 70-80K of memory above its minimum requirement. Beyond that amount, the memory will be wasted unless you need it for doors or events. o Use a RAM cache and allocate as much memory to it as possible. RAM cache software is by far the most valuable utility you can add to your system. Even the smallest disk caches will improve performance a great deal; the larger the buffer, the fewer disk reads that need to be performed, and the faster your system will run. Cache software with a buffered (staged) write mode is ideal for use with Searchlight, and will speed up your system even more. 229 Using DESQview Always use expanded memory, not extended memory, with disk cache and RAM disk software. It is best to avoid the use of extended memory entirely, except for running DESQview itself. That's because the procedure that is required for the CPU to access extended memory can cause it to lose track of pending interrupts, and thus pending data coming in from the serial ports. When purchasing memory for a 286, always buy an expanded memory board. The extended/expanded distinction doesn't apply to 386 and 486 PCs. o Install a RAM disk and use it to store frequently used files, such as Searchlight's EXE and OVR files. When storing Searchlight files on a RAM disk, be sure to update the data path lines in your CONFIG files to reflect the new drive/directory paths. Don't store data files (files that are written to and change during the program's execution) on RAM disks. The recommended files for RAM disk storage are DEFAULT.LNG, CHAT.SL2, BBS.EXE and BBS.OVR, and the menu (*.MNU) files. Note that if your overlay (OVR) file is on RAM disk, it's generally not necessary to load it into EMS memory, since disk access from a RAM disk is nearly as fast. Fine Tuning Best efficiency can be obtained if you use Searchlight's modem output buffering (Output Buffering Factor = 32) on all nodes. Output buffering lets Searchlight dump output into a holding area in RAM, which is then spooled out to the modem as a background task. The spooling takes place as an interrupt and is more or less independent of DESQview's task switching. When using more than 2 nodes, we recommend an intelligent DigiBoard hardware device for communications. See Appendix H for more information. When you watch Searchlight locally, the output may appear "choppy" on screen; that is, it will start, stop, then start again, etc. However, the remote user will see a much smoother, steady flow of characters, especially at lower baud rates (2400 baud and below). So you should be aware that even if you see a choppy, hesitant display at your end, it does not mean your users are seeing the same thing. Either ask your users, or log in from a remote terminal yourself, to see the difference. Set "Buffer Door Programs" to Yes, for best performance when running doors. Should incompatibilities or system errors arise when running Door programs, disable output buffering by setting this option back to No. If you use a high speed modem on one node and a slower modem on the other, you may want to adjust the performance (clock cycles) and allocate more CPU time to the quicker modem. ASCII uploading to the message editor places the largest load on the system in terms of input and output. That's because Searchlight echoes characters as they are typed, thus creating a two way flow of information. We recommend using Xmodem or Zmodem protocol uploads if ASCII uploads present a problem. Many RS232 ports are not designed for speeds greater than 9600 baud. If you plan to use high speed modems, you may want to purchase high speed UART chips (16550 chips). Note that the speed of output is also dependent upon your CPU speed. Slow computers may not be able to provide maximum throughput, regardless of the UART chips used. 230 Appendix A Activity Log Appendix A: Using The Activity Log Searchlight's LOGIN program can be configured to generate a continuous record of all logins and logouts to the system. The generation of the activity log is controlled by placing a log filename in the CONFIG program (see "Pathnames Setup", p. 25) When logging is active, Searchlight generates a text log file (typically called ACTIVITY.LOG). Each time a user logs into the BBS, and each time the BBS resets the modem after a call, one line of data is added to this file. You can view the logfile with the TYPE command or with a word processor, or other software that displays text files. The data in ACTIVITY.LOG consists of lines of two types. The line generated when a user logs in to the BBS contains six or seven pieces of information, arranged in fields, and looks like this: Y 911015 1745 24 * MICHAEL KLEIN, Nissequoge, NY The leftmost character, Y or N, shows the status of ANSI graphics when the user logged in; N means no graphics, Y means color or monochrome graphics. This is followed by a six-character field containing the date of the login, in YYMMDD (year, month, day) format. The next four-space field contains the time of the login in the format HHMM (hour, minute). The time is given as a 24-hour time. The next field gives the baud rate for the logon; 3 means 300 baud, 12 is 1200, etc. An 'L' in this field, right-justified (i.e. preceded by one space) indicates that the login was from the local terminal rather than via modem. Immediately following the baud rate is either an asterisk (as shown above), a "+" sign, or a "-" sign. An asterisk indicates that this is the first logon by a new user; a "+" sign indicates an "invisible" login (by a Sysop or CoSysop), and a "-" indicates a regular visible login by an established user. The remainder of the line contains the user's name, terminated by an end of line character sequence (CR/LF). In the case of a new user, the user's name is followed by a comma and then the user's location, as show above. The location information is recorded only on a user's 1st call. Each of the fields is followed by a single blank space, as shown in the example line above. In the date and time fields, numbers less than 10 will appear with leading zeros. Upon resetting after a call, Searchlight logs a termination line to the activity file. The terminate line contains only the time and date fields, in the same format as above: 911015 1822 The data is preceded by two blank spaces. This serves to align the date and time with the dates and times in the login lines, and to mark the line as a terminating log entry. These two lines together: Y 921015 1745 24 * MICHAEL KLEIN, Nissequoge, NY 921015 1822 231 Appendix A Activity Log indicate that a new user named MICHAEL KLEIN signed on to the BBS at 5:45pm on October 15th, 1992. He called at 2400 baud and selected ANSI graphics mode at login, and he logged off at 6:22pm. Here's a printout of what a small section of an activity log file might look like: ------------------------------------------ Y 921015 1745 L + SYSOP 921015 1757 Y 921015 1855 96 - EUGENE CHOI 921015 1924 N 921015 1943 24 * TABBY SHANK, Cleveland, OH 921015 1947 Y 921015 1952 24 - CLIFF HELLER 921015 2009 921015 2015 N 921015 2039 96 - GUEST 921015 2042 Y 921015 2046 24 - KYLE SILFER 921015 2104 N 921015 2113 96 * TINA MARSIELLO, Brooklyn, NY 921015 2144 ------------------------------------------ Note that it's perfectly possible, as shown in the example, to have two (or more) terminate-type lines in a row. Since the line is written whenever Searchlight resets, it can occur twice if a caller connects but hangs up before logging in. Terminate type lines not immediately preceded by login lines may simply be ignored. Caller ID Information Searchlight will automatically log Caller ID information from compatible modems. If you subscribe to Caller ID services and your modem supports a Caller ID feature, enable it by adding the appropriate commands to your modem init string (for example, with a Supra Faxmodem, the command is CID=1). Searchlight will extract the caller's telephone number whenever it is available and will include that information in the activity log file, to the right of the caller's login name. Using The Activity Log File There are many ways in which the ACTIVITY.LOG file can be used. As you've probably guessed, the format of the file is designed to allow it to be read by programs rather than humans, although it's not quite so cryptic that you can't read it directly. Programs which read the ACTIVITY.LOG file could compute many statistics about the operation of your BBS. Once you've accumulated several weeks or months worth of information, you could compute such things as: o total number of calls within a given period of time o number of new users added o percentages of callers calling at specific baud rates o average duration of calls o average number of calls per day or week 232 Appendix A Activity Log o average number of users requesting ANSI graphics A sample program which reads the ACTIVITY.LOG file, called SLSTAT, is included on your SLBBS distribution disks; you can also write such programs yourself, using the above information as a guide for reading the log file. ACTIVITY.LOG also gives you a permanent record of all calls made to your system. The DOS FIND command, or a similar utility, can be used to locate specific information in the log file. For example, the DOS command FIND "JOHN MURROW" ACTIVITY.LOG will search the ACTIVITY.LOG file and print out all lines which contain the name JOHN MURROW (this would be all the times that JOHN MURROW logged in to the system). The command FIND "*" ACTIVITY.LOG will show the first logins of all new users (since the last time the log file was cleared). FIND is a program that comes with DOS; it should be available on the DOS disk you received with your computer. Since the log file will grow continuously, you'll need to delete it every once in a while. The best scheme, if you wish to keep an ongoing record of calls, is to make a backup copy of ACTIVITY.LOG periodically (every month, six months, etc.) and store the backup on floppy disks or tape. Then simply delete the ACTIVITY.LOG file from your disk; a new file will be created with the next login. 233 Appendix B Error Messages Appendix B: Guide To Error Messages Searchlight BBS is designed in such a way that the most common kinds of errors that occur are displayed on your screen in English, and don't cause your BBS to crash or go down. Occasionally, however, you may encounter a problem that causes Searchlight to produce a numeric error message, sometimes causing the software to terminate. You'll find that these types of errors are usually related to systemwide problems like bad DOS filenames or lack of file handles. If you encounter a numeric error message, you should write down both the error number and the error address, if it is displayed. Then consult the list below for further information. If you get an error message that's not on this list, or if you can't resolve the problem, contact Searchlight Software with the complete error message and description of the problem. Errors 2 and 3 (File/Path does not exist) This error indicates that Searchlight is trying to read a file on the disk, and the file does not exist. There are several possible causes: (1) The Program Path specified in the CONFIG program points to an invalid pathname, or the program files do not exist in the specified directory. (2) A pathname or filename specified in the CONFIG program does not exist, or is an illegal name. (3) An illegal or nonexistent pathname was specified in a menu file. o Check all of your CONFIG settings carefully, especially those on the Pathnames Setup screen. A missing or misspelled pathname or filename is the usual cause of these errors. Error 4 (Too many open files) This message will occur the first time you try to execute Searchlight or the CONFIG program if your system doesn't have enough file handles available. The solution to this problem is simple; you must insert the line "Files=30" (or higher) into your CONFIG.SYS file, as discussed in the installation instructions (see p. 6). Be sure to reboot your system after editing your CONFIG.SYS, in order to install the new configuration. Error 100 (Disk read error) This error will occur if a data file on disk is corrupted or otherwise damaged. If Error 100 occurs when trying to log in, read a message, or access a user record, it indicates a problem with one or more of the Searchlight data files. Usually, you can recover your data files by taking the following steps: (1) Exit from Searchlight and type CHKDSK/F at the command prompt; (2) For a problem that's related to Searchlight's user file, run Searchlight and use the User/Balance command; 234 Appendix B Error Messages (3) For a problem that's related to a particular message subboard, run the CONFIG program and execute the subboard repair functions (see p. 52); (4) For a problem related to a file area, run the Files program and execute the 2-Sysop/Balance command. If you cannot run the SLBBS and log in normally, you will usually be able to run the BBS or FILES module directly by typing those commands at your DOS prompt. Error 101 (Disk or Directory is full) This error occurs if Searchlight must create a file (such as when you create a new subboard or file directory or when you first set up Searchlight BBS) and the disk or directory is full. The solution is to delete some files or create a new directory. Error 202 (Stack Overflow) Error 203 (Heap Overflow) These errors indicate an "out-of-memory" condition. Usually this is caused by a lack of available memory; to correct the problem, increase the amount of memory available by reducing the size of RAM-disks and other memory resident software. Stack Overflow errors sometimes occur when accessing the User file (in the main BBS program) or a file directory file (in the FILES program) if the binary tree structure is corrupted or badly "unbalanced". If you get this error, try "rebalancing" your user or directory files (using the Balance commands in the Files and BBS programs). If Stack or Heap Overflow messages persist, please contact us. SHARE Errors Multiuser versions of Searchlight BBS require that SHARE.EXE or an equivalent operating system function be loaded when running multiple nodes. If there is a problem with a Share call, Searchlight may report one of the following messages: Share not detected. Load SHARE.EXE or equivalent. Searchlight could not perform a Share call (DOS function 5C) successfully. The most likely cause is that SHARE is not loaded. Run the program SHARE.EXE from your AUTOEXEC file when you boot your computer, and before loading Searchlight BBS. SHARE.EXE is provided with DOS 3.1 and later. See your DOS manual for more information. SHARE buffer overflow Share did not have enough memory to handle the lock requests made by Searchlight. Increase Share's memory allocation by using Share's /F: and /L: startup parameters (recommended values if you get this error message are /F:4096 and /L:50). 235 Appendix B Error Messages LOCK error on file UNLOCK error on file These messages indicate a general breakdown of the lock/unlock system. This can happen if one node on your BBS locks a file, and then crashes, or otherwise keeps the file in a locked state. The recommended recovery is to reboot your system. If these errors are consistent, you may have a problem with the way Share calls are handled on your system. Other Errors Other errors in the range 5-6, 16-17, and 150-162 are DOS errors indicating disk or device access errors. Check your disk, files, and directories and try the command again. If other errors occur, please write down the exact error message as well as the exact conditions that caused the error, and contact us. Be sure to include your SLBBS version number, DOS version number, and the equipment you use. We will try to diagnose the problem as quickly as possible. 236 Appendix C Automatic Events Appendix C: Automatic Events Searchlight's Login program provides a flexible event feature. An "Event" is a DOS command, executable program, or BATCH file that's set to execute at a given time and date. Searchlight scans the list of events when you start it up, and executes them at the proper time. Events execute only when Searchlight is offline--waiting for a call at the initial display screen. To ensure that the system will actually be waiting for a call at the moment that an event is to be executed, Searchlight will adjust the time limit of a user's session (but not a user's daily time limit) when necessary, and warn a user logging on if an event will occur shortly. While the event is in progress, Searchlight issues the "local init string" to the modem, causing it to keep the telephone off hook (busy) during the time it takes to execute the given procedure. Setting Up The EVENT.DEF File Events are configured by creating a text file called EVENT.DEF in your BBS system's home directory. The EVENT.DEF file takes three or four fields per line, separated by spaces, like this: [date]