TSCNET CHAT SYSOP's MANUAL Version 2.00 NOVEMBER 1994 TSCNET SOFTWARE DESIGNS TSCNET, INC. P.O. Box 3686 Silverdale, Wa 98383-3686 USA Voice: (206)-613-0708 Data : (206)-613-0437 Copyright This manual is copyright and all rights reserved. This manual my not, in whole or in part, be copied, photocopied, translated, or reduced to any electronic medium or machine readable form without prior consent, in writing, from TSCNET, Inc. This manual and associated software my be distributed together under the shareware concept providing that they remain together, are not modified in any way, and the requirements of chapter one of this manual are met. Trademarks TSCNET Chat is a trademark of TSCNET Incorporated. PCBoard is a trademark of Clark Development Company DESQView and DESQView are trademarks of Quarterdeck Office Systems Lantastic is a Trademark of Artisoft OS/2 and Lanserver are trademarks of International Business Machines Netware is a trademark of Novell COMM-DRV is a trademark of Eberto Willies Table of Contents Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .1-1 Contact Information . . . . . . . . . . . . . . . . . . . . . . . . .1-1 Disclaimer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2 What is Shareware?. . . . . . . . . . . . . . . . . . . . . . . . . .1-3 Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3 Program Description . . . . . . . . . . . . . . . . . . . . . . . . .1-4 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . .1-6 Chapter 2: Installation . . . . . . . . . . . . . . . . . . . . . . . . . .2-1 Installing TSCNET Chat. . . . . . . . . . . . . . . . . . . . . . . .2-1 Deciding where to place the program files . . . . . . . . . . . . . .2-1 Unzipping the archive . . . . . . . . . . . . . . . . . . . . . . . .2-1 Installing the CHAT PPE . . . . . . . . . . . . . . . . . . . . . . .2-2 Changing the Swap During Shell Setting. . . . . . . . . . . . . . . .2-3 Changing the Language File. . . . . . . . . . . . . . . . . . . . . .2-4 Automatic Reset of Data File. . . . . . . . . . . . . . . . . . . . .2-4 Cleaning up Temporary Files . . . . . . . . . . . . . . . . . . . . .2-5 Editing the Configuration File. . . . . . . . . . . . . . . . . . . .2-5 Chapter 3: User Commands. . . . . . . . . . . . . . . . . . . . . . . . . .3-1 /ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2 /ALIAS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2 /BYE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2 /CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3 /CHANNEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3 /CLEAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3 /DECLINE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3 /EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4 /FINGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4 /GIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4 /IGNORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5 /INVITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5 /JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5 /KICK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6 /LEAVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6 /LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6 /ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7 /MONITOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7 /NOTIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7 /ONE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8 /OWN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8 /PAUSE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8 /PRIVATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 /PUBLIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 /QUIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 /SEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 /SHOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 /STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 /TERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 /TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 /WHO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Chapter 4: Sysop Commands . . . . . . . . . . . . . . . . . . . . . . . . .4-1 /BROADCAST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 /CLOSE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 /DEBUG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3 /DROPNODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3 /FORCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4 /GIVETIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4 /KILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4 /LOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5 /LOGOFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5 /QUERY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5 /RECYCLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6 /RESET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6 /SPY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6 /WALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-7 /WHOIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-7 Chapter 5: Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . .5-1 Shutting Chat Down. . . . . . . . . . . . . . . . . . . . . . . . . .5-1 Resetting the Data File . . . . . . . . . . . . . . . . . . . . . . .5-1 Deleting the Chat Data File . . . . . . . . . . . . . . . . . . . . .5-1 Problems with Insufficient File Handles . . . . . . . . . . . . . . .5-2 Problems with Insufficient File Locks . . . . . . . . . . . . . . . .5-2 Environment Space . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 Error Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3 Callers Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4 Reporting Bugs. . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4 Chapter 6: Customizing Actions. . . . . . . . . . . . . . . . . . . . . . .6-1 Actions Index file. . . . . . . . . . . . . . . . . . . . . . . . . .6-1 Action files format . . . . . . . . . . . . . . . . . . . . . . . . .6-1 Chapter 7: Pre-loading Topics . . . . . . . . . . . . . . . . . . . . . . .7-1 Appendix A: Details of the Configuration File . . . . . . . . . . . . . . .A-1 Appendix B: Running on a large BBS. . . . . . . . . . . . . . . . . . . . .B-1 Appendix C: What's new in version 2.00. . . . . . . . . . . . . . . . . . .C-1 Appendix D: The Beta Team . . . . . . . . . . . . . . . . . . . . . . . . .D-1 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Index-1 Chapter 1: Introduction Contact Information ------------------- TSCNET Chat was written by Mike Jackson of TSCNET Software Designs, TSCNET Inc. TSCNET is a 22 Line PCBoard 15.2 Bulletin Board system located in Silverdale, WA. TSCNET is a Boardwatch Magazine's Readers Choice Award top 100 BBS for 1993 and 1994. TSCNET Software Designs TSCNET Inc. P.O. Box 3686 Silverdale, Wa 98383-3686 Voice: (206)-613-0708 <- This is our office number. You can register the software on-line or contact the author with comments by calling the TSCNET BBS at: (206)-613-0437 [N-8-1] Where the language prompt would normally appear, you will see a menu of choices. Select: 2> Register TSCNET Software Designs Programs. This will log you into to our BBS under a login name of TSCNET SOFTWARE DESIGNS and take you directly to the TSCNET Software Designs Conference, you can check for updates, register the program, or make comments. type: ORDER Follow the instructions given there to place your order. You will need the name of your system as you want it to appear in the registration. This information is CaSe SeNsItIvE. By registering, you get a registration code that you place in your configuration file. This placed your BBS Name in the opening screen and disables registration reminders. It also enables the /SPY Command. When you order, for an extra $10.00 you can receive a printed manual and floppy disk. --------------------------------------------------------------- To Contact the Author: Log on to TSCNET and leave E-Mail to MIKE JACKSON Log on to Salt Air and leave E-Mail to MIKE JACKSON Send Internet E-Mail to: mhjack@tscnet.eskimo.com --------------------------------------------------------------- Disclaimer ---------- TSCNET INC. DISCLAIMS ALL WARRANTIES RELATING TO THIS SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED. NEITHER TSCNET INC. NOR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS SOFTWARE SHALL BE HELD LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE SUCH SOFTWARE EVEN IF TSCNET INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS. IN NO EVENT SHALL TSCNET INC.'S LIABILITY FOR ANY DAMAGES EVER EXCEED THE PRICE PAID FOR THE LICENSE TO USE THE SOFTWARE, REGARDLESS OF THE FORM OF THE CLAIM. THE PERSON OR COMPANY USING THIS SOFTWARE BEARS ALL RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. Some states do not allow the exclusion of the limit of liability for consequential or incidental damages, so the above limitation may not apply to you. This agreement shall be governed by the laws of the state of Washington and shall inure to the benefit of TSCNET Inc. and any successors, administrators, heirs, and assigns. Any action or proceeding brought by either party against the other arising out of or related to this agreement shall be brought only in a STATE or FEDERAL COURT of competent jurisdiction located in Kitsap County, Washington. The parties hereby consent to in personam jurisdiction of said courts. License ------- The TSCNET Chat System is sold as shareware and is the copyrighted property of TSCNET Inc. TSCNET grants you a limited, non-exclusive license to use this UNREGISTERED copy of TSCNET Chat for a 30 day evaluation period. If you decide to purchase this software it will be licensed to you for your own use and you will receive a key code that will remove notices that indicate that your copy is UNREGISTERED. The key code may also unlock the advanced features of the program. You may not distribute the key code to anyone else for any purpose. The purchase of the software does NOT cancel or modify the disclaimer stated above in any way. With or without the key code installed, this software is copyrighted software. You are not obtaining title to the software or any copyright rights. You may not sublease, rent, lease, convey, modify, translate, convert to another programming language, decompile, disassemble, or reverse engineer the software for any purpose. This software is designed for use with PCBoard 15.x and use in conjunction with any other software is not recommended. You may make as many copies of this software as you need for back-up purposes. You may make use of this software on more than one computer and may use this software on a network as long as you have purchased one copy of this software for each copy of PCBoard that it is run in conjunction with. What is Shareware? ------------------ The user supported software concept (also known as "Shareware") is an attempt to provide quality software at low cost. Both the user and author benefit from this plan. The user will benefit by being able to "test drive" software thoroughly before purchasing it. The author benefits by being able to enter the commercial software market while avoiding the high cost of commercial distribution. This concept helps many independent authors and small companies that otherwise would be discouraged from developing and promoting their ideas. It can only work with your support. If you obtain a user supported program from a friend and are still using it after a few weeks, then it is obviously worth something to you, and a registration fee should be paid. This software is distributed under the user supported software concept. Though TSCNET Chat is copyrighted, you are encouraged to copy and distribute this program to others. You are granted a 30-day limited license to test drive the TSCNET Chat. After the 30 day trial period a registration fee is required for continued use of TSCNET Chat or else you must stop using TSCNET Chat and remove it from your system. Distribution ------------ This package may be made available on your BBS or uploaded to any BBS that you call provided that the contents of this archive are NOT in any way changed, either by adding or deleting files to the archive. You may not specifically charge anyone for this software. Note: The archive is compressed with PKZIP 2.04g Authenticity checking. Typing 'PKUNZIP TSCHAT20.ZIP -t', will test the archive for validity. At then end of this test, you should see the following: Authentic files Verified! # XXXXXX TSCNET SOFTWARE DESIGN This indicates that the archive has not been tampered with and all necessary files are present. Program Description ------------------- TSCNET Chat is a Chat Replacement for PCBoard 15.1 and 15.2 Bulletin Board Systems. If you are NOT running a PCBoard Bulletin Board System with at least a couple of nodes, stop reading this now, you don't need it and it won't work. This software is PCBoard Specific and WILL NOT work without PCBoard. This software will NOT work with PCBoard 14.5. If you are still using PCBoard 14.5, we strongly urge you contact Clark Development and upgrade. TSCNET Chat was designed as a COMPLETE replacement for the chat that comes with PCBoard. You should NOT attempt to install this and still have PCBoard's built in chat active. TSCNET Chat utilizes PCBoard's Chat paging method (via the USERNET.XXX file). TSCNET Chat is different than the default Chat that comes with PCBoard in several ways: The biggest difference is that in TSCNET chat, in the normal mode of operation, users do not see what other users are typing as it's typed. It is NOT; however, a step back to the 'old style' PCBoard 14.x chat. When you start typing you will not receive text from others until you are done typing and hit return (Yet you can type multiple lines). This prevents the fight to be the one with the 'focus' found on large PCBoard 15.1 and 15.2 systems and is closer to the chat modules found in other multiple line BBS software packages. However, TSCNET Chat also has a ONE-ON-ONE mode that allows TWO users to be on a channel and see what the other is typing as they type it, similar to PCBoard's built in chat. TSCNET Chat also has the following features: * Allows for 256 Channels * Public and Private Channels * Private Messages (Node to Node) * Channel Ownership * Monitor Other Public Channels * Ignore Nodes * The PCBoard like WHO command * Sysop Defined Actions * Call Users inside PCBoard * Receives BROADCAST Commands * Network Support * Sysop Only Commands * Full COMM-DRV and Fossil Support (Including OS/2) * Definable and customizable actions * Command Syntax similar to IRC (Internet Relay Chat) * Ability to work with TSCNET's Popular Finger PPE * and even more... TSCNET Chat is not a really a door. Well, now that I've said that, let me explain: This program was designed to completely replace your PCBoard 15.1 or 15.2 CHAT Command. And to do it seamlessly! The program actually IS a door written in C and using the PCBoard Door TOOLKIT, but it's NOT designed to be installed in your DOOR.LST file as a door on your BBS. Instead, This program is designed to be called from a PPE (a PCBoard Programming Language Executable) which replaces your default CHAT command. The PPE (CHAT.PPE) will then call the TSCNET Chat executable (XCHAT.EXE). There are also several other PPE's included in this package. They must all be installed correctly in order for this Chat system to function properly. PLEASE CAREFULLY READ THE INSTALLATION SECTION BEFORE YOU ATTEMPT TO INSTALL THIS ON YOUR SYSTEM. TSCNET Chat was designed to run inside a multitasking and/or networked BBS. TSCNET Chat has been tested running inside of DesqView, DesqView/X, and OS/2 but should run under any multitasker that will run PCBoard. TSCNET Chat has been tested running under Lantastic 5.0/6.0, Novell Netware 3.12, and IBM's Lanserver 3 but should run with other networking software as well. The TSCNET Chat program makes use of PCBoard's normal page mechanism to 'CALL' others into chat, so installing this program as a door and leaving PCBoard's default Chat enabled is NOT recommended. Since the TSCNET Chat program uses the PCBoard Toolkit, it will work on all of your nodes including Non-standard COM ports and high IRQ's. You don't even need a configuration file for each node. The COM port information is received directly from PCBoard. TSCNET Chat will work with a fossil (INT14) driver and with COMM-DRV. TSCNET Chat will read the PCBOARD.DAT file for the node that it's running on to determine the COM port information. A separate configuration for each node is NOT required. The presence of COMM-DRV or Fossil is also automatically detected. The TSCNET Chat program supports commands that interact directly with the USERNET.XXX file that PCBoard uses to hold information about a specific node. Since the program is designed to replace PCBoard's Chat, it will allow all the same functions that would be available via the USERNET.XXX file. (i.e. You can use PCBoard's BROADCAST command to send messages to node that are in the TSCNET Chat). Page requests are also sent to nodes that are running in PCBoard via the USERNET.XXX file. Once users are inside the TSCNET Chat program, other users will see them as "Chatting With Group". There are also sysop commands within TSCNET CHAT that also use the USERNET.XXX file to control other PCBoard nodes. (i.e. commands similar to the PCBoard sysop commands BR, 12, 14, and 15. System Requirements ------------------- Simple, if you can run PCBoard on your system(s), you should be able to run this program. So far, I know of no exception to this statement, so if you are doing something exotic and it does not work, I'd like very much like to hear from you. Chapter 2: Installation Installing TSCNET Chat ---------------------- The installation process looks complicated, but it is really not that hard. Please completely read this entire section before installing the program. This section does assume that you have a basic familiarity with PCBOARD, PCBSETUP, MKPCBTXT, and have a dos based text editor handy. Step 1: Deciding where to place the program files. Locate a place to put the program files. If you are running your BBS on one computer then make a directory like the following: c: MD \CHAT If you are running in a network environment, you have the choice of putting the program, action, and help files on each workstation and the data file on a server; or placing all the files on a server. (or some combination thereof) We recommend that you keep the Program, PPE's, Configuration file, Help files, and Action files all on each workstation. You must set the Chat Data file and Channel files to use a server drive. In any case, make a \CHAT subdirectory somewhere now, you can always move it later. Step 2: Unzipping the archive. Unzip the TSCHATxx.ZIP archive into that subdirectory: PKUNZIP TSCHAT20.ZIP C:\CHAT\ -r <- don't forget the '-r' The directory structure will look like this: C:\CHAT ÃÄÄÄACTION ÀÄÄÄHELP The CHAT subdirectory will contain the program, documentation, PCBoard Programming Language executable (PPE's), and several other files. The ACTION subdirectory will contain the action index file (ACTION.IDX) and the Chat Action Files (*.CAF). Creating and changing actions will be discussed in chapter 5. The HELP subdirectory will contain the Chat Help Files (*.CHF). These are files that users will see from within chat. Step 3: Installing the CHAT PPE. The CHAT PPE is the only entry point into the XCHAT.EXE program. If you skip this step, TSCNET CHAT will not work. In order to support both PCBoard versions 15.1 and 15.2, there are two copies of the PPE included. You need to rename the one you need for your installation. If you are using PCBoard 15.1: C:\CHAT> REN CHATPPE.151 CHAT.PPE if you are using PCBoard 15.2: C:\CHAT> REN CHATPPE.152 CHAT.PPE The source code to both PPE's are included. The CHATPPS.151 and CHATPPS.152 are the source code. These files may be modified and re- compiled if you own the PCBoard PPL Compiler. The CHATPPS.152 file requires the version 3.0 compiler. Run PCBSETUP and go to: B. File Locations B. Configuration Files Go down to the following line and hit F2: Name/Loc of Default CMD.LST File : C:\PCB\MAIN\CMD.LST NOTE If you have no file name here, you will have to add one. The install the CHAT.PPE Here: Charges Per PPE/MNU File Specification -or- Command Sec Minute Use Keystroke Substitution ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ CHAT 10 0 0 C:\CHAT\CHAT.PPE NOTE: The path you put here is also the SAME as where the CHAT.EXE file is located. That's how the PPE knows where to find the EXE file. Set the security level to the user level that you normally require before you will let a user chat. The Charges per Minute and Use settings are available only in PCBoard 15.2 and you should consult your PCBoard manual for further information. IMPORTANT: You will also have to go to any other conference that has it's own CMD.LST file and make the same change there. If you don't and a user is in the other conference they may go to the default PCBoard chat instead of TSCNET chat! Step 4: Changing the Swap During Shell Setting. Depending on the available conventional memory on your system, you may not need to change this setting to 'Y', but we recommend that you do so now and get TSCNET Chat working on your system. You can then try setting it to 'N' and see if it works in your configuration. By setting this switch to 'Y' you are telling PCBoard to unload most of itself from memory when it shells out to run programs. This may cause your system to run slightly slower during shelled out operations. (i.e. external file transfer protocols). Note to DESQView users: If you are running DESQView or DESQView/X you can ensure the fastest shelling operation by providing each PCBoard node XMS or EMS memory. PCBoard will first try to swap to XMS, then EMS, and finally to disk. Change your 'Maximum EMS/XMS/VCPI/DPMI (in K):' setting to at least 256K per node. (You must have enough memory installed on the machine, of course.) On each of your nodes, Run PCBSETUP. Select: G. Configuration Options, D. Configuration Switches Change: Swap Out During Shell : Y NOTE: If you do leave swap out during shell set to 'N' you may need to use the OVLSIZE program that comes with PCBoard to change your Overlay size. If you run TSCNET chat and it returns to PCBoard, look into the callers log and if you see a message indicating that there are insufficient buffers, increasing the overlay size usually fixes the problem. Step 5: Changing the Language File. Again, there are two versions of the CHANNEL.PPE, CHANPPE.151 and CHANPPE.152. You need to again rename the correct one: C:\CHAT> REN CHANPPE.152 CHANNEL.PPE Again, the source code is included. Go to the subdirectory where your languages are stored and run MKPCBTXT on ALL of the languages that you have installed: Go to the subdirectory where your language file are stored, and type: MKPCBTXT PCBTEXT Change record 226 From: Respond by typing (CHAT) and then select channel @OPTEXT@. To: !C:\CHAT\CHANNEL.PPE <--- or whatever subdirectory you selected earlier. NOTE: The CHANNEL.PPE will grab the channel number when someone is paged and save it to a file so that the chat program will know that the user was invited into the channel. If you skip this step, you will still be able to use the program, but if called into a private channel, you user will not be able to join it directly from PCBoard. Change record 227 From: Node CHAT: (G)roup, (U)navailable, (H)elp, (Enter)=none To: !C:\CHAT\MESSAGE.PPE Change record 228 From: Node CHAT: (G)roup, (A)vailable, (H)elp, (Enter)=none To: !C:\CHAT\MESSAGE.PPE NOTE: The MESSAGE.PPE simply stuffs a Carriage Return back to PCBoard when this text pops up. This is necessary because PCBoard allows users to enter CHAT from prompts other than the Main Board or Conference Prompt. (For instance, user who are reading mail could type CHAT at the 'End of Message' prompt, and they would go directly to the built in PCBoard Chat, because PCBoard does not check the CMD.LST file from this prompt). IMPORTANT: You must now repeat these steps for EACH language that you have installed on your system. Step 6: Automatic Reset of Data File. Place the following command in your AUTOEXEC.BAT file: IF EXIST C:\CHAT\XCHAT.DAT DEL C:\CHAT\XCHAT.DAT This is ensure that the chat data file gets deleted if your system locks up and/or gets re-booted. NOTE: If you are operating a Local Area Network, do this only on your main PCBoard server (The one containing your USERNET.XXX file). Step 7: Cleaning up Temporary Files. Edit your BOARD.BAT file and add the following line just before PCBOARD or PCBOARDM: IF EXIST CHANNEL.TMP DEL CHANNEL.TMP This deletes the temp file created by the CHANNEL.PPE whenever the node recycles. If you skip this step, the chat system will still function, but if one user receives an invitation to join a channel never enters chat, another user who logs onto the same node would be able to join the channel even know they were not invited. Step 8: Editing the Configuration File. The file CHAT.CFG is the configuration file for TSCNET CHAT. You may or may not need to make changes to this file. If you are running TSCNET CHAT on a single machine and you placed the files on the C: drive and in the default C:\CHAT\ subdirectory, you should not need to change the configuration file at this time. The Configuration file is a straight MS-DOS text file and can be edited with any MS-DOS type text editor. Edit the configuration file and ensure that the paths are correct for your installation. If you are running a network, make SURE the PathToChatfile= setting is pointed to a network drive. You do NOT need a configuration file for each node. TSCNET CHAT gets the node information directly from the PCBOARD.DAT file for each node. You will also want the change the 'SecLevelForSysop=' setting to match your security level so that you can use the Sysop commands. For a complete line by line breakdown of the TSCNET Chat Data file See Appendix A. Chapter 3: User Commands USER COMMANDS ------------- /ACTION Send Action to another node. /ALIAS Toggle Alias on and off. /BYE Log off the system. /CHANNEL Join a another channel. /CLEAR Clear the screen. /CALL Call another node into chat. /DECLINE Decline an invitation. /FINGER Access User entered information. /GIVE Give channel ownership to another user. /HELP Help with commands. /INVITE Invite a user to join your channel. /IGNORE Ignore another node. /JOIN Join another channel. /KICK Kick a another person off a channel that you own. /LIST List channels and topics. /LEAVE Leave the current channel, and return to a previous one. /MONITOR Monitor other public channels. /ME Send text following your name. /NOTIFY Toggle notify mode. /ONE Make a channel one-on-one (interactive) /OWN Claim ownership of an un-owned channel. /PAUSE Toggle Pause mode. /PRIVATE Make a channel private. /PUBLIC Make a channel public. /QUIT Quit chat and return to the system. /TIME Show system time and time remaining. /SHOW List channels and who is on them. /SEND Send a private message to another node. /STATUS Show your status. /TERM Change terminal type (ASCII/ANSI). /TOPIC Change the channel's topic. /WHO Same as PCBoard's who command. /ACTION - Sends an action to another node. Usage: /ACTION Example: /ACTION Use which ACTION: (LIST) to List, (Q) to quit? (hug ) Node to HUG: (L) to list, (Q) to quit? (1 ) Shortcut: /AC HUG 1 Note: /AC LIST will show a list of available actions. /ALIAS - Turns your alias ON or OFF. Usage: /ALIAS {ON|OFF} Example: /ALIAS ON ALIAS ON. /ALIAS OFF ALIAS OFF. Shortcut: /AL Note: 1) /AL by it self will toggle ON and OFF. 2) You must establish an alias before you can use it within chat. /BYE - Exits CHAT and logs you off the system. Usage: /BYE Example: /BYE Goodbye. Shortcut: /BY Note: You should use /QUIT if you wish to return to the system. /CALL - Calls a user on the system into chat. Usage: /CALL Example: /CALL Node to Call: (W) to List, (Q) to Quit? (1 ) Node 1 Called. Shortcut: /CA Notes: 1) Only nodes that are "Available for Chat" or "Chatting With Group" may be called. 2) If the node is already "Chatting With Group", this command acts the same as /INVITE. /CHANNEL - Joins a another channel. Usage: /CHANNEL Example: /CHANNEL Channel to Join: (L) to List, (Q) to Quit? (2 ) Channel 2 Joined. Shortcut: /CH 2 Notes: 1) You Cannot join a channel that has been made private unless you have been "/INVITED". 2) The first person that joins a new channel is the channel owner, only the channel owner can change the public/private status or use the /INVITE or /KICK commands. This does not apply to channels 1-9. 3) This command is the same as the /JOIN command. /CLEAR - Clears the screen. Usage: /CLEAR Example: /CLEAR Shortcut: /CL /DECLINE - Decline an invitation to join another channel. Usage: /DECLINE Example: /DECLINE You politely decline the invitation. Shortcut: /DE /EXIT - Exits CHAT and returns you to the system. Usage: /EXIT Example: /EXIT Shortcut: /EX Note: You should use /BYE if you wish to logoff directly. /FINGER - This command allows you to see information on another user if the TSCNET Software Designs FINGER program is installed and the user has placed any information there for you to see. Usage: /FINGER Example: /FINGER User to FINGER: (LIST) to List, (Q) to quit? {Finger information display} Shortcut: /FI Notes: (1) If you get a "FINGER not installed." message then this system does not have the finger system installed. (2) /FI LIST will show all users who have entered info. /GIVE - Give ownership of the current channel to another user. Usage: /GIVE 16 Example: /GIVE Give ownership to: (L) to list, (Q) to Quit? (16 ) [16] TEST USER now owns this channel. Shortcut: /GI 16 Notes: 1) You must be the owner of the channel before you can use this command. 2) If you are the owner, and you leave the channel, without using this command, then the first user who /OWN's the channel will become the owner. /IGNORE - Ignores all input from another node. Usage: /IGNORE Example: /IGNORE Node to Ignore: (L) to List, (Q) to Quit? (1 ) USER NAME is now being Ignored. Shortcut: /IG 1 Notes: 1) If you are Ignoring node 1 and then use: /IG 1 again node 1 will no longer be ignored. 2) /STATUS will show you which nodes you are ignoring. /INVITE - Invite another user to join the channel that you are currently on. Usage: /INVITE Example: /INVITE Node to Invite: (L) to list, (Q) to Quit? (1 ) Node 1 Invited to join channel 3. Shortcut: /IN 1 Note: If the channel is Private and you are not the "owner" of the channel, you cannot invite other users to join. Channels 1-9 are always PUBLIC and cannot be owned. /JOIN - Joins a another channel. Usage: /JOIN Example: /JOIN Channel to Join: (L) to List, (Q) to Quit? (2 ) Channel 2 Joined. Shortcut: /JO 2 Notes: 1) You Cannot join a channel that has been made private unless you have been "/INVITED". 2) The first person that joins a new channel is the channel owner, only the channel owner can change the public/private status or use the /INVITE or /KICK commands. This does not apply to channels 1-9. 3) This command is the same as the /CHANNEL command. /KICK - Kicks another user out of a channel. Usage: /KICK Example: /KICK Node to Kick: (L) to List, (Q) to Quit? (1 ) Node 1 Kicked off of channel 15. Shortcut: /KI 1 Note: You must be the "owner" of the channel in order to use the KICK command. /LEAVE - Leaves a channel and returns you to channel 1 or the first public channel that is available. Usage: /LEAVE Example: /LEAVE Channel 1 joined. Shortcut: /LE /LIST - Lists the channels that a currently in use. Usage: /LIST Example: /LIST Channel: 1 - PUBLIC [1] TEST USER [3] MIKE JACKSON Channel: 12 - PRIVATE *[2] ANOTHER USER [4] JOHN DOE Shortcut: /LI Notes: 1. This command is the same as the /SHOW command. 2. The '*' in the example indicates that ANOTHER USER is the owner of channel 12. /ME - Sends text as if you performed an action rather that said something. Usage: /ME Example: /ME fell asleep... You fell asleep... {Other users on your channel would see:} [1] YOUR NAME fell asleep... Shortcut: NONE /MONITOR - Monitor other public channels. Usage: /MONITOR Example: /MONITOR 5 Monitoring channel 5. [6] JOHN DOE -> channel 5 So what else is happening? [13] MARY JOE -> channel 5 Oh, not much... Shortcut: /MO 5 Notes: 1) Once you start monitoring a channel, you can stop by issuing the command again to toggle monitoring that channel off. /STATUS will show which channels you are monitoring. 2) You cannot monitor Private channels. 3) If you are monitoring a channel and it is made private, your monitor will be turned off. /NOTIFY - Lets you be notified when other user join chat on any channel. Usage: /NOTIFY {ON|OFF} Example: /NOTIFY ON NOTIFY is now on. [6] NEW USER entered chat. [6] NEW USER joined channel 1. Shortcut: /NO ON Note: Notify can me toggled on and off by just using /NO /ONE - Placed the current channel in ONE-ON-ONE mode. One-on-one allows interactive chat. Usage: /ONE Example: /ONE This channel is now One-on-one, Outsiders cannot join. Shortcut: /ON Note: 1. Only the 'Owner' of the channel change mode to one-on- one. 2. There can only be two people in a channel in this mode. 3. One-on-one mode is canceled by making the channel public or private. /OWN - Claim ownership of the current channel. Usage: /OWN Example: /OWN You are now the owner of this channel Shortcut: /OW Notes: 1) No one can become the owner of channels 1-9. 2) If the current channel already has an owner, you cannot claim ownership. 3) The first person into an unused channel is the owner. 3) Only the channel owner can use the /PUBLIC, /PRIVATE, /INVITE, and /KICK commands. /PAUSE - Turns you Pause setting on or off. While pause is on, once your screen fills up, you will have to press Enter at the prompt before more text is sent to you. Usage: /PAUSE {ON|OFF} Example: /PAUSE ON PAUSE is now on. Shortcut: /PA ON Note: Pause can me toggled on and off by just using /PA. /PRIVATE - Makes the current channel Private. Usage: /PRIVATE Example: /PRIVATE This channel is now PRIVATE, Outsiders cannot join. Shortcut: /PR Note: Only the 'Owner' of the channel (the first one into the channel) can make the channel Private. Channels 1-9 can't be made private. /PUBLIC - Makes the current channel Public. Usage: /PUBLIC Example: /PUBLIC This channel is now PUBLIC. Shortcut: /PU Note: Only the 'Owner' of the channel (the first one into the channel) can make the channel Public. Channels 1-9 are always PUBLIC. /QUIT - Exits CHAT and returns you to the system. Usage: /QUIT Example: /QUIT Shortcut: /QU Note: You should use /BYE if you wish to logoff directly. /SEND - Sends a private message to anyone that is in chat on any channel. Usage: /SEND Example: /SEND Node to SEND message to: (L) to list, (Q) to quit? (2 ) Message: Hello, how are you today? Shortcut: /SE 2 Hello, how are you today? Note: No notification is sent back to you indicating your message was received. It's your responsibility to ensure that the node you are sending to is in chat. /SHOW - Lists the channels that a currently in use. Usage: /SHOW Example: /SHOW Channel: 1 - PUBLIC [1] TEST USER [3] MIKE JACKSON Channel: 12 - PRIVATE *[2] ANOTHER USER [4] JOHN DOE Shortcut: /SH Notes: 1. This command is the same as the /LIST command. 2. The '*' in the above example indicates that ANOTHER USER is the owner of channel 12. /STATUS - Shows your current status. Usage: /STATUS Example: /STATUS You are on node 12. Your current channel is 16. Your ALIAS is: OFF Channel 16 is owned by You. Channel 16 is PRIVATE. You are Ignoring nodes: [1] [6] [8] You are Monitoring channels: 2 5 7 Notify is: OFF Pause is: ON Shortcut: /ST /TERM - Change terminal display modes. (Not Implemented Yet). Usage: /TERM Example: /TERM ANSI You are now in MONO Mode. (ANSI positioning) /TERM GRAPH You are now in COLOR Mode. (ANSI positioning) Shortcut: /TERM Notes: 1) You default setting is set from PCBoard. 2) Your Terminal Program must be capable of supporting ANSI codes in order to use the ANSI and GRAPH Modes. (Most do, if yours doesn't, use CTTY). 3) RIP is not available yet. /TIME - Shows you the current time, how much time you have used, and how much time you have remaining. Usage: /TIME Example: /TIME The current time is 20:41. You have been on-line for 23 minutes. You have 45 minutes remaining. Shortcut: /TI /TOPIC - Changes the topic of the current channel. Usage: /TOPIC Example: /TOPIC New Topic, (Q)uit:? (Free for all ) Topic changed to: Free for all Shortcut: /TO Free for all Note: 1. Only the 'Owner' of the channel can change the topic. 2. The sysop can preload certain topic channels, these can't be changed, nor can channels 1-9 /WHO - Displays who is on the system. (just like the PCBoard command WHO. Usage: /WHO Example: /WHO (#) Status User --- --------------------- ------------------------- 1 CHATTING with Group TEST USER (SOMEWHERE, WA) 2 CHATTING with Group SOMEALIAS Shortcut: /WH Chapter 4: Sysop Commands SYSOP COMMANDS -------------- /BROADCAST Send a Broadcast message to another node. /CONFIG Display Configuration File Settings /CLOSE Close Chat and throw everyone out. /DEBUG Toggle Debug mode. /DROPNODE Drop a node to DOS (Same as PCBoard 14 command) /FORCE Force a node to join your channel. /GIVETIME Give more time to a user. /HIDE Hide yourself. /LOG Open a capture log on a specific channel /KILL Throw a user out of chat. /LOGOFF Force a node off the system (PCBoard 12 command) /QUERY See if another node is alive. /RESET Reset chat (Must close first). /RECYCLE Recycle a node (PCBoard 15 command) /SPY Spy on another node. /WALL Write ALL - Send message to all users in chat. /WHOIS Get more information on a user. In order to use Sysop Commands, you must be in the SYSOP mode. You enter the SYSOP mode by issuing the /SYSOP command. Once you do that SYSOP commands are available. You must have a security level greater than or equal to the setting 'SecLevelForSysop=' in the configuration file. If you issue a subsequent /SYSOP command you will be taken out of sysop mode. Any commands issued will remain in effect, but you will not be able to use SYSOP commands until you return to SYSOP mode. This prevents you from doing SYSOP things unless you really want to. For example, if you are not in SYSOP mode, and you start monitoring a channel, others users will know it, but if you are in SYSOP mode, they will not be notified that you are monitoring. Also, there are really 256, channels, not 255. Channel 256 is a SYSOP channel, if you go to 256, users will not see you in a /SHOW or /LIST command. If you Also use the /HIDE command, you will not be seen in a /WHO display. The only way a user can enter channel 256 is for a SYSOP to /FORCE him/her there. (Often useful for those private counseling sessions with unruly users :) /BROADCAST - Broadcast text to another node. Usage: /BROADCAST Example: /BROADCAST Node to BROADCAST: (W) to list, (Q) to quit? (1 ) Message: Hey! Shortcut: /BR 1 Hey! Notes: 1) This sysop only command broadcasts a message to another node. The other node DOES NOT HAVE TO BE IN CHAT. 2) This is the same as the PCBoard BR command, but will only allow broadcasting to ONE node at a time. /CLOSE - Closes Chat down and forces everyone out. Usage: /CLOSE Example: /CLOSE THE CLOSE CHAT MESSAGE HAS BEEN SENT. MAKE SURE THAT ALL NODE ARE OUT BEFORE USING /RESET Shortcut: /CLO Notes: 1) This sysop only command closes chat and sends a message to all chat users and then throws them out. Any user who tries to join chat while it's closed will get a chat closed message. 2) The purpose of this command is to remotely close chat down prior to using the /RESET command. /CONFIG - Displays Configuration file settings Usage: /CONFIG Example: /CONFIG BBS NAME = UNREGISTERED BBS Registration Code = 000000000 Chat file Path = C:\ Help file Path = C:\CHAT\HELP\ Action file Path = C:\CHAT\ACTION\ Finger file Path = C:\FINGER\ Check Interval (ticks) = 91 Channel Interval (ticks) = 18 High Always = 9 Coded Records = 1024 Sysop Security = 250 Inactivity Time Out = 30 Location Of Log Files = C:\CHAT\LOG\ Path To Topic File = C:\CHAT\ Notes: See the documentation in the Sysop manual for the Configuration file settings. /DEBUG - Turns DEBUG mode on. Usage: /DEBUG Example: /DEBUG DEBUG Mode is now ON. TO: 0 FROM: 2 COMMAND: 3 CHANNEL: 5 POINTER: 33024 LENGTH: 0 LASTRECORD is now = 1 Shortcut: /DEB Notes: This command is really just for the authors, you may be asked to use it if you make a bug report. Basically, the information that is displayed is the message info that is found in the chat data file. /DROPNODE - Drops another node to DOS. Usage: /DROPNODE Example: /DROPNODE Node to DROP: (W) to list, (Q) to quit? (1 ) Shortcut: /DR 1 Notes: 1) This sysop only command is the same as the PCBoard '14' command. The other node DOES NOT HAVE TO BE IN CHAT. /FORCE - Forces a user to join your current channel. Usage: /FORCE Example: /FORCE Node to FORCE to current channel: (L) to list, (Q) to quit? (2) [2] USER NAME Joined This Channel Shortcut: /FO 2 Notes: 1) This sysop only command will force a user to join your current channel. 2) You can't force another sysop who has sysop mode on. 3) The channel can be private, and the user will still be force to the channel. /GIVETIME - Give another user more on-line time. Usage: /GIVETIME Example: /GIVETIME Node to Give time: (L) to list, (Q) to quit? (2 ) Give how many minutes: (Q) to quit? (12 ) Shortcut: /GI 2 12 Notes: 1) This sysop only command will allow you to give more on line time to a user. 2) The time can exceed what that user would normally have each session, but on his next call he will only have the max amount for his security level. /KILL - Kill a user (force him to exit chat). Usage: /KILL Example: /KILL Node to KILL: (L) to list, (Q) to quit? (2 ) Shortcut: /KIL 2 Notes: 1) This sysop only command force a user to exit chat, they will NOT be logged off the system. 2) You can't kill another sysop with sysop mode on. 3) If you want to force a user to logoff, use the /LOGOFF command instead. /LOG - Open a capture log on a specified channel. Usage: /LOG Example: /LOG Log file name, (Q) to quit? (CHAN66 ) Channel to log: 66 Log file opened. Shortcut: /LOG CHAN66 Notes: 1) Log files can contain 8 characters, always end in '.CAP' and are placed in the 'PathToLogFile=' setting in the configuration file. If this path is not present, logging is disabled. 2) Only logs channel text and info, will not record private sends (Mostly useful for meeting minutes). 3) A second /LOG closes the capture file, as does exiting. /LOGOFF - Log another node off the system. Usage: /LOGOFF Example: /LOGOFF Node to LOGOFF: (W) to list, (Q) to quit? (1 ) Shortcut: /LO 1 Notes: 1) This sysop only command is the same as the PCBoard '12' command. The other node DOES NOT HAVE TO BE IN CHAT. /QUERY - Query a node to see it responds. Usage: /QUERY Example: /QUERY Node to QUERY: (L) to list, (Q) to quit? (1 ) Node 1 is alive. Shortcut: /QU 1 Notes: 1) This sysop only command sends a QUERY message to the other node. If the other node up and in chat, it will send a response back indicating that the node is alive. 2) Not getting a response back within 10 seconds or so may indicate that node is locked up or is really not still in chat. /RECYCLE - Recycles another node. Usage: /RECYCLE Example: /RECYCLE Node to RECYCLE: (W) to list, (Q) to quit? (1 ) Shortcut: /REC 1 Notes: 1) This sysop only command is the same as the PCBoard '15' command. The other node DOES NOT HAVE TO BE IN CHAT. /RESET - Resets Chat. Warning: **** ALL other nodes must be out of chat before you **** **** use this command! **** Usage: /RESET Example: /RESET ARE YOU ABSOLUTELY SURE THAT YOU WANT TO DO THIS? (y) Shortcut: /RESET Notes: 1) This sysop only command resets chat by deleting the chat data file. You must be the only node in chat when you use this command. It's your responsibility to ensure that this is the case. 2) You should use the /CLOSE command to force everyone else out prior to issuing this command! /SPY - Activates SPY mode on a node. Usage: /SPY Example: /SPY 2 SPY is activated on Node: 2. PRIVATE message from [2] USER NAME to [3] ANOTHER USER This is a private message... Shortcut: /SP 2 Notes: 1) This sysop only command will all you to monitor a node and see any private messages sent to or from that node. 2) To also see all the text that a user is sending and receiving, you should also monitor the channel that user in on. 3) You can SPY on only one node at a time. /WALL - Write ALL - Sends a message to everyone that is in chat on any channel. Usage: /WALL Example: /WALL Message: Please exit chat, I need to reset it. IMPORTANT MESSAGE: Please exit chat, I need to reset it. Shortcut: /WA Please exit chat, I need to reset it. Note: This command is available in the sysop mode only. All Nodes will receive this message as soon as their node looks into the data file. This is NOT a broadcast. /WHOIS - Tells you a little bit more about someone. Usage: /WHOIS Example: /WHOIS Node to WHOIS: (W) to list, (Q) to quit? (2 ) Node: 2 Real Name: USER NAME Alias: ALIAS NAME Security Level: 70 Time Remaining: 57 Notes: It may take several seconds for the other node to send this info back to you. Chapter 5: Troubleshooting Shutting Chat Down If one of your machines hangs, there may be nodes listed in chat that really are not in chat. To correct this, it is necessary to shut chat down and reset chat. This normally applies to LAN systems. A single system that locks will delete the Chat Data file upon reboot. Then the first user to run chat will cause the data file to be recreated. A sysop can from within Chat shut down the chat should he find any problems. This is accomplished with the /CLOSE command. This can be performed either from a local log-in or from remote by any Sysop with the required level in the configuration file. Another useful command is the /WALL command. You can use it to send a message to all users in chat that you are going to take it down. After issuing the /CLOSE command, all users (expect for the sysop who is issuing the command) within chat are forced out. Any user that tries to join chat is turned away. Once all users are out (use the /SHOW command) the /RESET command can be used. If you use the /CLOSE command and then exit before using the /RESET command, you will not be able to get back into Chat. No problem, just delete the Chat Data file. Resetting the Data File Offline: During a reset of the whole board you can place in the AUTOEXEC.BAT file the command to delete the "chat.dat" this will clean it out and as the first caller enters chat it will automatically recreate itself. On-line: The /RESET command deletes the "chat.dat" file and creates a new one. Deleting the Chat Data File The chat.dat needs to be reset should it become corrupt, or as you completely recycle the whole board. This is good housekeeping anyway. If there are no users in chat, then the first person into chat will cause the data file to be recreated. However, if a node is listed as being in chat when it's really not, the data file will not get frequently reset. This will cause the file to keep growing over time and slow the system down. For this reason, if you run a system wide event where you take all nodes down, it would not be a bad idea to delete the chat data file during this event. Problems with Insufficient File Handles TSCNET Chat normally holds a minimum of 12 open files for each node. TSCNET Chat may quickly open and close up to 6 or so more files. While running PCBoard, as a general rule, you should have about 25 files for each node that you are running on each machine. So if a machine runs 4 PCBoard nodes, you will want at least 100 files available. Since PCBoard usually requires more files per node than TSCNET Chat, you probably won't need to increase the amount of files on your system. If you do of course, your FILES= statement in your CONFIG.SYS file will change your workstation, and you will have to consult your network software manual if you are running a Local Area Network and you need to increase the files on your server. Problems with Insufficient File Locks It is possible that problems could occur if you do not have enough file locks available. File locking is provided by the SHARE program that comes with DOS or in some cases by your networking software. If you are not using networking software to provide record locking, you should have SHARE loaded in your AUTOEXEC.BAT file. TSCNET Chat can use up to 4 locks per node. PCBoard may use even more. I don't have an exact recommendation for this, but at TSCNET we run four nodes per workstation, and use the following: SHARE /L:60 /F:8192 This will lock and allow multitasking for 60 files and provide an addition 8,192 bytes for the table to hold the information of record locks. If you are running more nodes on a single machine, you may need more (It's usually better to have too many than not enough, but more locks takes more memory) Environment Space In general, TSCNET Chat does not extra Environment space, but at least one of our Beta Testers did have problems with PCBoard and TSCNET Chat because of a lack of environment space. If you suspect that you have a problem try the following in your CONFIG.SYS file: SHELL C:\COMMAND.COM /p /e:1024 Error Messages The following are error messages that TSCNET CHAT can specifically issues. Error messages that TSCNET Chat issues due to user error within Chat are not covered; these messages apply only to the Installation and Operation of the program. 1. Unable to locate Configuration File, aborting... The TSCNET Chat configuration file (CHAT.CFG) could not be located. The configuration file must be located in the same subdirectory as the TSCNET Chat executable (XCHAT.EXE). If you are running a LAN and you have the EXE file on each workstation, you will need the configuration file on each workstation. 2. The Finger program is not installed on this system. The TSCNET Profile PPE set (Finger Command) is not present or the configuration file is not pointing to the correct location. The Profile PPE's data files must reside on a server drive. 3. Unable to Recreate: CHAT.DAT, Please notify System Operator. The Chat Data file could not be recreated. This usually indicates that there is an incorrect path in the configuration file. This message should be accompanied by a PCBoard Toolkit error message that gives more information (Also check the callers log). 4. Unable to open: CHAT.DAT, Please notify System Operator The Chat Data file could not be opened for reading or writing. Several things could cause this, and you should see a PCBoard Toolkit error message as well indicating the exact problem. 5. WRONG VERSION OF CHAT FILE DETECTED, ABORTING... The Chat Data file has a version number encoded into it. If you are upgrading to a newer version, continue with the update then close chat, exit, and delete the chat data file. The Chat data file may be corrupted. Close chat and delete the file. The program will recreate a new and uncorrupted one. 6. Error opening C:\PCB\MAIN\USERNET.XXX This usually indicates insufficient files, a share locking problem, or a corrupt USERNET.XXX file. Take your BBS Down, delete the USERNET.XXX file and the Chat Data file. Bring the board back up. PCBoard will recreate the USERNET.XXX file. Additionally, TSCNET Chat may issue standard PCBoard Error messages. These messages can be identified by the (Code:Class:Locus:Number) numbers issued with the error message. These messages are also placed into the callers log. Your PCBoard manual has more information about these messages, and they have the same meaning when issued by PCBoard. Callers Log In addition to error messages, informative messages are also logged to the callers log including the following: Entering Chat Exiting Chat Logging Off Joining Channels Making Channels private, public, and One-on-one Calling Other nodes Turning Sysop and Debug modes on and off Starting/stopping logging functions Reporting Bugs Please send all bug reports to mhjack@tscnet.eskimo.com Please include a written description in as much detail is possible. A screen capture using DesqView Mark and Transfer is often very helpful. Ideally what we would like to see is a copy of your CONFIG.SYS, AUTOEXEC.BAT, and Callers Log. Chapter 6: Customizing Actions Actions Index file The actions are basically similar to a scripting language. The actions index file (ACTION.IDX) is used to associate a number with each action and define the security level required to use and cost in time/credits (if any). Actions can be disabled or comments added by placing a semi- colon in front to the line you want to disable. No two actions should be assigned the same number. The base actions are preconfigured, several of our Beta Testers have created other actions. These Include: Adult and others graphic in nature, the flexibility will allow you to add or create your own. The actions consist of 4 parts on a single line. first is the Action number (you can append to the list or re-order /number), second is the name of the action (DOS file name rules apply), third is the security level required to perform the action (this allows control of the sysop functions), fourth is the cost in time to the user for the actions (this is sysop configurable, i.e. Negative Actions might cost time / credits) See the partial example below. Example: ; TSCNET Chat Action Index file. ; This file contains the index of all available actions. ; Lines beginning with ';' are comment lines are ignored. ; Each defined action has one line in the following format: ; <#>,,,, 1,3RDEGREE,0,0 2,AROUSE,0,0 3,ASK,0,0 4,ASKCHAT,0,0 5,ASKOUT,0,0 6,BEARHUG,70,0 7,BLINK,0,0 8,BLOWKISS,0,0 9,BLUSH,0,0 Action files format The actions files are basic ASCII files with PCBoard Color information (@X codes) and macro commands embedded within. These can be simple or complex. They require a bit of simple information, the first line is the Action Name. The lines following that are the action itself. Lines beginning with a '>' indicate text that is sent to the person to whom the action is directed. The text following '<' is sent back to the person sending the action. The text following the '|' is sent to everyone else on the sender's channel.See the example below, and consult you PCBoard manual for the @X color codes. The following '@' codes are also available: @NAMEFROM@ - Name of person sending action. @NODEFROM@ - Node number of person sending action. @NAMETO@ - Name of person receiving action. @NODETO@ - Node number of person receiving action. @CHANNEL@ - Channel number of sender. BLOWKISS >@X0D@NAMEFROM@ blows you a kiss. <@X0FYou just blew a kiss to @NAMETO@. |@X0E@NAMEFROM@ just blew a kiss at @NAMETO@. or They can take on a bit more artistic nature as in this example called "Xmedrose.caf" XMEDROSE > @X0C . . @X07 > @X0C ... :``..': @X07 > @X0C : ````.' :''::' @X07 > @X0C ..:.. : .'' : @X07 > @X0C ``. `: .' : @X07 > @X0C : : : : @X07 > @X0C : : : : @X07 > @X0C : : : : @X07 > @X0C : : :@X0A..''''``::. @X07 >@X0C :@X0A ...:..' .'' @X07 >@X0A .' .' .::::' @X07 >@X0A :..'''``::::::: @X07 >@X0A ' `:::: @X07 >@X0A `::. @X07 >@X0A `:: @X07 >@X0A :::. @X07 >@X0A ..:```.:'`. ::'`. @X07 >@X0A ..' `:.: :: @X07 >@X0A .: .:``::: @X07 >@X0A .: ..'' ::: @X07 >@X0A : .'' :: @X07 >@X0A : :: @X07 >@X0A : @X07 >@X0A : @X07 >@X0A : @X07 >@X0A : @X07 >@X0A . @X07 >@X0A >@NAMEFROM@ just gave you a rose. ; For example: 1;General Discussion 9;The New Chat Program 245;Another Topic Then edit the configuration file so that the setting 'PathToTopic=' setting points to the PATH of the TOPIC.DAT file. For example: C:\CHAT Put the TOPIC.DAT file in that subdirectory. Then next time the Chat data file is recreated, the Topic contained it the TOPIC.DAT file will be assigned. These topic are protected and a channel owner can not change them. Only someone in the SYSOP mode can change them. A Sysop in the Sysop mode can also protect topic from change, but if they are not listed in the TOPIC.DAT file, they will disappear when the Chat Data file is recreated. Appendix A: Details of the Configuration File The following is a line-by-line breakdown of the settings in the TSCNET CHAT Configuration file: NameOfBbs=UNREGISTERED BBS Your BBS's name goes here when you register TSCNET Chat. RegCode=00000000 The Supplied Registration Code once you register. PathToChatfile=C:\CHAT\ If you are running PCBoard on a single machine then locating the file on any local path will be fine. If you are running PCBoard on a Local Area Network, this path must point to a drive on a server that is accessible from all workstations. Since the Chat Data file and Channel files are frequently accessed, there is penalty to pay in speed if the path name is long. Placing this path several subdirectory levels deep is NOT recommended. PathToHelpFiles=C:\CHAT\HELP\ Location of chat help files. By default, the help files are located one subdirectory below the subdirectory with the chat program and the Chat PPE. PathToActionFiles=C:\CHAT\ACTION\ Location of chat action files. By default, the help files are located one subdirectory below the subdirectory with the chat program and the Chat PPE. PathToFingerData=C:\FINGER\ Location of finger files. This is the location of the files for the Profile PPE (Also available from TSCNET Software Designs). If you have the Profile PPE users will be able to access the stored information from within TSCNET CHAT. ChatFileCheckInterval=91 Frequency to check data file in clock ticks. A clock tick is approximately 1/18th of a second. There are actually 18.2 ticks per second. A setting of 91 would mean that the Chat Data file is checked every 5 seconds. (91 / 18.5 = 5) Each node will always check the data file at least this often. The default is actually a rather long time and you should probably lower it. Generally, the lower that this value the more speedy chat will act; however, the best setting is highly dependant on your system. Setting the value too low will degrade the overall performance of your BBS, and you should determine the best value experimentally. ChannelFileCheckInt=18 Frequency to check the channel file in clock ticks. This setting is like the ChatFileCheckInterval setting, but for the channel files used in the One-On-One mode. The default is one second. Lowering this value will make the One-On-One mode more responsive, but will make even more file requests. HighAlwaysPublicChannel=9 Channels 1-n are always public, the number of public channels you setup. Channels above this number are private. NumberOfCodedRecords=1024 Number of fixed length coded records. The TSCNET Chat uses this many 16 bytes records in the chat data file to pass information back and forth between nodes. Don't change this number unless you are specifically advised to. SecLevelForSysop=250 Security for Sysop mode. Any users with a security level equal to or higher than this number may enter Sysop mode and use the Sysop commands. You should change this value to your security level. If you have others that have Sysop/Co-Sysop privileges as they join a conference or log onto the board and they meet or exceed this security level, they will have access to all the Sysop actions and commands. Remember to look at this closely as you set this value. InactivityTimeOut=15 The number of minutes of keyboard inactivity that will cause a user to be logged off. Normally you want this value to be longer than your PCBoard keyboard timeout so that people can lurk a little. LocationOfLogFiles=Y:\CHAT\LOG Location of where log files will be placed if selected with the /LOG function. If this path is omitted from the configuration file, the Sysop Command /LOG is disabled. PathToTopic=C:\CHAT Location where the TOPIC.DAT file is located (if used). The Topic file can be used to predefine fixed channel topics. Appendix B: Running on a large BBS The Chat is fairly flexible in its configuration, it will allow for configuration for small BBS's or for large BBS's running under a Multitasking or Network Environment. You have several different options for locating the files. You can place all program, action, and help files on each workstation or you can place them on a server. At TSCNET, we have the chat Program, Actions, and Help files on each workstation, and the data file on a server RAM drive. We use a RAM drive for the fastest speed possible. ; TSCNET Chat Configuration File. (See Documentation before modifying) NameOfBbs=TSCNet Online Services ;Name of BBS when Registered RegCode=00000000 ;Registration Code PathToChatfile=E:\CHAT\ ;Location of chat data file (RAM DRIVE) PathToHelpFiles=C:\CHAT\HELP\ ;Location of chat help files (LOCAL) PathToActionFiles=C:\CHAT\ACTION\;Location of chat action files (LOCAL) PathToFingerData=Y:\PCB\PPE\PR\ ;Location of finger files (NETWORK) ChatFileCheckInterval=72 ;Frequency to check data file (ticks) ChannelFileCheckInt=9 ;Frequency to check channel file (ticks) HighAlwaysPublicChannel=9 ;Channels 1-n are always public NumberOfCodedRecords=1024 ;Number of fixed length records SecLevelForSysop=250 ;Security for sysop mode InactivityTimeout=10 ;Timeout for keyboard inactivity LocationOfLogFiles=Y:\CHAT\LOG ;Location of log files PathToTopicFile=C:\CHAT ;Path to TOPIC.DAT file Appendix C: What's new in version 2.00 1. The TSCNET Chat now includes full Fossil and COMM-DRV Support. 2. The bug with the /GIVE Command that would cause the users name to occupy all blank spots in the channel has been located and corrected. Therefore, the command has been re-activated. 3. Added Channel Topics, the /TOPIC command, and the TOPIC.CFG file for predefined topics. 4. Added a configuration file option called 'PathToLogFiles=' that will define the location for storage of the log files. 6. Added the configuration file option 'InactivityTimeOut=' which defines the time in minutes before a caller will be disconnected due to keyboard inactivity. In prior versions, this was hard coded to be 30 minutes. 7. Added a sysop command /CONFIG that displays the configuration file info as it was read from the configuration file. This info was previously available by using the /DEBUG command, but has been moved to a command of it's own. 8. Changed the Configuration file processing so that it is not necessary for the path to end in a '\', it it's missing, the program will now add one. 9. Fixed a problem with the /WHO display that was incorrectly displaying nodes that we marked in the USERNET.XXX file as up with the up status flags, but had a status code of 'Z' (Off- line). 10. Added the code for the /TERM command, which allows a user to view / change his terminal mode (ANSI/GRAPH/RIP). RIP Graphics should be actually be available in the next version. 11. Added the SYSOP commands /WALL and /LOG. 12. And most importantly, significantly improved the documentation! See the file HISTORY.TXT for more history information. Appendix D: The Beta Team Once again, we would like to thank our the Sysop's that volunteered to Beta test TSCNET Chat. Below is more information on their individual environments: BBS NAME : Legend Graphics OnLine BBS Number : (909)-689-9229 SysOp Name : Joey Marquez Num of Dial in NODES: 10 nodes PCB Version : PCBoard 15.1/100 Maximum PCB Nodes : 100 Network type (None) : Lantastic AI/Ethernet Multi-Tasker type : DesqView Number of Computers : 6 Running BBS : since August, 1991 Highest Baud Rates : 28.8 --------------------------------------------- BBS NAME : Vox Populi BBS BBS Number : (206)-895-1376 SysOp Name : Bryan Devaney Num of Dial in NODES: 15 Nodes PCB Version : PCBoard 15.1/25 Maximum PCB Nodes : 25 Network type (None) : Novell 3.12 Multi-Tasker type : NONE Number of Computers : Running BBS : since (years) Highest Baud Rates : 14,400 -------------------------------------------- BBS NAME : CyberNexus BBS Number : (407)-459-9100 SysOp Name : Steven Sheeley Num of Dial in NODES: 15 Nodes PCB Version : PCBoard 15.1/25 Maximum PCB Nodes : 25 Network type (None) : Novell 3.12 Multi-Tasker type : NONE Number of Computers : 15 Running BBS : 5 months Highest Baud Rates : 14,400 -------------------------------------------- BBS NAME : CCS BBS BBS Number : (317)-781-5799 SysOp Name : Dan Voils Num of Dial in NODES: 15 Nodes PCB Version : PCBoard 15.2/25 Maximum PCB Nodes : 25 Network type (None) : Novell 3.12 Multi-Tasker type : NONE Number of Computers : 15 Running BBS : 30 months Highest Baud Rates : 14,400 -------------------------------------------- BBS NAME : ABYSS BBS BBS Number : (206)-479-4776 SysOp Name : Mike Renz Num of Dial in NODES: 6 Nodes PCB Version : PCBoard 15.2/M 10 Maximum PCB Nodes : 10 Network type (None) : Lantastic 6.0 Multi-Tasker type : NONE Number of Computers : 3 Running BBS : months Highest Baud Rates : 14,400 -------------------------------------------- BBS NAME : Beyond the Relm BBS Number : 1-805-987-5506 SysOp Name : Lee Ladisky Num of Dial in NODES: 12 Nodes PCB Version : PCBoard 15.2/M 25 Maximum PCB Nodes : 25 Network type (None) : OS/2 Lanserver 3 Multi-Tasker type : OS/2 Number of Computers : 4 Running BBS : 2 Years Highest Baud Rates : 28800 Serial Interface : Digiboard Voice : 1-805-987-0877 Index /CLOSE 5-1 /RESET 5-1 Action files Location 2-1 Action Macros @CHANNEL@ 6-2 @NAMEFROM@ 6-2 @NAMETO@ 6-2 @NODEFROM@ 6-2 @NODETO@ 6-2 ACTION.IDX 2-1, 6-1 Actions 4-6 AUTOEXEC.BAT 5-1, 5-2, 5-4 Installing 2-4 Callers Log 5-4 CHANNEL.PPE Installing 2-4 CHANNEL.TMP Cleaning up 2-5 CHAT.CFG 2-5, 5-3 CHAT.DAT Troubleshooting 5-1 CMD.LST Installing CHAT.PPE 2-2 Other Conferences 2-3 CONFIG.SYS 5-4 Configuration File ChannelFileCheckInt= A-2 ChatFileCheckInterval= A-1 HighAlwaysPublicChannel= A-2 InactivityTimeOut= A-2, C-1 LocationOfLogFiles= A-2 NameOfBbs= A-1 NumberOfCodedRecords= A-2 PathToActionFiles A-1 PathToChatfile= A-1 PathToHelpFiles= A-1 RegCode= A-1 SecLevelForSysop= A-2 Configuration Files LocationOfLogFiles= C-1 PathToFingerData= A-1 Customizing Actions 6-1 DesqView 1-5 DesqView/X 1-5 Disclaimer 1-2 Error Messages 5-3 File Handles 5-2 FILES= 5-2 Fossil 1-5 Help files Location 2-1 Lantastic 1-5 License 1-2 MKPCBTXT 2-1 Changing 2-4 Netware 1-5 Overlay size 2-3 PathToChatfile Network 2-5 PCboard 1-4, 1-6 PCBoard Toolkit 1-5 PCBSETUP 2-1, 2-2, 2-3 PKZIP Authenticity 1-3 PPE 1-5, 2-1 Preloading Topics 7-1 Reporting Bugs 5-4 SecLevelForSysop 2-5 SHARE 5-2 SHELL 5-2 Shutting Chat Down 5-1 Swap During Shell Setting 2-3 Sysop Commands /BROADCAST 4-2 /CLOSE 4-2 /DEBUG 4-3 /DROPNODE 4-3 /FORCE 4-4 /GIVETIME 4-4 /KILL 4-4 /LOG 4-5, C-1 /LOGOFF 4-5 /QUERY 4-5 /RECYCLE 4-6 /RESET 4-6 /SPY 4-6 /WALL 4-7 /WHOIS 4-7 Troubleshooting 5-1 User Commands /ACTION 3-2 /ALIAS 3-2 /BYE 3-2 /CALL 3-3 /CHANNEL 3-3 /CLEAR 3-3 /DECLINE 3-3 /EXIT 3-4 /FINGER 3-4 /GIVE 3-4, C-1 /IGNORE 3-5 /INVITE 3-5 /JOIN 3-5 /KICK 3-6 /LEAVE 3-6 /LIST 3-6 /ME 3-7 /MONITOR 3-7 /NOTIFY 3-7 /ONE 3-8 /OWN 3-8 /PAUSE 3-8 /PRIVATE 3-9 /PUBLIC 3-9 /QUIT 3-9 /SEND 3-9 /SHOW 3-10 /STATUS 3-10 /TERM 3-10 /TIME 3-11 /TOPIC C-1 /WHO 3-11 USERNET 1-4, 1-5, 2-5, 5-4