T H E B B S - P C 4 . 2 0 ================================ - The FULL documentation. - REVISION 1.2, December 5th, 1987. Written by: The Assassinator. Introduction - Section 1.0 ============ =-=-=-=-=-= Finally, after a long time, someone (like me) has finally written a full and complete documentation to my knowledge. This documentation will cover both the Amiga version and the IBM version. This Documentation is long and fustrating to read, but all and all it will pay off in the end. If you are going to run a BBS, you need a minimum of 2 880k drives, or 2 360k drives on the IBM version. A HD (Hard Drive) would greatly be recommended, for both Amiga & IBM BBS's! - About 20 megs or MORE. Also for the Amiga users, I STRONGLY suggest that you use RAM disks, it speeds things up considerably. For the IBM users, don't worry about RAM disks, the IBM is much faster than the Amiga! ALSO, there are a few great BBS's I would like to mention for you Amiga Enthusiests to call, here they are: - Canadian Amiga Connection (CAC BBS) at (416) 283-5027 - 24 hrs. P.S. Watch for upcomming REVISIONS of this documentation, incase i missed or left out anything on this REVISION of BBS-PC. Also we will have future revisions for BBS-PC version 4.2 as well. The Documentation. - Section 1.1 - GETTING STARTED. ================== =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Ok, If you have an Amiga have about 6 blank formatted disks, and for the IBM users, have about 10 blank disks. Setting up the BBS-Pc will take a while and will not be easy, so be patient. To make things easier, I am going to write this documentation thinking that IBM users ALL have HD's (Hard drives) and Amiga users will have 2 880k drives and/or a HD (Hard Drive). First of all make a for amiga users have a BLANK disk ready. Now create a C, S, LIBS, L, FONTS, & a DEVS directories. Then create a "BBS-PC!" direc- tory & install the disk. IBM users create a Directory in drive C called "BBS-PC!" as well (without the quotes for AMIGA & IBM users). Also IBM users make sure your system has a DOS directory on drive C, and that your system boots up off of drive C. AMIGA users...In you startup sequence make sure it looks something like this... STACK 20000 CD DF0:BBS-PC! RUN BBS-PC! Also Amiga users you may have a VD0: device called a virtual disk, which means you can run the BBS-PC! directory directory in ram, all you have to do if you have a VD0: (virtual disk is say: ASSIGN BBS-PC!: VD0:BBS-PC! And naturally copy all the files that would go on DF0:BBS-PC! to VD0:BBS-PC!, But this will be explained more further in this documentation. NOW for IBM users, have the AUTOEXEC.BAT file say: PATH C:\DOS C: CD \BBS-PC! BBS-PC! Now this autoexec file will not set the time and date, so be sure to set that later on. Now also have you CONFIG.SYS file say: FILES=45 BUFFERS=30 DEVICE=ANSI.SYS Be sure to have the file ANSI.SYS in the Main directory of drive C. FOR AMIGA try to have all the files in directory C...I will list a entire list of files which are needed on the disk(s) at the end of this documentation telling you what you need an all. I will also do the same for IBM users as well. IBM USERS, be sure to use dos 3.2 for this, or 3.1 if you need to. BE SURE TO HAVE ALL DOS commands in the DOS directory of drive C!!!! This is essential or the bbs will always be crashing on you. Now for both AMIGA & IBM users, the BBS-PC! directory is EXACTLY THE SAME! Both computers will have the same files names and all, unless you modify the bbs program! In you BBS-PC! directory you must have the following files to have you bbs running... BBS-0.MEN BBS.P MSGTEXT.DAT UDKEY3.DAT UD-0.MEN CFGINFO.DAT USERKEY.DAT UDHEAD.DAT TM-0.MEN NODE01.DAT USERDESC.DAT CALLKEY.DAT SM-0.MEN MSGKEY.DAT UDKEY1.DAT CALLER.DAT EXIT-0.MEN MSGHEAD.DAT UDKEY2.DAT LOGIN.TXT UDINFO.TXT UDHELP.TXT LOCKOUT.TXT REGISTER.TXT NEWUSER.TXT LOGOUT.TXT ALL the files ending in ".DAT" are the data files bbs-pc uses... You will have to create those with BBSINIT program. All those files ending in ".MEN" are the menu files, like the help lists for each section of the bbs. (eg. file section, message section, main menu, etc). All the files ending in ".TXT" are the text files, they are ASCII files, which may be edited with ED for the AMIGA, or EDLIN for the IBM, but these are SHITTY editors, so I suggest using SCRIBBLE 2.0 for the AMIGA, and any ASCII wordprocessor for the IBM. I will later on in this documentation go further in depth about the various about files. The files you will need to create and run your bbs are: AMIGA FILE NAME IBM FILE NAME Description: =============== ============== ========================================== BBS-PC! BBS-PC!.EXE The actual BBS program to run the BBS. BBSINIT BBSINIT.COM This file creates all you data files, the files ending in ".DAT" BBSMENU BBSMENU.COM Compilies you menus so the BBS can read and the help menus. BBSFIX BBSFIX.COM BBSFIX will repare and reconfigure the data files if the are damaged, by a power failure, etc. BBSINFO BBSINFO.COM Keeps all the status on the bbs and whats going on with the bbs. You only need to run this program once. BBSTALLY BBTALLY.COM This utility allows you to tally up the total votes, etc for questionares. BBSFILE BBSFILE.COM This files is used for adding multi files to the bbs catalog at once. CHKFILE CHKFILE.COM This program is used to cross reference files on the bbs to make sure there are no duplicates, etc. Later on as we encounter these files I will then also go in to greater depth about these programs. It would be a good idea to have these files as well in you BBS-PC! directory too! Section 1.2 - Setting up the BBS. =========== =-=-=-=-=-=-=-=-=-= Ok, go to you BBS-PC! directory and delete all the files ending in ".DAT" Then run the program IN THE BBS-PC! directory called BBSINIT. It will first show you: BBSINIT - BBS-PC! Initialization program - 4.12 Copyright (c) 1986/87, Micro-Systems Software Inc. Generate parameter file? Answer yes with a "Y" (without the quotes of course!) Then it will prompt you with: Drive/Path for user files: This means where you want you user files. Here are some examples of drive paths for the amiga followed by the examples for the IBM. DF0:BBS-pc!/ - Amiga C:\BBS-PC!\ - IBM Now after you have chosen a logical drive path for that, then it will say: Drive/Path for user files: This means where do you want the data files for the users to go. These data files for users contain Passwords, Where they are from, The phone #, their ratio, etc. After you got that logical drive path done for that then it will say: Drive/Path for U/D files: This means where do you want your data files for the Upload/Download files to go. This is NOT asking you where you want the ACTUAL FILES TO DOWNLOAD go, this only means where do you want the files that contain data such as who uploaded the program, how long the program is, weather it is a TEXT file, or a BINARY file & also contains descriptions on the files too! Once you got that logical drive path done for that, then it will say: Drive/Path for log files: This is asking you where you want the data files for the user caller log to go. Like the previous questions, simpily enter the logical drive path for this as well. NOTE: for all of the above I would suggest you have it in the BBS-PC! directory, it makes things easier, For Amiga users that have HD's (hard drives) then have a directory on DH0: called BBS-PC! as well, so for the above questions you could of answered for a logical drive path: DH0:BBS-PC!/ And for Amiga users with 2 880k drives I would have used: DF0:BBS-PC!/ And for IBM users with HD's I would have put: C:\BBS-PC!\ Now after you have created those files it will now say: Generate main BBS files? Answer yes to this. This second set of questions will ask you for logical drive paths for the ACTUAL files that are UPLOADED & DOWNLOADED GO. Now it will say: Enter up to 16 paths for U/D files Drive/Path #1: Now directory #1, is the most important of all. This means that whereever you assign directory #1, all NEW FILES UPLOADED, will go to the drive path selected for directory #1. Now if you enter "C:\uploads\" (for the IBM) all new files uploaded will go to drive c, directory UPLOADS! Now an example for the Amiga would be DF1: or DF1:UPLOADS/ or if you have a Hard Drive DH0: or DH0:UPLOADS/ . After you enter the logical drive path for Directory #1, it will say: Drive/Path #2: You then enter what logical drive path for directory #2. After it will Drive/Path #3: These prompts will go up to Drive/Path #16: Then it saves that data file the BBS-PC! directory. Now after completing the Drive paths for the U/D section you have one final last question. Next it will say: Initialize BBS node file? Respond with a yes. ( "Y" for yes...Without the quotes) It will then say: Which node (1-99)? Answer with a "1" (without the quotes) to say you will be network number one. Nodes 2, 3, 4, to 99 at networks, so you can network the BBS's together. By this I mean, you have more that 1 COM port (A COM port is a modem port!). But for now, I would think not many of you have more than 1 COM port, so I will not explain anything about this.. In future REVISIONS of this documentation, I will go further in to depth about Networking. Now after the drives whirl a bit more, you are done using the program BSINIT , although you may use it in future use to change drive paths for U/D section. To do this DO NOT TYPE BBSINIT!!1 Type "BBSINIT -U" (without the quotes) to change the U/D drive paths!!!! The LAST STEP of this section of the documentation is to run one last file. Type BBSINFO. It will ask you for a siries of questions, which mean nothing, so just hit RETURN for every question, then it will create a file. You might get an error that says something like "Can't Create ISAM files" If you get this error, don't worry about it, just proceed with the rest of this documentation. If you get a "Can't Create ISAM files" when running the program BBSINIT, then something is wrong. If this is so, try running BBSINIT a few more times, and it it continues to give you the same error, then, your version of BBS-PC is screwed up! Section 1.3 - Creating the ASCII text files. =========== =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Now, this is the section where you create the TEXT files, the login file that is displayed when a user logs on, and other various files. The files that need to be created are: FILE NAME: Description: =========== ======================================================= LOGIN.TXT This file is displayed when a user logs on to the bbs, after they hit RETURN to connect to the BBS. REGISTER.TXT This file is displayed when a user goes to add themself to the user log. This file can state wheather they can enter their real names or not, or you can say things like, NO LAMERS! ETC, ETC, ETC! NEWUSER.TXT This file is displayed after the user logs into the bbs. It is displayed ONLY AFTER the BBS can't find the name in the user log. LOCKOUT.TXT Lockout file is when a user has been blacklisted from the system, or kicked of the BBS. This file can say: - UNTIL FURTHER NOTICE, FUCK OFF! - or something like that! LOGOUT.TXT This file is displayed each time the user loggs off the BBS. This is good for putting your friends BBS numbers, in this file, if you are in a network or whatever! UDINFO.TXT This file contains info on the Upload/Download Section of the BBS. It can say things like, "This is a pirate BBS ONLY", or "You must ARC ALL FILES", ETC. UDHELP.TXT This file contains EXTRA help on the bbs. This file can can contain info on how to use wildcard commands in the U/D section. BULL-x.TXT This is an opening bulletin for members that is displayed after the user enters their password. The "x" in BULL-x.TXT can replaced with a section number or letter, The valid sections are 0-9 and A, B, C, D, E, & F. Sections will be discussed in the next section of this documentation! Section 1.4 - Logging on for the very first time. =========== =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Now we are finally ready to power up the BBS. If you have not already done so, enter the Date & Time on your computer. Now go to the BBS-PC directory and type BBS-PC! to run the program. The bbs would power up and look something like the following. If the BBS does not boot up, and goes back to the DOS prompt or CLI prompt then that means you are missing some files. ALSO if you do not already yet have the ".MEN" files then, you can CALL THE CANADIAN AMIGA CONNECTION at (416) 283-5027 to obtain sample menu files to run the BBS. The BBS will ** NOT ** run if you do not have these files. Heres something like what the BBS will look like when it starts up! Copyright (c) 1985,86,87 Micro-Systems Software, Inc. 12798 Forest Hill Blvd #202, WPB, FL. 33414 ______________________________________________BBS-PC 4.20 Node #1_ | | | | | EXIT TO DOS | | TOGGLE CHAT OPTION | | LOCAL BBS LOGIN | | UPLOAD/DOWNLOAD MODULE | | TERMINAL MODULE | | MAINTENANCE MODULE | | | | CHAT: OFF | | MODEM: 0 1 | | | | HIGH-MSG: 0 USERS: 0 DIR/0: EMPTY | | MESSAGES: 0 CALLS: 0 FILES: 0 | | | | | | 12:30 AM 05-DEC-87 | | | |________________________________________________________________| What the Function Keys do. ========================== F1 - Break Into Chat mode. To exit chat mode type "/" (without the quotes) and hit return three times. NOTE: When the user requests chat mode, the users name in the status window will be highlited to yellow. F2 - Disconnect user from the system. This will kick the user off at anytime, even during Downloading/Uploading as well. F3 - Increase users time by 15 minutes. This will not modify the user record and record this. This 15 minute time increase will only be valid for that present logon. You may keep hitting the F3 key, and the user could logically end up with 72 hours, depending on the number of times the F3 key is hit. F4 - Will make the new user a member. It will take the member defaults set by the system and add that user too the file. Now make sure the user later on enters a password, a phone number, and location, since this is no recorded odviously by hitting F4. F9 - Toggles the screen on/off to save the life of your monitor. F10 - Toggles printer on/off for a Hard copy. Section 1.5 - Using the Sysops Module. =========== =-=-=-=-=-=-=-=-=-=-=-=-= To get to the sysops module form when you first start up the bbs, use the ARROW KEYS UP & DOWN. Once in the sysops module, you will be at a command prompt. Now I am assuming the commands are set up somewhat similar to what other BBS's have it as, and how the BBS-PC manual has it as well. Ok, the first command we want to use is command "V" (without the quotes). the "V" option is for EDITING NODE DEFAULTS. After hitting "V" you will see: A:File open mode : IPL B:Wake-up on call : No C:Local node bell : On D:Window frame : On E:Active COM lines : F:Polled COM lines : OPTION A....gives you the option weather you want you data files open all the time, or just open the files when someone logs on to the bbs. If you see IPL, it means files are open all the time, and if you see LOGIN, it means that files are ONLY opened when a user calls. Now the difference between haveing the data files open all the time is that the bbs does not take for ever to open all the files so the user does not sit and wait until all the files are open. Sometimes as a result of the files not being open is that the user thinks because the BBS is taking so long that the BBS has crashed, and they cut their carrier. Now if the files are open, the BBS will not waste anytime opening them, and will have no wait states. Now if you have a HARD drive the files do not have to be open, since the HARD DRIVE is so fast that the bbs does not wait at all. So if you are using a Hard Drive be sure that option A is for LOGIN only and will only open the files when a user call the BBS. Now that Disadvantages of having the IPL option which has the files open all the time is that it increases the chances of you BBS crashing. Since if there is a power failure, it will have all the file open and data might be lost. NOw if you are running you amiga of of one or more external disk drives, then you have no choice but to have the IPL feature, since the BBS would be *** TOO *** slow, and I mean slow, like wait states of a minute or more, that's no good! OPTION B...Now the default of this option is set to NO, which means that the screen stays on all the time. Now if you have this default set to YES, then when the BBS is waiting for a call, the BBS waits for five (5) minutes, and if noone calls, then the bbs turns of the output to the screen, to save wear and tear on your monitor, and does not BURN an image into you screen. OPTION C...This is options default was set to ON, meaning that the bell would go off if a user hit the wrong command, or if you got to the maximum line length, and the BBS would sound the bell to say the cursor can't go any further. Now this become a pain in the ass, in the middle of the night this damn bell goes off and wakes you up, so to eliminate this, just set the default to OFF, and the bell never comes on! OPTION D...This is asking you if you want a window frame around the screen. So all input will be shown inside the window frame. If you do not want a window frame the set this default to OFF. OPTION E...hit E, and set the active comport for 0, which means COM port 1. Now if you are running you BBS off of COM port 2, then set this default to 1 for COM port 2. OPTION F...Same as the above, set it to 0 for COM PORT 1 or 1 for COM port 2. Now most of you sysops will always set it to COM PORT 1, so set the default to 0. NOTE: Options E & F are also used for a multi-user system, and networking. I will explain more about these options in the future REVISIONS of this documentation. Now from the sysops module type "M" (without the quotes) to set the modem defaults. When you hit this option, you will see: Modem #0 A: Default baud: 1200 B: Modem type : 0 C: Setup string: ATs0=1s2=255e0q0v1x1| D: Dial Prefix : E: Dial suffix : F: 300 result : CONNECT|\ G: 1200 result : CONNECT 1200|\ H: 2400 result : CONNECT 2400|\ Modem #1 I: Default baud: 0 J: Modem type : 0 K: Setup string: L: Dial Suffix : M: Dial Prefix : N: 300 result : O: 1200 result : P: 2400 result : Now modem #0 is for COM port 1, whic 99% of you will be using, and modem #1 is for COM port #2, which hardly any of you will use. Now modem #0 defaults are set up ready for use. The only thing you might have to change is option A, which is the baud rate. If you have a 2400 baud, the naturally you will have to change that option. Look in the back of this Documentation for different modem settings for different modems. Well, now that you've got your modem defaults setup, we can go on now to BBS section names or SIGS (Special Interest Groups) as some others mighty know it as. NOw before I go any further I would like to explain a little about SECTIONS or SIGS. Each Section may contain a topic of interest to users or the section could just be used by the BBS as a UPLOAD/DOWNLOAD area, etc. BBS-PC supports 16 sections. The Valid sections are sections 0 through 9, and sections A, B, C, D, E, F. Which total 16 sections. On my BBS I have Section 1 for E-Mail / FeedBack, Section A for general messages, Section E for games, Section B for Docs/Text Files, etc, etc, etc. It would be a good idea to have on section defined as a GAMES lIST, or UPLOADS/DOWNLOADS, so the user knows where to send the file(s) they upload to. Now to Edit/Create sections type "N" (without the quotes) to edit section names. You will then see: 0: [-------] 1: [-------] 2: [-------] 3: [-------] 4: [-------] 5: [-------] 6: [-------] 7: [-------] 8: [-------] 9: [-------] A: [-------] B: [-------] C: [-------] D: [-------] E: [-------] F: [-------] Section Number: Now according to the section you wish to Edit/Create just type the section ID, (EG, type 1 for section one, type C for section C, got it?!?!) Lets Create one section on our own. Type "A" (without the quotes). It will say: Section Name: You then enter what you want to call the section. For an example, I call section A on my BBS * GENERAL MESSAGES * . Once you enter the desiried section name, then it will say: FLAGS (DFTPB*R): You then enter the default flags you want for that section. Here is a list of what those flags mean. D Show date in message header. (DATE) F Show message sender in message header. (FROM) T Show address in message header. (TO) P Indicates that private messages are allowed in section. B Says that section Bulletin is available. * Use pseudo name for uploads. R Allows messages in section to be delete after read by sender or reciever or sysops. Descriptions of these FLAGS. ============================ D....Allows a date to be show on the message. If this flag is not set, then the date will not be shown. F....If this flag is set, then when the user goes to read a message, then the user who wrote the message, their name/alias will be displayed in the message header. If this flag is not set, then the no one will know who sent the message. T....If this flag is set, then in the message header the person the message is being sent to will see that that message was intended for them. Now if this flag is not set, the no one will know who the message(s) were intended for. P....This option is for private messages. If this flag is set then that allows users to leave private messages in that section you are creating or editing. Now if this flag is not set then when the user goes and tries to send a private message so no other users can see it (except for sysops of course!) then the system will say, sorry, no private messages allowed in that specified section. It is a good idea to always have this flag set so user can leave private messages. B....Now this is an important flag. If this flag is set that means the BBS will try to display a bulletin for that section. For an example, since we are creating section A, then it will look for a ACSII text file called BULL-A.TXT. If we had this flag set for section 3, then it would look for a ACSII text file called BULL-3.TXT. One more example, If it you had the flag set for section F, then it would look for a ASCII text text file called BULL-F.TXT. Now I hope you got the idea. If the flag is not set, then it will not look for this file. Now you may have 1, or 2 sections set for a bulletin flag, or you can have all, if you wish. Further in this manual, I will explain how certain users have access to certain sections, and how they can, or can't read these ASCII text file bulletins. *....The * flag weather or not the file upload/download for that sections uses "pseudo filenames" or not. A pseudo filename is a name created by BBS-PC to shield the operating system File Two (2) of BBS-PC! v4.20 documentation. ALL RIGHTS RESERVED CAC BBS.!?!?!?! MAYBE!?!? Well now we are ready to set up our Terminal Defaults. To do this type "W" (without the quotes) at the sysops module prompt. Then you will see the following, or something similar to the following. Name Page LF NULS CLS codes BS codes Protocol --------------------------------------------------------------------- 0: Commodore Amiga 75 x 22 Y 0 12 0 0 0 8 0 0 HVP 1: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 2: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 3: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 4: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 5: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 6: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 7: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 8: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 9: 80 x 24 Y 0 12 0 0 0 8 0 0 Text Terminal number: Select the number and enter any changes that need to be made. You will be prompted for: New Name : Page width: Page len : Linefeeds : NULS : CLS code 1: CLS code 2: CLS code 3: BS code 1 : BS code 2 : BS code 3 : It is very important that you correctly enter the Clear Screen Codes (CLS codes), and the Back Space codes (BS codes). If the BS codes are not correctly entered, then when a user is in the message section, the word wrap will not work, and everything will look SHITTY! Also it is nice to have the CLS codes set properly as well, to take full advantage of BBS-PC's features. After completing the above information, the BBS will prompt you with: Options: T: ASCII Text X: Standard XMODEM C: XMODEM with CRC Y: YMODEM B: YMODEM-Batch K: Kermit Z: Zmodem This is asking you what protocol you want to select for the TERMINAL you are editing/creating at the moment. For those of you that don't know, different types of protocols are used in the File Section, during uploading and downloading. Once you have finished editing/creating all the TERMINALS you want, then just hit RETURN when it says TERMINAL NUMBER: to get back to the SYSOPS module prompt. When you are back at the prompt, then will set up the user defaults. To do this type "S" to change user defaults at the prompt. You will then see the following or something similar to that. Guests: A: RD access : 0123 B: WR access : 0123 C: UP access : 0123 D: DN access : 0123 E: Privilege : 5 F: Time limit: 30 G: D/L Ratio : 5:1 Members: H: RD access : 01234567 I: WR access : 01234567 J: UP access : 01234567 K: DN access : 01234567 L: Privilege : 30 M: Time Limit: 60 N: D/L Ratio : 10:1 Enter line to change: Definitions of the above. YOU SEE: Definition: ============== ======================================================== RD access What sections the user can read messages & bulletins from WR access What sections the user can write messages in. UP access What sections the user can upload to. DN access What sections the user can download from. Privilege The level of access the user has on the BBS. The access levels may be from 0 to 255. Time Limit How long the user can stay on the BBS. These limits can vary from 1 minute to 120 minutes. D/L ratio Ok, if the ratio is set to 5:1, then this means that every five (5) programs a user downloads, they must upload one (1) file to download another five (5). The difference between guests and members is that guests are new users, they have just called, the BBS and havn't yet become a member. A member is a regular registered user of the BBS. So the access you give guests means that the guest will only will be able to do what you want them to do and see, same applys to members. Now once you have gotten the User defaults, then you have one last step to complete in setting up defaults. The last and final step in setting the defaults is to, set the SYSTEM Defaults. To do this type "T" (without the quotes) to CHANGE SYSTEM DEFAULTS. Once you have typed T, then you will see the following, or something similar. System defaults: A: Maximum messages: 200 B: Maximum users : 300 C: Maximum uploads : 100 D: Caller log size : 50 E: Caller log range: 0-255 F: Highest menu set: 0 G: Log-in method : 1 H: Upload reward : 0 I: New Uploads : Closed J: Time limit mode : Day K: Sleep time (min): 5 L: Sysop Password : Enter line to change: A....This default holds the maximum amount of messages allowed on the system. So, just say the maximum default for messages is 200, then when a users goes to enter the 201th message, the system, will delete the OLDEST message, and make room for the NEWEST message. This default may be changed at any time. B....This default means the maximum number of user the BBS will hold. So if the default is set for 500, then when the 501th user calls to register, the BBS will say that the system can't hold any more users, & restrict the user from becomming a member until the default is raised. C....This default holds the maximum number of uploads the system can have. So if the default is set for 400, then when a user goes to upload the 401th program, then the BBS will say that the CATALOG IS FULL! Until a program is deleted. D....The number entered for this default will be the maximum number of USER ALIAS/NAMES that can be stored in the RECENT CALLER LOG. The recent caller log is the option where you type U, to list the MOST recent callers. E....I am not too sure about this one, but just leave it as it is, "0-255" (Without the quotes) F....The default will tell the system what is the highest Menu set. For most of you sysops, you will only have one set of menus. If you make more menus, then the default will have to be changed, according to the number of menus your BBS will have. I will talk about MENUS further in this documentation. G....these are different types of login methods. here is a list of what the different login methods do. LOGIN METHOD # What it does. ================ ==================================================== 1 Asks members for FULL name. 2 Asks members for first & last name & location. 3 Asks members for first & last name. 4 Asks members for FULL name & location. H....Is the upload reward default. This means that if this default is set to one (1) or more than every time a user uploads something, then the file size and the upload reward is does some mathimatical calculations, and gives the user MORE system time, taking in to consideration the size of the file. (eg. If the Upload reward is set to one (1) and someone uploads a file that is 600k, then the user will get 7 or 8 minutes added to their daily time limit.) I....I am not too sure what this means but, but it is not that important, since I have never touched it. Just leave it as you see it. J....Time Limit mode. Ok, in every users file, they have a time limit. Lets just say that one user has 40 minutes. Now if this default is set to DAY, then that means the user has 40 minutes a day. Now if this default is set to LOGIN or soemthing like that, then that means the user has 40 minutes EACH time they log on, which means they can log on 3 times a day for an example and have used 120 minutes (3 x 40). Most BBS's have this default set for DAY. K....SLEEP TIME. Ok this default holds the number of minutes the user can stay inactive on the BBS. (eg. If the default is set for 5 (mins) then if the user just sits at the command prompt, then after 5 minutes, the BBS will log of the user.) L....This password is used for in menus, if you decide to have a section that requires a password. This is called the SYSOP password, but not the actual SYSOP's PASSWORD, NO! A prompt would say SYSOP password, and you would enter whatever it is set to here. Well now you have finally set all the defaults. Now just one last thing, edit the SYSOP's user file. Type "L" (without the quotes) at the prompt and it will say NAME, then enter SYSOP . After you type in SYSOP, you will see a whole bunch of status. Then type "/" (without the quotes) at the next available prompt. The you will see the following or something like it. 1: Terminal : 2: Section - 3: Password : 4: Status : Expert 5: Protocol : Text 6: CLS codes: 12 0 0 0 7: BS codes : 8 0 0 8: Page size: 76 x 24 9: Linefeeds: Yes 0: NULS : 0 Enter line to change: Enter line three (3) and it will say; Password: Then enter the password you wish to use for the BBS. Well, now we have finally finished this section of this Documentation is setting up the BBS. Now one of the hard parts awaits us. In the next part of this Documentation, I will show you how to create menu(s) and how to use the, etc, etc, etc! MAKING MENUS ON BBS-PC =-=-=-=-=-=-=-=-=-=-=-= BBS-PC is a great BBS for diversity. It allows the SYSOP to do what they please, and not restricted to the lame menus as other BBS's have such as the SHITTY BBS program Forum (Haa Haa BILL!) BBS-PC has four (4) manditory menus it must have, that is written into the actual code of BBS-PC. Once you have these menus, you may have what ever menus you desire afterwards. The menus you will need are.. BBS-0.MEN (Main BBS menu) UD-0.MEN (Upload/Download menu) TM-0.MEN (Terminal modem menu) SM-0.MEN (Sysop's Module.) Each un-compiled menu MUST have a MENU statement and its field at the top of that menu, and the last line of that menu must say ENDMENU These menus are first to be entered in ASCII text file. I suggest you use a wordprocessor to make these menus. Say you make the menu EXIT-0.MEN, you could call the text file EXIT.TXT. then when you went to compile it, you would type BBSMENU EXIT.TXT, and it would compile the file EXIT.TXT. The commands used in menus are... MENU , TITLE , ITEM , IRET , ENDMENU. The MENU Statement =-=-=-=-=-=-=-=-=-= The MENU statement is the first line to EVERY menu. Here is an example line. I will explain what it does... MENU = BBS-0.MEN, "Your Command (CAC)-> ", 1, 1 The menu is the statement. BBS-0.MEN is the file name that menu will be called after it is compilied. The BBS will use that file name you enter. In this case it would be BBS-0.MEN "Your Command (CAC)-> " is the command prompt that will be displayed when the BBS is using that menu and is waiting for a command. So lets say you are in menu BBS-0.MEN, it will say Your Command (CAC)-> for a prompt. ,1 ,1 The first 1 is for the BBS to reconize when to show the menu. By this I mean Weather or not to show What is inside the quotes for the TITLE statements and the ITEM statements and the IRET statements. Here is a summary of that default. 0 = Never display 1 = Display for all novice users that are not in expert mode. 2 = Display to all users regardless weather they are expert users or not! The last 1 in the menu statement is the type of prompt. 1 = Enter data, then hit return. 2 = HOTprompt. All this require is a key to be entered, and away it goes. examples.. MENU=BBS-0.MEN, "Your Command (CAC)-> ", 2, 1 Displays to all users the menu, and is not hotkeyed. MENU=BBS-0.MEN, "Your Command (CAC)-> ", 1, 2 Displays to novices only, and is hotkeyed. MENU=BBS-0.MEN, "Your Command (CAC)-> ", 2, 2 Display to all users, and is hotkeyed. THE TITLE STATEMENT. -------------------- The title statement is sorta like a print statement. This will display what is ever inside the quotes... TITLE = "oodbye. Log off CAC BBS." This will be printed as.. oodbye. Log off CAC BBS. or something like... TITLE = "<$> - Sysop module.", 200- This is so that users with privilege 200 or more will see this line. TITLE = "pplicate to become a member.", -10 This means that users with privilege 10 or less will see this line. ALSO!!! BBS-PC has a few neat features that versions 4.20 and up only work with. Here they are... %r - Time remaining in the form 00:00 (HH:MM) %m - Time remaining in minutes. %t - Current time % - Current date EXAMPLE FORMATS to follow.... ----------------------------- TITLE = "[%m minutes remaining on bbs] ? - Help." or... TITLE = "Current time is %t and the date is %d" or... MENU = BBS-0.MEN, "(%m min. left) CAC BBS-> ",1, 1 THE ITEM STATEMENT. ------------------- The Item statement is where the BBS states if the user enters the defined key, carry out a certain function number, if the user has the required access levels, etc... ITEM = S, "tatistics of my user status.", -, 6, 0 This means that if the users enters S at the prompt, the BBS will execute function 0. the -, and the 6 are as follows. The - Means the user does not need any access to use that function. The 6 means that not specified section access is requiried. Here is a list of section access results. 0 = Requires specified section access. 1 = Requires specified section with mask 2 = Requires RD access to that section. 3 = Requires WR access to that section. 4 = Requires DN access to that section. 5 = Requires UP access to that section. 6 = Requires no section access at all. 7 = Requires a sysop password is set. RD means Read, WR means write, UP means upload, and DN means download. examples... ITEM = H, "acker section.", 150-, 7, 105, HACK-0.MEN This the 7 in "150-, 7, 105" means that the BBS will ask for the SYSOP password here. That does not mean THE REAL SYSOPS password, it is meant in a system type password. This password may be altered in the SYSTEM DEFAULTS function. ITEM=R, "ead messages.", 20-, 2:38AC, 11 This means the user must have access 20 or more, and must have READ access to sections 3, 8, A, and C to use this command. ITEM=?, !, -, 6, 101 The ! means there is no screen out put. This means the user does not have to have a privilege level or any section access at all. This statement would have showed the menu of commands to the user.. (that is all stuff that is within the quotes.) THE ENDMENU STATEMENT. --------------------- The ENDMENU statement must be at the end of each menu, or the BBS does not know where the menu ends. Example. MENU=EXIT-0.MEN, "Log off. [Y}es/[N]o/[L]eave a message to SYSOP", 2, 2 TITLE = "thanx for calling CAC BBS at: 416-283-5027." ITEM = Y, ""\, -, 6, 100 ITEM = N, ""\, -, 6, 105, BBS-0.MEN ITEM = L, ""\, -, 6, 10 ENDMENU The above was a complete menu, and would work when compilied. the line ITEM=N, ""\, -, 6, 105, BBS-0.MEN means that if the user types N, the BBS will load back in menu BBS-0.MEN and continue from there. The TITLE statement is shown to all users. MAKING QUESTIONAIRES... ----------------------- Making questionnaires is good for having more applications, i getting more information from the user like, what bbs's they are on. In my example of a questionnaire menu, I will be using the example of an application questionnaire.... qa=ADDR.QA, ADDR.TXT display=" " display=" Information from you.." display=" =-=-=-=-=-=-=-=-=-=-=-=" display=" " question="Are you sure you want to fill out an application?", 2 display=" " question=" State you Alias & FIRST REAL name-> ",1 question=" State you VOICE & DATE LINE (if you have one)-> ",1 question=" What BBS's are you on?? ",1 display=" " question=" Is this correct (Y/N)? ",3 endqa Commands... ----------- QA.. Is the opening line, (like menu statement) the first filename ADDR.QA, is the actual filename the questionnaire will be compilied under. ADDR.TXT is the ASCII textfile the information/results can be viewed from. DISPLAY.. Is like a print line (like a TITLE statement). This displays what is ever inside the quotes. QUESTION.. Question line. Asks a question, then stores in in the TEXT file. ,1 at the end if the line is a normal question line. ,2 is to return to main menu. if Y is entered, it exits to main menu. ,3 displays what you entered, then asks if the information entered is ok, and ready to save and exit questionnaire. ENDQA.. is the LAST line entered in a questionnaire. (Its like a ENDMENU) YOU MUST have this line at the end of every questionnaire. To compile questionnaires type BBSMENU filename (that is whatever you decide to call you uncompilied questionnaire text file. eg. BBSMENU QUEST.TXT ---------------------------------------------------------------------------- I explain further in this manual how to compile menus and how to do it. Also In this ARC file I suppilied a few menus that you could use and try. For help on menus, or want updates on supplementary menus call The Canadian Amiga Connection at 416-283-5027, and request for help. Section 3.0 - The commands, & what they do. =========== =-=-=-=-=-=-=-=-=-=-=-=-=-=-= Ok, BBS-PC has functions numbers for commands, so when you type in the command, it executes a function number you specified in your menus. So here is a a brief list of the commands, after the list, I will talk about each & every one of there commands. Function 0-User Statistics Function 1-Section Names Function 2-Change Section Mask Function 3-Register/Add user Function 4-Change/Look at users record Function 5-Print caller log Function 6-Time on system Function 7-Chat with SYSOP. Function 8-Toggle Expert user status Function 9-Leave a message. Function 10-Leave message to SYSOP Function 11-Read messages Function 12-Read E-mail Function 13-Scan messages Function 14-Delete a message Function 15-Print file catalog Function 16-Browse through files Function 17-Upload a file Function 18-Upload a file from local Function 19-Download a file Function 20-Read a file Function 21-Kill/Delete a file Function 22-Add a new user Function 23-Delete a user Function 24-Change a user Function 25-Purge inactive users Function 26-Purge messages Function 27-Print user list Function 28-Reset bulletin flags Function 29-Update user defaults Function 30-Define section names Function 31-Terminal defaults Function 32-Modem defaults Function 33-User defaults Function 34-System defaults Function 35-Change node defaults Function 36-List phone directory Function 37-Change phone listings Function 38-Dial a # from directory Function 39-Dial a unlisted number Function 40-Upload direct Function 41-Download direct Function 42-Kill a file direct Function 44-Search catalog descript. Function 46-LIst all users on BBS. Function 100-Exit from system Function 101-Display current menu Function 102-Return specified levels Function 103-Return top level Function 104-Call another menu Function 105-Goto another menu Function 106-CLS, and type a file Function 107-Type a file Function 108- CLS, then type a file without "More Y/N/NS?" Function 109- Type a file without "More Y/N/NS?" Function 110- Change a menu set. - Toggle between menus. Ok, now I will go into depth about the commands and what they do. ============================================================================ Function 0-User Statistics Parameters - NONE. -------------------------- This function is automatically executed when a user logons on to the bbs, & then displays the following statistics or something like it. Last call : 05-JUL-87 High msg : 6543 Access : 01234ABC Calls : 23 Msgs : 93 Downloads : 34 Uploads : 25 Privilege : 20 D/L ratio : 5:1 This function is useful to the user, so they can see their various statistics, and will be helpful while one the bbs. EXAMPLE LINE FOR MENU: item=Y, "Y...Display your user statistics", -, 6, 0 or for users with access level 10 or more only... item=Y, "Y...Display your user statistics", 10-, 6, 0 ============================================================================ ============================================================================ Function 1-Section names Parameters: NONE ------------------------ This command will display to the user what sections they have access to and what they can do in each section. When this function is executed, you will see something like the following, depending on what sections the user has access to. Sections: 0: [R---] E-mail / Feedback 1: [RWUD] Programming section 2: [--UD] PD Utilities?!?!?! A: [RW--] * General Messages * B: [RWUD] Text files/ Docs. C: [RWUD] Hack/Phreak/Card D: [--UD] Upload/Download Area Now this list tells the user what they can do in each section. Here is a small list of what the SYMBOLS do. R...Read messages in that section W...Write messages in that section U...Upload files to that section D...Download files from that section Now to take an example, lets use section A. This says to a user(s) that they can only READ & WRITE messages in that section, uploading & downloading is denied to the user by the BBS when attempted. Now take section D for example. In section D, the user can ONLY UPLOAD & DOWNLOAD, when they try to READ, OR WRITE messages in those sections, then the BBS denies their attempt. And finally, our last example which will be section C. In this section, they can READ, WRITE messages and UPLOAD & DOWNLOAD files as well. This type of access is stored in each and every users file, and may be modified at any time too! EXAMPLE LINE FOR MENU: item=S, "S...Display sections you have access to.", -, 6, 1 ...or for users that have access 45 or more... item=S, "S...Display sections you have access to.", 45-, 6, 1 ============================================================================ ============================================================================ Function 2-Change Section Mask Parameters: !, -, +, ------------------------------ or the section number(s) This command is used to screen out, or section of a user to sections. But what is different about this command is that, the user has the option to screen off the sections they don't want, from the sections already givin to them by the SYSOPs. To do this they type what ever command to execute the function, and they will see something similar to the following, depending on what type of access each user has, or what sections each user belongs to. Sections: „ „ „ „ 0: [R---„] E-mail / Feedback 1: [RW--] Programming section 2: [--UD] PD Utilities !?!?!? A: [RW--] General messages B: [RW-D] Text files / Docs. C: [RWUD] Hack/Phreak/Card D: [--UD] Upload/Download Area Section(s): Now this is asking the user what section(s) they want to keep. Now just say the wanted to keep sections 1, & A, & C, & D only. They would type "1AC" (without the quotes) and then they would see something like: Sections: 0: [----] E-mail / Feedback 1: [RW--] Programming section 2: [----] PD Utilities !?!?!?! A: [RW--] General messages B: [----] Text files / Docs. C: [RWUD] Hack/Phreak/Card D: [--UD] Upload/Download Area. Now to do the same thing using wildcards, the user could have typed something like this.... "+1+A+C+D-0-2-B" (without the quotes) and they would've gotten the same results as typing 1ACD. Now the -, means take away section, and the + means add section. EG... +1+A+D-0-2-B-C would take away sections 0, 2, B, and would keep sections 1, A, C, D, get it!?!??!?! Sorta eh? One more tip. When it says "Section(s):" to restore ALL SECTIONS, just type "!" (without the quotes), yes that is right, just type an exclimation mark to restore all sections givin to the user by the SYSOPs. EXAMPLE MENU LINE: item=M, "M...Change/Edit sections" -, 6, 2 ...or for users with access 30 or UNDER 30 ONLY... item=M, "M...Change/Edit sections" -30, 6, 2 ============================================================================ ============================================================================ Function 3-Register/Add to user file PARAMETERS: NONE ----------- (NEW USER APPLICATION COMMAND) This command is executed for new users only. This command is for the NEW user to add themselves to the user log, and fill out all the nessessary data needed by the BBS. When this command is EXECUTED, the ASCII text file called REGISTER.TXT will be displayed FIRST, then all the questions will be answered afterwards. The user will be asked the following, or something similar to that effect. Your Name : City, State : Phone number: Password : Terminals: 0: Commodore Amiga 1: Commodore 64's 2: Apples 3: IBM'ers! Terminal type: Options: T: Standard ASCII test X: Standard XMODEM C: XMODEM with CRC Y: YMODEM B: YMODEM-Batch K: Kermit Z: Zmodem Now once the NEW USER has entered all this data, the system will then show the new user what they have entered, and it will say CORRECT, then the new user has the option of saying NO, and re-entering the data, or YES, to agree that everything is OK! If and when the new user says the the data is Ok, then the STAT: NEW USER (at the bottem left corner or the CALLER box) it will then read STAT: GUEST. Once this is done, the user is added, and you then later as a SYSOP(s) make the new user(s) from GUEST(s) to MEMBER(s). EXAMPLE MENU LINE: item=A, "Add yourself to the user log.", -5, 6, 3 ...or to increase the new users access after filling out the application... item=A, "Add yourself to the user log.", -5, 6, 3:10 The "3:10" says to execute function 3, & after doing so, raise the NEW USERS access level to 10. PS. There are MANY, MANY other combination menu lines, I am just trying to give you examples of different types of menus lines, to get the most out of BBS-PC! ============================================================================ ============================================================================ Function 4-Change/Examine user Parameters: NONE! ------------------------------ This function is used by the user themself to modify their settings of their user record. After the function is executed, they will see the following, or something similar. The Assassinator Toronto, Canada. 1: Terminal : Commodore Amiga 2: Section : 1 3: Password : KUEL 4: Status : Expert 5: Protocol : XMODEM 6: CLS code : 12 0 0 0 7: BS codes : 8 0 0 8: Page size: 80 x 24 9: Linefeeds: Yes 0: NULS : 0 Enter line to change: Now the user may make any changes they want at this time, or just HIT RETURN to return to the command prompt. Now if for and example, they wan to change their terminal, the BBS will ask them what new type of terminal they want to have. If they change their password, it will ask them what new password they want, it is as straight forward as that. EXAMPLE LINE MENU: item=O, "O...Change your user options.", -, 6, 4 ...or for users with access 10 ONLY not higher or lower, just 10!... item=O, "O...Change your user options.", 10, 6, 4 ...or for user with access 7 or more only... item=O, "O...Change your user options.", 7-, 6, 4 ============================================================================ ============================================================================ Function 5-Print caller log. Parameters: NONE! ---------------------------- Now this commands is used for displaying the most recent callers that were just on the BBS. When this command is executed, it will show users from most RECENT to the OLDEST. Here is what it will look like when this function is executed, or it will look something like it. #146 - Node #1 2400:8N1 The Assassinator Toronto, Canada. In : 11:23 PM 06-AUG-87 Out: 11:52 PM Sum: 2 messages, 4 uploads, 1 download #145 - Node #1 1200:7E1 Tele Thief Toronto, ON In : 10:03 PM 06-AUG-87 Out: 10:14 PM Sum: Snoop #144 - Node #1 1200:8N1 Lucifer Somewhere, CT In : 8:17 PM 06-AUG-87 Out: 8:23 PM dd a member to the user file.", 200-255, 6, 22 This says that user with access 200 to 255 may use this function. ============================================================================ ============================================================================ ============================================================================ Function 23-Delete a user Parameters: USER NAME ------------------------- This function is used to delete or kick off a user from the BBS. Once you have entered the user name, it will the confirmation of deleting that user. You have an option of Y for yes, and N for No. Choosing N will return to the sysop module, and entering Y will delete the user. EXAMPLE LINE MENU: item = D, "elete a user from the board", 200-250, 6, 23 this allows users with access 200 to 255 to use this function. ============================================================================ ============================================================================ Function 24-Change a user Parameters: USER NAME ------------------------- This function is used to alter/change a users file record. After the users name has been entered, You will see: Lucifer A: Location : Bloomfield, CT. B: Phone no : 416-283-5027 C: Time limit: 120 D: Privilege : 145 E: Menu set : 0 F: RD access : 01ABC G: WR access : 01ABC H: UP access : BCDE I: DN access : BCDE J: SYSOP : Enter line to change: Now you have the option of changing LUCIFER's file. By typing the letter on the line you want to alter. Once you are content with the changes, type "/" (without the quotes) and you will get a new menu. 1: Terminal : ASCII Text 2: Section : 1 3: Password : CACRULES 4: Status : Expert 5: Protocol : XMODEM 6: CLS codes : 12 0 0 0 7: BS codes : 8 0 0 8: Page size : 80 x 24 9: Linefeeds : Yes 0: NULS : 0 Enter line to change: Once again you can make the nessessary changes, if any! Remember that at all times you may alter back and frothe from the first menu to this second menu by using the / (slash). EXAMPLE LINE MENU: item = C, "hange a users record.", 200-255, 6, 24 ============================================================================ ============================================================================ Function 25-Purge inactive users. Parameters: NONE! -------------------------------- This function is used to delete mass amounts of users. Or simpily just users who havn't called in a long time. When this function is executed, you will see something like the following prompts: Purge date: (mm/dd/yy) Privileges: (low-high) Are you sure? (Yes or No.) The first prompt "Purge date" asks you since what date you want to delete from. Say you enter 11/23/87 then it will delete all users that have not called up to that date that are in the privilege range I will next talk about. It will now say "Privileges". This means a privilege range you must enter from low-high. eg 12-30, will delete users with access 12 to 30. After this prompts it will ask for your confirmation by printing "Are you sure?". The it will proceed on to your request. EXAMPLE LINE MENU: item = P, "

urge users who have not called for a long time.", 200-, 6, 25 this will allows user with access 200 and up to use this function. ============================================================================ ============================================================================ Function 26-Purge messages Parameters: NONE! -------------------------- This function is similar to the last one, except this function deletes mass amounts of messages. Once this function is executed, you will be givin the following prompts: Message number: Locked messages? (Yes or No) Are you sure? (Yes or No) It asks for "Message number". This means what message number you want messages deleted up to. For example say you enter 625. It will delete message 625, 624, 623, 622 to the lowest message. The It asks you for "Locked messages". Locked messages are flags set on messages by high access users (Sysops) to prevent the original user from deleting it. If you answer yes to this, then the BBS will delete locked messages as well. EXAMPLE LINE MENU: item = K, "ill all messages from a message number.", 230-, 6, 26 this will let users with access 230 and up to use this function. ============================================================================ ============================================================================ Function 27-Print user list. Parameters: /G, /C, /P, USER NAME. ---------------------------- This function is used to list all current users or just specified users. The Parameters.. L/G - List guest users only that have not yet recieved membership access. Membership access may be givin at this point. Look further in this command to find out how. L/C - This will display all users with a continious display, and will not stop for command prompts. You can abort this function by using the CTRL P. This function is good if you want to print out your users and not have to hit return each time to list another user. HIT F10 to activate printer mode. THIS IS OPTIONAL! L/P - The function will list all users within a specified range of access you enter. L - This will just list users and stop fro prompts. You can also use wildcard commands such as L THE ADVOCATE and that will list The Advocates account. Here is what you will see when using this function: The Advocate Ph: 602-777-9999 San Diego, CA. Tm: Amiga 1000 ----------------------------------------------- Last call : 24-Nov-87 RD access: 0ABC Password : DUDE WR access: 0ABC Time limit: 55 UP access: BCDE Privelege : 30 DN access: BCDE D/U ratio : Disabled SYSOP : Downloads : 32 Uploads : 15 Calls : 43 Messages : 65 (D E L M Q): D is...Delete user. E is...Edit a user. L is...Leave a message to user M is...Make guest user a member. Q is...Quit to menu. EXAMPLE LINE MENU: item = L, "ist users.", 255, 6, 27 This allows users with access 255 to use this function. ============================================================================ ============================================================================ Function 28-Reset bulletin flags. Parameters: NONE! -------------------------------- This function is used to rest the bulletin flags for users. When a user reads that section bulletin (eg section A, is BULL-A.TXT) the bbs will not display that file again if they have read it once until that section flag is reset. You can do this by typing the section when it asks for bulletin section. ALso you can use: +13AC Would reset sections 1, 3, A, and C. +! Resets ALL bulletin flags. +!-C Resets all bulletin flags except for section C. EXAMPLE LINE MENU: item = R, "Reset bulletin flag(s)", 150-, 6, 28 This allows users with access 150 and up to use this function. ============================================================================ ============================================================================ Function 29-Update user defaults. Parameters: NONE! --------------------------------- This function is good for updating mass amounts of user records without manually editing each user. When you execute this function you will see the following prompts: Time limit: - This mans the new time limit you want to set. Privilege : - This is asking for the new access level you want to give. Menu set : - Asking which menu set you want these users to default to. RD access : - Read Access. Which sections do they have access to. WR access : - Write access. SAME AS ABOVE. UP access : - Upload access. SAME AS RD access. DN access : - Download access. SAME as RD access. Section : - Just hit return for this. Privilege (low-high): Are you Sure? (Yes or No) When it says "Privileges (low-high): it is asking what users with a certain range of access you want to alter. Say you enter 30-70, this will set the new defaults for all users with access 30 up to 70 with the new settings you just entered. Then it will ask once again ARE YOU SURE. Enter your choice, and carry on. EXAMPLE LINE MENU: item = lobal change to user defaults.", 255, 6, 29 ============================================================================ ============================================================================ Function 30-Define section names. Parameters: NONE! --------------------------------- This function is used to enter/change/alter section names, access, etc. When this function is executed you will see: Section: 0: [DFTP---] E-mail / Feedback. 1: [-------] 2: [-------] 3: [-------] 4: [-------] 5: [-------] 6: [DFT---R] CAC's NEW SOFTWARE. 7: [-------] 8: [-------] 9: [-------] A: [DFTPB-R] CAC GENERAL MESSAGES B: [DFTP--R] Text files / Docs. C: [DFTPB-R] HACKER SECTION! D: [DFTP--R] Utilities/Terminals E: [DFTP--R] GAMES LIST! F: [-------] Section: For example say we wanted to change section C. Type C for section and it will say: Current name: HACKER SECTION! New Name : Enter the new name you desire, or just hit return to keep the same, or enter spaces then return to make section name blank. then it will say: Flags (DFTPB*R): You then enter the flags you wish to have active for that section. Hit return when you are done changes. D...Shows date on message headers. F...Shows whos the message is FROM on messages headers. T...Shows who the message is TO. P...If this flag is present, private messages are allowed in that section. B...This indicates that there is a member bulletin for this section. Say you are editing section C, it will display BULL-C.TXT bulletin. *...Allows use of pseudo-names for uploads in that section. R...Allows user to delete THEIR message after they read it. EXAMPLE LINE MENU: item = N, " - Edit section names.", 200-, 6, 30 ============================================================================ ============================================================================ Function 31-Terminal defaults. Parameters: NONE! ------------------------------ This function is used to set terminal defaults for various computers. Once this function is executed, you will see something like: Name Page LF NULS CLS codes BS codes Protocol ---------------------------------------------------------------------- 0:Commodore Amiga 80 x 24 Y 0 12 0 0 0 8 0 0 XMODEM 1:Amiga 500/2000 80 x 24 Y 0 12 0 0 0 8 0 0 XMODEM 2:Other?!?!?! 80 x 24 Y 0 12 0 0 0 8 0 0 XMODEM 3: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 4: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 5: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 6: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 7: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 8: 80 x 24 Y 0 12 0 0 0 8 0 0 Text 9: 80 x 24 Y 0 12 0 0 0 8 0 0 Text Terminal number: You may make you selections now by entering the section you want to change. Look in the setup of BBS-PC configuration at the beginning of this manual to completely understand this function. When a user calls the bbs and is asked to pick a terminal setting, they will be prompted with something like this: Terminal type: 0: Commodore Amiga 1: Amiga 500/2000 2: Other!?!?!? The user will be asked to choose a terminal type, and their user file will default to the terminal defaults. EXAMPLE LINE MENU: item = W, " - Enter/Change terminal defaults.", 200-, 6, 31 ============================================================================ ============================================================================ Function 32-Modem defaults. Parameters: NONE! --------------------------- This function is used to set up you modem, so your modem will work in conjunction with the BBS. When this command is executed, you will see something like the following: (The following is what 4.13 would represent, to see the difference for 4.2 modem settings, look at the MODEM APPENDIX of this manual.) Modem #0 A: Default baud: 1200 B: Modem type : 0 C: Setup String: ATS0=1E0Q0V1X1| D: Dial prefix : ATDT E: Dial Suffix : F: 300 result : CONNECT |\ G: 1200 result : CONNECT 1200|\ H: 2400 result : CONNECT 2400|\ Modem #1 I: Default baud: 300 J: Modem type : 0 K: Setup string: L: Dial prefix : M: Dial suffix : N: 300 result : O: 1200 result : P: 2400 result : Enter line to change: A...Is the highest baud you modem will go. B...Is the modem type, which is usually 0, or 1 or 2. Modem types go up to 30. Check the appendix of this manual to see the modem types and what to set you modem type to. C...Setup string. This sets your modem up to recieve calls. Also too, look in the appendixs for different setup strings for different modems. D...Dial prefix. This is for call back security, or for the BBS to phreak back to the caller who does not know how to phreak, or just can't. More on this phreaking in future revisions of this documentation. E...Dial suffix. This would be the suffix of the string sent to the modem. Set it to the way you want. This is not a required default. F and G and H, just leave as shown. they are the result codes sent upon connection. EXAMPLE LINE MENU: item = M, "odem defaults. Change/Enter.", 255, 6, 32 ============================================================================ ============================================================================ ============================================================================ ============================================================================ Function 33-User defaults. Parameters: NONE! -------------------------- This function is used to enter/change the default settings of members and the guests. When this functions is executed, you will see something like the following: Guests: A: RD access : 123456 B: WR access : 123456 C: UP access : 01234 D: DN access : 01234 E: Privilege : 3 F: Time limit: 10 G: D/U ratio : 2:1 Members: H: RD access : 0123456789 I: WR access : 0123456789 J: UP access : 0123456789 K: DN access : 0123456789 L: Privilege : 30 M: Time limit: 45 N: D/U ratio : 5:1 Enter line to change: Definitions.. RD access= Read access to messages RD access = Write access to messages UP access= Upload access to sections DN access = Download access to sections Privilege= Access/Security level Time limit= Amount of time per call D/U ratio= Download/upload ration, how many downloads per upload given. To change any of the defaults, type the letter that is on the line you want to change. Once you are content with the settings, just hit RETURN to return to a menu. EXAMPLE LINE MENU: item = S, " - Change user defaults", 255, 6, 33 ============================================================================ ============================================================================ Function 34-System defaults. Parameters: NONE! ---------------------------- This function is used to change the system defaults. Once this function is executed, you will see something like the following: System Defaults: A: Maximum messages: 200 B: Maximum users : 300 C: Maximum uploads : 100 D: Caller log size : 50 E: Caller log range: 0-255 F: Highest menu set: 0 G: Log-in method : 1 H: Upload reward : 2 I: New uploads : Closed J: Time limit mode : Day K: Sleep time (min): 5 L: SYSOP password : Enter line to change: I explained what the defaults meant, and how to use them earlier in this manual, during the setup for BBS defaults. Look back there for reference to this command. EXAMPLE LINE MENU: item = T, " - Change/Enter system defaults.", 255, 6, 34 ============================================================================ ============================================================================ Function 35-Change node defaults. Parameters: NONE! -------------------------------- This function is also a set of system defaults. These defaults are kept in the NODExx.DAT file,, and can be changed through editors, but I do not recommend this, since you can seriously fuck things up! When you execute this command you will see something like the following: Node defaults: A: File open mode : IPL B: Wake-up on call : No C: Local node bell : No D: Window frame : On E: Active COM lines : 0 F: Polled COM lines : 0 Enter line to change: Again, earlier in this manual I describbed how to use the commands of this function, but I only want to briefly outline options E & F. (COM) These defaults are set to 0, which represents COM PORT 1. And 1 represents COM port 2. This is mainly concerened for the IBM'ers who can use several COM ports. So for Amiga users set this default to 0 for E, and F, and IBM users using COM PORT 1, set it to 0, unless otherwise. EXAMPLE LINE MENU: item = V, " - Edit node settings.", 255, 6, 35 ============================================================================ ============================================================================ Function 36-BBS-PC phone terminal phone book PARAMETERS: NONE! -------------------------------------------- This function is used to list all the phone numbers you have stored in the BBS for terminal mode. This is a reference commmand to look up phone numbers, etc. When you execute this command you will see something like: A: CANADIAN AMIGA CONNECTION.........1-416-283-5027 2400:8N1 Line: 0 B: Red Sector........................1-416-252-1478 2400:7E1 Line: 0 C: ................................................ 0:8N1 Line: 0 D: ................................................ 0:8N1 Line: 0 E: ................................................ 0:8N1 Line: 0 F: ................................................ 0:8N1 Line: 0 G: ................................................ 0:8N1 Line: 0 H: ................................................ 0:8N1 Line: 0 I: ................................................ 0:8N1 Line: 0 J: ................................................ 0:8N1 Line: 0 K: ................................................ 0:8N1 Line: 0 L: ................................................ 0:8N1 Line: 0 M: ................................................ 0:8N1 Line: 0 N: ................................................ 0:8N1 Line: 0 EXAMPLE LINE MENU: item = L, "ist BBS phone book directory.", 150-, 6, 36 ============================================================================ ============================================================================ Function 37-Change a phone book entry. Parameters: letters A to O. -------------------------------------- This function is used to change or enter a phone book listing in the terminal module. When you execute this function it will ask you for a listing from A to O. Once you have entered the letter you want, then it will ask alot of information. Lets use letter A for example. A: Canadian Amiga Connection.......1-416-283-5027 2400:8N1 Line: 0 New name : - Name of BBS. New number: - Phone number to BBS. Baud rate : - Baud rate you will use to call BBS. Parameters: - Use 8N1 for most BBS's. (7E1 is very rare) Modem line: - COM line 0 or 1. (0 = COM 1 / 1 = COM 2) After you have made you changes it will ask for another listing to change. So if that is all that changes you want to make then, then just hit RETURN to exit to a menu. EXAMPLE LINE MENU: item = C, "hange a phone book listing.", 150, 6, 37 ============================================================================ ============================================================================ Function 38-Dial a BBS with the phone book Parameters: A to O. ------------------------------------------ This function is used to dial a BBS with the preset defaults of a BBS to call. To use this function it will ask you for a listing A to O. You enter then letter, then it will dial that specified BBS. If you type DA for instance, it will dial listing A, without asking you what letter to dial. When dialing you will see.. %% Dialing %% You may abort at anytime by using CTRL P, or just wait it out. If the BBS is not up, or it is busy, it will say: %% No connection %% EXAMPLE LINE MENU: item = D, "ial a BBS from the phone book.", 255, 6, 38 ============================================================================ ============================================================================ Function 39-Dial an unlisted BBS number. Parameters: NONE! ---------------------------------------- This function is used to dial a BBS number that is not listed in the BBSphone book directory. When this function is executed, it will ask the following prompts: Number : Baud rate : Parameters : Modem line: Then it will carry on to dial the number. EXAMPLE LINE MENU: item = U, " - Dial an Unlisted bbs number.", 255, 6, 39 ============================================================================ ============================================================================ Function 40-Upload direct. Parameters: /Protocol, filename. -------------------------- This function is used to deal with uploading right to the Disk drive, or hard drive etc., with by passing the BBS cataloging system. When a user uses this command, the BBS will not enter the file into the catalog system for download. Just say we want to upload the file called CACGAME.ARC direct to the bbs to sub-directory DLOADS, then when it asks for file name type: (AMIGA USERS) (example) df1:dloads/CACGAME.ARC (IBM USERS) (example) C:\DLOADS\CACGAME.ARC Get the picture?????? EXAMPLE LINE MENU: item = $, "<$> - Upload direct to BBS", 200-, 6, 40 ============================================================================ ============================================================================ Function 41-Download direct. Parameters: /Protocol, Filename. ---------------------------- This function is used to download directly from the BBS weather the file exists in the file catalog or not. When this function is executed, the BBS will ask for a filename. Say you want to download a file called BBSDOCS.TXT from sub-directory TEXT that is in sub-directory DOCS from the root directory, you would type: (AMIGA USERS) (example) df1:DOCS/TEXT/BBSDOCS.TXT (IBM USERS) (example) C:\DOCS\TEXT\BBSDOCS.TXT Now ya get the picture???? --- EXAMPLE LINE MENU: item = *, "<*> - Download a file direct from the BBS.", 230, 6, 41 ============================================================================ ============================================================================ Function 42-Kill a file. Parameters: Filename. ------------------------ This function is used to actually delete a physical file from a drive. This command could be used to whip out the entire drive, besides the BBS. I do not even suggest you add this function to your menus, even by mistake, you could fuck things up!, but I will show the usage of the command anyways! When this function is executed it will ask you for a file name. Lets use SPACE.ARC as an example. Type for a file name: (AMIGA USERS) (example) df1:SPACE.ARC (IBM USERS) (example) C:\SPACE.ARC *** Imagine if the file name were df1:#? for amiga users or for ibm users C:\*.* , wouldn't that really make your day, so you see the potential danger of this command. EXAMPLE LINE MENU: item = K, "ill a file direct.", 255, 6, 42 ============================================================================ ============================================================================ Function 43-Exit to Dos. Parameters: Unknown... ----------------------- I know nothing about this command, until future revisions, that will help me out more. I do know that it exits to DOS (no shit eh?), and you can take it from there! ============================================================================ ============================================================================ Function 44-Search catalog descriptions Parameters: [string] --------------------------------------- This function is used to pinpoint files, but using a string to display files that have that string. Just say a user wanted to download all the available BBS's online, they would type S BBS ( or just enter BBS after typing s and return) The user might find some of the following files that might contain the file he is looking for, example: BBS-PC.ARC 24-NOV-87 280728-B BBS-PC version 4.13, good bbs program. BBSDOCS.TXT 24-NOV-87 156928-T BBS-PC documentation by The Assassinator. CUSTOM.ARC 22-NOV-87 195492-B Custom BBS software, ok BBS. EXAMPLE LINE MENU: item = S, "earch for a string description.", 15-, 6, 44 ============================================================================ ============================================================================ Function 46-List Users. Parameters: USERNAME ---------------------- This function is used for listeing users with access equal or less to yourself. It will display stuff like the following... Renzai Port Jefferson, NY 04-Dec-87 The Advocate Tuscon, AZ 07-Dec-87 Bill Best Red Sector. 07-Dec-87 Lucifer Bloomfield, CT 08-Dec-87 EXXAMPLE LINE MENU: item=L, "ist of users on the BBS.", 30, 6, 46 ============================================================================ ============================================================================ ============================================================================ Function 100-Exit system. Parameters: NONE! ------------------------- This function is used by the BBS when the caller/user wants to log off the BBS. (Really? No Shit eh. More of The Assassinators sarcassim..CAC RULES) This function will display the Connection time, elapsed time, messages in system, and messages read by the user. EXAMPLE LINE MENU: item = G, "oodbye. Log off Canadian AMiga Connection BBS.", -, 6, 100 ...Be sure to make access "-" (without the quotes) which is level zero, or the user will have to cut their carrier if they do not have enough access to log off. The Sysops' gotta be a FUCKIN' IDIOT to make a user have access to log off. ============================================================================ ============================================================================ Function 101-Display current menu. Parameters: NONE! ---------------------------------- This function is used to display the current menu the user is using. It is sort of like a help list command. When this command is used, all the TITLE statements or ITEM statements, etc with everything inside the QUOTES will be displayed on the screen. EXAMPLE LINE MENU: item = ?, " - Help menu, this one.", -, 6, 101 ...again, be sure not to define a access level so users can read the help menu.... ====================CAC BBS AT: 416-283-5027================================ ============================================================================ Function 103-Return top level. Parameters: NONE! ----------------------------- This function is used to return access control of menus to BBS-0.MEN. This means that when this function is executed, then BBS will default back to BBS-0.MEN, or the MAIN MENU!!!! This is useful for a user who is completely lost due to imcompentence, and has to get back to the main menu to start over again. EXAMPLE LINE MENU: item = M, " - return to the MAIN MENU of the BBS.", -, 6, 103 ============================================================================ ============================================================================ Function 104-Call another menu. Parameters: NONE! ------------------------------- This function is used to go back and forth between menus, for different options. Such as the MESSAGE BASE is one menu, the FILE SECTION is another, etc. It would be pretty lame to have just one menu. I strongly suggest to NOT use this function over function 105 which GOTOs a menu and does not CALL a menu, since by using the CALL (function 104) you can screw up the STACK in the processor, which would result in alot of BBS fuck ups! EXAMPLE LINE MENU: item = M, "essage Base.", 15-, 6, 104, MSG-0.MEN ....this would goto the message base menu.... item = F, "ile Section.", 15-, 6, 104, UD-0.MEN ...this would goto the FILE SECTION AREA. item = $, "<$> - Sysops module", 200-, 6, 104, SM-0.MEN ...This would goto the SYSOPS menu. ============================================================================ ============================================================================ Function 105-GOTO another menu. Parameters: NONE! ----------------------------- This function just transfers control from the control menu to the new one you specify, so function 103 would default to the control menu. I strongly suggest you use this function as I stated in function 104. EXAMPLE LINE MENU: item = A, "nsi graphic menu sets.", -, 6, 105, BBS-1.MEN ...Notice BBS-1.MEN is a 1 and not BBS-0.MEN, this is switching menu sets, although you could say .... item = F, "ile section", 15-, 6, 105, UD-0.MEN ============================================================================ ============================================================================ Function 106-CLS, Type a file. Parameters: NONE! ------------------------------ (CLS stands for CLear Screen). This function will first clear the screen using the CLS codes set in the terminal defaults, then log the ASCII text file and display it. AFter every 23 lines or so, the BBS will then ask the user "- more (Y/N/NS)-" to continue on or not. This command could be used as a command to present bulletins in the bulletin section, or to present help screens, or for a hacker section, etc... EXAMPLE LINE MENU: item = L, "ist all available PBX's/Diverters", 150-, 6, 106, PBX'S.TXT ..or something like this.... item = C, "odes. List of SPRINT/MCI/ITT", 150, 6, 106, CODEZ.TXT =======================CAC BBS AT: 416-283-5027============================= ============================================================================ Function 107-Type a file, without CLS. Parameters: NONE! -------------------------------------- This function is exactly the same as function 106, but this function just displays the text file, and does not CLear the Screen. -- - The function will after 23 lines or so prompt the user with... "-more (Y/N/NS)-" to continue on or not!!!! EXAMPLE LINE MENU: item = D, "ial-ups for MCI and ITT.", 150, 6, 107, DIALUPS.TXT ============================================================================ ============================================================================ Function 108-CLS, type a file without "-more (Y/N/NS)-" Parameters: NONE! ------------------------------------------------------- This function is like function 106, but does not have the "-more (Y/N/NS)-" prompts showing up after every 23 lines or so. This function will just clear the screen ad display the file specified. EXAMPLE LINE MENU: item = L, "ist of pirate BBS's.", 100-, 6, 108, BBSLIST.TXT ============================================================================ ============================================================================ Function 109-Type a file, without "-more (Y/N/NS)-" Parameters: NONE! -------------------------------------------------- This function is just like function 108 but does not clear the screen. Also this function does not stop for prompts of "-more (Y/N/NS)-" at all. EXAMPLE LINE MENU: item = T, "op ten pirate boards", 100-, 6, 109, TOP10.TXT ...or something like.... item = R, "eview on the BEST board, CAC BBS!", 10-, 6, 109, CACBBS.TXT ....Hee hee, Maybe I am aragant! But it is true!..... ============================================================================ ============================================================================ Function 110-Change menu set. Parameters: NONE! ----------------------------- This function is used to enhance to BBS, to to give a better impression to the users. ALot of SYSOPs use this feature to switch from ASCII text menus, to the awsome powerful ANSI color graphics. Having different menu sets makes the BBS look alot nicer if the menus are done fairly well. To use this command you must first know something about your menu filenames. If you have not already noticed, menu files are generally listed ending in the -0.MEN type tihn, eg. BBS-0.MEN. the 0 in -0.MEN stands for the menu set 0, so think of it as x, eg -x.MEN and x can vary, due to the amount of menu sets. So if you were to go and make the second menu set which would end in -1.MEN, and the third menu set would be -2.MEN... See how it works? This means the the beginning of your menus would have to change the first line to something like: MENU = BBS-1.MEN, "CAC BBS-> ",1 More one menu shit in the menu section of this manual. EXAMPLE LINE MENU: item = T, "oggle between ASCII/ANSI graphics", 40-, 6, 110, BBS-1.MEN ============================================================================ Thats the end of the Functions, Holly shit, that took along time to type. YOu can thank The Assassinator (me!) for his fine job of typing out this manual. Call Canadian Amiga Connection (CAC) BBS at: 416-283-5027. ============================================================================ A P P E N D I X S E C T I O N. SECTION ???.??? of The BBS-PC 4.20 Manual ========================================= THE BBS-PC 4.20 APPENDIX SECTION. ----------------------------------------- By The Assassinator of CAC BBS. Canadian Amiga Connection at: 416-283-5027 ========================================== "One of the Longest Docs EVER TYPED OUT!!" Section A-1 / BBS-PC Utility programs. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ..BBSINIT.COM - Configuration program to start the bbs or edit directory setups, etc... BBSMENU.COM - Used to compile menus so the BBS can understand them. BBSINFO.COM - Creates text file showing current statistics of the BBS. BBSFIX.COM - Used to repair data files is damaged. (eg. power failure.) BBSFILE.COM - Used to add multiple files to the catalog file section. CHKFILE.COM - Provides useful SYSOP utilities for mass file maintenance. BBSINIT...Is used to create configuration files, but is also used for redefining directories and where to look for them. To re-edit the directory paths, type BBSINIT -U, then you sill see the currrent settings... IBMUSERS... | AMIGA USERS.... ------------------------------|------------------------- path#1: C:\DLOADS\ |path#1: DH0:DLOADS/ path#2: C:\DLOADS\ |path#2: DH0:DLOADS/ path#3: D:\DLOADS2\ |path#3: DH1:DLOADS/ ***IMPORTANT NOTICE**** Directory 0 is the (path #1) is the default directory where all the new uploads go to. SO make sure you go lots of room there. Enter you paths you have, or want to set up, then hit return on a line when you are done making your selections and that will save the configuration file and exit to DOS. BBSINITs parameters (versions 4.20 and up) -c:xxxx Will set the caller count to xxxx calls. example.. BBSINIT -c:562 sets the number of calls to 562. -m:xxxx Sets the HIGHEST message number to xxxx. example.. BBSINIT -m:6283 sets the HIGHEST message count to 6283. -m (ALONE) will set all users high message to 0 (zero) example BBSINIT -m -------------------------------------------------------------------------- BBSMENU...This utility is used to compile the ASCII text files of menus. To use this program you must have first created menus using a wordprocessor or some kind of editor. I will not explain to much here except how to to use the this program, since I explained how to make menus fully in the MENU SECTION of this manual. Lets just say you have made the menus in a file called MENU1.TXT, to compile the menu you would type from dos... BBSMENU MENU1.TXT And this would compile you menu, provided that there is not errors in the making of the menus. Do not get fustrated in making these menus, since you will make a lot of typos, and it make take several times before you may finally compile all the menus. You may make the menus in one big file, or you can make alot of separate little files. Making little files is easier to edit, so you don't have to re do all the menus everytime you want to make one little change. SO BE SURE TO CAREFULLY TYPE IN YOUR MENUS. COMMON ERRORS IN COMPILING... Syntax errors...The most common type of errors are either not putting a comma after each field, or you typed in a period instead of a comma. Another big error most of us do is forget to put quotation marks in, or leave out one, or leave out the all, in any case check to see you have 2 quotation marks, no more, no less per line ion you menus, if you have the need to use quotat- ion marks at all in that line. This will account for 80% of all errors... Be sure to run through all your menus after successfully compiling them, so you are assured that they all work, and the bbs won't crash... --------------------------------------------------------------------------- BBSINFO....Not yet typed out... --------------------------------------------------------------------------- BBSFIX....This is a universal program, and will make every SYSOP happy. It is great and a will fix the board when all the data files are corrupt. It works 95% of the time, to perfection, the other 5% would mean that your data files are so screwed up, that they are unfixable!!! To activate this program, type BBSFIX at a dos prompt. You will then see the following: BBSFIX - BBS file rebuild/recovery - 4.12 Copyright (c) 1985, Micro-Systems Software Inc. General rebuild or Message links (G/M)? If G is chosen the you will be asked if the program should force rebuild. It will the ANALYZE, and rebuild all datafiles ending in ".DAT". If you do not choose force rebuild, then BBSFIX will repair and rebuild those files only needing to be rebuilt. The parameters for BBSFIX are: (for versions 4.20 and up) -g:y General rebuild. -f:y Force rebuild. -l:y Message links. Also :n can be used to specifiy no parameters, and BBSFIX will ask the questions. --------------------------------------------------------------- BBSFILE....This file is used for entering mass amounts of files into the BBS catalog file section of the BBS. This can save ALOT of time! The following parameters can be used in any conjunction, as I will show. -s:x Section Number/letter -d:x Directory number chosen for files to go to. -t states that all files that will be entered are text, if -t is left out, it will presume that all files are binary. -n No description, this will not ask you for a description for every file entered. c:\path\ Drive and directories to look at for the files. If you do not set any parameters, BBSFILE will default to section 0, directory 0, binary files, and asks for descriptions. When you run BBSFILE you will see something like the following: BBSFILE - BBS-PC! Local file utility - 4.12 Copyright (c) 1986, Micro-Systems Software Inc. [----------------------------------------] BBSDOCS.TXT HFRO1.WAR HFRO2.WAR ARC21 TNT.TXT LSD.TXT GARRISON.ARC [----------------------------------------] Example... filename appears, and you enter description... [----------------------------------------] BBSDOCS.TXT Docs for BBS-PC! BY THE ASSASSINATOR! Examples of parameters used... BBSFILE -s:5 -d:11 -t (Used section 5, directory 11, and all are text files.) BBSFILE -s:c d:3 -n (Section c, directory 3, with NO DESCRIPTIONS!!!) (AMIGA) BBSFILE df1:games/#? -s:e -s:7 (Goes to df1: in directory GAMES and takes everything since used wildcard, files were put in to section E, directory 7.) (IBM) BBSFILE D:\DLOADS\*.txt -s:b -d:5 -t (Goes to drive D, directory Downloads and takes all files ending in TXT, puts all files into section B, directory 5, and all are text files.) -------------------------------------------------------------------------- Appendix A-2 / FILES / MODEMS DEFAULTS. --------------------------------------- FILES... NOTE: Knowledge of C language is manditory, in editing the data files. File name Rec Length Description: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= BBS.P -- General purpose parameter file CFGINFO.DAT -- Node independent configurations NODExx.DAT -- Node dependent configurations MSGKEY.DAT -- Keys for messages by number MSGHEAD.DAT 114 Message header. MSGTEXT.DAT 256 Message texts USERKEY.DAT -- Keys for user records by name USERDESC.DAT 120 User records UDKEY1.DAT -- Keys for files by name UDKEY2.DAT -- Keys for files by directory UDKEY3.DAT -- Keys for files by age UDHEAD.DAT 108 File Headers. CALLKEY.DAT -- Keys for caller by number CALLER.DAT 72 Call records ** ALL files are in a B-TREE index structure. ** BBS.P contains indexed filed, record sizes, & drives/paths for opening and accessing. This is a standard ASCII file. ** Files consist of 128 byte header record followed by records of length which is determined by contents, except for BBS.P & CFGINFO.DAT (EXPLAIN MORE) 'C' structures contain reference to the following and interperated as listed. char signed 8 bit interger byte unsigned 8 bit interger short signed 16 bit interger bits unsigned 16 bit interger ushort unsigned 16 bit interger long signed 32 bit interger Intergers are stored in a 8088 format (low to high) and data alignment is explicitly shown. Bit fields are assigned from 0-15 but have been padded to force alignment to bit 15. Miscellaneous constant definitions #define NUM_TERM 10 /* computer types */ #define NUM_LINES 2 /* number of phone lines */ #define NUM_DIR 15 /* number of phone directories */ #define NUM_SECT 16 /* number of section names */ #define FPATH_LEN 30 /* file name path lengths */ #define FNAME_LEN 12 /* file name lengths */ #define NAME_LEN 24 /* user name length */ #define LOC_LEN 24 /* user location length */ #define PHONE_LEN 12 /* user phone length */ #define PASS_LEN 10 /* user password length */ #define CAT_LEN 15 /* file catalog names length */ #define DESC_LEN 40 /* file catalog desc length */ #define FROM_LEN 24 /* message FROM fields length */ #define TO_LEN 24 /* message TO fields length */ #define SUBJ_LEN 24 /* message subject length */ #define MSG_LEN 2000 /* message length */ #define TERM_LEN 15 /* computer name lengths */ #define SECT_LEN 20 /* section name lengths */ #define CATG_LEN 20 /* directory name lengths */ #define LINE_LEN 15 /* phone line names length */ #define PNAME_LEN 15 /* phone directory name lengths */ #define PNUMB_LEN 25 /* phone directory number lengths */ #define MODEM_LEN 30 /* MODEM IPL STRING LEN */ #define DIAL_LEN 20 /* modem dial/suffex length */ /* COMM parameters */ typedef struct { ushort : 10; /* reserved */ ushort parity: 1; /* comm - parity 1 = on */ ushort even : 1; /* comm - parity 1 = even */ ushort stops : 1; /* comm - stops 0-1 */ ushort word : 3; /* comm - word size 0-3 */ } PARAMS; /* terminal parameters */ typedef struct { ushort : 15; /* reserved */ ushort linefeed: 1; /* linefeeds */ byte nuls; /* nuls */ byte protocol; /* protocol */ byte page[2]; /* page size */ byte bs[3]; /* BS codes */ byte cls[3]; /* CLS codes */ char name[TERM_LEN+1]; /* terminal name */ } TRMNL; /* CFGINFO.DAT record structure */ typedef struct { ushort : 14; /* reserved */ ushort dir0_ok: 1; /* Directory 0 downloads */ ushort by_call: 1; /* time limit per call */ short max_msg; /* maximum messages in system */ short max_user; /* maximum users in system */ short max_log; /* maximum call log */ short max_ud; /* maximum U/D files */ short reward; /* upload reward */ short t1; /* reserved */ short t2; /* reserved */ short t3; /* reserved */ long sleeptime; /* sleep timeout (adjusted) */ byte log_p1; /* log privilege low */ byte log_p2; /* log privilege high */ byte t4; /* reserved */ byte hi_men; /* highest menu set */ short log_type; /* login method */ short limit[2]; /* guest/member time limits */ short priv[2]; /* guest/member privileges */ bits rd_acc[2]; /* guest/member read access */ bits wr_acc[2]; /* guest/member write access */ bits up_acc[2]; /* guest/member upload access */ bits dn_acc[2]; /* guest/member download acccess */ byte sav_sec[2]; /* guest/member save section */ byte sec_name[NUM_SECT]; /* section flags */ char sec_name[NUM_SECT] [SECT_LEN+1]; /* section names */ char ud_alt[NUM_SECT] [FPATH_LEN+1]; /* alternate UD paths */ char syspass[PASS_LEN+1]; /* SYSOP password */ byte menu[2]; /* guest/member menu sets */ byte align; TRMNL trmn[NUM_TERM]; /* terminal parameters */ } CFGINFO; /* NODExx.DAT record structure */ typedef struct { ushort : 12; /* reserved */ ushort frame : 1; /* frame on/off */ ushort bell : 1; /* bell on/off */ ushort wakeup : 1; /* wakeup on call */ ushort opens : 1; /* file opens type */ bits line_mask; /* rs-232 lines mask */ bits poll_mask; /* poll mask */ ushort serial; /* upload serial number */ short mbaud[NUM_LINES]; /* modem default bauds */ byte mtype[NUM_LINES]; /* modem result types */ char modem[NUM_LINES] [MODEM_LEN+1]; /* modem ipl codes #1 & #2 */ char dialp[NUM_LINES] [DIAL_LEN+1]; /* modem dial prefix */ char dials[NUM_LINES] [DIAL_LEN+1]; /* modem dial suffix */ char result[NUM_LINES] [3] [MODEM_LEN+1]; /* 300/1200/2400 strings */ byte dir_lines[NUM_DIR]; /* phone directory lines */ short baud[NUM_DIR]; /* phone directory names */ byte align; PARAMS com[NUM_DIR]; /* phone directory params */ char dir_names[NUM_DIR] [PNAME_LEN+1]; /* phone directory names */ char dir_numbers[NUM_DIR] [PHUMB_LEN+1]; /* phone directory nums */ ushort t1; /* reserved */ ushort t2; ushort t3; ushort t4; ushort t5; } NODE; /* MSGHEAD>DAT record structure */ typedef struct { byte type; /* record type */ ushort : 11; /* reserved */ ushort forward : 1; /* message forwarded */ ushort readbyto : 1; /* message read to by person */ ushort personal : 1; /* personal message flag */ ushort unformat : 1; /* unformatted message */ ushort locked : 1; /* message locked */ long number; /* message number (key) */ byte section; /* section number */ char from[FROM_LEN+1]; /* from field */ char to[TO_LEN+1]; /* to field */ char subj[SUBJ_LEN+1]; /* subject field */ ushort recno; /* data record number */ ushort date; /* date (packed) */ ushort time; /* time (packed) */ long origin; /* message origin (if a reply) */ long replys[5]; /* message replys */ byte align; } MSGHEAD; /* MESGTEXT.DAT record structure */ typedef struct { byte size; /* text size (255 invalid) */ ushort recno; /* linked data record */ char text[253]; } MSGTEXT; /* USERDESC.DAT record structure */ typedef struct { byte type; /* record type */ ushort : 12; /* reserved */ ushort callback: 1; /* requires callback */ ushort guest : 1; /* guest access */ ushort expert : 1; /* expert menus */ ushort linefeed: 1; /* linefeed flag */ char name[NAME_LEN]; /* user name (key) */ char loc[LOC_LEN+1]; /* location */ char phone[PHONE_LEN+1]; /* phone number */ char pass[PASS_LEN+1]; /* user password */ short limit; /* limit time (mins) */ short time_rem; /* time remaining for day (mins) */ short upl_total; /* total uploads by user */ short dnl_total; /* total downloads by user */ short msg_total; /* total messages left by user */ short calls_total; /* total calls made by user */ long high_msg; /* high message number */ ushort date; /* date last called (packed) */ bits bul_flg; /* bulletin flags */ bits sys_acc; /* sysop access */ bits rd_acc; /* non-member sec read access */ bits wr_acc; /* non-member sec write access */ bits up_acc; /* non-member upload access */ bits dn_acc; /* non-member download access */ byte term; /* terminal type */ byte menu; /* menu set */ byte priv; /* privilege number */ byte sav_sec; /* save section */ byte protocol; /* up/down protocol */ byte width; /* display width */ byte length; /* page length */ byte nuls; /* required nuls */ byte cls[3]; /* clear screen codes */ byte bs[3]; /* backspace codes */ } USRDESC; /* UDHEAD.DAT record structure */ typedef struct { byte type; /* record type */ ushort : 14; /* reserved */ ushort local: 1; /* local file */ ushort bin : 1; /* binary file */ char cat_name[CAT_LEN]; /* catalog filename (key1) */ ushort date; /* upload date serial */ byte dir; /* directory number (key2 - seg1) */ byte section; /* section number (key2 - seg2) */ ushort accesses; /* number of accesses */ long length; /* file length */ char disk_name[FNAME_LEN+1]; /* disk filename */ char owner[NAME_LEN+1]; /* owner's name */ char desc[DESC_LEN+1]; /* description text */ byte align; } UDHEAD; /* CALLER.DAT record structure */ typedef struct { byte type; /* record type */ long number; /* caller number (key) */ byte node; /* node number */ short baud; /* baud rate */ PARAMS com; /* COM parameters */ char name[NAME_LEN+1]; /* caller name */ char loc[LOC_LEN+1]; /* caller location */ byte priv; /* callers privilege */ byte disconnect; /* disconnect type */ ushort in_date; /* log-in date (packed) */ ushort in_time; /* log-in time (packed) */ ushort out_time; /* log-out time (packed) */ byte dnls; /* downloads */ byte upls; /* uploads */ byte msgs; /* messages */ byte align; } USRLOG; APPENDIX ??.?? - BBS ERROR MESSAGES. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= NOTE: if you can't find the error you got in this chart, give Micro-Systems Inc., a call at 305-391-5077 (voice) or call their BBS at 305-737-1590. Error # Description: ================= ======================================================== 10 Not enough memory for initialization 12 Could not open index file 13 Could not open data file 14 Index file appears corrupt at open 15 Data file appears corrupt at open 16 Could not create index file 17 Could not create data file 18 Tried to create existing index file 19 Tried to create existing data file 24 Could not close index file 25 Could not close data file 30 End-of-file encountered 31 Delete chain not pointing at deleted record. 35 Seek error, disk possibly full 36 Read failure on record 42 Duplicate record lock 102 Missing ISAM parameter file (BBS.P) 103 Could not read parameter file initializers 106 Could not read parameter file data descriptor 111 Could not read parameter file index descriptor 112 Pending locks found in two-phase protocol 113 Too many locks held by system 114 Active data record found deleted 500 Could not open raw file 501 Could not close raw file 502 Could not read from raw file 503 Could not write to raw file APPENDIX A-3 / Modem settings. =-=-=-=-=-=-=-=-=-=-=-=-=-=-= Written by The Assassinator at CAC BBS at: 416-283-5027. In this section of the manual I will talk about different modems and how to use them with BBS-PC. I suggest you use a HAYES COMPATABLE or something close to this, it will make life alot easier. If you are using a 9600 baud modem or a 19200, or 17400 baud modems, these baud rates will be only available for BBS-PC version 4.2 and later. If you use BBS-PC versions 4.13, 4.14, 4.04, 4.03, those versions will work with the higher baud modems at a HAYES/USRoborics compatable modems at the 2400 baud dipswitch and modem settings. HERE ARE THE DIP SWITCH SETTINGS. =-------------------------------= Use these dip switch settings for all modem I list, except for those modems that I state otherwise. SWTTCH POSTITION | SWITCH POSTITION ---------------------------|-------------------------- 1 UP | 5 UP 2 UP | 6 UP 3 UP | 7 UP 4 DOWN | 8 DOWN NOTE: for dip switches 9, 10, etc an so on does not apply. MODEM TYPES =---------= 0 Turns off the DTR signal to hang up the telephone, and assumes that result codes will be returned at the same baud rate as the last connection. 1 Turns off the DTR signal to hang up the telephone, and assumes that result codes will be returned at whatever the default baud rate is set to. 2 Transmits "true break" to hang up the telephone, and assumes that results codes will be returned at the same baud rate as the last connection. 3 Transmits "true break" to hang up the telephone and assumes that results codes will be returned at the default baud rate. 4 Turns off the DTR signal to hang up the telephone, and assumes that result codes will be returned at the same baud rate as the last connection. Each time DTR is turned off, BBS-PC sends the modem the setup string again. 5 Turns off the DTR signal to hang up the telephone, and assumes that result codes will be returned at whatever the default baud rate is set to. Each time DTR is turned off, BBS-PC! sends the modem the setup string again. 6 Transmits "true break" to hang up the telephone, and assumes that result codes will be returned at the same baud rate as the last connection. Each time true break is sent, BBS-PC! sends the modem the setup string again. 7 Transmits "true break" to hang up the telephone, and assumes that result codes will be returned at defaults baud rate. Each time true break is sent, BBS-PC! sends the modem the setup string again. 8 Turns off the DTR signal to hang up the telephone, and assumes that result codes will be returned at the same baud rate as the last connection. Ignores the status of pin six (6). 9 Turns off the DTR signal to hang up the telephone and assumes that result codes will be returned at whatever the default baud rate is set to. Ignores the status of pin six (6). 10 Transmits "true break" to hang up the telephone, and assumes that result codes will be returned at the same baud rate as the last connection. Ignores pin six (6). 11 Transmits "true break" to hang up the telephone, and assumes that result codes will be returned at the default baud rate. Ignores the status of pin six (6). 12 Turns off the DTR signal to hang up the telephone, and assumes that result codes will be returned at the same baud rate as the last connection. Each time DTR is turned off, BBS-PC sends the modem the setup string. Ignores the status of pin six (6). 13 Turns off the DTR signal to hang up the telephone, and assumes that result codes will be returned at whatever the default baud rate is set to. Each time DTR signal is turned off, BBS-PC sends to the modem the setup string. Ignores the status of pin six (6). 14 Transmits "true break" to hang up the telephone, and assumes that result codes will be returned at the same baud rate as the last connection. Each time true break is sent, BBS-PC sends to the modem the setup string. Ignores the status of pin six (6). 15 Transmits "true break" to hang up the telephone, and assumes that result codes will be returned at the default baud rate. Each time true break is sent, BBS-PC sends the setup string once again. Ignores the status of pin six (6). For HAYES/USRobotics Compatables 300 & 1200 baud modems, set modem type to 1. For Hayes/Usrobotics COmpatables 2400 baud and up, set modem type to 2. Here is a list of character functions which you might see in the modem settings. Character Function. --------- ------------------------------------------------------- | Vertical bar. Sends a siginal carriage return. \ Backslash. Sends a linefeed to the modem. ^ Carat. Sends the next characters "control" value. Here is an example... ^G would send a CTL-G. ~ Tilde. Causes a on second delay before sending the next character in the string. ` Reverse apostrophe. Causes a 250ms delay between each each character following in the string. (Slows the cursor rate down to typing speed). AND NOW FOR THE MODEM CONFIGURATIONS... --------------------------------------- The following modem settings format is the screen output format used by BBS-PC 4.04 to versions 4.14. For BBS-PC version 4.2 and later versions see HAYES 100% compatables for the screen output used their. [P.S. The Anchor Automation Signalman MK XII (aka Volksmodem 12)] will not work to well according to Micro-Systems Software, and I to agree. RADIO SHACK MODEMS... --------------------- I have not included the settings since, i believe their modems are SHIT! Although if you truely must t need these settings, call CAC BBS at 416-283-5027, 24hrs. to find out about these settings, or wait for future revisions of this manual. VEN-TEL half card PC internal modem. ------------------------------------ [P.S. SInce this is a internal modem, mostlikely this internal modem will act as COM PORT 2, so you might want to alter modem #1 instead, so you would just copy from modem #0 settings to modem #1 settings. If this modem will be the COM PORT 1, then just enter the following... Modem #0 A: Default baud: 1200 B: Modem type : 4 C: Setup String: ATS0=1S2=255E0Q0V1X1| D: Dial prefix : ATDT E: Dial suffix : | F: 300 baud : CONNECT|\ G: 1200 baud : CONNECT 1200|\ H: 2400 baud : CONNECT 2400|\ Modem #1 I: Default baud: 0 J: Modem type : 0 K: Setup string: L: Dial prefix : M: Dial suffix : N: 300 baud : O: 1200 baud : P: 2400 baud : AST Reach modem --------------- This modem too is not recommended by Micro-Systems Software as well. Promomethus Promodem 1200 ------------------------- Modem #0 A: Default baud: 1200 B: Modem type : 4 C: Setup string: ATS0=1S2=255E0Q0V1X1| D: Dial prefix : ATDT E: Dial suffix : | F: 300 baud : 1 G: 1200 baud : 5 H: 2400 baud : NOT USED Modem #1 I: Default baud: 0 J: Modem type : 0 K: Setup string: L: Dial prefix : M: Dial suffix : N: 300 baud : O: 1200 baud : P: 2400 baud : HAYES 100% compatable modems: ----------------------------- For modems with permanent ram, type the following from a terminal program. ATB0 (carriage return) AT&C2 (carriage return) AT&D1 (carriage return) AT&W (carriage return) This will set your modem in perminate ram to CCITT mode, and will TRUE CARRIER DETECT, and hang up on DTR. NOTE: The following represents the modem setup strings for modems up to 19200 baud corresponding with BBS-PC versions 4.2 or later versions. When function 32 (modem defaults) is executed from a menu, you will be asked "Modem number (0-1)? "Choose 0 for COM PORT 1, and 1 for COM PORT 2. A: Default baud: 2400 B: Modem type : 1 C: Setup String: ATS0=1E0Q0V1X1| D: Dial prefix : ATDT E: Dial suffix : | F: 300 result: Connect|\ G: 600 result: Connect 0600|\ H: 1200 result: Connect 1200|\ I: 2400 result: Connect 2400|\ J: 4800 result: Connect 4800|\ K: 9600 result: Connect 9600|\ L: 19200 result: SPECIAL|\ The above was the modem setting format used by BBS-PC versions 4.2 and later versions I suspect. The modem setting format used by BBS VERSIONS 4.04 to versions 4.14 used the other modem setting format I showed for other modems. For Hayes/USRobotics Compatables at 300/1200 set modem type to 0 and the setup string to ATs2=255Q0X1|. For Hayes/Usrobotics Compatables 2400 baud and up, set modem type to 1. Last few notes on modem settings....If you are using 4800/9600/17400/19200 baud modem, set baud rate (Option A) to 2400 for BBS-PC versions 4.04 to versions 4.14. Also in the modem setup strings I DID NOT INCLUDE ONE THING! That is to turn off the modem speaker at all times. To do this, you must add a "M0" (without the quotes) to keep the speaker off. Otherwise the speaker is a pain in the ass to listen to at 3 o'clock in the morning, get the idea! ---- CONCLUSION OF THE MANUAL ---- Well after typing for 3 months, listening to the CD player for lotsa hours, and drinking millions of cups of coffee I finished MY version of the BBS-PC 4.2 manual. This manual was COMPLETELY re-written in my own words. I hope this manual helps out SYSOPS, or NEW?!?! SYSOPS, or SOON to become SYSOPS. I believe this documentation blows away the original manual, and will help you better. This shows that me, The Assassinator, a 17 year old pirate can out-preform the people who wrote the fuckin' BBS program!!! ALL credit of this documentation goes to The Assassinator of CAC BBS. Any asshole that says they wrote this manual is seriously fucked up, and I swear I will kill the fucker who claims they wrote this manual. If there are any problems or questions on this manual, please call The Canadian Amiga Connection ( or CAC BBS for short). The Canadian Amiga Connection BBS: 416-283-5027, 24 hours a day. Running on a 44 meg hard drive, 2400 baud (soon 9600 baud). I dedicate this manual to all Hackers,Crackers,Traders & Computer Enthusiests. Hi to: Red Sector, Kent Team, The Movers, HQC, ECA, TLC, and all others!!! SUPPER SPECIAL GREETS TO: Bill Best, Lucifer, Renzai, The Fed, Dave Far Side, Dr. Chip, The Advocate, The Doctor, Nemesis (of OLD Underworlde), Tapper, Disk Rigger, Snatch, and all my other friends. -- DISCLAIMER -- I am in no way responsible for the encouragement of piracy, of the program BBS-PC or its manual in any way at all. This manual was only written to clarifiy or help improve over the BBS-PC manual. In no way did or will i ever sell this manual. THIS MANUAL WAS NOT WRITTEN TO HURT THE SALES OF BBS-PC, OR IN ANYWAY REVENGEFUL TO MICRO-SYSTEMS SOFTWARE. This manual is NOT FOR SALE, and is FREE, and released for the public to help them understand BBS-PC program a little better. - The Assassinator of CAC BBS.