Mini Manual for the MUBBS A Multi-User Bulletin Board System Copyright (C) 1988 Software Construction Co. The MUBBS is a multi-user bulletin board system designed for IBM PC/AT and compatible computers. The system supports up to 5 users at a time (including the local SYSOP). The system uses standard type menu screens that are totally configurable by the SYSOP. Up to 32767 menus may exist in the system, with up to 9 options per menu, for a total of almost 300,000 user options. Major functions include message bases (including private mail), Co-SYSOP's, ASCII and XMODEM checksum uploads and downloads, and a conference mode. This program is NOT in the public domain, but is a shareware program, a program that may be freely copied, given away, and used only on a temporary basis to test if the program could be of some use. This manual provides basic information about the MUBBS package and does not go into great detail. Only the basics will be mentioned. A much more detailed manual can be obtained by sending $79 (Ohio residents add 6% sales tax) to the Software Construction Co., 7370 Alt St Rt 49 E., Arcanum, Ohio 45304. Along with the manual you will also receive the latest version of the program (on 5 1/4" disk, specify if you need 3.5"), and BBS support, where subsequent versions may be downloaded. The BBS # is (513) 692-8623, and the hours are strictly from 12 midnight 'till 8 am, EST. The remainder of the hours the phone is used for personal use, so don't waste your time and money unless it's between 12 am and 8am. If everyone who decides to use MUBBS would be so kind as to send in your $79, we will put in a full time phone line exclusively for the Flagship MUBBS. Where else can you get a multi-user BBS for a single user PC for under $100? We're still looking! Your support would be appreciated! Now, back to business... This manual assumes you have a prior knowledge of using/operating a BBS system and operating systems. Getting Started: 1) Add the line "FILES=20" in your CONFIG.SYS file. 2) Copy the MUBBS.COM, all .TXT and .DAT files to your hard disk (or to a work diskette). 3) There must be at least one serial port in your system assigned as COM1. 4) Start the program by entering MUBBS. Any system files not found will be created by the program. 5) MUBBS should initialize and display the status/user screen (two distinct boxes), and display the sysop function key commands across the bottom. 1 Local Sysop Functions F1 - Login, this allows the local sysop to log into the system as if he were dialing in like other users. After pressing F1, press ENTER to login. While in this mode, all other functions keys are disabled until you log off. Login as "SYSOP" with a password of "ROOT". F2 - Snoop, this permits the viewing of any active port. F3 - Message. This function allows the local sysop to send messages directly to a specific user or to all users. F4 - Setup, this is where the local sysop sets various system configuration options such as site name, # of ports, baud rates, port addresses, and other stuff. If you wish to set up a private system, enter "N" for "New User Access?". If you are setting up a public BBS, enter a number from 1-255 for a new user's access level. Access levels in the 200's are reserved for co-sysops. F5 - Kill, this function will disconnect the selected port. F6 - Purges the user file. All users who have been deleted are physically removed from the user file. F7 - Reports. Two reports are available from the system, the Menu Structure, and User List reports, which generate the files MENU.RPT, and USER.RPT, respectively. Each report is written to the disk instead of the printer. This allows for other programs to access the data. Simply use DOS commands to send the contents of the files generated to your printer. F8 - Exits MUBBS. If other users are on-line when this key is pressed, they will be dropped off line. Direct Commands Direct commands are performed while on-line (logged into via F1 or by calling in). There are 9 commands available by all users, and 4 sysop commands. ? - Display help. L - Logoff P - Goto the Previous menu. T - Goto the TOP menu (menu 0). U - Display User List G - Goto menu, i.e. G 6 would take the user to menu #6. W - Who, display who else is currently on the system. I - View Index of menus. C - Change your user information. 2 Sysop Only M - Modify Menu (see below on how to use). R - Reset Bulletin Flag. Forces all users to read the BULLETIN.TXT file on their next login. A - Assigns a co-sysop to a menu, i.e. "A SPUDS" would assign a user called SPUDS as the co-sysop of the current menu. Z - Change user access, i.e. "Z SPUDS" would allow you to change the access level, or to delete the user SPUDS. Creating / Modifying the Menu It is up to the main Sysop to create and customize the menus to suit you and your users needs. Note that whenever you are logged in as the Sysop (or anyone with an access level of 200 or more), to the right of each menu item is a number in parenthesis. This number is the absolute line number in the menu, and this is the number that should be referenced whenever modifying the menus. Each menu can have no more than 9 menu items. If a menu needs more items, simply make the last menu item access another sub- menu. When the "M" direct command is invoked, the program ask for the menu item # to change. Enter the absolute line number of the menu option you wish to create/change. To create a new option, select a number (1-9) not yet used in the menu. Next, the program will ask which "function" the menu item is to perform. Functions are entered as a single capital letter, of which will be described shortly. Now the program will prompt for a description of the menu function. Enter anything up to 40 characters long to describe the menu option. This description is what will appear when the menu is displayed. The program will will now ask the access level of the function. Enter a number from 0 to 255. Entering a zero will disable the function. A user must have an access level equal to or greater than the menu item access level to be granted access. Users whos access levels are less than the menu items access level simply won't see the item displayed on the menu. Depending on the function selected, the system may prompt for a filename and a directory name for the function. If a filename is required, do not enter any drive letters, directorys, or extensions of the file. File extensions are automatically assumed depending on the function selected. Here is a list functions and what they do: Function Description C Conference mode. D Download mode. E Enter a Message mode (filename required). F Displays a file mode (filename required). K Kill a Message mode (filename required). L Logoff. 3 M Create a sub-menu (directory name required) P Purge Messages mode (filename required). R Read Message mode (filename required). S Survey Message mode (filename required). U Upload mode. Here is a detailed description of each of the above functions: C - Conference This is a chat mode, where all users of the system may converge and "chat" with one another. When invoked, simply enter a line of text you wish to transmit. Transmission of the text is not performed until ENTER is pressed at the end of the line. Enter "/WHO" to see who else is in the Conference mode, or enter "/EXIT" to exit the conference and return to the calling menu. D - Download This function allows callers to download files using simple ASCII file transfers (if the file to download is an ASCII file) or by using XMODEM checksum protocol. When invoked (the system already assumes the user knows a valid filename) the function immediately ask the user for the name of the file to download. Hint: use the F function to allow users to view a list of filenames available for downloading. If a valid filename is entered, the function will determine if the file is ASCII or binary. If it's a binary file, only XMODEM protocol is allowed, otherwise, the user is given a choice. This function allows only files in the current menus directory to be downloaded. E - Enter a Message This function is one of a set of 5 related functions that allows the SYSOP to build message bases. When selected by a user, this function allows the user to enter a message, public or private, to the message base filename entered when the menu option was created. All message bases contain the file extension of .MSG in your DOS directory. When the function prompts to whom the message is for, enter the user ID of the user you wish to send the message to or enter ALL if it's a general message to be read by everyone. If the message is address to SYSOP, the message is automatically re-directed to the co-sysop of the message base (if one is assigned via the "A" direct command). F - Display File This function allows the filename specified when creating the option to be displayed. All filenames specified must have an extension of .TXT. Make sure the file is an ASCII file, or the system will probably hang when an attempt is made to display it. 4 K - Kill a Message This function allows a user to kill any messages created by or addressed to him. Messages are simply marked deleted, and are not physically removed until a Purge is performed. L - Logoff Logs the user off and disconnects the modem. This does the same thing as the "L" direct command. M - Menu Creates a new sub-menu from which even more functions may be utilized. When creating, the system ask for a directory name also. All files (.TXT, .MSG, file uploads and downloads) will then have to be in the directory (if one is specified). All directory names must be suffixed with a backslash (\). Directory names may also be prefixed with other drive designators. This will allow you to use other drives on your system. Sub-menus may be nested as deeply as you wish, as long as no more than 32,767 menus exist in your system! P - Purge Messages This is a utility for any message bases you have created. This function will physically remove all deleted messages from the message base, and will renumber all messages consecutively. This function should only be used if nobody else is accessing the message base being purged, otherwise, the system may crash (this may be fixed in later versions if proven to be a problem). R - Read Messages This function allows users to read messages entered from the "E" function. S - Survey Messages Allows users to survey messages from a message base. When using this or the "R" function, message numbers may be suffixed with + or - to direct either forward or reverse retrieval respectively. U - Upload Files This function allows callers to upload files using simple ASCII file transfers (if the file to upload is an ASCII file) or by using XMODEM checksum protocol. 5 Misc Information 1) Make sure you create a BULLETIN.TXT file. This file is displayed for all new users and to all users if the sysop direct command "R" is performed. 2) Be sure to create a NEWUSER.TXT file also. This file is displayed to all new users. It should contain basic information about your system, it policies for new users, or whatever you want. 3) The system records the login and logoff time of each caller in two files, the CALLERS.TXT and the HISTORY.TXT files. The CALLERS.TXT file keeps track of the last 100 transactions, and puts the most recent transactions at the top of the file. The HISTORY.TXT file records all transactions and places the most recent transactions at the end of the file. In many BBS programs, this information is directed to the printer where it can be examined easier. However, we feel this information is more useful in a file where the data can be manipulated by other programs if you wish to charge for access time, or keep track of system usage, or whatever. The CALLERS.TXT file is handy to allow other callers to view since it is always the same length and because it displays the most recent transactions first. These files can be deleted at any time, the system will simply create them and start accumulating again. Remember that the HISTORY.TXT will grow and grow, so be sure to delete it periodically to keep if from getting too big. 4) When in the SETUP mode (F4), the program will accept one baud rate per port. Even if a multi-baud rate modem is hooked up, the port will work only at the baud rate specified. This can be both a blessing or a curse. It's obviously a curse if you wish for 300 or 1200 baud callers to call in on the same line, but a blessing if you wish to reserve certian phone lines for specific baud rates. Let's assume you have 2 1200/300 baud modems and one 2400/1200/300 modem. If 1200 baud modems were using the 2400 baud modem all the time, then real 2400 baud users wouldn't get the chance to take advantage of the higher speed. Also, many Sysops like to keep 300 baud users off the system since many are just kids tying up the system. This method allows you to reserve modems for certian baud rates. 5) Modem DIP switch settings. Obviously, the program requires a Hayes (or compatible) internal or external modem. The Hayes DIP switches should be set at UUDUDUUD. If your modem's DIP switches aren't compatible with a Hayes, then set up your modem as follows: 1) Forced DTR disabled 2) Forced Carrier Detect disabled 3) Auto Answer disabled (the software handles this) 4) Command recognition enabled All other settings are either not used or set by the software. 6 Possible Future Enhancements 1) More SPEED! The program is currently written in Turbo Pascal 3.0, and is relatively fast, however, if all ports are being used and the program is running on a PC class machine, the system would probably crawl along at less than 300 baud for all users, no matter what the modem speed is! Obviously, the faster the machine, the better performance you can expect from the system. Using Nortons SI speed rating program, I would recommend that for every 2 points on the performance index that the system should be able to support one port fairly well at 1200 baud, thus, if your machines SI rating is 4, then 2 ports is the optimum, if the rating is 8 or more, then all 4 ports should run at an acceptable speed at 1200 baud. These are worst case estimates, actual mileage on your PC may be better. Anyways, if enough support is sent my way, I'll rewrite the program using Turbo C, which is supposed to be much faster. Also, another way to speed up the program from a programmers perspective is to use interrupts for all the serial I/O. Currently, this version of the software must poll all ports at all times, waiting for something to happen. This waste CPU time, and using interrupts would use CPU time only when an I/O port needs serviced. 2) Sysop definable user information fields. Perhaps you, as a Sysop, would like to know more about your users than the system currently collects. Future versions may allow you to do this. 3) Allow surveys. This would allow the sysop to define survey questions to take surveys from users. 4) More Co-Sysop control over their respective SIGS, such as individual user files for SIGS. 5) A user profile section which would allow users to examine information about other users and perform searches by key fields. 6) Impliment other file transfers; at the least get a CRC version of XMODEM going. 7) Allow automatic detection of baud rates. 8) On-line, multi-user games, or perhaps a library of functions to allow Sysops to develop their own applications. 9) Real-time operation. Pre-allocating a number of minutes the system may be used each day by any specific user. 10) Automatic screen width adjustment for users using less than an 80 column screen. These are just a few of the improvements that I can think of off the top of my head, I'm sure you can think of many others. If you become a registered user of the MUBBS, I will encourage all Sysop suggestions and comments that would improve the system. If you have a good idea, I may impliment it! 7 In Closing: Make sure that you are satisfied with the operation of MUBBS before you send me any money. There is no guarantee that current or future versions will work satisfactorily on your machine (however, if the current version works, then future versions will work on your machine). Factors such as computer compatibility, system speed, serial port addresses, and modem compatibility could present a problem on some systems. The whole idea of shareware is to allow perspective buyers time to use and test the program, and if you intend on using the program, then you buy it. If you have any questions about the system (even if you are not a registered user yet), don't hesitage to call the Flagship MUBBS, or call me personally at the phone number given at the beginning of this file anytime from 6pm 'till 10pm EST. Note that I reserve the right to not answer any questions to non-registered users who abuse this privilege, in other words, unless you are a registered user, you are limited to the amount of support you will get from me. I'm going to concentrate most of my efforts by supporting those who have supported me also. I sincerely hope you enjoy your new system! Allen Howell Software Construction Co. 8