Introduction This BBS system is written in Borland's Turbo Pascal version 3.0 and is based on Bob Maxwell's TurboBBS program written for the Kaypro. Many of the routines have been revised or rewritten for the IBM or compatibles. This version of Ghost Ship BBS (GSBBS) has been up and running as of AUgust 6th, 1986. It should operate almost 24 hrs a day at 300/ 1200 baud. The phone number is 203-655-0152. The current BBS at that number was started by obtaining files form the Original Ghost Ship BBS, the Ghost Ship East, who's number (now in Boston) is unknown. Any questions, or ideas for new mods are welcome, give the BBS a call and I'll generally be around to hat. The program will run on a Compaq Deskpro or Portable (with either 8086 or Nec V30) under MS-DOS ver 2.1, 2.11 or a PC's limited Turbo-PC running PC-DOS ver 3.1, both with Hayes Smartmodem (300/1200) and on 256 or 640k com1. It canm be assumed that if it will run on these machines it will also run on stock IBM PCs with a Hayes or compatible modem. The GSBBS is advantageous over the RBBS in many ways. Among them is the fact that it is faster, and smaller. Also Pascal is much easier to read and add mods to than piles of BASIC code. As far as size, as I mentioned earlier GSBBS is only 64k while RBBS is 212k in BASIC form and it needs a 100K config program. I have added many mods to the program (thus ver 2.14 rather than 2.1). Also there is no warning about it being shareware or copy-protected, so it CAN be distributed in modified form. * Minimal PASCAL knowledge needed to run a GSBBS * 5 primary access levels with 8 secondary ones * Stand alone E-mail system * As many as 255 separate sub-boards * Up to 255 separate files sections * Less than 10% waste in message storage * Interrupt driven buffered input * XMODEM protocol with CRC * ASCII upload and download capabilities (of course) * Complete remote SYSOP maintenance * Word Wrap for messages * Command stacking * User message displayed before prompt * NEW feedback * Online verification * Toggle CHAT availability inside of SYSOP hours * MUCH more... (The last five functions mentioned are my mods and will be explained in detail later in the docs) The following files are used to run GSBBS System files (Main default drive and directory) BB1.PAS Compiles into BB1.COM BB2.PAS Chain program compiled when BB1 compiled BB3.PAS Chain program compiled when BB1 compiled Other files (Main default rive and directory) COMPMESS.PAS Used to clean and compress message bases COMPMESS.BAT Use in conjunction with COMPMESS.PAS SORT1.PAS Used with DOS' SORT.EXE (updates user file) MAILCLR.PAS Cleans up mail title file ERR.PAS Tkae a snapshot of screen when an error occurs CONVTIDS.PAS *** CONFIG.CNF COnfiguration file for system S1.BAT Batch file for system start-up GSBBS214.DOC This thing you are reading now. Help files and some CONFIG (Main drive, BBSINFO directory) FILES.CNF Configures file sections TITLES.CNF Configures sub-boards APPYING.TXT BBSHELP.TXT BBSLIST.TXT BULLETIN.TXT EDITMENU.TXT FILEHLP.TXT Various help and info files FILEMENU.TXT MAINMENU.TXT READMENU.TXT SYSINFO.TXT WELCOME.TXT Created by system USER.TXT Created when SORT1.COM run. Shows user listing TIMELOG.BBS Available to users, baud rate, etc. USERLOG.TXT More informative ver of TIMELOG. Open to SYSOP only DIR.BBS Shows directory of files TITLEnn.BBS Keept in messag subdirectory, contains all msg headers MESSnn.BBS Pointer for each msg header kept here. (also in msg subdirectory) Created with EDLIN IDS.BBS User stats GETTING STARTED First, make sure all of the files mentioned (other than those that are created later) are in their proper places. When that is done, create the file IDS.BBS with edlin. Do not enter anything just create it and exit without putting any information in it. This is necessary as the program will look for this file and if it is not present an I/O error will occur. Next, edit the file CONFIG.CNF (once again I used Edlin). List the file. As you can see it only has five lines The first is the number of calls your BBS has had, reset it to 0 for a new BBS, or enter the number of calls your old BBS has gotten. The second line shows the SYSOP name. It MUST be entered in caps. The third line is what kind of monitor you have. It is suggested you keep COLOR. In COLOR, a border (blue if color monitor, green if mono) appears when a user is logged on, in MONO nothing alerts the sysop of a user logged on. The fourth line is how many sub-boards you have, this number must match exactly with the number of sub-boards defined in the file TITLES.CNF. The fourth number is the number of file sections, once again this must match exactly with the number of file sections specified in FILES.CNF. The number of message or file sections cannot exede 20 unless you change the variables maxfilesects and maxsects in the program. You need not change the variable for less than 20. Editing FILES.CNF and TITLES.CNF These files define how many sections you are going to have for files and message bases, where they will be kept and what access is needed to gain access. Use EDLIN to edit the file TITLES.CNF. Listing it you can see the first 6 lines are... 1 Main Deck msg\ 1 0 2 Joke Board msg\ 1 0 The first and fourth lines show the number and name of the sub. The number cannot excede the number specified in CONFIG.CNF. The 2nd and 5th lines show where the files for that board are kept. This says subdirectory MSG on the default drive. My it could easily be changed to be more specific (B:\JOKES\ or B:\MAIN\) etc. The 3rd and 6th lines show what access is needed to get into the subs. The first number is the primary access. It can be from 1-5. The second is the secondary access, read the section on access (below) before entering the access levels needed. FILES.CNF looks exactly like TITLES.CNF and is done in the same way. Once again the number of filesections defined must match the number stated in CONFIG.CNF exactly. ACCESS LEVELS The primary access levels are easy. There are 6 of them, 0 to 5. THe meaning is as follows... 0 = twit (no time allowed on system, locked out) 1 = newuser (cannot post or upload) 2 = reguser (can do all functions but delete a BBS from the BBSLIST) 3 = prefuser (all functions but sysop) 4 = expuser (unlimited time) 5 = sysop (can use all functions including sysop functions) Secondary access levels are different and can be confusing at times, but for your sake I'll type slowly . There are 8 secondary access levels, they are 1,2,4,8,16,32,64,and 128. These are used to restrict the sub-boards and filesections to only certain users. If a person wants access to a board, you must add the secondary access neccesary to get on the board to the user's secondary access level. For example. User A has access to the Apple sub (special access of 4) and he buys an IBM. He requests access to the IBM sub as well, the special access need for IBM is 16. Since User A's special access is four and you add 6 to it his special access would have to be 20. If you don't understand read it carefully again, I've explained as much as is possible without repaeting myself. Sysops automatically have access to all subs (255). Getting Your GSBBS up and Running. After entering the necessary informations for CONFIG.CNF, TITLES.CNF and FILES.CNF, and creating the file IDS.BBS, you now can start compiling the system. Load Turbo PASCAL ver 3.0 (an earlier version will not work) Go to the options menu, select a COM file compilation and return to the main menu. Compile the file BB1.PAS. It will create BB1.COM and BB1.000, .001, and .002. Next compile all .PAS prgrams EXCEPT BB2.PAS and BB3.PAS as these were compiled with BB1 (that's why BB1 was 4074 lines). Also copy SORT.EXE from your DOS disk to the main disk. The suggested way of starting up the BBS is S1.BAT. For some reason, this file does not work well with me. Essentially you can find out what it does by looking at the batch file. Basically it cleans up your system. SORT1.COM is used with SORT.EXE to update USER.TXT with IDS.BBS as it is not done by the BBS. MAILCLR and COMPMESS are cleanup fles for your message bases and e-mail system. ERR.COM records to ERRFILE.TXT exactly what the screen looked like when an error occured. I have no idea what CONVTIDS does, but if you know PASCAL you should look at it. COMMANDS... There are two types of commands locally entered ones and user entered ones. New mods to the user entered commands are as follows... [E]nter UserMessage this requests the user to type a message and it will display it before the command prompt. There is only one problem. The mod only works like it should 50% of the time. What I have done is told the program that if no message has been entered by anyone (after the system was just put up) to display, "Welcome!" Some of the time, it displays code for the program. The easiest way to avoi a user getting this is by merely logging on when- ever you put up the system, and double checking it to make sure it is okay, if not change it and it will be fine. Call my BBS for in depth explaination of how it works. [A]sk Sysop This is an incredibly easy and somewhat stupid mod on my part, but hey(!) who cares? What it does is tells the user to leave mail to user 000 and sends him to the mail system, it is good to teach new users how he mail system works and to tell them that lvl 1 people can use the mail system. The following are local commands. The first three are not mods. F1 = Chat. Breaks in to chat with a user Ctrl-C = Breaks chat. (Gives user control again) F10 = force log off of user (no more turkeys!) The following are mods. F2 (While user online) = online vaildation. If user has below access level 2 (primary) then it is raised to two. If it is above two then the access level is raised by one. (2 becomes 3 and 3 becomes 4). Do not use this command with a level 4 or a level 5 user. The level four will be changed to level 5 then he will be reset to level one. Level 5 will be raised to level 6, BUT level 6 users have no privilages F3 (While user online) = Toggles chat on. F4 = Toggles chat off. This is so when you want to go to bed early yet your hours are from 7am to 1am (don't worry they are currently set to 7am to 10pm) You can press F4 (enter) and no user will be able to call you ("Sorry Swabbie but xx's secretary is holding all calls"). F3 toggles this function off so others can now request to chat. These are useable only while the message "Waiting for call" is displayed. F2 = Display Timelog (not usable online) F3 = Display Uerlog (not usable online) = Sign on locally (not usable while online) Notes. You will want to change the chat prompts to have your name rather than mine. This is done by editing BB2.PAS and somewhere between lines 1000 and 1300 are procedures talk and chat. Either that or Type ^Q^A (Find) STARGAZER (Replace with) YOURNAME (options) It will ask to replace and you'll be in the general area you need to fix (if not, hit pg dn once). Then erase BB1.000, .001, .002 and .COM and recompile BB1. Another thing you want to do is to keep GSBBS.ARC onhand in case of any foul-ups like I once got. Also erase all .PAS files after your are done modifying the BBS, that way you have more room for users and the Caller's log (TIMELOG and USERLOG) etc. Lastly I'd like to thank, Mongo Varga, SYSOP of the Ghost Ship East, as it was with his docs that I am putting up a GSBBS and with his docs on hand that these docs were able to be written. Call the Ronin, a Ghost Ship BBS at 203-655-0152 300/1200 baud. StarGazer