@database AmiexDoc Copyright (c) 1993-94 LightSpeed Technologies Inc. All Rights Reserved @Remark $VER: (August 02 1994, 01:06:01) @Remark AmigaGuide database for the /X Documentation @node MAIN "/X Documentation (c)1993-94 L.Speed Technologies Inc.(August 02 1994, 01:06:01)" .: C O N T E N T S O F D O C U M E N T A T I O N :. @{" Introduction " Link Cap01} @{" Copyrights Information " Link Cap02} @{" Requirements " Link Cap03} @{" Installation of AmiExpress " Link Cap04} @{" How to install Configs " Link Cap05} @{" How to configurate Startup " Link Cap06} @{" All ToolTypes Information " Link Cap07} @{" The Standard Documentation " Link Cap08} @{" Programlogic of AmiExpress " Link Cap09} @{" MainMenu Commands of /X " Link Cap10} @{" AmiExpress HOST Addresses " Link Cap11} @{" MCI imbedded ControlSequence " Link Cap12} @{" Notable Features " Link Cap13} @{" Note worthy of Mention " Link Cap14} @{" QWK Mail Support " Link Cap15} @{" Icon Script Language Support " Link Cap16} @{" Trouble Shooting " Link Cap17} @{" Future planned Enhancements " Link Cap18} -------------------------------------------------------- Complete Run-Thru Docs for AmiExpress Professional v4.0 -------------------------------------------------------- Original 3.36 Documentation written by Jens Langner (/X DocWriter). Original 4.0 Documentation written by The Outlaw (Andy) Copyright (c) 1993-94 LightSpeed Technologies Inc. All Rights Reserved. Any copy or illegal distribution of this Documentation is not allowed. @endnode @node Cap01 "Introduction & Explanation for /X" ======================================================================= Ami-Express is a host Bulletin Board software program, allowing the transfer of data, between host and remote terminals via a telephone link. ( Obvious to some!! ). This data can be files uploaded or downloaded from remote (user end) from the BBS databases. Most Bulletin boards also contain message bases where you can read and leave electronic mail to other users. It is possible via some BBS`s to play on-line games, although these are of a simple nature, they can still be quite entertaining. For those of you that have been a user, either host or remote, for some time, will have noticed the major changes that Ami-Express has undergone. With the future proposed implementations Ami-Express will soon become comparable to other Major BBS programs found on Amiga and PC computers. ======================================================================= @endnode @node Cap02 "Copyright information" ======================================================================= If you own a an Illegal (Cracked copy) and you use it, then consider buying the original. This will not only provide you with support etc, but will encourage the further development of Ami-Express. ------------------------------------ AmiExpress, AmiX-Net, Utilities, docs, and its source code are (c) Copyright 1993-94 by LightSpeed Technologies Inc. -------------------------------------------------------------- AmigaGuide, AmigaGuide.info, amigaguide.library, WDisplay, WDisplay.info, (c) Copyright 1992 Commodore-Amiga, Inc. All Rights Reserved. Reproduced and distributed under license from Commodore. -------------------------------------------------------------- HydraCom was written by Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED The HYDRA protocol was designed by Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT and Joaquim H. Homrighausen COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED HYDRA PROTOCOL LICENSE You are granted a license to implement the HYDRA file transfer protocol, HYDRA hereafter, in your own programs and/or use the sample source code and adapt these to your particular situation and needs; subject to the following conditions: - You must refer to it as the HYDRA file transfer protocol, and you must give credit to the authors of HYDRA in any information screens or literature pertaining to your programs that contains other such information (credits, your own copyrights, etc.). - HYDRA will always remain backwards compatible with previous revisions. HYDRA allows for expansion of its features without interfering with previous revisions. It is, however, important that different people do not expand the protocol in different directions. We therefore ask you to contact us if you have any needs/ideas regarding HYDRA, so development can be synchronized and beneficial to all. - If your implementation cannot converse with past or future revisions as supplied by us, then you must refer to it as "HYDRA derived", or as "a variation of HYDRA", or words to that effect. -------------------------------------------------------------- AmiExpress is a commercial product, NOT shareware If you used it, please buy it! ------------------------------------ ======================================================================= @endnode @node Cap03 "Requirements" ======================================================================= To install AmiExpress V4.0 you must have the following things: Program Location Description --------- -------- ----------- Express BBS/Utils Bulletin Board System ACP WBSTARTUP Bulletin Board controller InitMisc S: Creates User.Misc - The Workbench should be installed to run ACP - a stack of at least 50000 bytes - a Amiga Model (500/600/1000/1200/2000/2500/3000/4000) - the installed Version of Kickstart V2.0 (Soft or Hardware Version) - at least 2 MB free Space to be able to get uploads - the installed .INFO Files in the directories. It is recommend to install AmiExpress on a HardDrive to increase The Speed of AmiExpress and to have enough space for Uploading software on the BBS. If you only want to test the AmiExpress Version than you can install the BBS also on a DiskDrive. ======================================================================= @endnode @node Cap04 "How to install AmiExpress on your HardDisk" ======================================================================= To install AmiExpress V4.0 you must have at least all the Requirement which were mentioned above. Now lets get going on with the normal installation of AmiExpress. Now take your registered LZH file which you downloaded from your favorite Distribution Board of AmiExpress and decrunched it please on a Disk or take your Disk on which AmiExpress is already installed. Now you must know where you want to install AmiExpress on your hard- drive. To explain the installation of AmiExpress much better it is recommend that you install the whole AmiExpress into the BBS: Directory on your HardDrive. If this Directory doesn't exists you have to make it on your HardDisk. Now take your AmiExpress disk and take a look an it and you will see the following things: ------------------------- S (dir) libs (dir) Trashcan (dir) BBS (dir) Trashcan.info ------------------------- Now you must know how many Conferences do you want to install in your BBS. Now I will explain how you install the new Express V4.0: - The whole AmiExpress can only be run if the Workbench has been installed and the ACP has been started from Workbench otherwise express can`t be installed. - The whole way of installing AmiExpress has been changed from V2.30 till V4.0. There is no longer an ACP.STARTUP to configurate your whole BBS. - Now you need an .INFO files for every configuration. This will be described in the next section. ======================================================================= @endnode @node Cap05 "The Way to install the Configuration Files" ======================================================================= The .INFO Files now take control over the express system. The whole ACP.STARTUP has now been changed to single INFO Files where you put in the configuration. First of all make sure you installed the workbench, otherwise you can`t install the AmiExpress V4.0 version. For further information look at the section which describes all info files for installing AmiExpress. But first you must decide how many nodes you want to install to configurate your express the right way. Since version 3.60 you may have up to 32 nodes. We highly suggest that you store AmiExpress and all associated programs in a volume called BBS: this simplifies finding any problems you may have. Installing AmiExpress is fairly complicated so please be patient, even those who have run earlier version of AmiExpress should notice a lot of setup changes, Therefore there will not be any quick setup instructions. ======================================================================= @endnode @node Cap06 "How to install Express in your Startup" ======================================================================= In order to get AmiExpress work perfectly you have to add the following things at your User-StartUp or Startup-Sequence file in the S: directory: -----cut here----------- ASSIGN BBS: SYS:BBS PATH BBS:UTILS ADD -----cut here----------- NOTE* Since version 3.38 of AmiExpress you now have the ability to make AmiExpress resident. Doing this should speed up program execution and also conserve memory. Making AmiExpress resident: 1. change all nodestart tooltypes in the NODE icons to reflect the following: NODESTART=express 2. Update your s:User-StartUp script by adding the following after your BBS Assignment: ---------cut here----------- RESIDENT EXPRESS BBS:EXPRESS ---------cut here----------- Now to start the ACP.SERVER you should copy the ACP.CTRL & INFO FILE into the WBSTARTUP directory at your HardDisk directory. You can also start ACP from a shell but the INFO file MUST be in the same directory as ACP to have the correct settings. The above mentioned ASSIGN statement indicates that you have your BBS installed in a directory called BBS on the system drive. Once all of this is complete you should be able to reset your system. ***NOTE*** If you are updating from version 3.38, make sure you have InitMisc and type this from the cli: Initmisc BBS: BBS:user.data BBS:user.misc This will create a realname file to correspond with the user.data file. This file will be needed if you will want to have a real name conference in Ami-Xnet, and also in the future for the Internet options. NOTE: You should have a BBS:UTILS directory. Use this directory to ~~~~ put all AmiExpress required Utils. ======================================================================= @endnode @node Cap07 "ToolTypes in ICONS to run AmiExpress..." ======================================================================= To run AmiExpress you need a lot of ICONS contained in different directories. These ICONS contain much of information to run /X. This Information are stored as TOOLTYPES. Now I will list for you all needed ICONS and the TOOLTYPES for it. To change the configuration of your BBS you should click on the icon and go with the right mousebutton to the workbench menu to view the information of the ICON. There you will find the TOOLTYPES to configurate your personal AmiExpress. For more information look at the example icons on disk. @{" ACP.INFO ICON " Link Cap0701} @{" NODE(x).INFO ICON " Link Cap0702} @{" .INFO ICON " Link Cap0703} @{" CONFCONFIG.INFO ICON " Link Cap0704} @{" DRIVES.INFO ICON " Link Cap0705} @{" SCREENTYPES.INFO ICON " Link Cap0706} @{" COMPUTERLIST.INFO ICON " Link Cap0707} @{" NAMESNOTALLOWED.INFO ICON " Link Cap0708} @{" PROTOCOLS " Link Cap0709} @{" ACCESS.INFO ICON " Link Cap0710} @{" FCHECK " Link Cap0711} @{" NODE(x) " Link Cap0712} @{" COMMANDS " Link Cap0713} @{" STORAGE " Link Cap0714} ======================================================================= @endnode @node Cap0701 "DH0:WBSTARTUP/ACP.INFO ICON ToolTypes information" ======================================================================= ACP.INFO - This ICON only represents the definition to ~~~~~~~~ ACP, and required data for the BBS to operate and locate the other definition files. ACPFONT= - Tell ACP what font you would like to have. IE: ACPFONT=cleanibm.font BACKUP.= - tells ACP to make backup from a specified file. A history of 5 backups will be made. is the number occurrence of this tooltype. BBS_NAME= - Specifies the name of your BBS. BBS_STACK= - Specifies the STACK number of your System. BBS_LOCATION= - Specifies the location of all BBS main files. This directory will be the directory where the Node(x) directories should be. Along with all of the .DEF files. If the location is a directory, then the directory name must have trailing '/' when specified in the tooltype. BUTTON_NAME.=- defines the name of the specified button, the can range from 1-15. BUTTON_COMMAND. - defines the command to be executed when this button is selected, can range from 1-15. BBS_GEOGRAPHIC= Specifies the Geographic Location of Your BBS this will be mentioned in the LOGON Sequence... CREDIT_BY_KBYTES - This allows the sysop to make xpress keep track of credits, (files) by Kbytes instead of Bytes. ICONFIED - Will toggle ACP to start ICONFIED or not ICONIFY.LEFTEDGE= - tells ACP the number of pixels from the left edge of the screen to place the ICONFIED window. ICONIFY.TOPEDGE= - tells ACP the number of pixels from the top edge of the screen to place the ICONFIED window. LONG_WHO - This tooltype will provide a separator between each node listed in the WHO command. MULTICOM_PORT - If this tooltype is placed the MULTICOM PORT of AmiExpress is turned on for multinode systems. NEW_ACCOUNTS=APPEND- This tells ACP to ADD new User to the End of the Databases. NODE_LOCATION= - This lets you specify the location of a given node NODEx_NAME=- This lets you specify a name for your node, the default is the same as the BBS_NAME NODEx_SYSOP= This lets you have a different SYSOP per node, this should effect comment to SYSOP and paging the SYSOP. The default is BBS_SYSOP. NODES=1 - Tells ACP how many Nodes you have NUTTON_NAME.=- defines the name of the specified nutton, the can range from 1-15. NUTTON_COMMAND. - defines the command to be executed when this nutton is selected, can range from 1-15. All NUTTONS will be passed the selected NODE number as a command line argument. PRIORITY= - Specifies the taskpriority for ACP to run. RESTRICT.= - tells ACP to place a filenote on the specified file. This prevents users from viewing or downloading the restricted files. SHORT_DONOTMOVE - if this tooltype is placed, then if the '/X' gadget is selected your ACP window will not move. SYSOP_NAME= - Specifies your name. ======================================================================= @endnode @node Cap0702 "BBS:Node(x).INFO ICONS ToolTypes information" ======================================================================= NODE(x).INFO - This Icon will specify some information about ~~~~~~~~~~~~ how to install the Node in AmiExpress (x) = Nodenumber - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALLERS_LOG - tells /X to record all events to a file called CallersLog in the node directory. CAPITOL_FILES - tells /X to make all upload files names UPPER_CASE letters. CHAT_ON - tells /X that the node should have the CHAT FLAG ON, when the node is started. COPYBUFFER= - this allows you to specify the maximum amount of memory that you wish express to use when copying files from one partition to another. If you do not specify this, then express will try and allocate memory enough to copy the file with 1 WRITE. Of course,if there is not enough memory, it will decrement by 8Kblocks, until it can copy it, regardless of the COPYBUFFER. ie: COPYBUFFER=100000 ^---------100K copy buffer CONF_DB= - This tooltype will specify the filename (not filepath) to use when loading msgbase pointers for a given node. The default is CONF.DB DEBUG_LOG - This turns on the DEBUGGING Log for Express DEF_SCREENS - DEF_SCREENS tells AmiExpress to use non security screens before looking for security screens. ie: BULL30.TXT BULL.TXT In the above case, express would start it's search for screens with BULL.TXT, this can be a considerable time savings if the majority of your screens are not security oriented. Under this scheme, BULL0.TXT is now a valid security designator. AmiExpress searches for security oriented text in increments of 5 based on the user's password. So if a user has an access level of 255, and there is only a BULL30.TXT, then express would have to check for the existence of 88 screens prior to locking in on BULL30.TXT. By default express does this now. We are just saying, if if you do not have security text or most of your texts aren't security oriented, then we recommend using the DEF_SCREENS. NOTE: if you use the DEF_SCREENS option, but you have security oriented menus to display, then instead of having: BULL30.TXT BULL.TXT use: BULL30.TXT BULL0.TXT and simply do not have a BULL.TXT for that bulletin. DISABLE_QUICK_LOGONS - Allows you to prevent a user from using the skipping of the Logon/off texts in your BBS. DOOR_LOG - tells /X to record the start and end time for Module use. EXPFONT= - tells Express what font you would like to have. IE: EXPFONT=cleanibm.font FILESNOTALLOWED= - is a full path and file name to a ASCII file which lists filenames you do not wish uploaded to your system. FREE_RESUMING - This tells Express to allow the FREE RESUMING of uploaded files for ALL Users in the BBS. HDTRANSBUFFER= - HDTRANSBUFFER allows you to change the buffer size from serial to HardDisk. This option is a better alternative than using a RAMPEN because it works on a file by file basis, whereas the RAMPEN method has to wait until all uploads are complete. You may specify as many buffers as you like. The number of buffers default to 8 if this tooltype is not used. Here is a formula for determining how much memory will be allocated for transfers when the node is started: ((buffers+2)*1024)*2 ^--- This is required due to the double buffering. ie: HDTRANSBUFFER=20 would require 45,056 bytes of memory 1. ((20+2)*1024)*2 2. (22*1024)*2 3. (22528)*2 4. 45056 IDLENODE - tells ACP not to start the node and wait for click. KEEP_UPLOAD_CREDIT= - specifies the user which upload credit will be kept if he downloaded something. Can have 1 of 2 values '0' or '1'. There meaning is as follows: '0' = Do not penalize a user 'time' for uploads. '1' = Do not penalize a user 'time' for uploads and give them an additional %50 time increase to the remaining time on-line. MAX_MSG_QUE - this allows you to specify the maximum number of messages (olm/chat) that can be queued to that node. Anything that is sent after the maximum will be ignored. If this tooltype is not specified then express defaults to 5. NAME_PROMPT= - This tooltype lets you specify the prompt to use for the LOGON procedure. NEWUSER_PASSWORD= - tells ACP that a user is required to enter the specified password prior to join as a new user. NODESTART= - tells ACP where Express is located to start node. NO_TIMEOUT - tells /X to disable the keyboard TIMEOUT option. NO_MCI_MSG - tells /X to disable the ability to use MCI commands in the message base. NO_WILDCARD_EXPANSION - This tells Express to not allow the using of WILDCARD expansions (*) in the specified NODE. PRIORITY= - tells ACP the priority for this Node in respects to the system. PHONECHECK - If this tooltype is activated, express will ask for the 4 last digits of the specified user phonenumber at every LOGON. PLAYPEN= - tells ACP that this node is going to use a SYSOP directory for initial uploads to go into. !! USING RAM: FOR THIS IS HIGHLY DISCOURAGED !! You must create this directory for running. QUIETNODE - tells ACP to make this node quiet to the WHO command, and some 3rd party modules. RAMWORK - This tells the Node not to check for FREE SPACE like when wanting to use RAM: for Playpen. RINGCOUNT= - This tooltype will instruct the node, to what the specified number of rings to come across the modem sequentially before answering the modem. RIPSCRIPT= - This tooltype will tell the node to enable RIP cabability. This is a new graphics term language. The number is in 10th's of a second. If you do not specify a number express will default to 10. What this does is delay the login sequence, so express can determine if the term calling has RIP capability. REMOTE_PASSWORD= - tells ACP that a user is required to enter the specified password prior to gaining access to SHELL. SCREENS= - This will tell express to use one common area for locating .TXT files, if you use this option for conferences, then you will need to have a bulletins drawer in that directory as well so the bulletins can be found. SCREENPENS - this tooltype is primarily there for testing the color configurations of the upload file requestor and overall screen color appearances, It is hard to explain how this works, but we have 12 color pens we can configure that make up the look of the screen, the SYSOP can define what those 12 colors will be, so here is an example: SCREENPENS=101010110110 0 = BLACK 1 = WHITE 2 = GREEN 3 = YELLOW 4 = BLUE 5 = MAGENTA 6 = CYAN 7 = RED Now for a 1 bitplane screen (2 colors) you will use only 1 and 0, so you experiment with this, and see what you can come up with. SENTBY_FILES - tells /X that you wish to have user`s handle placed at the end of his/her files descriptions. STEALTH_MODE - This will have express ask for the system password before the connect message and BBS name. START_LOG - tells /X to record the start & end times of the NODE. SYSTEM_PASSWORD= - tells ACP that this node is going to require users to enter a password before allowing access to the system. SYS_PWRD_PROMPT= - This tooltype lets you specify the prompt to use for the system password prompt. default is >: SYSOP_CHAT_COLOR= - tells /X which ANSI color to use when display the SYSOPS Chat. (Range 31-37) TRAPDOOR - tells ACP that this node is going to run Express indirectly via another program. If this option is used then you should specify the program to be run externally in the NODESTART= tooltype. TRAP_SERIAL - This will Trap the A2232 Error Messages UD_LOG - tells /X to record all uploads & downloads to a file called UDLOG in the node directory. USER_CHAT_COLOR= - tells /X which ANSI color to use when displaying the User`s Chat. (Range 31-37) USERDATA_NAME=-This lets you specify an alternate location for USERDATA. USERKEYS_NAME=-This lets you specify an alternate location for your USERKEYS. USERMISC_NAME=-This lets you specify an alternate location for your USER.MISC. USERNUMBER_LOGIN - tells acp to allow a user to login with his account number instead of his name/handle. VIEW_PASSWORD - This tooltype will allow you to see what users are typing in for there passwords and new user passwords. ======================================================================= @endnode @node Cap0703 "BBS:.INFO ICON ToolTypes information" ======================================================================= .INFO - This Icon will specify some information about ~~~~~~~~~~~ how to install the Conference. = ConfName - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONFDB_SHARED= - This tooltype allows you to tell a conference to use another conference's CONF.DB file for storing and retrieving user's file credits, and ratios. NOTE: ACS.CONFERENCE_ACCOUNTING is needed for this to take effect. CUSTOM - This will tell express that THIS conference is using AmiX-Net Mail. DLPATH.=- Required for all conferences which allow downloads and file viewing. Specifies the directory of files available for downloading. is the number occurrence of the DLPATH tooltype. If the download path is a directory then the directory name in tooltype must have a trailing '/'. FREEDOWNLOADS - Tell /X that the current conference allows free downloads. FORWARDMAIL= - Redirects Comments to the SYSOP to another user. FORCE_NEWSCAN - This will force your users to have a New Mail scan whether they have selected it or not. INTERNETNAME - This will tell Express what INTERNETNAME to use for the current conference mail. If this tooltype is not set, then express will default to login name. This is optional. MENU_PROMPT= - This tooltype lets you specify the MenuPrompt to use in this Conference. NDIRS= - Required for all conferences which allow file transfers. Specifies the number of file catalogs for the conference. NO_NEWSCAN - This will Force No New Mail scan whether a users has turned it off or not. REALNAME - This will turn on the realname option in the current conference. This is optional. SHOW_NEW_FILES - If used in the CONF icon, will act like the above force command for messages. IE: Force your users to get a new file scan whether they have chosen it or not. ULPATH.=- Specifies an overflow directory for uploads to goto , this is useful in instances where the default upload directory does not room for anymore files. is the nth occurrence of the ULPATH tooltype. If the upload path is a directory then the directory name in the tooltype must have a trailing '/'. ======================================================================= @endnode @node Cap0704 "BBS:CONFCONFIG.INFO ICON ToolTypes information" ======================================================================= CONFCONFIG.INFO - This ICON is required to be in the BBS directory ~~~~~~~~~~~~~~~ This defines your conferences. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NCONFS= - tells /X the number of conferences your BBS has. NAME.= - tells /X the name of your conferences. LOCATION.= - tells /X the location of conference (DIR). RELATIVE_CONFERENCES - tells /X to only show user accessible confs VS. showing all conferences on the system. ======================================================================= @endnode @node Cap0705 "BBS:DRIVES.INFO ICON ToolTypes information" ======================================================================= DRIVES.INFO - This ICON should be placed in the BBS: Directory ~~~~~~~~~~~ Here you place in your Upload directories. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DRIVE.=- tells /X which drives to use in determining free space for uploads. IE: DRIVE.1=DH0: DRIVE.2=DH1: ======================================================================= @endnode @node Cap0706 "BBS:SCREENTYPES.INFO ICON ToolTypes information" ======================================================================= SCREENTYPES.INFO - This ICON should be placed in the BBS: Directory ~~~~~~~~~~~~~~~~ Here you can put in information for different ScreenTypes like different languages. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TYPE.= - This specifies the Extension for the ScreenTypes like "TXT","GER" & "ENG". you can make your own. TITLE.=- This specifies the name of the ScreenTypes you want to have like "AMIGA ANSI","GERMAN" & "ENGLISH". You can specify your own Title. ======================================================================= @endnode @node Cap0707 "BBS:COMPUTERLIST.INFO ICON ToolTypes information" ======================================================================= COMPUTERLIST.INFO - This ICON tooltypes specifies the ComputerTypes ~~~~~~~~~~~~~~~~~ which the Users can select. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - COMPUTER.NUM= - Specifies the total number of ComputerTypes you have in your BBS System. COMPUTER.= - Specifies the Computer Description the users can choose from there own USERDATA. ======================================================================= @endnode @node Cap0708 "BBS:NAMESNOTALLOWED.INFO ICON ToolTypes information" ======================================================================= NAMESNOTALLOWED.INFO - This ICON tooltype specifies UserNames you ~~~~~~~~~~~~~~~~~~~~ don`t want to use in your BBS System. In this tooltype Names like: ALL,EALL,SYSOP should be there, to prevent user to log in the BBS with these Names This ICON should be placed in the BBS: directory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NAME.= - Specifies the Name you want to prevent to be used in your BBS System. ======================================================================= @endnode @node Cap0709 "BBS:PROTOCOLS Directory information" ======================================================================= Protocols.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~~~~ Directory is required to be within the BBS: directory. ABOUT: This directory will contain XPR definitions for AmiExpress. IMPORTANT NOTE: - You must have a door called XPR, and have it located in the BBS:COMMANDS/SYSCMD dir for the Xpr's to work properly. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" XPRTypes.INFO ICON " Link Cap070901} @{" .INFO ICON " Link Cap070902} @{" Hydra.INFO ICON " Link Cap070903} ======================================================================= @endnode @node Cap070901 "BBS:PROTOCOLS/XPRTypes.INFO ICON ToolTypes Info" ======================================================================= XPRTypes.INFO - This ICON tooltypes specify the XFER Protocols ~~~~~~~~~~~~~ you want to be used for your BBS System. This ICON should be placed in the BBS:Protocols/ directory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TITLE.= - Specifies the Title for the XFER Lib to be displayed in the BBS LIBRARY.<numb>=<library | INTERNAL> - Specifies the Library you want to use for the <numb> Title in your BBS. Use "INTERNAL" for the normal AmiExpress Internal Protocol. ======================================================================= @endnode @node Cap070902 "BBS:PROTOCOLS/<XFERLib>.INFO ICON ToolTypes Info" ======================================================================= <XFERLib>.INFO - This ICON tooltypes specify the options for ~~~~~~~~~~~~~~ for each XFERLibrary you use in your BBS system. e.g.: XPRZmodem.INFO = xprzmodem.library XPRYmodem.INFO = xprymodem.library This ICON should be placed in the BBS:Protocols/ directory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OPTIONS=<opt> - Allowed you to specify the Options for the XFERLibraries. e.g.: OPTIONS=TN,AY,OR,KY,SN,RN,DN,F0,B32 AE_BATCH - All batch protocol icons must contain the tooltype AE_BATCH instead of Batch. ======================================================================= @endnode @node Cap070903 "BBS:PROTOCOLS/<Hydra>.INFO ICON ToolTypes Info" ======================================================================= <Hydra>.INFO - This ICON tooltype specifies the options for ~~~~~~~~~~~~ the new hydra protocol. To have this option work in express you must: 1st: Have the aehydra file in the Doors: directory. (The aehydra library is built into this file, so no library is needed in the Libs: dir. 2nd: You must have the correct settings in the in the Hydra.Info icon. e.g. OPTIONS=AEHYDRA TXWINDOW=0 RXWINDOW=0 STACK=4096 YOU DO NOT NEED AE_BATCH IN THIS ICON. ALSO THIS OPTION REQUIRES YOU TO USE THE NODE/PLAYPEN DIR FOR UPLOADS. YOU MAY NOT SPECIFY ANOTHER PATH LIKE RAMPEN. NOTE: INFORMATION FOR YOUR USERS ~~~~ Hydra only works with the V32 modems. So your users might have to force there modems to make a V32 connection. (USR)To do this they must use the &N8 in there modem settings to force the V32. This ICON should be placed in the BBS:Protocols/ directory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AE_BATCH - All batch protocol icons must contain the tooltype AE_BATCH instead of Batch. OPTIONS=<opt> - Allowed you to specify the Options for the XFERLibraries. e.g.: OPTIONS=TN,AY,OR,KY,SN,RN,DN,F0,B32 ======================================================================= @endnode @node Cap0710 "BBS:ACCESS.INFO ICON ToolTypes Information" ======================================================================= ACCESS.INFO - This ICON tooltypes specify the access defaults ~~~~~~~~~~~ assigned to a users account when he/she logs on. %References: ACS.DEF.INFO ICON These defaults can be used by using the ACS.OVERRIDE_DEFAULTS Option. The following list are ICONS which should be placed in this directory to have ACCESS Levels,AREA Names & PRESETS for the User Accounts: @{" ACS.<level>.INFO ICONS " Link Cap071001} @{" AREA.<AXSName>.INFO ICONS " Link Cap071002} @{" PRESET.<x>.INFO ICONS " Link Cap071003} ======================================================================= @endnode @node Cap071001 "BBS:ACCESS/ACS.<level>.INFO ICON ToolTypes Info" ======================================================================= ACS.<level>.INFO - This ICON Must be placed in the ACCESS directory <username>.INFO and it can be the USERNAME or the Accesslevel. ~~~~~~~~~~~~~~~~ i.e.: ACS.010, ACS.200, ACS.255, BYTEMASTER, USER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ACS.ACCOUNT_EDITING - Gives Access to Account Editing. ACS.ATTACH_FILE - Allows user to make a file attached to messages. ACS.BREAK_CHAT - Allows user to break the sysopchat with CTRL-C. ACS.CONFFLAGS - Allows user to use the CF command. ACS.CONFERENCE_ACCOUNTING - This will turn on the Conference Account for a User. So now you can define a Ratio for each Conference to each User. ACS.CREDIT_ACCESS - Allows a user (co-sysop/sysop) to view CREDIT ACCOUNTS as long as they have ACCOUNT EDITING access. ACS.COMMENT_TO_SYSOP - Allows user to leave comment to SYSOP. ACS.DUPE_FILECHECK - This will turn on the DUPE FILECHECKING after the upload for the specified user. ACS.DOWNLOAD - Allows user to download files. ACS.DISPLAY_USER_STATS - Allows user to view his/her status on the system. ACS.DELETE_MESSAGE - Allows user to delete Messages. ACS.EDIT_DIRS - Allows user to Edit catalogs of Files. ACS.EDIT_FILES - Allows user to Edit Files in your BBS. ACS.EDIT_USER_INFO - Allows a user to edit his/her account. ACS.EDIT_USER_NAME - Allows user to change his/her handle. ACS.EDIT_USER_LOCATION - Allows user to change his/her location. ACS.EDIT_PHONE_NUMBER- Allows user to change his/her phone number. ACS.EDIT_PASSWORD - Allows user to change his/her password. ACS.ENTER_MESSAGE - Allows user to enter messages. ACS.EALL_MESSAGES - Allows user to enter EMAIL to All user so that they are forced to read them. ACS.FULL_EDIT - Allows User to use the FULL-SCREEN-EDITOR if one is located in the SYSCMD <dir>. ACS.FILE_LISTINGS - Allows to view catalog of available files. ACS.FILE_EXPANSION - Allows user to wildcard files. ACS.FREE_RESUMING - Allows user the free resuming of partuploads. ACS.HIDE_FILES - Prevents the user from seeing which files are being transferred via the WHO command and NEWCHAT (who). ACS.JOIN_CONFERENCE - Allows user to Join a Conference. ACS.LIST_NODES - Allows user to view the On-line Nodes. ACS.MAX_PAGES=<numb> - This will set the maximum number of pages allowed per session. If a user goes above this limit, then page sysop will be translated to Comment to Sysop. ACS.MCI_MESSAGE - Allows user to write MCI Messages in the BBS. ACS.MODIFY_VOTE - Allows the Sysop access to change or modify the information in the voting booth. ACS.NEW_FILES_SINCE - Allows user to list recent catalog entries. ACS.OVERRIDE_DEFAULTS- OverRide access defined in the ACCESS Icon tooltypes above. ACS.OLM - Allows users to send OLM, (Internal ONLINE Message sender), messages to ALL Nodes. ACS.OVERRIDE_CHAT - Allows user to OverRide the /X chat flag and successfully page the SYSOP. ACS.OVERRIDE_TIMES - Allows user to bypass the time restrictions placed on a Node. ACS.PAGE_SYSOP - Allows user to page sysop. If the sysop page flag on express is turned off the user will be notified that you are not available. ACS.PUB_MSGFILES - Allows user to upload a file into the MSGBASE and to make it automatically ATTACHED to (ALL) Users with "X"Option. ACS.PRI_MSGFILES - Allows user to upload a file into the MSGBASE and to make it automatically ATTACHED to another user with "X" Option. ACS.QUIET_NODE - Allows user to make himself invisible from other nodes by the "Q" command in Main Menu. ACS.READ_BULLETINS - Allows user to read the normal Bulletins. ACS.READ_MESSAGE - Allows user to read messages. ACS.RELOGON - Allows user to make a RELOGON by pressing "RL" in the Main Menu Prompt. ACS.REMOTE_SHELL - Allows user to gain access to the Remote Shell. ACS.SYSOP_READ - Allows user to read mail, regardless of whose it is. ACS.SHOW_PAYMENTS - Allows user to be able to see when there credit account will expire via the 'S' command. ACS.SYSOP_VIEW - Allows user to view Files like a SYSOP. ACS.SYSOP_DOWNLOAD - Allows user to make a SYSOPDOWNLOAD of any path. ACS.SYSOP_COMMANDS - Allows user to make normal SYSOP Commands. ACS.ULSTATS - Allows user to view number of new uploads since the last SYSOP LOGON. ACS.UPLOAD - Allows user to Upload files. ACS.VOTE - Allows user to vote in the voting booth. ACS.WHO_IS_ONLINE - Allows user to view Nodes with "WHO" command. ACS.VIEW_A_FILE - Allows user to view downloadable text files. ACS.XPR_RECEIVE - Allows user to receive file with XPR Libraries. ACS.XPR_SEND - Allows user to send files with XPR Libraries. ACS.ZIPPY_TEXT_SEARCH- Allows user to search the catalog for key items with the ONLINE search features of /X. ACS.ZOOM_MAIL - Allows user to Zoom Mailing from some message. ======================================================================= @endnode @node Cap071002 "BBS:ACCESS/AREA.<AXSName>.INFO ToolTypes Info" ======================================================================= AREA.<AXSName>.INFO - This ICON should be placed in the ACCESS dir. ~~~~~~~~~~~~~~~~~~~ It defines the Access a user has to Conferences. The same name should be placed in the ACCOUNT EDITING at "AREA NAME" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF.<x> - Allows a user with that AREA NAME to join the specified conference you inserted at <x> ======================================================================= @endnode @node Cap071003 "BBS:ACCESS/PRESET.<x>.INFO ToolTypes Info" ======================================================================= PRESET.<x>.INFO - Allows you to choose PRESETS for the Account ~~~~~~~~~~~~~~~ editing over tooltypes. This ICON should be <x> = 1 - 8 placed in the ACCESS directory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PRESET.AREA=<name> - Specifies the AREANAME for the UserAccess that the user has access to. PRESET.ACCESS=<numb> - Specifies the Access for the Preset you want to set. PRESET.CONFRJOIN= - Specifies the Conference when a User is selected with this PRESET. Then he will automatically join this CONF in his next LOGON. PRESET.DAILY_BYTE_LIMIT= - Specifies the Daily Byte Limit for the Preset you want to set. PRESET.RATIO_TYPE= - Specifies the RatioType for the Preset you want to set. PRESET.RATIO=<numb> - Specifies the Ratio you want to have for the preset. PRESET.TIME_LIMIT= - Specifies the Time Limit for the Preset you want to set. ======================================================================= @endnode @node Cap0711 "BBS:FCHECK Directory Information" ======================================================================= FCHECK.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~ Directory is required to be within the BBS: directory. ABOUT: This directory will contain Checker definitions for AmiExpress. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <EXTENSION>.INFO ICONS " Link Cap071101} ======================================================================= @endnode @node Cap071101 "BBS:FCHECK/<EXT>.INFO ICON ToolTypes Info" ======================================================================= <EXT>.INFO - These ICONS are used for the FCHECK in Express ~~~~~~~~~~ and should be placed in the directory BBS:FCHECK <EXT> = The Extension of Files like "DMS", "WRP" & "LHA" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CHECKER=<comp.Path> - Specifies the complete Path to the FileChecker you want to have for the extension. ERROR.<numb>=<name> - Specifies the Error Message if a file is corrupt and have to move to the Hold Directory. You can specify unlimited Error Messages by changing the <numb>. OPTIONS=<options> - Specifies the option you want to start with the FileChecker. This Will be put after the executing of FileChecker. PRIORITY=<numb> - Here you can specify the Taskpriority on which the FileChecker will be run. SCRIPT=<script path> - This will tell express to run that script after it finishes testing the file. Once that is finished then express will go ahead and move the file to where ever. NOTE: express will pass the file name as the ~~~~ first command line argument to the SCRIPT. STACK=<numb> - Here you can specify the Stack which you want to have for the checker. ======================================================================= @endnode @node Cap0712 "BBS:NODE(x) Directory Information" ======================================================================= NODE<x>.INFO - This ICON represents a Directory. This ~~~~~~~~~~~~ Directory is required to be within the BBS: directory. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" CONNECT.DEF.INFO ICON " Link Cap071201} @{" WINDOW.DEF.INFO ICON " Link Cap071202} @{" TIMES.DEF.INFO ICON " Link Cap071203} @{" NRAMS <Directory> " Link Cap071204} @{" SERIAL <Directory> " Link Cap071205} @{" MODEM <Directory> " Link Cap071206} ======================================================================= @endnode @node Cap071201 "BBS:NODE<x>/CONNECT.DEF.INFO ICON Info" ======================================================================= CONNECT.DEF.INFO - This ICON should be placed in the NODE<x> ~~~~~~~~~~~~~~~~ directory and specifies special Connect Messages to change the BaudRate. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <connectmsg>=<baud> - if the Connect Message is the same the BaudRate will be changed to the specifies one. example: CONNECT 2400/ARQ/MNP/MNP5=9600 - if the Connect message is the above one the hardware BaudRate will be changed to 9600 baud. NOTE: This tooltype is not mandatory. It was basically introduced to allow older modems to show correct connect strings. i.e.: Older HST modems even though connected at 14400, only showed a connect string that was displayed through the modem hardware as 9600. ======================================================================= @endnode @node Cap071202 "BBS:NODE<x>/WINDOW.DEF.INFO ICON Info" ======================================================================= WINDOW.DEF.INFO - This ICON should be placed in the NODE<x> ~~~~~~~~~~~~~~~ directory and specifies the Window Prefs of the node. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WINDOW.NUM_COLORS= - Specifies the Number of Colors you want to have for the Node Window. WINDOW.INTERLACE= - Specifies that you want to have this window in HighRes-Interlace Mode. WINDOW.LEFTEDGE= - Specifies the beginning of the Node Window in the Left Edge. WINDOW.TOPEDGE= - Specifies the beginning of the Node Window in the Top Edge. WINDOW.WIDTH=<numb> - Specifies the WIDTH of the Node Window. WINDOW.HEIGHT=<numb> - Specifies the HEIGHT of the Node Window. WINDOW.STATBAR - This turns on the STATBAR in the Node Window WINDOW.ICONIFIED - Specifies if you want to have the Node Window ICONIFIED if you start the ACP.CTRL. WINDOW.TO_FRONT - Specifies if you want the Node Window to pop up automatically when starting ACP. ======================================================================= @endnode @node Cap071203 "BBS:NODE<x>/TIMES.DEF.INFO ICON Info" ======================================================================= TIMES.DEF.INFO - This ICON should be placed in the NODE<x> ~~~~~~~~~~~~~~ directory and specifies the special Times in which specifies BaudRate can call or not. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - START.<baud>=<time> - Specifies the Start Time of the BaudRate END.<baud>=<time> - Specifies the End Time of the BaudRate - for maximal calling time place in: START.<baud>=0000 END.<baud>=2359 or choose the OVERRIDE_TIMES ======================================================================= @endnode @node Cap071204 "BBS:NODE<x>/NRAMS Directory Info" ======================================================================= NRAMS.INFO - This ICON only represents a Directory. This ~~~~~~~~~~ Directory is required to be within the BBS:NODE<x>/ directory. ABOUT: This directory will contain NRAMS definitions for the Modem. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <name>.DEF.INFO ICON " Link Cap07120401} ======================================================================= @endnode @node Cap07120401 "BBS:NODE<x>/NRAMS/<name>.DEF.INFO ICON Info" ======================================================================= <name>.DEF.INFO - This ICON should be placed in the NODE<x>/NRAMS ~~~~~~~~~~~~~~~ directory and specifies the NRAM Prefs you want to have for your ACP.CTRL button "Set NRAMS" - You can <name> it with every name you want ACP will look for the #?.DEF.INFO file in the NRAMS dir. NO SPECIAL NAME NEEDED. - The NRAMS will be activated if you press the "Set NRAMS" button in ACP SERVER. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NRAM.<numb>=<sets> - Specifies the NRAM Settings of your Modem. You can have unlimited NRAM settings, just change the <numb>. ======================================================================= @endnode @node Cap071205 "BBS:NODE<x>/SERIAL Directory Info" ======================================================================= SERIAL.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~ Directory is required to be within the BBS:NODE<x>/ directory. ABOUT: This directory will contain SERIAL definitions for AmiExpress. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <name>.DEF.INFO ICON " Link Cap07120501} ======================================================================= @endnode @node Cap07120501 "BBS:NODE<x>/SERIAL/<name>.DEF.INFO ICON Info" ======================================================================= <name>.DEF.INFO - This ICON should be placed in the NODE<x>/SERIAL ~~~~~~~~~~~~~~~ directory and specifies the SERIAL Prefs of your Computer equipment. - You can <name> it with every name you want ACP will look for the #?.DEF.INFO file in the SERIAL directory. NO SPECIAL NAME NEEDED. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SERIAL.UNIT=<unit> - Specifies the UNIT on your MULTISERIALCARD. SERIAL.BAUD=<baud> - Specifies the INIT BaudRate for your EXPRESS. SERIAL.DRIVER=<name> - Specifies the SERIALDRIVER for your EXPRESS i.e.: SERIAL.DEVICE. SERIAL.A2232_PATCH - Turns the A2232 Multi user serial card Patch on. SERIAL.NO_PURGELINE - This command will cause express not to clear the serial port after a modem reset command is sent through the port. Doubt many would use this. SERIAL.REPURGE - This command will process the any data in the serial port after a modem reset, normally the port is just cleared, but on A2232 cards, it appears that the card will not accept a CLEAR port command so you need SERIAL.REPURGE to process the left over data. SERIAL.LOGOFF_RESET - This command will cause the modem to be reset before each call and after each call, this routine used to be default in the 1.x series of express. So if you are having problems at logoff you may wish to try this. SERIAL.TRUE_RESET - This command will force express to Reset the modem with the following modem strings: MODEM.RESET ATZ MODEM.INIT MODEM.RESET ======================================================================= @endnode @node Cap071206 "BBS:NODE<x>/MODEM Directory Info" ======================================================================= MODEM.INFO - This ICON only represents a Directory. This ~~~~~~~~~~ Directory is required to be within the BBS:NODE<x>/ directory. ABOUT: This directory will contain MODEM definitions for AmiExpress. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <name>.DEF.INFO ICON " Link Cap07120601} ======================================================================= @endnode @node Cap07120601 "BBS:NODE<x>/MODEM/<name>.DEF.INFO ICON Info" ======================================================================= <name>.DEF.INFO - This ICON should be placed in the NODE<x>/MODEM ~~~~~~~~~~~~~~~ directory and specifies the MODEM Prefs of your Express. - You can <name> it with every name you want ACP will look for the #?.DEF.INFO file in the MODEM directory. NO SPECIAL NAME NEEDED. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MODEM.INIT= - tells /X how to initialize your modem. MODEM.RESET= - tells /X how to reset the modem for receiving another call. MODEM.RING= - tells /X how to notice an incoming call from the modem. MODEM.ANSWER= - tells /X how to respond an incoming call from a modem. MODEM.OFFHOOK= - tells /X how to take your modem off hook. ======================================================================= @endnode @node Cap0713 "BBS:COMMANDS Directory Information" ======================================================================= COMMANDS.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~~~ Directory is required to be within the BBS: directory. ABOUT: This directory will contain Module definitions for Modules that are in different directories and will now be listed, @{" BBSCmd <Directory> " Link Cap071301} @{" SYSCmd <Directory> " Link Cap071302} @{" CONF(x) <Directory> " Link Cap071303} @{" NODE(x) <Directory> " Link Cap071304} ======================================================================= @endnode @node Cap071301 "BBS:COMMANDS/BBSCmd Directory Information" ======================================================================= BBSCmd.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~ Directory is required to be within the COMMANDS directory. ABOUT: This directory will contain Module definitions for Modules that are allowed to be executed globally throughout the BBS. The following list are ICONS which can be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <module>.INFO ICONS " Link Cap0713011} ======================================================================= @endnode @node Cap071302 "BBS:COMMANDS/SYSCmd Directory Information" ======================================================================= SYSCmd.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~ Directory is required to be within the COMMANDS directory. ABOUT: This directory will contain Module definitions for Modules that are allowed to be executed only from MCI Message/Textures or internal Module execution but not from Main Menu prompt. The following list are ICONS which can be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <module>.INFO ICONS " Link Cap0713011} ======================================================================= @endnode @node Cap071303 "BBS:COMMANDS/CONF<x> Directory Information" ======================================================================= CONF<x>.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~~ Directory is required to be within the COMMANDS directory. ABOUT: This directory will contain Module definitions for Modules that are allowed to be executed only in that Conference you choose by changing <x>. The following list are ICONS which can be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <module>.INFO ICONS " Link Cap0713011} ======================================================================= @endnode @node Cap071304 "BBS:COMMANDS/NODE<x> Directory Information" ======================================================================= NODE<x>.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~~ Directory is required to be within the COMMANDS directory. ABOUT: This directory will contain Module definitions for Modules that are allowed to be executed only in that Node you choose by changing <x>. The following list are ICONS which can be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" <module>.INFO ICONS " Link Cap0713011} ======================================================================= @endnode @node Cap0713011 "<Module>.INFO ICONS ToolTypes Information" ======================================================================= <module>.INFO - This ICON defines a MODULE for /X. The Name of the <module> should be the same as the executing in MainMenu prompt, and should be in one of the three Directories. a> BBSCmd - Modules in this directory are allowed to be executed from any menu prompt or MCI text file. b> SYSCmd - Modules in this directory are only accessible by MCI text files and internal BBS operations. c> CONF(x) - Modules in this directory are allowed to be executed from conference (x) menu prompt or from any MCI text file in conference (x). d> Node(x) - Modules in this directory are allowed to be executed from node (x) menu prompts or from any MCI text file in Node (x). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ACCESS= <numb> - tells /X the access level required to run this module. This option is ignored for internal Module options. INTERNAL= <command> - Specifies if you want to have this Module the same as a internal AmiExpress command. if you choose this option you don`t need the following tool types. LOCATION= <string> - Specifies the location of the Module. MULTINODE= <YES|NO> - tells /X if the module may be simultaneously accessed from other nodes. PASSWORD= <string> - force the user to enter password before executing this module. PASS_PARAMETERS=<res>- This tooltype only takes effect if you use the INTERNAL tooltype as well, so the following result options are available: PASS_PARAMETERS=1 - This will tell express to not execute the internal command. PASS_PARAMETERS=2 - This will tell express to swap the customcommand with the internal command but retain the commandline pars. PASS_PARAMETERS=3 - This will do the same as the previous entry except will additionally tell express to redo the menu command from the top of the routines, which means that express will re-check the customcommands to see if anything meets the criteria. PASS_PARAMETERS=4 - This option will tell AmiExpress to bypass checking the BBSCmd modules. This option was primarily introduced to allow a sysop to invoke an INTERNAL command from a ConfXCMD and forcing it to bypass checking the BBSCmd directory for the INTERNAL command. PRIORITY= <numb> - Let's you set the priority of the door. If you use PRIORITY=SAME, it will use the same Priority that express uses. QUICKMODE - This simply tells AmiExpress not to run the Module in question if the user has logged onto the BBS using the QUICK LOGON option. STACK= <numb> - tells /X the stacksize to use when launching this module. Default is 4096. TYPE= <XIM | AIM | TIM | IIM | SIM | MCI > - tells /X which type of module it is to support: XIM = /X Standard Module AIM = Arexx Module (requires REXXDOOR in BBS:Utils directory) TIM = Traditional BBS Module (requires PARADOOR in the BBS:Utils directory) IIM = NO INTERFACE - This type of Module will SPAWN the specified MODULE and not wait on it to finish. SIM = Script BBS Module - This type will execute any normal BatchScript. MCI = MCI Commanding. TRAPON - This makes LOGON Output go to a Log for Error Checking. ======================================================================= @endnode @node Cap0714 "BBS:STORAGE Directory Information" ======================================================================= STORAGE.INFO - This ICON only represents a Directory. This ~~~~~~~~~~~~ Directory is required to be within the BBS: directory. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" ICONS <Directory> " Link Cap071401} ======================================================================= @endnode @node Cap071401 "BBS:STORAGE/ICONS Directory Information" ======================================================================= ICONS.INFO - This ICON only represents a Directory. This ~~~~~~~~~~ Directory is required to be within the BBS:STORAGE directory. The following list are ICONS which should be placed in this directory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @{" ICONIFIED.INFO ICON " Link Cap07140101} ======================================================================= @endnode @node Cap07140101 "BBS:STORAGE/ICONS/ICONIFIED.INFO ICON Info" ======================================================================= ICONIFIED.INFO - This ICON should be placed in the ~~~~~~~~~~~~~~ BBS:STORAGE/ICONS directory and represents the ICONFIED ICON for the ACP SERVER if you close the window. ======================================================================= @endnode @node Cap08 "Normal Documentation of AmiExpress" ======================================================================= The following documentation is designed to let the System Operator know exactly what is taking place in each step of the BBS operations. Apart from being a descriptive account of how Ami-Express works, this documentation also tries to help sysop's optimize their systems for maximum efficiency. Well, the real update of the V3.36 DOCS have been needed for a long time. Here they are, 4.0 this time done by me Andy (The Outlaw). The most difficult process in any software commercial release is the development of the Documentation. After seeing Jens Langer's docs first release of 3.60, which was different from the normal Documentation I decided that an update of the AmiExpress Docs in AmigaGuide format will be included in every future version of AmiExpress. Anyway if you like this Documentation or you have a problem with AmiExpress you can call LightSpeed Technologies BBS Support board and I will help you with AmiExpress as much as I can. It`s very hard to write docs, and I hope you like this new styling of the AmiExpress Docs. But now lets go on with the normal Documentation of AmiExpress. Now go with the mouse cursor to the ACP.CTRL ICON and click on it two times. You should notice a ICONIFIED window appear on the workbench screen. If ACP.CTRL did not appear on the Workbench Screen, ACP.CTRL should have left you an error message. If there appears an Error message, please write down the information of the error that is displayed or If the ACP.CTRL doesn`t return a Error Message contact your local AmiExpress support BBS for more help. Now you should click on the ICONIFIED ICON of ACP.CTRL, this will expand the ACP window to reflect a series of buttons. To the left of the window you should see a NODE (x) button for each NODE you want to run. You should also notice at the upper portion of the window, 4 categories: 'User', 'Location', 'Action' & 'Baud'. Under 'Action' you should see a message pertaining to each node saying 'Awaiting Connect'. If you do not see the 'Awaiting Connect' message please open a shell and type Express x (where x is the node number), this should display an error message, most common problems, is that you did not setup the configuration ICONS correctly, this could mean that you misspelled the device driver for the serial port, or it could be that you are missing some files. Whatever it is, it should tell you.. Refer to later sections in this documentation for corrective actions. Below the node buttons you should see a series of 18 buttons. There are 15 buttons in 3 columns on the left bottom of the window., These buttons control AmiExpress, the way to implement one of these buttons is to click on 1 of the 15 and then select a NODE button for action. Now if all nodes are showing 'Awaiting Connect' do the following: 1> Press the Accounts button 2> Press the NODE 0 button This will take you into account editing, you should see the following: ------------------------------------- S>earch by name N>ew account editing C>redit Accounts Edit Which Account? ------------------------------------- 1> Type 1 then press <RETURN> This will take you into account number one, which is yours. You should see the following information: -------------------------------------------------------------------------------- ACTIVE [1] BAUD: 14400 A> Name: User Name-------------------30 B> Real Name: Joseph Hodge C> Loc.: location D> Pass ..........: ENCRYPTED E> Phone Number ..: 800-555-1212 G> Area Name......: Standard F> Ratio .........: 0 I> Sec_Level .....: 255 H> Ratio Type ....: 0 <-Byte) K> AutoReJoin ....: 1 J> Uploads .......: 0 M> Messages_Posted: 0 L> Downloads .....: 0 O> New_User ......: No #Calls: 0 N> Bytes Uled ....: 1 Last Called ...: Tue May 26 22:00:17 1994 P> Bytes Dled ....: 0 Computer Type .: Amiga 1000 Q> Byte Limit ....: 0 Screen Type ...: Amiga Ansi R> Time_Total: [0 ] mins Y> Cps Up: 0 Z> Cps DN: 0 S> Time_Limit: [0 ] mins T> Time_Used: [0 ] mins W> UUCP: 0 U> Chat_Limit: [0 ] mins V> Chat_Used: [0 ] mins X=EXIT-NOSAVE ~=SAVE 1-8=Presets 9=RE-ACTIVATE DEL=DELETE TAB=CONT @=CONFERENCE ACCOUNTING !=CREDIT ACCOUNT MAINTENANCE -------------------------------------------------------------------------------- 2> Press the letter A, this will let you put your user name on your account. 3> Press the letter B, this will let you setup your real name, if you want to have access to internet ect. 4> Press the letter C, this will let you setup an address, group name or whatever you like. 5 Press the letter D, this will let you assign yourself a password. 6> Press the letter E, this will let you out your phone number in. 7> Now you can press a number between 1 and 8 for account defaults. 8> Make sure that your Time_Limit is not 0. 9> Press the tilde '~' to save the account,. Here is a sample of a completed sysop account: -------------------------------------------------------------------------------- ACTIVE [1] BAUD: 14400 A> Name: User Name-------------------30 B> Real Name: Joseph Hodge C> Loc.: location D> Pass ..........: ENCRYPTED E> Phone Number ..: 800-555-1212 G> Area Name......: Standard F> Ratio .........: 0 I> Sec_Level .....: 255 H> Ratio Type ....: 0 <-Byte) K> AutoReJoin ....: 1 J> Uploads .......: 0 M> Messages_Posted: 0 L> Downloads .....: 0 O> New_User ......: No #Calls: 0 N> Bytes Uled ....: 1 Last Called ...: Tue May 26 22:00:17 1994 P> Bytes Dled ....: 0 Computer Type .: Amiga 1000 Q> Byte Limit ....: 0 Screen Type ...: Amiga Ansi R> Time_Total: [0 ] mins Y> Cps Up: 0 Z> Cps DN: 0 S> Time_Limit: [0 ] mins T> Time_Used: [0 ] mins W> UUCP: 0 U> Chat_Limit: [0 ] mins V> Chat_Used: [0 ] mins X=EXIT-NOSAVE ~=SAVE 1-8=Presets 9=RE-ACTIVATE DEL=DELETE TAB=CONT @=CONFERENCE ACCOUNTING !=CREDIT ACCOUNT MAINTENANCE -------------------------------------------------------------------------------- 9> Press the TAB key to complete the editing. Now you should see the following: ------------------------------------- S>earch by name N>ew account editing C>redit Accounts Edit Which Account? ------------------------------------- 10> Press return to exit account editing. 11> Select the close gadget to return to the workbench screen. This will also of course close the BBS Window. ======================================================================= @endnode @node Cap09 "The Programlogic of AmiExpress" ======================================================================= We will now describe the program logic of the Express so you can learn how to operate AmiExpress to it's maximum potential. The ACP window has 15 major buttons at the bottom of the window. Here is a list of there names and function: [ Sysop LOGON ].....Logs you into a node as the sysop. [ Local LOGON ].....Enters the initial log on phase of the Node This will require you to specify your name and password. [ Instant LOGON ]...This will give a carrier detect command to the modem, this is good for re-establishing a connection to a user after talking to them voice on the same line. [ Reserve Node ]....This allows you to tell the Node to only let a certain user on the BBS. After the user has called the node will no longer be reserved. [ AEShell ].........This will open a shell on the Node screen. [ Accounts ]........This takes you into account editing on a node. [ Toggle Chat ].....This toggles the Node's chat request flag, if a Nodes Chat request flag is off, then only user of a high enough security level be able to request a chat. [ INIT Modem ]......This re-initializes a modem of a particular node. [ Exit Node ]......This will shutdown the node in question. [ Node(offhook) ]...This will shutdown the node in question and also make the line busy. [ Node Config ].....This will bring up our Config program for a particular node. [ Node Chat ].......This button will take you into chat mode with a particular node. [ Save Win ]........This button does not require a NODE(x) complement. This simply saves the window coordinates of ACP to a file called S:ACP.Config [ Set NRAMS ].......This button will Set the NRAMS of your Modem and will save it to the EPROM. NOTE: All of the above mentioned buttons unless said otherwise, require ~~~~ you to press the Appropriate node button for them to take effect. Once all of the NODES are started the following actions take place for each node: At this point the BBS will load up the computer types from a ICON called: BBS:COMPUTERLIST.INFO Ami-Express then checks if the node is already running as another task, and if it is, then the program halts and exits with an error message. Next, Ami-Express will try to access the LIBS:REXXSYSLIB.LIBRARY for it's Arexx port routines, and if not found, will disable the Arexx port and inform the user that the Rexx port is disabled. Ami-Express will run thru it's initialization process where it will take the modem off-hook, and configure it for BBS operation. This is done so that an incoming call does not alter the configuration process. While someone is ONLINE you have the following function keys available to you: F1 - Chat in/out F2 - Increase On-line time limit +10 mins F3 - Decrease On-line time limit -10 mins F4 - Asks for a path/filename for a capture file (only on the SYSOPS side) or if one is already open then it closes the capture and lets you know it did so. when you press F4 again the capture will be stopped. S+F4 - This will pop up an ASL Requester to let you choose an ASCII File to be send to the user. F5 - Local Shell F6 - Account Editing S+F6 - This will let you change the Account of a User only for that call he is ONLINE. When he locks off the BBS will reset his Account to the old one. Press Shift+F6 a second time and the changes will be restated to the old ones. F7 - Chat Flag toggle (whether you are to be paged or not) F8 - Serial in on/off (User can`t write until you press F8 again) F9 - Serial out on/off (User can`t see what you are typing) F10 - Keyboard out on/off (Disconnect ONLINE User *KICK*) Now follows the normal reactions of AmiExpress when something happens if the BBS is in the standby mode and the nodes are standing at "Awaiting Connect". (1). The BBS checks for F key input from the local keyboard. (2). Or data coming in the serial port. (3). Or data coming in the internal communication AmiExpress_Node(x) msgport for commands either suspend, resume, or shutdown. (4). Or data coming in from the AmiExpress window itself (Gadgets etc..) (5). Or data coming in from AmiExpress Control.(ACP) Once the modem picks up a RING DETECT, the BBS sends an Answer string specified in the Config file to the modem, and waits for a response from the remote modem. If the result string is a valid connect string, the BBS continues with normal operations, if not, it resets the modem and the ACP screen will return to "Awaiting Connect" state. If the connect string was a valid one, AmiExpress first checks a couple of things before performing the LOGON routine: (1). System checks for a file called: BBS:NODE{x}/NOCALLERSAT{BAUD} where x is node number and BAUD is the baud rate that is unaccepted. If this file exists, and the current baud rate matches the BAUD, then the BBS displays the file and disconnects. (2). Displays the connect string received from the modem. (3). Now, the BBS displays the standard welcome message, and starts to perform the actual LOGON procedure. (4). Check to see if you have a Module called FRONTEND , if so it executes it. see section regarding doors for more info. Explanation: To Install the FRONTEND module you have to a ICON to the BBS:COMMANDS/SYSCMD directory called "FRONTEND" (5). BBS checks if there is a module called "ANSI" in the SYSCMD Directory if so it will start the door you insert and will skip the selecting of ANSI or ASCII Colors. Look at Point (4) above for more Info about installing these doors. If the BBS can`t find such a door it will asks if the user wants ANSI graphics or not. If a 'Q' is specified at the end of the line like: "YES Q" or "Y Q" etc. Then the BBS checks if the Option DISABLE_QUICK_LOGONS is on or not if the option is on the BBS will display the Logon.txt because you want to have the users seen it. If the Option is off and the user answers "Y Q" or "YES Q" the BBS will not display the LOGON or logoff screens. (6). Then if the sysop has specified a SYSTEM PASSWORD it displays a file called: BBS:NODE<x>/PRIVATE.TXT then asks for the SYSTEM PASSWORD you specifies. The system gives the user three tries and if by then he hasn't gotten it the BBS hangs up, and displays in the CallersLog that someone attempted to get the SYSTEM PASSWORD. (7). The BBS displays the file: BBS:NODE{x}/BBSTITLE.TXT (8). It now asks for the user to enter his FULL NAME, again WILDCARDS are usable and will expand and ask if correct. A user gets five tries at his user name, then the BBS hangs up. (9). If the BBS can't find the name supplied it will tell the user and ask him if he would like to 'C'ontinue to join or 'R'etry entering his name again. [C]ontinue as a New User Selected: ---------------------------------- (1). If the BBS has been reserved it will notify the user that the BBS has been reserved for a specific member and will then hang-up. (2). If the BBS hasn't been reserved then the BBS checks to see if the user's baud rate is allowed during the time he has called. If so, then the BBS allows the user to continue, otherwise it displays the file: BBS:NODE{x}/NOTTIME{BAUD}.TXT {x} = Node number, {BAUD} = Current Baud rate. (3). If the sysop has specified a new user password in the Config file then the BBS displays the file: BBS:NODE{x}/NEWUSERPW.TXT Then it asks for the new user password and if the user gets the password wrong it goes back and asks for his FULL NAME again, after 5 tries the BBS hangs up. (4). If the System-Operator wishes to have no more NEW users the BBS would look for the file BBS:NODE{x}/NONEWUSERS then displays it and disconnect the User. And if you wishes to have no more NEW users at a SPECIFIC BAUD RATES, the BBS would look for a file called BBS:NODE{x}/NONEWAT{BAUD}, displays it and then disconnecting the User. {x} = Node number, {BAUD} = Current Baud rate. (5). Now it enters the New Account routines. 1. Search displays BBS:NODE{x}/JOIN.TXT 2. Asks for full name. At this point WILDCARDS are NOT ALLOWED. The user only has 5 chances to enter it then the BBS says "Too Many Errors, Good-bye!" 3. The BBS checks for use of a name that already exists. If the name already exists it asks again. 4. The BBS checks the name given to see if not in the list of names supplied in the icon BBS:NAMESNOTALLOWED This is a file that contains names that the sysop does not want to allow on the BBS. If the file does not exists the BBS will not allow any new users to log on until the file has been added. This is to prevent someone getting on as ALL or EALL etc. A notice will be placed at the end of the BBS:NODE{x}/CALLERSLOG file. WARNING: You should specify in that list SYSOP, ALL, and EALL 5. Next it asks for the City, State. 6. The it asks for Phone Number (xxx-xxx-xxxx) 7. Next, it asks for the Users personal Password 8. Number of lines on screen (1-255) 9. Clear Screen between Messages ? 10. Asks for which ScreenType the User want to have. 11. Display back all info and asks if it is correct if the user needs to change something he just says no its not correct and the process starts again at 2.. 12. At this point the BBS checks to see if there is a script Module in the SYSCMD Directory and if express will find this module it will start it instead of the normal SCRIPT questionnaire. And if express can`t find such a Module it will start the normal SCRIPT questionnaire to ask the user to fill out, it checks for BBS:NODE{x}/SCRIPT{BAUD} {x} = Node number, {BAUD} = Current Baud rate. NOTE: The {BAUD} should be specified as 1200,2400,4800, 9600, 12000, 14400 and 16800 to allow for proper connect handling by USR HST modems. Now the user is asked to fill out the script if existent. A sample script may look like: -------------Cut Here-------------------- What is your Real Name: ~ What is your Real # : ~ What is your Sex,Age : ~ -------------Cut here-------------------- Here, the ~ character is used when a prompt for input by the user is expected. The answers are saved to BBS:NODE{x}/TEMPANS before being validated by the sysop. Once the Sysop validates the User, the answers are copied over to BBS:NODE{x}/Answers. 13. The BBS then displays the file BBS:NODE{x}/JOINED.TXT (10). Once the system has loaded the users account, it checks to see if the system has been reserved, if so and the user who just logged in is not the reserved user the BBS displays that the system has been reserved for that specific user, and then hangs up. (11). Then the BBS will display the BBS:NODE{x}/LOGON.TXT, text where x stands for the Node. (12). If the BBS hasn't been reserved then the BBS checks to see if the user's baud rate is allowed during the time he has called. If so, then the BBS allows the user to continue, otherwise it displays the file: BBS:NODE{x}/NOTTIME{BAUD}.TXT (13). If the users Security level is 0 then the BBS displays the file: BBS:NODE{x}/LOCKOUT-0.TXT and then hangs up. (14). If the users Security level is 1 then the BBS displays the file: BBS:NODE{x}/LOCKOUT-1.TXT and then hangs up. NOTE: These two files allow a sysop to be either polite about not allowing a user on the system, or if the user is an abuser, the sysop can have a full blown rude as hell Lockout text for those types of users. (15). At this point the system adds to the end of BBS:NODE{x}/CALLERSLOG that a user just logged in. (16). Now the BBS asks the user for his password, every time the user gets the password wrong the BBS adds what he tried to the end of BBS:NODE{x}/CALLERSLOG. After 3 tries the BBS hangs up and adds this to the CALLERSLOG. (17). Then the standard LOGON sequence takes place and puts the user at the main command prompt LOGON SEQUENCE FOR A PREVIOUS USER: ----------------------------------- When a user with an existing account logs into the BBS, the LOGON procedure is a lot more simplified. The standard LOGON procedure is listed below: (1). The BBS checks to see if the user has any time for the day if not it displays BBS:NODE{x}/LOGON24HRS.txt file to the user and hangs up. (2). If no BULLBATCH files are specified, the BBS looks for any Bulletin files in BBS:NODE{x}/BULL{SEC}.TXT where {x} = NODE NUMBER and {SEC} = USERS CURRENT SECURITY LEVEL. If a file is found that matches the user`s security level, it is displayed. For example, a last callers bulletin for standard user security of 20 would be saved in the BBS:NODE{x} directory as follows: BBS:NODE{x}/BULL20.TXT and BBS:NODE{x}/BULL20.TXT. This routine has also been simplified from the sysop's end so that the appropriate bulletins are searched for in a rounded off method. ie: If a user level with security level of 20 has logged in, and the BBS cannot find an entry for BBS:NODE{x}/BULL20.TXT but finds a file called BBS:NODE{x}/BULL15.TXT, then this file will be displayed. If there is also a file called BBS:NODE{x}/BULL30.TXT, this file will be displayed to users with security level of at least 30 or more. Once the BBS finds the nearest file, it displays that file only. NOTE: Routines have been added to AmiExpress to make sysop setup a little easier and less annoying to the user. The BBS will scan for a particular file in this method: Say a user with access level 30 just logged in, with ANSI color, now the BBS will check first if there is a BULL30.TXT and if not the BBS will go on with searching for bulls lower than 30. Look here: BBS:NODE{x}/BULL30.TXT BBS:NODE{x}/BULL25.TXT BBS:NODE{x}/BULL20.TXT BBS:NODE{x}/BULL15.TXT BBS:NODE{x}/BULL10.TXT BBS:NODE{x}/BULL5.TXT BBS:NODE{x}/BULL.TXT NOTE: because of this method of searching, all files to be searched for must end in either 0 or 5 (as above), the user access level will be rounded down to the nearest multiple of 5 and the search will start there. That's an example of a search for a file to be displayed, once a file is found that exists it displays ONLY that file. This method is used on the following: BBS:NODE{x}/BULL BBS:NODE{x}/JOINCONF BBS:CONF/MENU BBS:CONF/BULL In some cases it works a little different, in this case the user security is not used, like: BBS:CONF/Bulletins/BULLHELP.TXT BBS:CONF/Bulletins/BULLHELP.TXT That's how that one works and the following are like that: BBS:NODE{x}/JOINED BBS:NODE{x}/LOGON24HRS BBS:NODE{x}/GUESTLOGON BBS:NODE{x}/LOGON BBS:NODE{x}/LOGOFF BBS:NODE{x}/JOIN BBS:NODE{x}/NOTTIMEBAUD BBS:NODE{x}/PRIVATE BBS:CONF/FILEHELP NOTE: For multiple bulletins upon LOGON, a BULLBATCH script is used to display the necessary bulletins in the correct order. For more information on this, please refer to the section under BULLBATCH implementation. (3). Initial User specific checks are made: a> The BBS now scans thru all the conferences that the user has access privilege to for any waiting mail. While scanning, AmiExpress will store the MSG numbers in memory until the end of the scan, at the end of the scan AmiExpress will proceed to show the user the originator of each message and then proceed to prompt the user if he/she wishes to read the mail. This method of scanning has 3 advantages: 1. The user will now know who left him/her mail prior to reading it. 2. The NewMail Scan pointer will not be updated until all the mail is read. So if the user has 2 messages '100' and '101' and he/she reads message 101 and not 100, then the next time the user logs on or does a mail scan, he/she will still be notified of message 100. 3. The NewMailScan will now remember the last valid message left to the user when the user losses carrier or logs off. If mail is found, it informs the user about it and asks the user if they want to view it. b> The BBS checks to see if there are any unfinished uploads. If someone looses carrier uploading a file and calls back he will be allowed to resume his/her upload. (4). Then the BBS rejoins the conference the user was in the last time he called. (5). It then checks the ICON BBS:CONF to see how many, if any, directories of files that specific conference has. It will check if in the ICON the NDIRS is bigger than 0. for example: ~~~~~~~~~~~ NDIRS=2 This would specify that there are two file directories where files are kept. A carriage return is necessary after the number. If this file is unavailable, the conference will have NO files available in it, meaning no uploads or downloads will be possible from it. (6). If the number of directories is greater than zero, the BBS looks to see if a in the CONF ICON the Tooltype "FREEDOWNLOADS" is turned on, if so then all files in this particular conference are free to download. (7). Now, the BBS scans for any BBS:CONF/BULL{SEC}.TXT files in the same method as described earlier on. NOTE: This works exactly like the BBS:NODE{x}/BULL files. (8). After displaying the available bulletins, if the user is not in EXPERT mode, the BBS displays the available BBS:CONF/MENU{SEC}.TXT and reaches the MAIN MENU PROMPT. a> Any command entered at the MAIN MENU PROMPT will be looked up in a BBS:Commands/BBSCmd directory. If the command is found as a module name in the directory the module will be executed. If the command cannot be found, then the command will be compared to BBS:Commands/NODE{x}CMD directory and like wise be executed if found. If the command cannot be found, then the command will be compared to BBS:Commands/CONF{x}CMD directory and like wise be executed if found. Otherwise the command will be considered an internal command and maybe any of the commands listed below. ======================================================================= @endnode @node Cap10 "The MainMenu Commands of AmiExpress" ======================================================================= This is a list of commands accessible from the main menu prompt: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AmiExpress has many functions that are part of the program code that assist users in what they want out of the system. These commands are mostly single letter commands that the user types and hits return for the execution. AmiExpress does not work with a HOT-KEY type of user input. This means that the user will be saved from having to look at a screen load of data when they accidentally hit a wrong key. A carriage return always indicates an intended execution. This section is divided into two parts, The SYSOP ONLY COMMANDS, and the Standard User Commands. @{" SYSOP Only Main Commands " Link Cap1001} @{" STANDARD USER Main Commands " Link Cap1002} ======================================================================= @endnode @node Cap1001 "SYSOP Only Commands....." ======================================================================= SYSOP ONLY COMMANDS: ~~~~~~~~~~~~~~~~~~~ These commands are the only commands that are called up by single digit number codes. They are available only to users with SYSOP SECURITY LEVELS as defined in the Config file by AmiConfig under ACCOUNT EDITING. @{" Command: '1' <AccountEditing>" Link Cap100101} @{" Command: '2' <CallerslogView>" Link Cap100102} @{" Command: '3' <Edit File Dirs>" Link Cap100103} @{" Command: '4' <Edit Text File>" Link Cap100104} @{" Command: '5' <View Directory>" Link Cap100105} @{" Command: '0' < Remote Shell >" Link Cap100106} @{" Command: 'DS'<Sysop Download>" Link Cap100107} @{" Command: 'VS'< Sysop View >" Link Cap100108} ======================================================================= @endnode @node Cap100101 "[ 1 ] - Account Editing...." ======================================================================= [ 1 ] - Account Editing: ~~~~~~~~~~~~~~~ This is used to either review existing accounts and modify them, or scan for any new user LOGONS that wish to be validated. The account editing module is very easy to use in that it is basically menu driven. You can also get into the BBSInfo CONF. from here. Before Express will start the normal Account Editing it will try to open a MODULE called "ACCOUNTS" which should be located in the SYSCMD Directory. This is for further coming releases of different Account Editors. The AccountEditing will look like this: -------------------------------------------------------------------------------- ACTIVE [1] BAUD: 14400 A> Name: ByteMaster B> Location ......: Location C> Pass ..........: ENCRYPTED D> Phone Number ..: 318-793-4101 F> Area Name......: Standard E> Ratio .........: 0 H> Sec_Level .....: 255 G> Ratio Type ....: 0 <-Byte) J> AutoReJoin ....: 1 I> Uploads .......: 0 L> Messages_Posted: 0 K> Downloads .....: 0 N> New_User ......: No #Calls: 1 M> Bytes Uled ....: 1 Last Called ...: Tue May 26 22:00:17 1994 O> Bytes Dled ....: 0 Computer Type .: Amiga 1000 Q> Byte Limit ....: 0 Screen Type ...: Amiga Ansi P> Time_Total: [0 ] mins Y> Cps Up: 0 Z> Cps DN: 0 R> Time_Limit: [0 ] mins S> Time_Used: [0 ] mins T> UUCP: 0 U> Chat_Limit: [0 ] mins V> Chat_Used: [0 ] mins X=EXIT-NOSAVE ~=SAVE 1-8=Presets 9=RE-ACTIVATE DEL=DELETE TAB=CONT @=CONFERENCE ACCOUNTING !=CREDIT ACCOUNT MAINTENANCE -------------------------------------------------------------------------------- Press the following keys to change the data of the User: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A> Lets you change the name of the User you are looking at B> Lets you change the location where the user is living C> Lets you change the password of the user you are looking at D> Lets you change the phonenumber of the current user E> Lets you change the Ratio of the user you are looking at F> Here you can change the Conf.Access of the User G> Lets you change the Ratio Type of the User. From here you have 3 different Ratio Types: - Ratio Type 0 = Bytes only - Ratio Type 1 = Bytes & Files - Ratio Type 2 = Files only This ratio type are for choosing in which way the Ratio will be calculated. H> Lets you change the Security Level of the user you are looking at I> Lets you change the number of Upload the user has done. J> Lets you change the Conference at which the User logged in the last time he called the system. K> Lets you change the number of downloads the user has done. L> Lets you change the number of Messages the user posted in the BBS. M> Lets you change the number of Bytes the user uploaded. N> Lets you change if the user is a NEW USER or not. this is a flag function. if it is in the "YES" mode the user will be found if you search for new users. After you edit the USERDATA with a present the flag will be changed automatically to "NO". O> Lets you change the number of Bytes the user downloaded. P> Lets you change the Time Total for the day. Q> Lets you change the number Bytes which the can download at a day. R> Lets you change the Time Limit for a day. S> Lets you change the Time the user has already used today. T> Lets you change if the User is a User of UUCP or not. U> Lets you change the chat limit time a user has. V> Lets you change the chat limit used for the day. Y> Lets you change the Top Upload CPS the User ever had. Z> Lets you change the Top Download CPS the User ever had. #> Lets you change the Number of Calls a user has done to your System. Now follows the normal commands in the Account Editing: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ X ] - Exit the Account editing without saving the current changes [ TAB ] - Lets you go to the next user who matches to the USERNAME you entered before. [ ~ ] - Will save the current changes of the USERDATA. [ 1-8 ] - Will set the USERDATA to a Present of ACP.STARTUP [ 9 ] - This command will re-activate a deleted user. [ DEL ] - This command will delete the user you are looking at. you can re-activate a user by typing "9" at the AccountEditing [ + ] - Will go on the next user in the USERDATA. [ - ] - Will go on the previews user in the USERDATA. [ ! ] - This will activate the ACCOUNT CREDIT MAINTENANCE. This feature allows you to keep track of paying users, The assumption is that if a user pays, then they are paying for a DISABLED ratio. CREDIT MAINTENANCE will let you establish the number of days that the credit account is to be in effect. During this time period the user will be given an 'EFFECTIVE' DISABLED ratio. Their ratio does not actually change, but express will treat there account as a disabled ratio. So during the credit period an 'FS' command or 'S' command will reflect a DISABLED ratio. Once the credit account has expired, express will then use the ratio established for the user. [ @ ] - Will bring you into the Conference Accounting. You MUST! have conference accounting on for this to work. Once in this area, you will be shown each conference, screen by screen, there you can edit the user's STATS for each conference. You go from conference to conference by using the +/- keys. Follow the screens to save and exit. ======================================================================= @endnode @node Cap100102 "[ 2 ] - View CallersLog...." ======================================================================= [ 2 ] - View CallersLog: ~~~~~~~~~~~~~~~ This lets the sysop view the BBS:NODE{x}/CALLERSLOG file backwards. The last line written to the CALLERSLOG will be displayed first and the first line of the CALLERSLOG will be displayed last. On system running more than one node, this command will ask which NODE's CALLERSLOG to view. ======================================================================= @endnode @node Cap100103 "[ 3 ] - Edit File Directories (EDITOR/EMACS)...." ======================================================================= [ 3 ] - Edit File Directories (EDITOR/EMACS): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you started this Command, the BBS will check if the one who started the command is a remote or a local one. If the one who started it is a local one it will search for a Door called "EDITOR" in the SYSCMD and if it exists it will be executed and the normal starting of the EMACS will be skipped. If the one who started the command is in REMOTE_LOGON then the command will be executed as follows: This command uses the command line version of MicroEmacs for on-line directory editing. For more information on how to use EMACS, you should refer to the section on COMMON EMACS COMMANDS. This command asks the user which directory to edit before it opens up the appropriate AUX: or CNN: channel and executing EMACS. NOTE: AUX{x}: is used only on remote connections and if active ~~~~ a watchdog task that checks for carrier loss is also invoked. If carrier is lost while editing directories, the computer will be reset within two seconds. A special note to MULTI NODE systems: The watchdog resets the computer if a carrier is lost regardless of what the other nodes are doing. If users are logged in on other nodes, they will be disconnected when the computer resets. A later version of AmiExpress will send a notification to the other nodes and a time-out requestor locally will inform the sysop and users that express wants to reset the computer and that everyone should finish up what they're doing. Exiting from EMACS with CTRL-X CTRL-C key combination will return the user to the MAIN MENU PROMPT. While a user is in EMACS, the BBS will notify the sysop by placing a line like: User in EMACS........ WARNING! for those of you using the A2232 multi serial card you may run into problems using the editor. We are currently working on a FullScreen editor to take it's place. ======================================================================= @endnode @node Cap100104 "[ 4 ] - Edit any Text File on System (EDITOR/EMACS)...." ======================================================================= [ 4 ] - Edit any Text File on System (EDITOR/EMACS): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This command is basically the same as the previous with the option to specify full path and file name to edit. This commands prompts the user for the necessary information. ======================================================================= @endnode @node Cap100105 "[ 5 ] - List System Directories...." ======================================================================= [ 5 ] - List System Directories: ~~~~~~~~~~~~~~~~~~~~~~~ This command works just like the AmigaDos List command and displays the directory and sub-directories available for the specified path. The command can also display any comments (FILENOTES), attached to the files themselves. When selected, AmiExpress will ask for the full path name and whether to include comments or not. ======================================================================= @endnode @node Cap100106 "[ 0 ] - Remote Shell...." ======================================================================= [ 0 ] - Remote Shell: ~~~~~~~~~~~~ This Command has been removed currently in this version of express. There are some great doors with the same capabilities to replace this command. If you choose one of the great doors that are out, I Personally recommend the MALTESE FALCON's version. If you use FALCON's Shell door, remember that the spy command does not work with this version of Express, it was only able to handle 9 nodes. Express can now handle 32 nodes, so disable this command in the cfg, otherwise Install it as a normal door in your BBSCmd directory and choose the 0 button for that. ======================================================================= @endnode @node Cap100107 "[ DS ] - Sysop Download...." ======================================================================= [ DS ] - Sysop Download: ~~~~~~~~~~~~~~ This Command is exactly the same as the normal User Download command , but has the added ability with which the sysop can download files from any path on the HardDisk. The WILDCARD searching is removed in this command to prevent error in searching for files. All files on the HardDisk can be downloaded with this command unless the files are RESTRICTED for downloading with the File Comment "RESTRICTED", this will prevent downloading of files you want never to be downloaded by your co-sysop, or anyone else with DS enabled. ======================================================================= @endnode @node Cap100108 "[ VS ] - Sysop Text View...." ======================================================================= [ VS ] - Sysop Text View: ~~~~~~~~~~~~~~~ This Command is exactly the same as the normal User Text View command, and has the added ability, that the sysop can View any file from any path on the HardDisk. All files can be viewed with this command, unless the RESTRICTED file comment "RESTRICTED" is used. This will prevent users from viewing private files of yours. ======================================================================= @endnode @node Cap1002 "REGULAR USER Commands...." ======================================================================= REGULAR USER COMMANDS: ~~~~~~~~~~~~~~~~~~~~~ These commands are explained in detail. All the commands here can be chosen in the ACCESS ICONS for EXPRESS. @{" [<][>].....Fast Conf.joining " Link Cap100201} @{" [ A ].......Alter File Flags " Link Cap100202} @{" [ B ]......Bulletins reading " Link Cap100203} @{" [ C ].......Comment to Sysop " Link Cap100204} @{" [ D ].......Download File(s) " Link Cap100205} @{" [ E ]..........Enter Message " Link Cap100206} @{" [ F ]..........File Listings " Link Cap100207} @{" [ FS ]......Full Status View " Link Cap100208} @{" [ G ]........GoodBye(LOGOFF) " Link Cap100209} @{" [ H ]..............Help Page " Link Cap100210} @{" [ J ]........Join Conference " Link Cap100211} @{" [ M ]......(COLOR/MONO) Mode " Link Cap100212} @{" [ RZ].....Zmodem Upload " Link Cap100213} @{" [ ^ ]..Extended Help Command " Link Cap100214} @{" [ N ]...New Files Since Date " Link Cap100215} @{" [ O ]..........Operator Page " Link Cap100216} @{" [ Q ].............Quiet Node " Link Cap100217} @{" [ R ]..............Read Mail " Link Cap100218} @{" [ RL ]...............ReLogon " Link Cap100219} @{" [ S ].Status of On-Line User " Link Cap100220} @{" [ T ]...................Time " Link Cap100221} @{" [ U ].........Upload File(s) " Link Cap100222} @{" [ V ].......View a Text File " Link Cap100223} @{" [ W ]..Write User Parameters " Link Cap100224} @{" [ WHO ].....Node Information " Link Cap100225} @{" [ X ].....Expert Mode Toggle " Link Cap100226} @{" [ Z ]......Zippy Text Search " Link Cap100227} @{" [ ZOOM ].........Zoo Mailing " Link Cap100228} @{" [ CF ].Set Conference Config " Link Cap100229} @{" [ VO ]..........Voting Booth " Link Cap100230} ======================================================================= @endnode @node Cap100201 "[<][>] Fast Conference Joining Command" ======================================================================= [ < ] - Joining Conference Up&Down: [ > ] ~~~~~~~~~~~~~~~~~~~~~~~~~~ These two commands allows the user to join conferences by only using the '<' '>' keys. This will let the user go up one conference and down one conference. Example: User is in CONF. 3 and use the '>' key. so he will automatically join the one higher conference he has access to, and if he will use the '<' key again he will join CONF. 3 again. ======================================================================= @endnode @node Cap100202 "[ A ] - Alter File Flagging...." ======================================================================= [ A ] - Alter File Flags: ~~~~~~~~~~~~~~~~ This command allows the user to change the flagged file list without having to do a file listings and get a PAUSE...MORE prompt to change the flags. Chaining data is allowed, or the routine will prompt the user for the information. First it will show the current list of flags. No file flags Filename(s) to flag: (C)lear, (Enter)=none? At this prompt the user can: 1. Enter new files to add to the flag list 2. Enter 'C' to goto the clear flag prompt Filename(s) to Clear: (*)All, (Enter)=none? At this prompt the user can: 1. Enter filenames to remove from the flag list, WILDCARDS are valid, however they will only remove the first entry. 2. Use '*' to remove all entries in the list. 3. Hit Return to exit. Once a user exits the Clear prompt, it will once again show the list of flagged files and drop back to the MAIN MENU PROMPT. ======================================================================= @endnode @node Cap100203 "[ B ] - Bulletins reading...." ======================================================================= [ B ] - Bulletins: ~~~~~~~~~ This command allows the user to view bulletins that the sysop has made available. - First, the BBS checks to see if the file BBS:<CONF>/BULLETINS/BULLHELP.TXT is available; if not, it tells the user that no bulletins are available in that conference. - If the BBS:<CONF>/BULLETINS/BULLHELP.TXT is found, it is displayed and the user is prompted to enter the bulletin # to view or '?' to Redisplay the BULLHELP.TXT which is the bulletins menu. - If a user selects a valid bulletin #, it is displayed and the BBS returns back to the bulletin prompt. - If a user selects an invalid bulletin #, the BBS informs the user that there is no bulletin #{x} where {x} = the specified bulletin. ======================================================================= @endnode @node Cap100204 "[ C ] - Comment to Sysop...." ======================================================================= [ C ] - Comment to Sysop: ~~~~~~~~~~~~~~~~ This command is exactly the same as the regular ENTER MESSAGE command except that the message is addressed privately to the System-Operator. The TO: field is automatically filled with the User name on SLOT 1, which is the Sysop. If the BBS located the tooltype "FORWARDMAIL= <str>" in the Conference ICON is turned on, the Mail will be forwarded to the User named in the <str>. This is very useful if you go to holiday and want your co-sysop to read the messages to you without typing "R" for read messages. ======================================================================= @endnode @node Cap100205 "[ D ] - Download File(s)...." ======================================================================= [ D ] - Download File(s): ~~~~~~~~~~~~~~~~ This command accesses the file transfer procedure for sending files from the system to the remote user. The flow-chart for this command is quite complex and is outlined below: 1. If the ToolType NDIRS contains zero, the BBS informs the user that there are no files to download from that conference. 2. The BBS displays the File BBS:CONF/DOWNLOADMSG.TXT 3. The BBS displays the users Download/Upload STATS. 4. The BBS calculates the ratio limits the user has before uploading files to the system. 5. Next, it displays the transfer protocol the user take for default. The User can change this protocols by using the "W" command. 6. If the user had specified 'DS' instead of just 'D' the download is considered a sysop download and if the user is allowed to use SYSOPDOWNLOAD, then the download can be made from any valid AmigaDos path on the system. If this is the case, the BBS asks for the full path and filename. NO WILDCARDS ARE ALLOWED with a Sysop Download. 7. The BBS asks the user to enter the filename(s). 8. Checks for special characters in the filename like ":/" etc. If found, tells the users that special symbols may not be included when downloading. 9. Full WILDCARDS are allowed when doing a regular download, but just the * WILDCARD character alone is not allowed. 10. Now, the BBS scans the specified paths from the CONF ICON and when it finds the file that the user requested, it displays the file length in Kbytes, time required to download it at current baud rate, and checks if the user has enough credits to download the file. If so, AmiExpress checks the filename against what is in existing File Flag list and if it isn't already there, it adds it. So, if the download sequence is aborted for any reason, just hitting "D" again will download the flagged file. To remove from flaglist, the user would use the 'A' command. 11. Now the BBS checks if there is an Comment at the File like "RESTRICTED" or "FREE DOWNLOAD" ... if there is a Comment like this then the BBS will display some messages when the File has a comment like "RESTRICTED" it is not not allowed to download this file and the BBS will write a comment into the BBS:NODE{x}/CALLERSLOG that a user tried to download this File... and with this comment you can`t download this file with a level of 255 and sysop download also.. so the file is 100% safe for downloading... if there is the comment "FREE DOWNLOAD" the BBS will make this file free download and it will costs no credits to download it... 12. After hitting return alone on a filespec prompt, the BBS re-checks the totals to see if the batch is within the user's limits. 13. If so, AmiExpress asks either to start, abort, or automatically logoff at the end of the transfer. The 'G'oodbye after transfer gives the user 10 seconds to change his mind after the transfer before performing an automatic disconnect sequence. 14. At this point the download sequence is about to begin and so the necessary information is written to the BBS:NODE{x}/UDLOG, if turned on. 15. At the end of the download, if the users' security level is below the one you choose for the tooltype KEEP_UPLOAD_CREDIT=<numb>, then the user's number of downloads and number of bytes downloaded get updated with the new download STATS. 16. At this point, the download sequence is completed, and the BBS tells the user his new STATS before returning back to the MAIN MENU PROMPT. ======================================================================= @endnode @node Cap100206 "[ E ] - Enter a Message...." ======================================================================= [ E ] - Enter a Message: ~~~~~~~~~~~~~~~ This command allows the user to leave private or public mail to other users on the system. There are several options with this command and they are outlined below. 1. Asks for who to send it to. If a WILDCARD is used the search will find the first user that fits the WILDCARD and will display it and then ask if its correct, if the user says no then it will search forward. If it doesn't find the user it will exit back to the MainMenu prompt. 2. If the user just hits return on the TO: prompt it will send the message to ALL. 3. A feature added in is to be able to leave a message to "EALL" this means to EMAIL ALL people, this is only usable by users you give access to writing EALL Messages by changing the tooltype in the ACCESS ICON for the User. What this does is to leave ONE message to ALL USERS , when a person calls the system it searches for mail in that conference to that user it will say they have mail, from the user that left the "EALL" message. The TO: will show the user who is receiving the message with "(ALL)" after their name. The message can only be deleted by the sender or a user with SYSOP access 4. Another name that is valid in the TO: prompt is SYSOP, this will be replaced by the Name of the SYSOP, in user slot 1 5. Next prompt is the Subject of the message, if the user just hits return it will exit out of the enter message 6. The BBS will now ask if the message is to be readable only by the receiver of the message or it will be public. 7. If you have the optional Full-Screen editor installed, the BBS will now ask you whether you want to use the Full-Screen editor. The user has the option what editor he/she wants with the 'W' command if the sysop has chosen to have it so. 8. Now the user has entered the message editor. The following commands assume you have entered the internal Line-Editor. 9. Tabs now work in the editor, they are indicated by a '|' in the header. 10. CTRL-X in the message editor will delete the current line. 11. If you hit a return on a blank line you will exit the edit to the edit command prompt. 12. The options are: 1. <A>bort - Abort entering the message 2. <C>ont - Continue entering the message, this option will print the last line with text and put the cursor at the end of the line. 3. <D>elete - Allows a user to delete a specific line. 4. <E>dit - Allows the user to change text within a line. 5. <F>ile - Allows a user with tooltype SYSOP_DOWNLOAD to attach a file to download to the message. This option will ask for the filename to attach to the message and if you wanted the file deleted with the message as its deleted. 6. <M>ci List- If you have a MCI Header in your Message, you are able to use this function. This function will display you the whole text with all MCI comment in it. 7. <L>ist - List the message to the screen. 8. <S>ave - Saves the message. 9. <X>fer - Allows a User to upload a file into the MSGBASE and make this file automatically ATTACHED at a Message. To allow the user to do this he must have the tooltype "ACS.PRI_MSGFILES" in his ACCESS ICON. If the Message the User writes is an ALL or EALL message the user must have "ACS.PUB_MSGFILES" turned on to do this. ======================================================================= @endnode @node Cap100207 "[ F ] - File Listings...." ======================================================================= [ F ] - File Listings: ~~~~~~~~~~~~~ This command allows a user to get Full directory listings of the catalogs maintained by the BBS. As mentioned before, this is specified in the Tooltype NDIRS=<numb> in the CONF ICON. 1. If the number of directories in the conference is zero or NDIRS is zero, then the BBS will display "No files available in this conference." And drop the user back to the main prompt. 2. Displays the file BBS:CONF/FILEHELP.TXT only if all the options were not specified on the command line. 3. It will then ask for the directory to list including the 'H'old directory. The hold directory can only be used by a user with access greater than 200. 4. The specified directory will be displayed and will pause if the NS hasn't already been specified, at the users lines per screen point. 5. On the pause prompt, you can select 'F' for flagging files. ======================================================================= @endnode @node Cap100208 "[ FS ] - Full Status View...." ======================================================================= [ FS ] - Full Status View: ~~~~~~~~~~~~~~~~ This option is used to allow the user to have a full view over his access status in each conference. It will display Bytes Down/Uploaded in each conference the user has access to and will display the RATIO too. ======================================================================= @endnode @node Cap100209 "[ G ] - GoodBye (LOGOFF)...." ======================================================================= [ G ] - Goodbye (LOGOFF): ~~~~~~~~~~~~~~~~ This option is used to end the current session with the host system by the remote user. When the user hits 'G', the BBS performs several clean-up functions. 1. First checks to see if there was a ZoomMail that hasn't been downloaded, if there was it would ask if the user wanted to leave anyway. 2. The system then checks to see if there were any partial uploads that the user hasn't finished sending yet. If so then it would let the user know and ask if he wanted to leave anyway. If the user didn't want to leave, then the BBS would ask if the user wanted to view the files. If the user did want to view them, then the BBS would go into the resume routine showing the user the filename and filesize, then ask if he wanted to resume on that particular file. If not then the BBS would ask if the user wanted to delete the file. If the user didn't want to delete the file then the BBS would go to the next file that was to be resumed. 3. If the user hadn't specified the 'Q' at the ANSI color prompt, or the SUPPRESS_QLOGON is given the BBS would display the file: BBS:NODE{x}/LOGOFF.TXT. 4. Now the BBS will try to open a Module called "LOGOFF" or "LOGOFF<node>". If the BBS will find such a module, it will be started. ======================================================================= @endnode @node Cap100210 "[ H ] - Help Page...." ======================================================================= [ H ] - Help: ~~~~ This command displays the on-line help text file for the user to refer to. At this command, the BBS looks for and displays the file : BBS:BBSHELP.TXT and if not found will say that No help is currently available. ======================================================================= @endnode @node Cap100211 "[ J ] - Join Conference...." ======================================================================= [ J ] - Join Conference: ~~~~~~~~~~~~~~~ This command is used to switch from the current conference to another conference that the user has access privilege to. The BBS looks for the file BBS:NODE{x}/JOINCONF{SEC}.TXT and tries to display it. If not found, it will print a message informing the user that the file is missing. Then, prompts the user to enter the number of the conference they wish to join. If the user does not have access to the requested conference, then the BBS will tell the user that they don't have access to that conference. If the user has access to the requested conference, AmiExpress switches to that conference and checks for mail for the user, and then display any appropriate bulletin files if they exist. If the Option "RELATIVE_CONFERENCES" is turned on in the CONF.DEF ICON the BBS will only display the Conferences which the User has access to. ======================================================================= @endnode @node Cap100212 "[ M ] - Mode Select...." ======================================================================= [ M ] - Mode Select: ~~~~~~~~~~~ This command switches between ANSI color output or Plain Monochrome output on the users end. When ANSI is on, the BBS tries to display files that have the extension by default. The normal plain (.TXT) files are reverted to if extension files are not found. ======================================================================= @endnode @node Cap100213 "[ RZ ] - Zmodem Upload Command...." ======================================================================= [ RZ ] - Zmodem Upload Command: ~~~~~~~~~~~~~~~~~~~~~ This command executes an immediate Zmodem upload. ======================================================================= @endnode @node Cap100214 "[ ^ ] - Extended Help Command...." ======================================================================= [ ^ ] - Extended Help Command: ~~~~~~~~~~~~~~~~~~~~~ This command allows a user to read the help files that yu have put in the BBS:help directory. The help commands may include MCI commands, like displaying UserNames to personalize the help commands or some other data over MCI. ======================================================================= @endnode @node Cap100215 "[ N ] - New Files Since Date...." ======================================================================= [ N ] - New Files Since Date: ~~~~~~~~~~~~~~~~~~~~ This command allows the user to list files from a specified date onwards or from the last time they called the system. In other words, with this command, users can see what the system has to offer in terms of files since their last call. 1. If the number of directories in the conference is zero then the BBS will display "No files available in this conference." And drop the user back to the main prompt. 2. It will then ask for the date they want to list from. The last date they were on will be the default, this is selected by just hitting return alone. Entering the date to list from must be done as MM-DD-YY. 3. Next, the BBS asks for the directory to search thru. An 'A' can be used to list all directories, also 'U' can be specified for the upload directory. And H for the hold directory. The hold directory can only be used by a user with access greater than 200. 4. The Pause prompt works the same as described in the file listing section. ======================================================================= @endnode @node Cap100216 "[ O ] - Operator Page...." ======================================================================= [ O ] - Operator Page: ~~~~~~~~~~~~~ This command is used by the remote user to call the system operator for on-line chat. 1. First of all Express will check the SysopPageCounter to see if the user already paged the sysop. If the user paged the sysop more then the given maximum number, express will automatically go to comment writing instead of paging the sysop. 2. If the User is calling up the system operator for the first time on the current session, the users name field will be changed to a red color when 3 bitplanes are active, and will have star preceding his name if the BBS was booted in 1 bitplane. Also, if the ICONFIED window is active, the name filed there will also be highlighted a different color. In this way, a sysop can see if the user on-line has requested to chat. 3. If the F7 Chat toggle flag is not set to allow paging then the BBS says: "Sorry, The SYSOP, is not around right now You can use 'C' to leave a comment." 4. If the chat toggle flag is set to allow paging, then the BBS adds to BBS:NODE{x}/CALLERSLOG that the user paged, Then displays "Paging SYSOP (CTRL-C to Abort). ." followed by bells and more dots. 5. If you, the SYSOP, wanted to chat with the user you would Hit F1 to enter chat, then AmiExpress looks for the file BBS:NODE{x}/STARTCHAT.TXT, and if found displays it to the user. This can be a simple greeting to the user. If this file is not found, then the standard sysop chat active message is sent to the screen. The same F1 will exit chat when you are finished and the BBS will display the File BBS:NODE{x}/ENDCHAT.TXT. During chat, if ANSI mode is selected, your text will be a different color than the user ones. ======================================================================= @endnode @node Cap100217 "[ Q ] - Quiet Node...." ======================================================================= [ Q ] - Quiet Node: ~~~~~~~~~~ This command will change the Quiet Node option you choose for a node. With this command a user can prevent other users from seeing them on a node and can make him/herself like invisible. ======================================================================= @endnode @node Cap100218 "[ R ] - Read Mail...." ======================================================================= [ R ] - Read Mail: ~~~~~~~~~ This command is used to access the on-line mailing system to read mail either to the user or for all users. It is also used when a certain message will be replied to. 1. First the BBS shows the read prompt MSG. Options: A,D,F,R,Q,?,<CR> ( QUIT )>: (1). <A>gain, displays the message currently on again. (specified by the 'a' in the above line) (2). <D>elete, allows the user to delete a message only if he left the message or the message is to him. Also a user with access of 210+ can delete any mail. (3). <F>ile, will test if there is any Attached File to download. (4). <R>eply, allows the user to reply to the current message. The BBS will place the user on the SUBJECT: field with the previous subject and place the cursor on the end of the line. If the user wants to change the subject he can delete over the existing subject and enter a new one, or hitting return will keep the old subject. After this, the BBS will ask if the reply should be private, and by default this is set to No. Next, the BBS will ask whether to quote the current message in the reply, again the default is No. If the user selected Yes to quote the message, the entire message will be re-displayed and the BBS will prompt the user with the following: Enter Startline,Endline or (*=ALL, A=Abort): Where the user would have to type either a '*' to quote the whole message specify start and end lines separated by a comma. Then the user would be put in the on-line message editor to enter his message. Commands for the editor work in much the same way as the Enter Message command. For more information, please re-read the ENTER MESSAGE Command. (5). <?>, this will display the full description of the packed Mail Reading line and will help you. (6). <CR=Next>, let you continue search for new messages. (7). "EH" - This allows the sysop to edit a message Header. You can change who the MSG is to, from, the subject and whether it is to be a private message or not. (8). "U" - This will let the sysop go automatically to account editing for the account the message is from. With this way you can fast validate a NEWUSER by reading the message and go to account editing. ======================================================================= @endnode @node Cap100219 "[ RL ] - RELOGON...." ======================================================================= [ RL ] - RELOGON: ~~~~~~~ This command will make a RELOGON at the Node you start it. This will drop the user back to the Normal LOGON and will start a Module called "RELOGON" or "RELOGON<node>" in SYSCMD Directory. If this Module is available it will be started and if it is finished the user will be dropped back to the LogonString. ======================================================================= @endnode @node Cap100220 "[ S ] - Status of On-Line User...." ======================================================================= [ S ] - Status of On-Line User: ~~~~~~~~~~~~~~~~~~~~~~ This command simply reports the users' current information pertaining to his account. This is in the form of: Caller Num.: 2049 Lst Date On: 05-14-93 Security Lv: 30 # Times On : 579 Ratio DL/UL: Disabled Online Baud: 16800 Rate CPS UP: 0 Rate CPS DN: 0 Screen Clr: NO Protocol : /X Zmodem Sysop Pages Remaining: 3 Uploads Downloads Conf Files Bytes Files Bytes Bytes Avail Ratio ---- ------- --------- ------- --------- ----------- ----- 2> 0 0 0 0 0 DSBLD ======================================================================= @endnode @node Cap100221 "[ T ] - Time, at the system site...." ======================================================================= [ T ] - Time, at the system site: ~~~~~~~~~~~~~~~~~~~~~~~~ This command reports back to the user what the internal battery backed up clock at the BBS site is set at. Local time/date stamp function. ======================================================================= @endnode @node Cap100222 "[ U ] - Upload File(s)...." ======================================================================= [ U ] - Upload File(s): ~~~~~~~~~~~~~~ This command puts the BBS in the file receive mode, where the remote user can send files to the system. 1. The BBS first checks to see if there are file directories to be uploaded to, by looking at NDIRS=<numb> tooltype. If this type is unavailable or reports zero, the user is returned back to the MAIN MENU PROMPT after a message stating "No files available in this conference." 2. If a file called BBS:CONF/UPLOADMSG.TXT exists the BBS displays that to the user. 3. The BBS now calculates free disk space, the first number displayed, is the amount of free space on all the drives listed in DRIVES.DEF.INFO in BBS: directory. Only drives that contain download files for the BBS should be included, this way the user knows how much free space is left on the total system. The second number displayed is the amount of free space only in the BBS:CONF/UPLOAD directory. This is so the BBS and the user know exactly how much space is available to receive uploads until the sysop does some maintenance. Currently the BBS is content to allow uploads until the free space in BBS:CONF/UPLOAD is less than 2,000,000 bytes. 4. At this point the BBS calls the resume routine to check if there are any files to resume on, this works the same way as explained under the 'G'oodbye command. 5. The BBS will then ask the user to enter the filenames of the files he will be uploading, or he can press return alone to have Zmodem tell the BBS the names. Specifying an 'A' will abort out of an upload altogether and drop the user back to the main prompt. 6. If the user enters the filenames, the BBS will check to make sure they don't already exist in the conference, if not the BBS will ask him to enter the description for each file. Entering a blank line will end the description. 7. Next the BBS will display: (Enter) to Start, (G)oodbye after transfer, (A)bort? this works the same as specified in the download routines. At this point the Sysop is able to press "L" for start a local upload routine, which will pop up a Requester for selecting files to upload LOCAL into the BBS without starting the ZMODEM Transfer over the Serial In/Output. 8. At this point if the user has not been added to the end of BBS:NODE{x}/UDLOG he will be. 9. If the Upload is now to be started the BBS will check in the file you specified for the FILESNOTALLOWED=<pathname> option in the NODE ICON. If this file is not allowed to be uploaded it will skip the upload. 10. The BBS then displays the STATS from the transfer for all the files. 11. The users time is then credited for the uploads. 12. Next the BBS goes thru the files sent and checks to see if the name is longer than 12 characters, if so the BBS asks the user to rename the file. 13. The BBS then checks to see if the user has already given the descriptions for the file, if so it posts it accordingly. 14. If the user has not already given the description for the file the BBS asks for the description of the file. Again giving 8 lines for the description. 15. If the user gets disconnected while entering the description the BBS will put "LOSS CARRIER" for the description. and place the file in the BBS:CONF/LCFILES directory, along with a Comment in the <usernumber>.lc which will contain a list of all the files he will need to enter descriptions for when he calls back. The Re-Enter description process is done at LOGON with the PartUploads routine. 16. Once the description has been entered, the BBS checks if there is a door called "FILECHECK" in the SYSCMD directory, if so it will be executed and this internal "FCHECK" will be used. This is where you can use a multiple type of file checker for all formats. If the door doesn`t exists express will check if there is a file extension. (a file extension is usually on 3 characters preceded by a '.'. (IE:.DMS,.LHA.)). Express now compares the extension with any ICON of the same extension name in the BBS:FCHECK directory. ICONS in the FCHECK directory specify that you are using external file checkers. The format for each ICON has been mentioned below. If no external checker exists for the file then it will be posted with a comment "N" for non checked. 17. If the archive is checked and it passes the BBS puts a 'P' between the filename and filesize in the listing. 18. If the archive is checked and if found bad then the BBS puts a 'F' between the filename and filesize in the listing. 19. If the file is not one of the above checkable file types then the BBS puts a 'N' between the filename and the filesize in the listing. 20. Now the BBS will post the file in the listings area. If the user specified a '/' at the beginning of the description for the file, or the file failed archive check, or the user got disconnected then the BBS posts the file to the end of BBS:CONF/HOLD/HELD If the archive passed or wasn't checkable and the user didn't specify a '/' at the beginning of the description then the BBS will post the file to the end of BBS:CONF/DIR{U} where U is the upload directory (or the highest directory available). 21. If when the BBS goes to move the file, like to the hold directory and there is already a file in the hold with the same name, the BBS will add a '_' to the end of the filename until it can be renamed. 22. Once all the file are exhausted the BBS checks to make sure there aren't any free floating files in the BBS:NODEx/PLAYPEN directory, if there are the BBS then moves the files to BBS:CONF/PARTUPLOAD as partially uploaded files from the current user ONLINE. ======================================================================= @endnode @node Cap100223 "[ V ] - View a Text File...." ======================================================================= [ V ] - View a Text File: ~~~~~~~~~~~~~~~~ This command allows the user to view the contents of a TEXT file located in the BBS:CONFNAME/UPLOAD directory. For Co-Sysop's with Access to SYSOP_VIEW in Access ICONS, TEXT files can be viewed from any valid system path. 1. The BBS first checks to see if there are file Dirs in that CONF. by looking in the tooltype NDIRS=<numb>. If this type is unavailable or reports zero, the user is returned back to the MAIN MENU PROMPT after a message stating "No files available in this conference." 2. The BBS then asks the user for the filename to view. 3. If the user has ACCESS to the SYSOP_VIEW Option and he specified 'VS' instead of just 'V' then the BBS will allow the filename to include the path. The sysop view is noted at the end of BBS:NODE{x}/CALLERSLOG what file was viewed. 4. The BBS then displays the file as long as the characters in the file are < 128 in value. If a character is greater than 127 then the BBS says "This file is not a text file." And drops back to the main prompt. NOTE: If a file has a comment of RESTRICTED then the user ~~~~ will not be able to view the file. If an attempt was made then the users name will be annotated in the BBS:NODE{x}/CallersLog ======================================================================= @endnode @node Cap100224 "[ W ] - Write User Parameters...." ======================================================================= [ W ] - Write User Parameters: ~~~~~~~~~~~~~~~~~~~~~ This command allows the user to change some personal items pertaining to his account on the system. When called, this command brings up the following: 1. LOGIN NAME..............ByteMaster 2. REAL NAME...............Joseph Hodge 3. INTERNET NAME...........jhodge 4. LOCATION................Radford, Va. 5. PHONE NUMBER............603-555-1212 6. PASSWORD................ENCRYPTED 7. LINES PER SCREEN........23 8. COMPUTER................Amiga 2000/GVP030 9. SCREEN TYPE.............Amiga Ansi 10. SCREEN CLEAR............Yes 11. TRANSFER PROTOCOL......./X Zmodem 12. EDITOR TYPE.............Prompt 13. ZOOM TYPE...............QWK 14. AVAILABLE FOR CHAT/OLM..Yes Which to change <CR>= QUIT ? At this prompt, the user can select which item to change, or hit return alone to exit from this routine. The first four items can be security set by the Config program so that users without the necessary security cannot change their Name, Location, Phone or Password. For more information, refer to the documentation for the AmiConfig program. ======================================================================= @endnode @node Cap100225 "[ WHO ] - Node Information...." ======================================================================= [ WHO ] - Node Information: ~~~~~~~~~~~~~~~~ This command shows the user which users are ONLINE on the other nodes and what they are doing actually. If you choose QUIETNODE for a specified node, this node will be skipped in displaying this information. ======================================================================= @endnode @node Cap100226 "[ X ] - Expert Mode Toggle...." ======================================================================= [ X ] - Expert Mode Toggle: ~~~~~~~~~~~~~~~~~~ This command allows the user to switch between eXpert and Novice mode where expert mode will not display the menu unless a '?' is specified at the command line and Novice will Redisplay the menu after every command issued and completed. ======================================================================= @endnode @node Cap100227 "[ Z ] - Zippy Text Search...." ======================================================================= [ Z ] - Zippy Text Search: ~~~~~~~~~~~~~~~~~ This command allows the user to scan thru all the BBS:CONFNAME/DIR{x} files for a match for a specified string. When it finds a match, it displays the whole filespec including the description. If the NDIRS=<numb> tooltype reports zero or does not exist, then zippy search will not be functional. ======================================================================= @endnode @node Cap100228 "[ ZOOM ] - Zoo Mail...." ======================================================================= [ ZOOM ] - Zoo Mail: ~~~~~~~~ Zoo mail has been reinstalled into Ami-Express and now relies on current compression schemes provided by modem manufacturers instead of Zoo, as zoo has a tendency to crash the Amiga in certain instances. ZOOM will compile all the user's unread mail, (in LHA format if requested) from ALL accessible conferences into a freely downloadable file that will be automatically added to the flaglist for downloading. ======================================================================= @endnode @node Cap100229 "[ CF ] - Set Conference Configuration...." ======================================================================= [ CF ] - Set Conference Configuration: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This command will allow your users to set the way express handles conferences. From here they can set the 'NEW FILE SCAN', 'NEW MESSAGE SCAN', and turn 'OFF' and 'ON' what conferences they want to ZOOM mail from. In the Conference Maintenance option in the Account editor you can also Globally set these options (F5). ======================================================================= @endnode @node Cap100230 "[ VO ] - Voting Booth...." ======================================================================= [ VO ] - Voting Booth: ~~~~~~~~~~~~ This Command requires ACS.MODIFY_VOTE for SYSOPS and ACS.VOTE for the users in the access icon. NOTE: with the VOTING BOOTH a directory called VOTE will automatically be created in the conference directory when you initialize a voting booth for a conference. The voting booth can have up to 25 topics per conference, each topic can have up to 99 multiple choice questions to it. Also there is a new option to the Conference Maintenance screen called RESET VOTING BOOTH, when this is run it will zero out the bits in the CONF.DB that keeps track of which voting topics a user has already voted on. You should do this for each conference that you plan on having a voting booth in. The Voting booth is conference based, meaning that one conference cannot share the voting booth of another conference. To setup a Voting Booth for a conference simply reset the voted flags in the CONF.DB via conference maintenance then: 1. type 'VO' from the menu prompt. 2. Select the 'CREATE VOTE TOPIC' menu option. (REMEMBER you must have ACS.MODIFY_VOTE access for this to work) 3. You will be prompted to enter a TOPIC NUMBER this number can range from 1 - 25, you will probably want to start with '1'. 4. You will now be prompted for a ONE LINE DESCRIPTION of the TOPIC. Then you can save, edit, abort, list, delete etc. 5. Next you will be asked for the QUESTIONS OF THE TOPIC. YOU CAN have up to 99 questions per TOPIC. 6. After you are finished entering a question then enter 'S' for save in order for it to ask you for the multiple choice options. You can have up to 25 multiple choice options per question. 7. When you are finished entering 1 choice, then press return and save to submit it and go onto the next choice. 8. When you are finished entering choices the when prompted for the next choice , simply press save, this will prompt you for the next question. 9. If you have no more questions, then press ABORT at the QUESTION prompt. 10. This should bring you back to the VOTE MAINTENANCE MENU. 11. At the VOTE MAINTENANCE MENU, you can also edit a vote, topic, etc. In case you made a mistake. NOTE: Concerning the voting booth. After you setup a TOPIC you cannot add questions to that topic once it is created, when a user votes on a topic they must vote on all questions in the topic for it to be considered a valid vote. This is handled automatically in that once they are in the TOPIC voting process, they cannot get out of it until they answer all the questions for that topic, if they loose carrier while answering the questions, then the answers for that topic will be discarded and the user will have to re-vote on the topic when they log back on. In other words, the questions for a topic are not updated until the user answers all questions in that topic. ======================================================================= @endnode @node Cap11 "AREXX Interface MODULES (AIM)...." ======================================================================= AmiExpress HOST Addresses ~~~~~~~~~~~~~~~~~~~~~~~~~ AmiExpress allows the use of external HOST Addresses to start Modules, which can be executed by the user by a specified key. These host addresses can be used by programmers to code Modules working with AmiExpress. These HOST Addresses can be used in many programming languages (AREXX,C,ASSEMBLER Aso.). To give the programmer more abilities, AmiExpress provides many COMMANDS via the HOST Address to get and put Information to the running AmiExpress nodes. These commands are shared in different areas. @{" Standard HOST Commands " Link Cap1101} @{" Special Arexx HOST Cmds (AIM)" Link Cap1102} @{" Traditional HOST Cmds (TIM)" Link Cap1103} @{" AmiExpress Interface (XIM)" Link Cap1104} @{" AmiExpress Script HOST (SIM)" Link Cap1105} @{" AmiExpress CLI Interface(XIM)" Link Cap1106} ======================================================================= @endnode @node Cap1102 "Special Arexx HOST Cmds (AIM)...." ======================================================================= The Arexx door interface requires a file called REXXDOOR, It must be located in your UTILS: path. This will also require an icon to run the door(s) in your BBSCmd or CONF{x} and to be located in the BBS:Commands directory. REXXDOOR will be launched each time an Arexx door is requested. Arexx must also be set up on your amiga system correctly to work with /X. First you must have all the necessary Arexx files installed, EXAMPLE in your DH0:Rexxc dir. Then in your startup-sequence make sure this line exists: Assign >NIL: REXX: SYS:REXXC Next, (I put mine in the user-startup) add these lines: Rpstart >Nil: Your system is now Arexx ready. NOTE: If a CARRIER LOSS is detected or a keyboard TIMEOUT is detect then ~~~~ an error code of 10 will be sent to the Arexx Script and REXXDOOR will orderly close any ports to the BBS and itself from the Arexx Script. Now we want to discuss all the Arexx Commands which can be used to read & write information of the User & the BBS. These Arexx commands are only useful if you want to program some tools for AmiExpress, and for that it is very hard to understand for a guy who never programmed Arexx. But now lets go on: NOTE: These are internal and do not pertain to the Module Glue routines ~~~~ for designing doors. To register an AREXX Module to AmiExpress you must have the following lines at first at your AREXX Modules: ------ cut here ------ /* Arexx Module TEST */ parse arg NODE options results address value "AERexxControl"NODE ------ cut here ------ Without this Command at the first lines in your modules, the modules will not work together with AmiExpress, so be sure you have these Command at the beginning of each AIM Module. The following Commands are AmiExpress Arexx HOST Commands which are used to give the ability to the programmer to design his modules. To use this Command the Initializing of AmiExpress Module must be made as listed above. COMMAND NAME FUNCTION ========================================================================= GETUSER <x> This command will read DATA from the FUNCTION <x> of the decimal HOST Commands. This DATA will be transferred to the normal RESULT function of AREXX. With this command you are able to get the BBSNAME or other things. For more Information about the FUNCTION numbers, please look at the 'Standard HOST Commands' of Express. ========================================================================= PUTUSER <x> This command is exactly the same as the GETUSER command with the difference that it will store DATA and not read it from the FUNCTION <x>. To store the DATA to a FUNCTION <x> you also need the PUTUSTR together with PUTUSER because PUTUSER must know what to store into the FUNCTION <x>. ========================================================================= PUTUSTR <x> This Arexx command will define the DATA depending to the PUTUSER command for the HOST commands of AmiExpress Use these TWO Arexx HOST Commands together to execute Commands which belongs to Express. example: PUTUSTR "g" <- the variable you want to put into the PUTUSER 136 <- FUNCTION 136. These two commands together will execute the internal GOOD-BYE Main Menu Command and will leave the BBS. The '136' depending on the other HOST COMMANDS programmed with decimal Codes. ========================================================================= TRANSMIT "" This command is the most important HOST Command of the AREXX HOST Commands of AmiExpress. This command will send text over the serial depending in "" to the NODE Window the module was executed. example: TRANSMIT "HELLO" Now HELLO should appear in the NODE Window the Module was executed. ========================================================================= SENDMESSAGE This Command is exactly the same as the TRANSMIT command with the only difference that it will not send an carriage return after executing the command, so you can store text behind other text. ========================================================================= GETCHAR This Command will wait for input from the User to insert and this input will be later transferred to the RESULT Command of normal AREXX. With this command you are able to ask the user questions and transfer the answer to different variables. ========================================================================= PROMPT "" This Command is the mix of the TRANSMIT & GETCHAR commands. After displaying the TEXT in the "" it will PROMPT the user to insert something until he pressed return. Then the DATA will go to the normal RESULT routine of AREXX. ========================================================================= @endnode @node Cap1101 "Standard AmiExpress HOST Commands...." ========================================================================= Standard AmiExpress HOST Commands ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following list is a list of all AmiExpress HOST Commands which can be used in every program language to get/store information to the AmiExpress Host Port. With this Command you can get Information like BBSNAME, USERNAME etc. Click on the Buttons for more Information. @{" JH_LI <Func: 000> " Link Cap1101000} @{" JH_REGISTER <Func: 001> " Link Cap1101001} @{" JH_SHUTDOWN <Func: 002> " Link Cap1101002} @{" JH_WRITE <Func: 003> " Link Cap1101003} @{" JH_SM <Func: 004> " Link Cap1101004} @{" JH_PM <Func: 005> " Link Cap1101005} @{" JH_HK <Func: 006> " Link Cap1101006} @{" JH_SG <Func: 007> " Link Cap1101007} @{" JH_SF <Func: 008> " Link Cap1101008} @{" JH_EF <Func: 009> " Link Cap1101009} @{" JH_CO <Func: 010> " Link Cap1101010} @{" JH_BBSNAME <Func: 011> " Link Cap1101011} @{" JH_SYSOP <Func: 012> " Link Cap1101012} @{" JH_FLAGFILE <Func: 013> " Link Cap1101013} @{" DT_NAME <Func: 100> " Link Cap1101100} @{" DT_PASSWORD <Func: 101> " Link Cap1101101} @{" DT_LOCATION <Func: 102> " Link Cap1101102} @{" DT_PHONENUMBER <Func: 103> " Link Cap1101103} @{" DT_SLOTNUMBER <Func: 104> " Link Cap1101104} @{" DT_ACCESSLEVEL <Func: 105> " Link Cap1101105} @{" DT_RATIOTYPE <Func: 106> " Link Cap1101106} @{" DT_RATIO <Func: 107> " Link Cap1101107} @{" DT_COMPTYPE <Func: 108> " Link Cap1101108} @{" DT_MESSAGESPOSTED<Func: 109> " Link Cap1101109} @{" DT_UPLOADS <Func: 110> " Link Cap1101110} @{" DT_DOWNLOADS <Func: 111> " Link Cap1101111} @{" DT_TIMESCALLED <Func: 112> " Link Cap1101112} @{" DT_TIMELASTON <Func: 113> " Link Cap1101109} @{" DT_TIMEUSED <Func: 114> " Link Cap1101114} @{" DT_TIMELIMIT <Func: 115> " Link Cap1101115} @{" DT_TIMETOTAL <Func: 116> " Link Cap1101116} @{" DT_BYTESUPLOAD <Func: 117> " Link Cap1101117} @{" DT_BYTEDOWNLOAD <Func: 118> " Link Cap1101118} @{" DT_DAILYBYTELIMIT<Func: 119> " Link Cap1101119} @{" DT_DAILYBYTEDLD <Func: 120> " Link Cap1101120} @{" DT_EXPERT <Func: 121> " Link Cap1101121} @{" DT_LINELENGTH <Func: 122> " Link Cap1101122} @{" ACTIVE_NODES <Func: 123> " Link Cap1101123} @{" DT_DUMP <Func: 124> " Link Cap1101124} @{" DT_TIMEOUT <Func: 125> " Link Cap1101125} @{" BB_CONFNAME <Func: 126> " Link Cap1101126} @{" BB_CONFLOCAL <Func: 127> " Link Cap1101127} @{" BB_LOCAL <Func: 128> " Link Cap1101128} @{" BB_STATUS <Func: 129> " Link Cap1101129} @{" BB_MAINLINE <Func: 131> " Link Cap1101131} @{" RETURNCOMMAND <Func: 136> " Link Cap1101136} @{" ZMODEMSEND <Func: 137> " Link Cap1101137} @{" ZMODEMRECEIVE <Func: 138> " Link Cap1101138} @{" SCREEN_ADDRESS <Func: 139> " Link Cap1101139} @{" BB_TASKPRI <Func: 140> " Link Cap1101140} @{" RAWSCREEN_ADDRESS<Func: 141> " Link Cap1101141} @{" BB_CHATFLAG <Func: 142> " Link Cap1101142} @{" DT_STAMP_LASTON <Func: 143> " Link Cap1101143} @{" DT_STAMP_CTIME <Func: 144> " Link Cap1101144} @{" DT_CURR_TIME <Func: 145> " Link Cap1101145} @{" DT_CONFACCESS <Func: 146> " Link Cap1101146} @{" BB_NODEID <Func: 149> " Link Cap1101149} @{" BB_CALLERSLOG <Func: 150> " Link Cap1101150} @{" BB_UDLOG <Func: 151> " Link Cap1101151} @{" EXPRESS_VERSION <Func: 152> " Link Cap1101152} @{" BB_CHATSET <Func: 162> " Link Cap1101162} @{" ENVSTAT <Func: 163> " Link Cap1101163} @{" NODE_DEVICE <Func: 503> " Link Cap1101503} @{" NODE_UNIT <Func: 504> " Link Cap1101504} @{" NODE_BAUD <Func: 505> " Link Cap1101505} @{" JH_MCI <Func: 507> " Link Cap1101507} @{" PRV_COMMAND <Func: 508> " Link Cap1101508} @{" BB_CONFNUM <Func: 510> " Link Cap1101510} @{" BB_DROPDTR <Func: 511> " Link Cap1101511} @{" BB_GETTASK <Func: 512> " Link Cap1101512} @{" NODE_BAUDRATE <Func: 516> " Link Cap1101516} @{" BB_LOGONTYPE <Func: 517> " Link Cap1101517} @{" BB_SCRLEFT <Func: 518> " Link Cap1101518} @{" BB_SCRTOP <Func: 519> " Link Cap1101519} @{" BB_SCRWIDTH <Func: 520> " Link Cap1101520} @{" BB_SCRHEIGHT <Func: 521> " Link Cap1101521} @{" BB_PURGELIN <Func: 522> " Link Cap1101522} @{" BB_PURGELINESTART<Func: 523> " Link Cap1101523} @{" BB_PURGELINEEND <Func: 524> " Link Cap1101524} @{" BB_NONSTOPTEXT <Func: 525> " Link Cap1101525} @{" BB_LINECOUNT <Func: 526> " Link Cap1101526} @{" DT_LANGUAGE <Func: 527> " Link Cap1101527} @{" DT_QUICKFLAG <Func: 528> " Link Cap1101528} @{" DT_GOODFILE <Func: 529> " Link Cap1101529} ========================================================================= @endnode @node Cap1101000 "JH_LI <Func: 000>" ========================================================================= JH_LI Requests a string of information from the user with a default string. msg->Command = 0 msg->String = default result string msg->Data = Maximum length of response. msg->Data will be set to a -1 if a loss carrier or console TIMEOUT occurs, otherwise MSG->Data will be 1 msg->String will be the response string from the user. (FUNCTION #: 0 ) ========================================================================= @endnode @node Cap1101001 "JH_REGISTER <Func: 001>" ========================================================================= JH_REGISTER Registers a door or XIM with the current node. msg->Command = 1 This must be the first command issued to the express node. This increments the number of doors active for the current node. (FUNCTION #: 1 ) ========================================================================= @endnode @node Cap1101002 "JH_SHUTDOWN <Func: 002>" ========================================================================= JH_SHUTDOWN Tells the node that a door is shutting down, this decreases the number of active doors indicator , which once at 0, the AEDoorPort will close. msg->Command = 2 msg->Data = N/A (FUNCTION #: 2 ) ========================================================================= @endnode @node Cap1101003 "JH_WRITE <Func: 003>" ========================================================================= JH_WRITE Allows you to send a text string to the user. msg->Command = 3 msg->String = text msg->Data = N/A (FUNCTION #: 3 ) ========================================================================= @endnode @node Cap1101004 "JH_SM <Func: 004>" ========================================================================= JH_SM Allows you to send a text string to the user. msg->Command = 4 msg->String = text msg->Data = 1 or 0 if msg->Data = 1, then a CR/LF combination will be sent. (FUNCTION #: 4 ) ========================================================================= @endnode @node Cap1101005 "JH_PM <Func: 005>" ========================================================================= JH_PM Allows you to prompt the user for a specified number of characters. msg->Command = 5 msg->String = prompt string msg->Data = maximum response length. if msg->Data = -1, then a loss carrier has occurred or a TIMEOUT condition has occurred, otherwise msg->Data = 1. msg->String will be the user response. (FUNCTION #: 5 ) ========================================================================= @endnode @node Cap1101006 "JH_HK <Func: 006>" ========================================================================= JH_HK Allows you to get a 1 character response from the user. msg->Command = 6 msg->String = text msg->Data = N/A if msg->Data = -1, then a loss carrier has occurred or a TIMEOUT condition has occurred, otherwise msg->Data = 1. msg->String will be the result string. (FUNCTION #: 6 ) ========================================================================= @endnode @node Cap1101007 "JH_SG <Func: 007>" ========================================================================= JH_SG Allows you to display a text file to the user. msg->Command = 7 msg->String = part file name. msg->Data = N/A ie: msg->String = "BBS:Node1/Bull This would try to display BBS:Node1/BULL.TXT also takes into account language specifications. This also searches for the access level patterns, ie: Bull10.TXT, Bull100.TXT (FUNCTION #: 7 ) ========================================================================= @endnode @node Cap1101008 "JH_SF <Func: 008>" ========================================================================= JH_SF Allows you to display a text file to the user. msg->Command = 8 msg->String = Complete pathname msg->Data = N/A ie: msg->String = "BBS:Node1/BULL.TXT" This would show the file if it exists. (FUNCTION #: 8 ) ========================================================================= @endnode @node Cap1101009 "JH_EF <Func: 009>" ========================================================================= JH_EF Allows you to use the internal msgbase editor to edit your own files. msg->Command = 9 msg->String = Complete pathname msg->Data = 0 if msg->Data = -1, then a loss carrier has occurred or a TIMEOUT has occurred, otherwise msg->Data will be 1. (FUNCTION #: 9 ) ========================================================================= @endnode @node Cap1101010 "JH_CO <Func: 010>" ========================================================================= JH_CO Allows you to send text string to the console only. msg->Command = 10 msg->String = text msg->Data = 1 or 0 if msg->Data = 1, then a CR/LF combination will be sent in addition to the text. (FUNCTION #: 10 ) ========================================================================= @endnode @node Cap1101011 "JH_BBSNAME <Func: 011>" ========================================================================= JH_BBSNAME Allows you to retrieve the BBS Name. msg->Command = 11 msg->Data = N/A msg->String will be the BBS name. (FUNCTION #: 11 ) ========================================================================= @endnode @node Cap1101012 "JH_SYSOP <Func: 012>" ========================================================================= JH_SYSOP Allows you to retrieve the Sysop's Name. msg->Command = 12 msg->Data = N/A msg->String will be the Sysop name. (FUNCTION #: 12 ) ========================================================================= @endnode @node Cap1101013 "JH_FLAGFILE <Func: 013>" ========================================================================= JH_FLAGFILE Allows you to add files to the list of flagged files. msg->Command = 13 msg->String = FileName msg->Data = N/A Adds the msg->String to the list of flagged files for downloading purposes, NOTE: The files must be in the download path for this to work. (FUNCTION #: 13 ) ========================================================================= @endnode @node Cap1101100 "DT_NAME <Func: 100>" ========================================================================= DT_NAME Allows you to retrieve or change users name/handle msg->Command = 100 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be the name. if msg->Data = 0, then name will be msg->String (FUNCTION #: 100 ) ========================================================================= @endnode @node Cap1101101 "DT_PASSWORD <Func: 101>" ========================================================================= DT_PASSWORD Allows you to retrieve or change users password msg->Command = 101 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be the password. if msg->Data = 0, then the password will be msg->String. (FUNCTION #: 101 ) ========================================================================= @endnode @node Cap1101102 "DT_LOCATION <Func: 102>" ========================================================================= DT_LOCATION Allows you to retrieve or change users location msg->Command = 102 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be the location if msg->Data = 0, then the location will be msg->String (FUNCTION #: 102 ) ========================================================================= @endnode @node Cap1101103 "DT_PHONENUMBER <Func: 103>" ========================================================================= DT_PHONENUMBER Allows you to retrieve or change users phone number. msg->Command = 103 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be the phonenumber if msg->Data = 0, ten phonenumber will be msg->String (FUNCTION #: 103 ) ========================================================================= @endnode @node Cap1101104 "DT_SLOTNUMBER <Func: 104>" ========================================================================= DT_SLOTNUMBER Allows you to retrieve users slot number msg->Command = 104 msg->Data = 1 if msg->Data = 1, then msg->String will be the SLOTNUMBER. (FUNCTION #: 104 ) ========================================================================= @endnode @node Cap1101105 "DT_ACCESSLEVEL <Func: 105>" ========================================================================= DT_ACCESSLEVEL Allows you to retrieve or change users access level. msg->Command = 105 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be ACCESSLEVEL. if msg->Data = 0, then ACCESSLEVEL will be msg->String. (FUNCTION #: 105 ) ========================================================================= @endnode @node Cap1101106 "DT_RATIOTYPE <Func: 106>" ========================================================================= DT_RATIOTYPE Allows you to retrieve or change users RatioType msg->Command = 106 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be RatioType. if msg->Data = 0, then RatioType will be msg->String. (FUNCTION #: 106 ) ========================================================================= @endnode @node Cap1101107 "DT_RATIO <Func: 107>" ========================================================================= DT_RATIO Allows you to retrieve or change users ratio msg->Command = 107 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be ratio. if msg->Data = 0, then ratio will be msg->String. (FUNCTION #: 107 ) ========================================================================= @endnode @node Cap1101108 "DT_COMPTYPE <Func: 108>" ========================================================================= DT_COMPTYPE Allows you to retrieve or change users ComputerTypes code msg->Command = 108 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be ComputerTypes. if msg->Data = 0, then ComputerTypes will be msg->String. (FUNCTION #: 108 ) ========================================================================= @endnode @node Cap1101109 "DT_MESSAGESPOSTED <Func: 109>" ========================================================================= DT_MESSAGESPOSTED Allows you to retrieve or change users MESSAGESPOSTED msg->Command = 109 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be MESSAGESPOSTED. if msg->Data = 0, then MESSAGESPOSTED will be msg->String. (FUNCTION #: 109 ) ========================================================================= @endnode @node Cap1101110 "DT_UPLOADS <Func: 110>" ========================================================================= DT_UPLOADS Allows you to retrieve or change number of UserUploads. msg->Command = 110 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be uploads. if msg->Data = 0, then uploads will be msg->String. (FUNCTION #: 110 ) ========================================================================= @endnode @node Cap1101111 "DT_DOWNLOADS <Func: 111>" ========================================================================= DT_DOWNLOADS Allows you to retrieve or change number of UserDownloads. msg->Command = 111 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be downloads. if msg->Data = 0, then downloads will be msg->String. (FUNCTION #: 111 ) ========================================================================= @endnode @node Cap1101112 "DT_TIMESCALLED <Func: 112>" ========================================================================= DT_TIMESCALLED Allows you to retrieve or change number of UserCalls. msg->Command = 112 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be TIMESCALLED. if msg->Data = 0, then TIMESCALLED will be msg->String. (FUNCTION #: 112 ) ========================================================================= @endnode @node Cap1101113 "DT_TIMELASTON <Func: 113>" ========================================================================= DT_TIMELASTON Allows you to retrieve or change time user last called. msg->Command = 113 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be TIMESCALLED. if msg->Data = 0, then TIMESCALLED will be msg->String. NOTE: This is not a date stamp, this is the number of seconds since January 19something. (FUNCTION #: 113 ) ========================================================================= @endnode @node Cap1101114 "DT_TIMEUSED <Func: 114>" ========================================================================= DT_TIMEUSED Allows you to retrieve or change TIMEUSED today. msg->Command = 114 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be TIMEUSED. if msg->Data = 0, then TIMEUSED will be msg->String. NOTE: This is in seconds. (FUNCTION #: 114 ) ========================================================================= @endnode @node Cap1101115 "DT_TIMELIMIT <Func: 115>" ========================================================================= DT_TIMELIMIT Allows you to retrieve or change TimeAllowed for a user. msg->Command = 115 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be TIMELIMIT. if msg->Data = 0, then TIMELIMIT will be msg->String. NOTE: Time in seconds. (FUNCTION #: 115 ) ========================================================================= @endnode @node Cap1101116 "DT_TIMETOTAL <Func: 116>" ========================================================================= DT_TIMETOTAL Allows you to retrieve or change total time remaining. for a user today. msg->Command = 116 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be time remaining. if msg->Data = 0, then time remaining will be msg->String. NOTE: Time in seconds. (FUNCTION #: 116 ) ========================================================================= @endnode @node Cap1101117 "DT_BYTESUPLOAD <Func: 117>" ========================================================================= DT_BYTESUPLOAD Allows you to retrieve or change bytes uploads per user. msg->Command = 117 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be BYTESUPLOADED. if msg->Data = 0, then BYTESUPLOADED will be msg->String. (FUNCTION #: 117 ) ========================================================================= @endnode @node Cap1101118 "DT_BYTEDOWNLOAD <Func: 118>" ========================================================================= DT_BYTEDOWNLOAD Allows you to retrieve or change bytes downloaded per user. msg->Command = 118 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be BYTESDOWNLOADED. if msg->Data = 0, then BYTESDOWNLOADED will be msg->String. (FUNCTION #: 118 ) ========================================================================= @endnode @node Cap1101119 "DT_DAILYBYTELIMIT <Func: 119>" ========================================================================= DT_DAILYBYTELIMIT Allows you to retrieve or change a users daily byte download limit. msg->Command = 119 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be bytelimit. if msg->Data = 0, then bytelimit will be msg->String. (FUNCTION #: 119 ) ========================================================================= @endnode @node Cap1101120 "DT_DAILYBYTEDLD <Func: 120>" ========================================================================= DT_DAILYBYTEDLD Allows you to retrieve or change daily bytes downloaded. msg->Command = 120 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be dailybytes. if msg->Data = 0, then dailybytes will be msg->String. (FUNCTION #: 120 ) ========================================================================= @endnode @node Cap1101121 "DT_EXPERT <Func: 121>" ========================================================================= DT_EXPERT Allows you to retrieve or change expert mode. msg->Command = 121 msg->Data = 1 or 0 (FUNCTION #: 121 ) ========================================================================= @endnode @node Cap1101122 "DT_LINELENGTH <Func: 122>" ========================================================================= DT_LINELENGTH Allows you to retrieve or change user LINELENGTH specs. msg->Command = 122 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be LINELENGTH. if msg->Data = 0, then LINELENGTH will be msg->String. (FUNCTION #: 122 ) ========================================================================= @endnode @node Cap1101123 "ACTIVE_NODES <Func: 123>" ========================================================================= ACTIVE_NODES Allows you to retrieve a string of active&inactive nodes. msg->Command = 123 msg->Data = N/A msg->String will be a string 10 bytes in length, with 'X's marking the active nodes. NOTE: This command will surely be changing, the current limit is 9 nodes. (FUNCTION #: 123 ) ========================================================================= @endnode @node Cap1101124 "DT_DUMP <Func: 124>" ========================================================================= DT_DUMP Allows you to dump the user's data structure to a specified file. msg->Command = 124 msg->String = FileName (FUNCTION #: 124 ) ========================================================================= @endnode @node Cap1101125 "DT_TIMEOUT <Func: 125>" ========================================================================= DT_TIMEOUT Allows you to retrieve or change the door TIMEOUT limit. msg->Command = 125 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will equal TIMEOUT. if msg->Data = 0, then TIMEOUT will equal msg->String. NOTE: This time is in seconds. (FUNCTION #: 125 ) ========================================================================= @endnode @node Cap1101126 "BB_CONFNAME <Func: 126>" ========================================================================= BB_CONFNAME Allows you to retrieve or change the conference name. msg->Command = 126 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be name. if msg->Data = 0, then name will be msg->String. (FUNCTION #: 126 ) ========================================================================= @endnode @node Cap1101127 "BB_CONFLOCAL <Func: 127>" ========================================================================= BB_CONFLOCAL Allows you to retrieve or change the conference location. msg->Command = 127 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be location. if msg->Data = 0, then location will be msg->String. (FUNCTION #: 127 ) ========================================================================= @endnode @node Cap1101128 "BB_LOCAL <Func: 128>" ========================================================================= BB_LOCAL Allows you to retrieve the current BBS location. msg->Command = 128 msg->Data = N/A (FUNCTION #: 128 ) ========================================================================= @endnode @node Cap1101129 "BB_STATUS <Func: 129>" ========================================================================= BB_STATUS Allows you to retrieve the current status of the node. msg->Command = 129 msg->Data = N/A msg->String will be 'OFFLINE' or 'ONLINE' depending on whether a user is logged onto the node. (FUNCTION #: 129 ) ========================================================================= @endnode @node Cap1101131 "BB_MAINLINE <Func: 131>" ========================================================================= BB_MAINLINE Allows you to retrieve the menu prompt arguments prior to the door being entered. msg->Command = 131 msg->Data = N/A msg->String will be the menu prompt arguments. (FUNCTION #: 131 ) ========================================================================= @endnode @node Cap1101136 "RETURNCOMMAND <Func: 136>" ========================================================================= RETURNCOMMAND Allows you to specify an internal command to be executed when the door is finished. msg->Command = 136 msg->Data = N/A command to be executed will be msg->String. (FUNCTION #: 136 ) ========================================================================= @endnode @node Cap1101137 "ZMODEMSEND <Func: 137>" ========================================================================= ZMODEMSEND Allows you to send files to the user via Zmodem protocol. msg->Command = 137 msg->String = filename (complete pathname) msg->Data = N/A result of transfer will be in msg->Data, where if msg->Data = 1 , then transfer successful. if msg->Data = -2, then user lost carrier. if msg->Data = 0 , then transfer unsuccessful. (FUNCTION #: 137 ) ========================================================================= @endnode @node Cap1101138 "ZMODEMRECEIVE <Func: 138>" ========================================================================= ZMODEMRECEIVE Allows you to receive batch uploads via Zmodem protocol. msg->Command = 138 msg->String = receive directory path msg->Data = N/A result of transfer will be in msg->Data, where if msg->Data = 1 , then transfer successful. if msg->Data = -2, then user lost carrier. if msg->Data = 0, then transfer unsuccessful. (FUNCTION #: 138 ) ========================================================================= @endnode @node Cap1101139 "SCREEN_ADDRESS <Func: 139>" ========================================================================= SCREEN_ADDRESS Allows you to retrieve the screen address. msg->Command = 139 msg->Data = N/A msg->String will be a string containing the hexadecimal address of the Node screen. (FUNCTION #: 139 ) ========================================================================= @endnode @node Cap1101140 "BB_TASKPRI <Func: 140>" ========================================================================= BB_TASKPRI Allows you to retrieve the priority the node is running at. msg->Command = 140 msg->Data = N/A msg->String will contain the priority of the node. (FUNCTION #: 140 ) ========================================================================= @endnode @node Cap1101141 "RAWSCREEN_ADDRESS <Func: 141>" ========================================================================= RAWSCREEN_ADDRESS Allows you to retrieve the screen address of the node. msg->Command = 141 msg->Data = N/A msg->String will be a string containing the decimal address of the express node. (FUNCTION #: 141 ) ========================================================================= @endnode @node Cap1101142 "BB_CHATFLAG <Func: 142>" ========================================================================= BB_CHATFLAG Allows you to retrieve the current chat setting. msg->Command = 142 msg->Data = N/A msg->String will be "ON" or "OFF". (FUNCTION #: 142 ) ========================================================================= @endnode @node Cap1101143 "DT_STAMP_LASTON <Func: 143>" ========================================================================= DT_STAMP_LASTON Allows you to retrieve a date string containing the date of when the user last logged on. msg->Command = 143 msg->Data = N/A msg->String will be the date string. (FUNCTION #: 143 ) ========================================================================= @endnode @node Cap1101144 "DT_STAMP_CTIME <Func: 144>" ========================================================================= DT_STAMP_CTIME Allows you to retrieve a current time string. msg->Command = 144 msg->Data = N/A msg->String will be a current time string. (FUNCTION #: 144 ) ========================================================================= @endnode @node Cap1101145 "DT_CURR_TIME <Func: 145>" ========================================================================= DT_CURR_TIME Allows you to retrieve the current time in seconds since January something. msg->Command = 145 msg->Data = N/A msg->String will be the current time. (FUNCTION #: 145 ) ========================================================================= @endnode @node Cap1101146 "DT_CONFACCESS <Func: 146>" ========================================================================= DT_CONFACCESS Allows you to retrieve the users conference access. msg->Command = 146 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be AREANAME. if msg->Data = 0, then AREANAME will be msg->String. (FUNCTION #: 146 ) ========================================================================= @endnode @node Cap1101149 "BB_NODEID <Func: 149>" ========================================================================= BB_NODEID Allows you to retrieve the Node number for the current node msg->Command = 149 msg->Data = N/A msg->String will be the node number. (FUNCTION #: 149 ) ========================================================================= @endnode @node Cap1101150 "BB_CALLERSLOG <Func: 150>" ========================================================================= BB_CALLERSLOG Allows you to add a line of text to the CALLERSLOG. msg->Command = 150 msg->String = text msg->Data = N/A (FUNCTION #: 150 ) ========================================================================= @endnode @node Cap1101151 "BB_UDLOG <Func: 151>" ========================================================================= BB_UDLOG Allows you to add a line of text to the UDLOG. msg->Command = 151 msg->String = text msg->Data = N/A (FUNCTION #: 151 ) ========================================================================= @endnode @node Cap1101152 "EXPRESS_VERSION <Func: 152>" ========================================================================= EXPRESS_VERSION Allows you to retrieve the current version string of express. msg->Command = 152 msg->Data = N/A (FUNCTION #: 152 ) ========================================================================= @endnode @node Cap1101162 "BB_CHATSET <Func: 162>" ========================================================================= BB_CHATSET Allows you to retrieve or change the chat status. msg->Command = 162 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be current status. if msg->Data = 0, then status will be msg->String. (FUNCTION #: 162 ) ========================================================================= @endnode @node Cap1101163 "ENVSTAT <Func: 163>" ========================================================================= ENVSTAT Allows you to retrieve or change the current environment stat variable code. msg->Command = 163 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be status. if msg->Data = 0, then status will be msg->String. (FUNCTION #: 163 ) ========================================================================= @endnode @node Cap1101503 "NODE_DEVICE <Func: 503>" ========================================================================= NODE_DEVICE Allows you to retrieve the node device name. msg->Command = 503 msg->Data = N/A msg->String will be the device string. (FUNCTION #: 503 ) ========================================================================= @endnode @node Cap1101504 "NODE_UNIT <Func: 504>" ========================================================================= NODE_UNIT Allows you to retrieve the node unit number. msg->Command = 504 msg->Data = N/A msg->String will be the current node number. (FUNCTION #: 504 ) ========================================================================= @endnode @node Cap1101505 "NODE_BAUD <Func: 505>" ========================================================================= NODE_BAUD Allows you to retrieve the initialized baud rate of the node. msg->Command = 505 msg->Data = N/A msg->String will be the INIT baud rate. (FUNCTION #: 505 ) ========================================================================= @endnode @node Cap1101507 "JH_MCI <Func: 507>" ========================================================================= JH_MCI Allows you to send MCI text to express. msg->Command = 507 msg->String = text msg->Data = N/A (FUNCTION #: 507 ) ========================================================================= @endnode @node Cap1101508 "PRV_COMMAND <Func: 508>" ========================================================================= PRV_COMMAND Allows you to immediately execute an internal express menu command. msg->Command = 508 msg->String = commandstring msg->Data = N/A (FUNCTION #: 508 ) ========================================================================= @endnode @node Cap1101510 "BB_CONFNUM <Func: 510>" ========================================================================= BB_CONFNUM Allows you to retrieve the current conference number. msg->Command = 510 msg->Data = N/A msg->String will be conference number ranging from 0 to 8. (FUNCTION #: 510 ) ========================================================================= @endnode @node Cap1101511 "BB_DROPDTR <Func: 511>" ========================================================================= BB_DROPDTR Allows you to drop carrier on a user. msg->Command = 511 msg->Data = N/A (FUNCTION #: 511 ) ========================================================================= @endnode @node Cap1101512 "BB_GETTASK <Func: 512>" ========================================================================= BB_GETTASK Finds the current nodes task address. msg->Command = 512 msg->Data = N/A msg->task will be the express task address. (FUNCTION #: 512 ) ========================================================================= @endnode @node Cap1101516 "NODE_BAUDRATE <Func: 516>" ========================================================================= NODE_BAUDRATE Allows you to retrieve the current users connect rate msg->Command = 516 msg->Data = N/A msg->String will be the connect rate (FUNCTION #: 516 ) ========================================================================= @endnode @node Cap1101517 "BB_LOGONTYPE <Func: 517>" ========================================================================= BB_LOGONTYPE Allows you to retrieve the LOGONTYPE. msg->Command = 517 msg->Data = N/A msg->Data will be: 0 = AWAIT_LOGON 1 = SYSOP_LOGON 2 = LOCAL_LOGON 3 = REMOTE_LOGON (FUNCTION #: 517 ) ========================================================================= @endnode @node Cap1101518 "BB_SCRLEFT <Func: 518>" ========================================================================= BB_SCRLEFT Allows you to retrieve the screen coordinates. msg->Command = 518 msg->Data = N/A msg->Data will be the Node's Initial LEFTEDGE coordinate. (FUNCTION #: 518 ) ========================================================================= @endnode @node Cap1101519 "BB_SCRTOP <Func: 519>" ========================================================================= BB_SCRTOP Allows you to retrieve the screen coordinates. msg->Command = 519 msg->Data = N/A msg->Data will be the Node's Initial TOPEDGE coordinate. (FUNCTION #: 519 ) ========================================================================= @endnode @node Cap1101520 "BB_SCRWIDTH <Func: 520>" ========================================================================= BB_SCRWIDTH Allows you to retrieve the screen coordinates. msg->Command = 520 msg->Data = N/A msg->Data will be the Node's Initial screen height. (FUNCTION #: 520 ) ========================================================================= @endnode @node Cap1101521 "BB_SCRHEIGHT <Func: 521>" ========================================================================= BB_SCRHEIGHT Allows you to retrieve the screen coordinates. msg->Command = 521 msg->Data = N/A msg->Data will be the Node's Initial screen width. (FUNCTION #: 521 ) ========================================================================= @endnode @node Cap1101522 "BB_PURGELIN <Func: 522>" ========================================================================= BB_PURGELIN Allows you to abort serial input. msg->Command = 522 msg->Data = N/A aborts serial input and flushes the serial buffer and sends a request for more input. (FUNCTION #: 522 ) ========================================================================= @endnode @node Cap1101523 "BB_PURGELINESTART <Func: 523>" ========================================================================= BB_PURGELINESTART Allows you to CLEAR the serial buffer and request more serial input. msg->Command = 523 msg->Data = N/A (FUNCTION #: 523 ) ========================================================================= @endnode @node Cap1101524 "BB_PURGELINEEND <Func: 524>" ========================================================================= BB_PURGELINEEND Allows you to CLEAR the serial buffer. msg->Command = 524 msg->Data = N/A (FUNCTION #: 524 ) ========================================================================= @endnode @node Cap1101525 "BB_NONSTOPTEXT <Func: 525>" ========================================================================= BB_NONSTOPTEXT Allows you to change the NONSTOP text scrolling flag. msg->Command = 525 msg->Data = 1 or 0 if msg->Data = 1, then display text will not pause. if msg->Data = 0, then display text will pause. (FUNCTION #: 525 ) ========================================================================= @endnode @node Cap1101526 "BB_LINECOUNT <Func: 526>" ========================================================================= BB_LINECOUNT Allows you to retrieve or change the user's current number of lines viewed. msg->Command = 526 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be current line. if msg->Data = 0, then current line will be msg->String. (FUNCTION #: 526 ) ========================================================================= @endnode @node Cap1101527 "DT_LANGUAGE <Func: 527>" ========================================================================= DT_LANGUAGE Allows you to retrieve or change the current language specifications. msg->Command = 527 msg->Data = 1 or 0 if msg->Data = 1, then msg->String will be language. if msg->Data = 0, then language will be msg->String. NOTE: Languages need to be standardized, please what for guidelines. ie: Default language .TXT English .ENG German .GER note that this only effects the menus, bulletins & other screen text files. (FUNCTION #: 527 ) ========================================================================= @endnode @node Cap1101528 "DT_QUICKFLAG <Func: 528>" ========================================================================= DT_QUICKFLAG Allows you to change the QUICKTEXT flag. msg->Command = 528 msg->Data = 1 or 0 if msg->Data = 1, then the QuickFlag will be set. if msg->Data = 0, then the QuickFlag will not be set. (FUNCTION #: 528 ) ========================================================================= @endnode @node Cap1101529 "DT_GOODFILE <Func: 529>" ========================================================================= DT_GOODFILE Allows you to set the results of a tested file after upload. msg->Command = 529 msg->Data = 1,0 or -1 if msg->Data is 1, then the file was not tested. if msg->Data is 0, then the file passed the filetest. if msg->Data is -1, then the file failed the filetest. NOTE: This command is only useful with the SYSCmd door called FILECHECK. (FUNCTION #: 529 ) ========================================================================= @endnode @node Cap1103 "Traditional Interface Module (TIM) ========================================================================= The Traditional interface provides the capability to run "DOORS" designed for other Bulletin Board Systems. This is not to say that it will interpret all "DOORS" but some may work. The traditional interface requires a file called PARADOOR, which is supplied with AmiExpress and must be located in a path that AmiExpress can find. If a CARRIER LOSS is detected or a keyboard TIMEOUT is detected, the BBS will notify the Module, but it is up to the Module to do an orderly halt. Most door programmers know how to close their doors properly. AmiExpress automatically launches the PARADOOR so please do not run it yourself. ========================================================================= @endnode @node Cap1104 "AmiExpress Interface Module System (XIM)...." ========================================================================= My interface is by far the best of all of these put together, it allows you to do a lot of stuff. The best part about this interface is you don't need a separate program to access it. There will be a lot of Modules out for this in the near future, we have several being made right now. ___________ message structure for use with the XIMs | NOTE: RexxDoors are translated to the same structure v ~~~~ via the REXXDOOR utility struct JHMessage { struct Message Msg; <----- msg structure char String[200]; <----- info buffer int Data; <----- Read/Write & result indicator int Command; <----- Command sent from door. int NODEID; <----- reserved int LineNum; <----- reserved unsigned long signal; <----- reserved struct Process *task; <----- see BB_GETTASK below } ; PORTNAME: The portname for the XIMs is 'AEDoorPort(n)' ie: AEDoorPort1 ========================================================================= @endnode @node Cap1105 "AmiExpress CLI Interface (XIM)...." ========================================================================= This new interface can be used to run CLI doors. Not all doors will work correctly. You will have to experiment. Setup procedure: 1st: You must have Fifo-Handler in your L: directory, and also you must have a Fifo.Library in your Libs: directory. You must have at least version 0.4 of the Fifo.Library. 2nd: You must add these lines to your user-startup, -------> assign AXCLI: DOORS:CliConFigs -------> run >NIL: <NIL: L:Fifo-Handler 3rd: You must create a directory in your doors: called cliconfigs. This directory will store the config files for each door run. They must have the door name and a .cfg behind it. These cfg files control the paths to the doors, and the commands allowed and not allowed with your keys. THIS IS AN EXAMPLE CFG FILE: doors:contris/contris! ~N BREAK_C The first line is the execution line. Any following line is the filter options, which are as follows: BREAK_C -----> Allows Ctrl C BREAK_D -----> Allows Ctrl D BREAK_E -----> Allows Ctrl E BREAK_F -----> Allows Ctrl F RAWMODE -----> Allows Unfiltered IO ~~~~~~~~~~~~ WARNING ~~~~~~~~~~~~~~ As you can see, the CLI Doors are VERY DANGEROUS. If you have a wrong option in the cfg file, you could be opening your whole bbs up for the taking. I really mean taking. A use might be able to Break the CLI and get into your system And you know what that means. We suggest you research the use of the multi-user file system for security. WE WILL NOT BE HELD RESPONSIBLE IF SOMEONE BREAKS INTO YOUR SYSTEM. YOU HAVE BEEN WARNED. ========================================================================= @endnode @node Cap12 "The MCI imbedded ControlSequence...." ========================================================================= Any text file may contain imbedded control sequences which will send out variable text or cause certain things to happen. MCI - Introducer: ~~~~~~~~~~~~~~~~ ~ This is the MCI introducer, this must be at the beginning of each text file by itself in order for Express to switch to the MCI interpreter for displaying the text file. MCI - User Specification: ~~~~~~~~~~~~~~~~~~~~~~~~ ~N User Name ~IN User Internet Name ~RN User Realname ~UL User Location ~P User Password ~# User Phone ~TC Total User Calls ~LC User Last Call to the system ~M User Message Posted ~A User Access Level ~S User Slot Number ~CA User Conf. Access **** NOTE CHANGED FROM X **** ~BR User BaudRate ~HW User Computer Equipment ~TL User Initial Time Limit at logon in Minutes ~TR User Number of Mins Remaining today ~UB User Bytes Uploaded ~DB User Bytes Downloaded ~FU User Files Uploaded ~FD User Files Downloaded ~BD User Byte Download Limit ~LG User Logged On-Node ~DX Change the MCI command terminator. i.e.: ~D.| will change the '|' to '.' ~OD Online Since Date ~OT Online Since Time ~CX Change foreground ansi color to anything from 0-f. ~BX Change background ansi color to anything from 0-f. ~H Back Space ~Q Change to default ANSI mode. ~F Clear Screen. ~Nx Newlines where x is the number of them you would like ~~ This indicates you wish the ~ symbol to appear, you can have as many of them as you like after the first ~ to display them (NOTE: no ',' on this command) ~xN Goto X position on screen. ie: ~x10 ~yN Goto Y position on screen. ie: ~y10 NOTE: The above commands allow you to specify a width identifier before ~~~~ the action test.. ie: ~10N would only display the first 10 letters of the username. MCI - System Specification: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~SC System Total calls ~CT Show current Time ~DT Show current Date MCI - Extra Specification: ~~~~~~~~~~~~~~~~~~~~~~~~~ ~CR will wait for any key to be pressed. ~CR_Prompt will wait for and prompt the user to press any key. ie: ~CR_PressAnyKey ~SP will do a standard pause, this is useful to put in between each ~SS command. ~<xx>SR_<screens> This allows you to have random textfiles by using this MCI Command. <xx> represents the maximal number of random file you want to change. and <screens> is the full path to the textfiles you want to be random displayed. (without .TXT) ~SS_Name Show <name> file. This file may also be an MCI file. WARNING: This command could cause a serious loop problem if ~~~~~~~ you tell it to show the same file you are viewing. WARNING: You may need to increase STACK if you nest to many ~~~~~~~ of these files. NOTE: If this command is accessed via the message base or the ~~~~ View or ViewSysop commands, then the file you are going to view has to have a file comment of 'Allowed' or '{xxx}Allowed' {xxx} specifies security level or above ie: {050}Allowed, indicates that only those over or equal to access level of 50 are allowed to view the file. ~SR - Show Random Files SYNTAX: ~<numb>SR_<fileid> ^ ^ ^ | | | | | ---------- pathname without security level and file | | extension | ------------- Command to show random file ------------------ Number of Random files IE: ~10SR_BBS:Logon This will look for a random file between 1-10, the syntax for the file to display is: SYNTAX: PathName<seq>.FileName[security level]<extension> IE: BBS:001.Logon200.TXT This would be the first of ten files to create to be displayed by the random function, the '200' is the security level which is optional. ~SX - Show Sequentual Files SYNTAX: ~SX_<fileid> ^ ^ | | | ---------- pathname without security level and file | extension ------------- Command to show sequentual file IE: ~SX_BBS:Logon 1. This will look for a file called BBS:Logon which will store the last sequence of the <fileid> that was displayed. If this file does not exist, the 'SX' command will create it. 2. Then it will construct a display file name based on the next sequence number as follows: SYNTAX: PathName<seq>.FileName 3. It will then look for the appropriate file to display. The actual ASCII file should contain the following information for the filename: SYNTAX: PathName<seq>.FileName[security level]<extension> IE: BBS:001.Logon200.TXT --v BBS:001.Logon100.TXT ----- notice the different security levels keeping in mind that they are optional. BBS:002.Logon200.TXT ~CC_Name Launch a door 'Name' is the door's name. ie: ~CC_WHO will look in SYSCMD, BBSCmd and CONF<x>CMD directory which must be located in the BBS:Commands directory. ~CC_WHO NOTE: It is important to realize that most MENU COMMANDS should only be run from the MENU PROMPT. For Instance , forcing the READING of mail at the FRONTEND of express would not be wise because the BBS does not know who is logging onto the system. So use your own judgement on these matters. ~CL this command will display a list of conferences, commonly used in the JoinConf.TXT file ******************************************************************* NOTE: ALL MCI COMMANDS MUST END WITH EITHER A SPACE OR A '|' SYMBOL ALL COMMANDS ARE CASE SENSITIVE!!!!!!!! ******************************************************************* Having a line in a text file that contains: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~N , I hope everything is going well in ~L . Might show: ~~~~~~~~~~ Joseph Hodge, I hope everything is going well in Virginia. ========================================================================= @endnode @node Cap13 "Notable Features of AmiExpress..." ========================================================================= 1. Command history has been added in to allow up to 20 history lines to be remembered. Once the limit of 20 has been released the history will cycle thru. CTRL-B will reset the history pointer to zero entries. 2. The HELP key performs a screen to background command. 3. The BBS checks to make sure the AUXx: or CNN: device can be opened and tells the user if there is a problem. 4. Baud Calling times has been added in, kind of a throw in and will be changed, but for now, specify the time period a baud rate CAN call, like to allow a baud to call all the time enter 0 for start and 2359 for end. Start time must be a lower number than end time. As I stated this is not perfect and will be removed from the Config and a file will contain all the times a baud can't call. It will allow more flexibility. 5. AREXX port 'AmiExpress_Node.x', supports the following features: suspend - causes the BBS to close the serial port and iconify and wait for a resume command. If someone is ONLINE the BBS will wait until they logoff to reply to the suspend message, and then the BBS will suspend. This allows you to create a batch file that will automatically suspend the BBS and load your terminal program and once your finished with the terminal program put the BBS back up. a example Arexx Program should be like this that the BBS will suspend: ------------- cut here ------------------ /* The Suspend Command for AmiExpress V4.0 */ address 'AmiExpress_Node.1' 'suspend' ------------ cut here ------------------- resume - this command is only used while the BBS is suspended. shutdown - this command will cause the BBS to lower the users time ONLINE to 2 mins and tell the user that it has received an emergency shutdown notice. Once the user is off the BBS exits from memory. NOTE: None of these features work without Arexx. There will be lots of AREXX commands in the future, including node to node chatting.. 6. Automatic Zmodem upload, if a user starts a Zmodem upload on the main prompt the BBS will detect this and enter the Zmodem upload routines. 7. SYSOP now has the ability to run a node in the background just for his local use. To do this just remove the device name from the Config file and the BBS will not use the serial port. ========================================================================= @endnode @node Cap14 "Note worthy of Mention...." ========================================================================= I would personally like to thank Joseph Hodge, who has painstakingly, and endlessly programmed, and put up with us. It is not easy to try and make a program do what everyone wants. I still do not know to this day why he choose to carry on with AmiExpress but I sure am appreciative, It has been a wonderful learning experience in both the programming world and friendships. We have become like brothers, and like brothers will be together through the good times and bad times. I would also personally like to thank all of the wonderful people listed on the ACP credits menu. They are great people, and have a lot of patience and enthusiasm in making express the best BBS program around. I would also like to thank all the distributors and users who have helped the development of express. It is heart warming to see the devotion that comes from the registered users, more devotion then we ever expected. Enjoy the BBS, once setup will assuredly become second nature to run. It is a fantastic program, and we all have Joseph Hodge to thank for it's developement. Please report any errors in this file, or any other file to: ------------------------------------------- LightSpeed Technologies Inc. (305) 964-4263 ------------------------------------------- Or Mail to: LightSpeed Technologies Inc. P.O. Box 4435 Hollywood, Fl. 33083-4435 ========================================================================= @endnode @node Cap15 "QWK Mail Support...." ========================================================================= In the 'W' option for users, is now the ability for the user to pick what kind of Zoom they want. They can pick QWK, or the old ascii zoom option. NOTE: You must first install some new Icons in the ZOOM dir, otherwise it wont work. You must have 3 Icons called: QWKCFG --> In this icon are the following tooltypes: BBS.NUMBER=<YOUR PHONE NUMBER> IE: 1-305-964-4263 BBS.ADDRESS=<ONE LINE ADDRESS> IE: FLORIDA QWPACK --> In this icon are the following tooltypes: LHA=c:LHA a ZIP=c:ZIP -0 ASCPACK --> In this icon are the following tooltypes: LHA=c:LHA a ZIP=c:ZIP -0 Edit them to fit your needs ! Now to be able to upload your replied messages from the QWK interface You need to do this. To install: First: Make an icon called SQWK and put it in the bbs:cmds dir. It is a XIM door. Second: Put the sqwk file in the doors: dir. Third: Put the sqwkmerge file in the BBS:utils dir. It is now installed. Now as the user, all you would have to do is hit SQWK at a menu prompt. The bbs will then be awaiting for your replied QWK mail. REMEMBER only send your reply packet in the upload. It should have the extension of .REP on the file. The user can go on and do other things while the QWK is unpacking the mail. ========================================================================= @endnode @node Cap16 "Icon Script Language Support...." ========================================================================= In this new 4.0 release, acp has the new option of setting up all the directories and icons from scratch. So anyone even if they do not know how to get a bbs going can have a default script file, (that we have provided in the s:dir of the main support disk), get there bbs up from just hitting the Setup Button on the ACP. What is so nice about this is that you guys who write doors or utilities for express, can create script files that will automatically create the directories, icons, and put your default commands in the icon automaticlly by the acp custom installer, just the way you want them, without wondering if the end user is installing your program correctly. Now let me explain how this works: The script file provided will set up a default express. You can add or delete to your liking. We have it now so it will create a bbs in RAM: so be CAREFUL it will delete what you have already set up if you change the script to BBS: When you start the acp and it does not find any configured BBS ready to go, the acp will pop up a requestor asking you what file (script) you want to use. If you have the aeicon.config in your dh0:s dir, it will automatically configure a new bbs. The only thing you will need are the default icons that you found originaly in your storage dir. The setup procedure uses those icons to copy over, and then uses the information you (us) gave in the script file. Now you can change the icons the way you want, and the options you want in the icons. In the script file (aeicon.config) you will see an explanation of the options. I will not go into any more right now, but it is pretty much self explanatory, especially for you guys that program in C. ========================================================================= @endnode @node Cap17 "Trouble Shooting...." ========================================================================= Problem Solution -------------------------------- ----------------------------------- ACP will not start. 1. Make sure ACP is being run from the startup-sequence or WB 2. Goto an AmigaDos shell, go to the directory where the command is located and type ACP, this should give you an error message indicating that perhaps a file is missing. 3. Be sure that you have the ICON in the same directory as the Main Program Express will not start, but ACP will. 1. Make sure that if you are using a batch file to execute express that the batch file has a 's' bit assigned to it, ie: PROTECT S:BBS.Startup +s ^ | batch filename 2. Goto the directory in which express exists and type from a shell: Express 0 ^ |___ (node number) This should tell you why the program is not running. ACP and EXPRESS run but express 1. The stack size of express is gurus every time someone enters not getting set. You must have the msgbase scan. a stacksize of 50000 for this to work. ACP comes up but there is no 1. Make sure the statement: NODE buttons. NUMBER_OF_NODES x exists, where <x> should be replaced with the number of nodes you are going to have. My modems will not initialize 1. Make sure the UNIT statements reflect the correct UNIT number. 2. Make sure the DEVICE_NAME is correct. 3. Make sure you have a MODEM_INIT string in the MODEM ICON. In the CALLERSLOG: 1. Make sure you started the Error Reading MsgBase Pointer CONFDB Utility the Right way: is listed 1> CONFDB BBS:CONF/ <max.Usernumber> 2. Make sure CONF.DB is in each conference you have. 3. Make sure that the Usernumber you choose in the creating of CONF.DB is not lower than the actual one. ========================================================================= @endnode @node Cap18 "Future planned Enhancements.." ========================================================================= We are experimenting with various ideas with express to allow more diversity, some of the items coming up AS UPDATES in the 4.0 version of Express are: Full Internet access ability. You will be able to upload/download to the internet, Also read/write in a pre-defined conference message bases to the internet. So people, hang in there, you will see a lot of enchancements in the next couple of months. ========================================================================= @endnode