home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / QNODE142.ZIP / QNODE.DOC < prev    next >
Text File  |  1992-05-15  |  39KB  |  878 lines

  1.     ############
  2.   ################
  3.  ###            ###
  4.  ###            ###
  5. ###              ###  ##    ##  #####  ######  #######
  6. ###              ###  ###   ## ##   ## ##   ## ##
  7. ###              ###  ####  ## ##   ## ##   ## ##
  8. ###              ###  ## ## ## ##   ## ##   ## #####
  9. ###              ###  ##  #### ##   ## ##   ## ##
  10. ###           ## ###  ##   ### ##   ## ##   ## ##
  11. ###           ## ###  ##    ##  #####  ######  #######
  12. ###           ## ###
  13. ###           ######       ##  ##  ##     ##  ##  ###
  14. ####           ####        ##  ## ###     ##  ## ## ##
  15.  ###            ####        ####   ##     ######   ##
  16.   ###################       ####   ##         ##  ##
  17.     ############   ##        ##   #### ##     ## #####
  18.  
  19.                              Table of Contents
  20.  
  21. Part 1 - QNode
  22.        1.1 - Introduction
  23.        1.2 - Program Usage
  24.        1.3 - Error Levels
  25.        1.4 - Point Nets
  26.        1.5 - Multiple Networks
  27.  
  28. Part 2 - QDiff
  29.        2.1 - Introduction
  30.        2.2 - Program Usage
  31.        2.3 - Error Levels
  32.  
  33. Part 3 - QIDX
  34.        3.1 - Introduction
  35.        3.2 - Program Usage
  36.        3.3 - Error Levels
  37.  
  38. Part 4 - Configuration File
  39.        4.1 - Introduction
  40.        4.2 - Configuration File Commands
  41.  
  42. Part 5 - Common Questions
  43.  
  44.                               Part 1 - QNode
  45.  
  46. 1.1 - Introduction
  47.  
  48.     QNode was originally designed to be a fast version 6 nodelist compiler 
  49.     which could handle my MNP modem properly, seeing as no other nodelist 
  50.     compiler was really able to do the job.
  51.  
  52.     When version 7 nodelists came out, and I found out just how slow the 
  53.     indexing system was, I determined that QNode really needed an update to 
  54.     handle the v7 nodelist.
  55.  
  56.     QNode is a free program, and although I don't refuse any money, no 
  57.     money is expected.  By the same token, you are NOT allowed to make any 
  58.     money through QNode.
  59.  
  60.     QNode is also a copyrighted program, and by that token, you are not 
  61.     allowed to distribute any modified, or incomplete copies of the QNode 
  62.     distribution archive.  (Re-Archiving is not considered modification (at 
  63.     least by me.))
  64.  
  65.     To get the latest version of QNode, simply request the magic name of
  66.     QNODE from 1:140/26.  This is probably going to net you a pre-release 
  67.     copy however.  The most recent release version will probably be 
  68.     available in the SDS-SOFTDIST area.
  69.  
  70.     Something that started with QNode 1.40 is that even numbered versions 
  71.     will be true release versions, while odd-numbered versions will be the
  72.     pre-release versions.
  73.  
  74. 1.2 - Program Usage
  75.  
  76.     QNode will use the file 'QNODE.CFG', or the first command line 
  77.     parameter as it's parameter file, and will always search and find the 
  78.     latest 'NODELIST.###' file (time-stamps are used, so end of year wrap 
  79.     isn't a problem.) and compile it into one of these sets of files:
  80.  
  81.        VERSION6        - NODELIST.DAT, NODELIST.IDX
  82.        VERSION7        - NODEX.DAT
  83.        VERSION7, INDEX - NODEX.NDX
  84.        USERLIST        - FIDOUSER.LST
  85.        USERLIST, INDEX - SYSOP.NDX
  86.  
  87.     Please note that you are not allowed to create a version 7 index file 
  88.     (NODEX.NDX or SYSOP.NDX) as well as the FIDOUSER.LST file.  To create 
  89.     both files, you must not use QIDX to build the version 7 indexes 
  90.     instead of having QNode do it.
  91.  
  92.     Once QNode has read it's configuration file(s), and found a nodelist to 
  93.     compile, it will start processing the nodelist.  While compiling, you 
  94.     will notice that a status line is kept on the screen showing the most 
  95.     recent Zone, Region, Net, and Hub.  Hubs will only be shown for nets 
  96.     which are being included in the final nodelist.  If a net is not to be 
  97.     included in the final nodelist, you will see the word 'EXCLUDE' after 
  98.     the line, and QNode will enter an extremely fast 'overdrive' mode to 
  99.     get to the next network.
  100.  
  101.     If you only use some zones from the nodelist, then QNode will stop 
  102.     compiling the nodelist (and the nodelist statistics) the instant that 
  103.     it hits a zone higher than the last one that you requested nodes be 
  104.     compiled from.
  105.  
  106. 1.3 - ERRORLEVELS
  107.  
  108.     The errorlevels which can be returned by QNODE are:
  109.  
  110.            0 = Nodelist compiled fine.
  111.            1 = No Nodelist found.
  112.            2 = Cannot open configuration file.
  113.            3 = Cannot open nodelist.
  114.            4 = Errors exist in the configuration file.
  115.  
  116. 1.4 - POINTNETS
  117.  
  118.     Pointnets can be done in a couple of different ways, depending upon 
  119.     your system settings.  You can either create 'fake-net' point listings, 
  120.     or you can create a special 'point-control' file.
  121.  
  122.     In version 6 mode, you are only allowed to create a 'fake-net', but in 
  123.     version 7 mode, you can do either (or both for that matter.)
  124.  
  125.     A 'fake-net' is a dummy network which is not in the distribution 
  126.     nodelist, which lists your points as 'virtual' network addresses.  
  127.     These dummy network number start at 30000, and go up from there.  You 
  128.     should apply to your Zone Co-Ordinator for an official point-net 
  129.     number, but for testing purposes, you can pretty much choose a random 
  130.     number between 30000 and 32767.
  131.  
  132.     Each node within this fake-net is actually a point, where the node 
  133.     number from the fake-net is the point number of the node.  For example, 
  134.     if I used the fake-net number of 33000, then the points for 140/26.1, 
  135.     140/26.2, 140/26.3, ... would be listed in the nodelist as 33000/1, 
  136.     33000/2, 33000/3, ... .  It is the responsibility of your mail packer 
  137.     to handle these fake-net numbers.  (QMail, and Opus 1.70+ will handle 
  138.     fake-nets in this fashion.)
  139.  
  140.     A sample of a fake-net follows below:
  141.  
  142.     ---cut here---
  143.     Host,33000,The_North_Village,City,James_West,1-306-384-0836,2400,MNP
  144.     ,1,My_First_Point,City,Sysop_Name,1-306-555-1212,1200
  145.     ,2,My_Second_Point,City,Sysop_Name,1-306-555-1212,9600,HST,V32,V32b
  146.     ---cut here---
  147.  
  148.     This fake-net must be 'IMPORT'ed somewhere within the nodelist.  You 
  149.     can import it anywhere you like, but normally it should be imported 
  150.     after your own network, region, or zone.
  151.  
  152.     To import after your own network, you would use the configuration file 
  153.     command: 'IMPORT 1:140 POINT.LST'.  To import after your own region, 
  154.     you would use the command: 'IMPORT 1:17 POINT.LST'.  To import after 
  155.     your own zone, you would use the command: 'IMPORT 1: POINT.LST'.
  156.  
  157.     A 'point-control' file is one file which contains listings for all 
  158.     points that you will have access to.  It's fairly similar to the 'fake- 
  159.     net' file, but instead of having a dummy network for each node, the 
  160.     points are attached to the node itself.
  161.  
  162.     To use a point-control file, you should use the 'POINTS' command to 
  163.     include the file which you list all of your points in.  For example: 
  164.     'POINTS POINT.LST'.  In the point-control file, everything after the 
  165.     bosses node number is ignored, so you can use that as any sort of 
  166.     comment that you like.  (The actual information for the boss node is 
  167.     taken from the nodelist.)
  168.  
  169.     A sample of a point-control file follows:
  170.  
  171.     --- cut here ---
  172.     Boss,1:140/26,The_North_Village
  173.     ,1,AB_Data_Sales,City,Sysop,1-306-555-1212,1200
  174.     ,2,Another_Point,City,Somebody,1-306-555-1212,9600,HST,V32,V32b
  175.     Boss,1:140/200,Another_Boss_Node
  176.     ,1,His_First_Point,City,Sysop_Name,1-306-555-1212,1200
  177.     Pvt,2,His_Private_Point,City,Sysop,-Unpublished-,1-306-555-1212,2400
  178.     --- cut here ---
  179.  
  180. 1.5 - MULTIPLE NETWORKS
  181.  
  182.     QNode also supports the compilation of many different input nodelists 
  183.     into one big output file.  This is used for the inclusion of other 
  184.     networks (like SIGnet for example.)
  185.  
  186.     The configuration file command which enables this is the 'NODELIST' 
  187.     command, which instructs QNode on which nodelists that it is supposed 
  188.     to compile.
  189.  
  190.     To compile a joint Fidonet, Signet system you would use the two 
  191.     commands: 'NODELIST NODELIST' and 'NODELIST SIGNODES'.
  192.  
  193.     WARNING:  If you use a 'NODELIST' command in your configuration file, 
  194.     then the default fidonet nodelist will NOT be included.  You must 
  195.     explicitly include the 'NODELIST NODELIST' statement if you still wish 
  196.     to include the fidonet nodelist.
  197.  
  198.                                 Part 2 - QDIFF
  199.  
  200. 2.1 - Introduction
  201.  
  202.     QDiff is a companion program to QNode, which applies NODEDIFF files to 
  203.     nodelists, and will generated an updated nodelist.  QDiff can apply an 
  204.     almost unlimited number of nodediffs simultaneously.  For example, if 
  205.     you have NODELIST.101, NODEDIFF.108, NODEDIFF.115, NODEDIFF.122, and 
  206.     NODEDIFF.129 after running QDiff, you will be left with NODELIST.129.
  207.     Note:  The actual limit will be determined by the number of file 
  208.     handles that QDiff is able to open simultaneously.  Since it doesn't 
  209.     bother to expand it's handle table, the true limit would be around a 
  210.     dozen nodediffs.
  211.  
  212. 2.2  - Program Usage
  213.  
  214.     QDiff has some pretty simple usage for most people:  Just run it 
  215.     without any parameters.  It's all automatic.  The only thing you have 
  216.     to do is make sure that the nodelist and nodediff files are in the 
  217.     directory that you are in when you run QDiff.
  218.  
  219.     QDiff first searches through your NODELIST files to locate the one with 
  220.     the most recent time stamp, and then it will go through your NODEDIFF 
  221.     files trying to find ones which are more recent.  If it does not find 
  222.     any, then it will search for any archived NODEDIFF files to see whether 
  223.     any of them exist.  (Current archivers which are recognized are: ARC, 
  224.     ZIP, and LHA, based upon the first letter of the extension.)
  225.  
  226.     You are NOT allowed to 'mix-and-match' archived and un-archived 
  227.     nodediffs.  You must supply one sort or the other to get a proper 
  228.     output file.
  229.  
  230.     If given an archived nodediff, QDiff will extract it immediately using 
  231.     one of the following archive programs:
  232.  
  233.        for NODEDIFF.A##:
  234.                PKUNPAK, PKXARC, ARCE, PAK
  235.        for NODEDIFF.Z##:
  236.                PKUNZIP, PAK
  237.        for NODEDIFF.L##:
  238.                LHA, LHARC
  239.  
  240.     QDiff requires LOTS of disk space while running.  It must create an 
  241.     entirely new nodelist on disk before it can delete the old one.  This 
  242.     new nodelist will be created in a file named 'QDIFF$.TMP', which will 
  243.     be renamed to the correct name if the nodelist is compiled 
  244.     successfully.
  245.  
  246.     To use QDiff with multiple networks, you must use some command line 
  247.     parameters.  For each network that you wish to compile, you should put 
  248.     the name of the nodelist, an exclamation point, and the name of the 
  249.     nodediff file.  You can do more than one network at a time, but it's 
  250.     suggested that you just do one network at once.  To cause QDiff to look 
  251.     for a SIGnet nodelist/diff combination for instance, you would use the 
  252.     command: 'QDIFF SIGNODES!SIGDIFF'
  253.  
  254.     Other parameters that are supported by QDiff are as follows:
  255.  
  256. /D  Deletes all NODEDIFF files when completed.  This will not delete 
  257.     archived nodediff files.  If a CRC error is detected during compile, 
  258.     the nodediff files will still be deleted.
  259. /N  Deletes the old nodelist.
  260. /Z  Instructs QDiff to place an EOF mark at the end of the new nodelist.
  261.     This is not required for either QDiff or QNode, but some utilities 
  262.     seem to expect it I guess.
  263. /P  Instructs QDiff to run some sort of command based upon the new nodelist 
  264.     or nodediff files.  This command can include the following percent 
  265.     directives:
  266.        %1 - Last 1 character of the julian date of the new nodelist.
  267.        %2 - Last 2 characters of the julian date of the new nodelist.
  268.        %3 - The full julian date of the new nodelist.
  269.        %D - The file name (without numbers) of the NODEDIFF file.
  270.        %N - The file name (without numbers) of the NODELIST file.
  271.     The %D and %N parameters both include a trailing period.
  272.     To include spaces in the command (as most commands require), you would 
  273.     have to encase the parameter in quotation marks.  Some sample commands 
  274.     follow:
  275.        /P:"pkpak -otc a nodelist.a%2 nodelist.%3"
  276.        /P:"pkzip -a nodelist.z%2 nodelist.%3"
  277.        /P:"lha a %nl%2 %n%3"
  278.     NOTE:  Within a batch file, you must use two percent signs.
  279.  
  280. 2.3 - Error Levels
  281.  
  282.     The errorlevels which can be returned by QDIFF are:
  283.  
  284.        0 = NODEDIFF applied normally
  285.        1 = NODELIST does not require updating
  286.        2 = Cannot find nodediff
  287.        3 = Cannot find nodelist
  288.        4 = Cannot find extraction program
  289.        5 = NODEDIFF not found after running extraction program
  290.        6 = Extraction program reported an errorlevel other than 0
  291.        7 = Disk error during writing, probably disk full
  292.        8 = CRC error in new nodelist
  293.  
  294.                                  Part 3 - QIDX
  295.  
  296. 3.1 - Introduction
  297.  
  298.     QIDX is a simple program which was written to generate the nodelist 
  299.     indexes without having to compile the nodelist.  It is also used when 
  300.     somebody wishes to generate the FIDOUSER.LST file as well as the 
  301.     version 7 indexes.
  302.  
  303.     The ability to build the user index was just thrown in.
  304.  
  305. 3.2 - Program Usage
  306.  
  307.     To run QIDX, simply type 'QIDX' followed by the list of parameters for 
  308.     the indexes to be built.  These parameters are:
  309.  
  310. /N  Generates the node number index.  You may specify /N:filename to change 
  311.     the name of the index.  (This defaults to NODEX.NDX)
  312. /S  Generates the sysop index.  You may specify /S:filename to change the 
  313.     name of the index.  (This defaults to SYSOP.NDX)
  314.     
  315. /U  Generates the user file index.  You may specify /U:filename to change 
  316.     the name of the index.  (This defaults to USER.NDX)
  317.     NOTE:  USER.DAT must be in the current directory for /U to work.
  318.  
  319.     An additional parameter which is almost guaranteed to make the indexes 
  320.     unusable to everything also exists.  This parameter is:
  321. /B  Change block size (default 512).  This changes the size of the blocks 
  322.     within the index file.  No other values are known to work.
  323.  
  324.     If you use a large portion, or all, of the nodelist, then you may wish 
  325.     to have QIDX build the node number and sysop indexes separately.  If 
  326.     you build both at once, then QIDX must divide memory in half for each 
  327.     index.  If building only one, then it can use all of memory.
  328.  
  329.     To have QIDX compile a different nodelist data file than NODEX.DAT, you 
  330.     can simply specify the nodelist filename on the command line.
  331.  
  332.     To compile SIGX.DAT into SIGX.NDX and SIGSYSOP.NDX, you would use the 
  333.     command line:
  334.  
  335.     QIDX SIGX.DAT /N:SIGX.NDX /S:SIGSYSOP.NDX
  336.  
  337. 3.3 - Errorlevels
  338.  
  339.     0 = Everythings fine.
  340.     1 = Could not open either the nodelist, or the userlist data file.
  341.     2 = Bad parameter specified on command line.
  342.  
  343.                           Part 4 - Configuration File
  344.  
  345. 4.1 - Introduction
  346.  
  347.     The QNode configuration file is a free-format text file, which consists 
  348.     of a keyword followed by optional parameters.  The file is totally case 
  349.     in-sensitive, although some keywords may not be.  To place a comment 
  350.     within the file, preceded the comment by a semi-colon (;).
  351.  
  352. 4.2 - Configuration File Commands
  353.  
  354.     NOTE:  Any parameter which starts with 'USES' may be enabled by 
  355.     preceding the statement with 'USES' and disabled by preceding the 
  356.     statement with '!USES'.
  357.  
  358.     *** STUFF ABOUT YOUR SYSTEM ***
  359. ADDR #:#/#.# {#:#/#.#} ; SUPERCEDES 'ZONE, NET, NODE'
  360.     This sets YOUR network node number.  Additional addresses may be 
  361.     specified, but the first address listed is the default.
  362.     You are also allowed to place multiple ADDR lines in your configuration
  363.     file, but each subsequent one will totally replace the previous ones.  
  364.     This can however be used to reduce typing by setting default zone/net 
  365.     numbers.
  366.  
  367.     WARNING: If you use multiple ADDR lines, be absolutely sure that the
  368.     last ADDR line in the file is the real one, with all addresses, and the
  369.     first address being your 'normal' address.
  370.  
  371. COUNTRY #
  372.     This sets your countries telephone direct dial code.  In Canada and the 
  373.     United States, this is '1'.
  374.  
  375. NODELIST filename{ #{ node-data{ sysop-data}}}
  376.     This is to be used to enable multiple, or non-standard nodelist 
  377.     generation.  If no nodelist lines are specified, it will default to: 
  378.     'NODELIST'.  You may have as many of these lines as you like.  The 
  379.     optional number specifies a 'zone override'. If this number is non-zero
  380.     then the first zone will be taken to be the number you specify, instead
  381.     of the zone listed.  Additional zones will be incremented by one.
  382.     The zone override is only valid for the nodelist that it is listed for.
  383.     An example for a fidonet + signet system follows:
  384.        NODELIST NODELIST
  385.        NODELIST SIGNODES
  386.     The node-data and sysop-data files are used in v7 mode to compile that 
  387.     nodelist to an entirely different set of data files.  If these options 
  388.     are never specified, they will default to: NODEX and SYSOP.
  389.  
  390.     WARNING:  Do not use file extensions on these commands.
  391.  
  392.     Whenever an entry is encountered with a file specified, the current 
  393.     file will be closed, and the new file(s) will be created.  The data- 
  394.     file overides are only supported in VERSION7 mode.
  395.  
  396.     Do *NOT* specify the same file names on a later line.  This will only 
  397.     erase the previous files.  To compile multiple entries into the same 
  398.     file, group all nodelists whose data should go into the same file 
  399.     together, and then specify the filename only for the first entry.
  400.  
  401.     As a weird example, suppose you want to have NODELIST and SIGNODES  
  402.     compiled together into NODEX.DAT, NODEX.NDX, and SYSOP.NDX, but you 
  403.     need SIGNODES to be compiled into SIGX.DAT, SIGX.NDX, and SIGSYSOP.NDX 
  404.     as well.  The proper usage would be:
  405.  
  406.        NODELIST NODELIST
  407.        NODELIST SIGNODES
  408.        NODELIST SIGNODES 0 SIGX SIGSYSOP
  409.  
  410. USES USERLIST ; SUPERCEDES 'USERLIST'
  411.     If you specify the VERSION7 and INDEX keywords, this requests that 
  412.     SYSOP.NDX be generated.  Otherwise the file 'FIDOUSER.LST' will be 
  413.     generated.  If you have insufficient memory to generate the entire file 
  414.     'FIDOUSER.LST', then it will be swapped to disk, and the slow process 
  415.     of userlist merging will commence.  To minimize the need for this, you 
  416.     may wish to reduce the memory consumption of QNode by reducing the 
  417.     BUFFERS keyword.
  418.  
  419. USES ALLUSERS ; SUPERCEDES 'ALLUSERS'
  420.     This requests that all user names be placed in FIDOUSER.LST, whether 
  421.     you have them in your nodelist or not.  This is normally used for the 
  422.     ONEZONE or REGULAR style of nodelists.  Since inter-zone mail is 
  423.     normally gate-routed, you do not require the actual node in your 
  424.     nodelist to send mail to people.
  425.     NOTE:  This command is ignored if VERSION7 and INDEX are specified.
  426.  
  427. USES HUBS ; SUPERCEDES 'HUBS'
  428.     This asks for hub nodes in nets other than your own to be given mail 
  429.     command of all private nodes underneath them. Normally, mail command is 
  430.     given to the host, unless it is in your own net.
  431.  
  432. USES EMS
  433.     This asks for EMS memory to be used for the version 7 nodelist buffers. 
  434.     This will default to on, so the only use for this command is so that 
  435.     you can use '!USES EMS' to disable this setting.  If there is 64K of 
  436.     EMS memory available, it will be allocated, mapped in, and 511 version7 
  437.     buffers will be set up.
  438.  
  439. ALLOCATE BUFFERS # ; SUPERCEDES 'BUFFERS'
  440.     This sets the node buffer size.  It can be anywhere from 1 to 511, and 
  441.     defaults to 511.  The only use I can see for this is to give yourself 
  442.     more memory for the userlist.  If you don't have enought memory for the 
  443.     buffers themselves, it will default to a lower number of nodes.  
  444.     BUFFERS 256 is frequently sufficient, and gives you some extra memory 
  445.     for the userlist.  Each buffer will take 128 bytes of memory in version 
  446.     7 mode, and 132 bytes of memory in version 6 mode (and 260 bytes of 
  447.     memory if you compile both.)
  448.  
  449. ALLOCATE TEXT #
  450.     This sets the memory allocation to be used for auxilliary text files 
  451.     used in the IMPORT, EXPORT, and FORMAT commands.  The default value for 
  452.     this is 32768.  The maximum value is either 65528, or half of remaining 
  453.     memory (whichever comes first.), but will always get at least 128 
  454.     bytes.  If you are generating FIDOUSER.LST, then this number will be
  455.     locked at 128.
  456.  
  457.     WARNING:  If these are allocated at a totally inappropriate time, you 
  458.     may get an out of memory error (error code 203) during the compile.  If 
  459.     you get this error, then you should shrink the allocation.  (an 
  460.     allocation of 128 is guaranteed not to fail, since it's allocated from 
  461.     the stack, and not from the heap.)
  462.  
  463. KEEP FIRSTUSER
  464.     This tells QNode to keep the first user entry specificed during 
  465.     nodelist compile.  This was the default in QNode <1.41
  466.  
  467. KEEP LASTUSER
  468.     This tells QNode to keep the last copy of a user entry that it 
  469.     encounters during nodelist compile.  This is the default in QNode>=1.41
  470.  
  471. KEEP ALLUSERS ; SUPERCEDES 'DUPLICATE'
  472.     This allows duplicate entries in a VERSION7 sysop index.  OPUS doesn't 
  473.     do anything with the dupes however.
  474.  
  475. MAXBAUD #[|#] {[FLAG #[|#]] ...}
  476.     This sets the maximum baud rate which will be placed in the compiled 
  477.     nodelist.  Any entries above that value will be reduced to that value.  
  478.     Notice the optional second number after the pipe symbol.  This second 
  479.     number if the modem type to be used.  This sets the PREDIAL# to be used 
  480.     for Opus 1.70+, or the ModemTrans to be used for BinkleyTerm.
  481.  
  482.     The set of flags after the baud rate specify baud rate or dial prefix 
  483.     extensions.  Any node whose entries contains the flag listed will be 
  484.     changed to the specified baud rate (and optional modem type).  Unlike 
  485.     every other portion of QNode, the flags work on a LAST MATCH rule.  In 
  486.     case of multiple matches, the last one will have precedence.  You are 
  487.     allowed to have up to 20 flags specified.
  488.  
  489.     An example for a 2400 baud, MNP 5 modem is:
  490.        MAXBAUD 2400|1  HST 9600|0  MNP 9600|0  V42 9600|0
  491.     Where ModemType 0 is a standard MNP dial, and ModemType 1 disables the 
  492.     MNP for the dial.
  493.  
  494.     And example for an HST w/V32bis is:
  495.        MAXBAUD 9600|0  HST 9600|1  V32 9600|1  V32B 9600|2
  496.     Where ModemType 0 is a standard dial, ModemType 1 dials the older HST 
  497.     modems in HST mode, and ModemType 2 dials the newer V32bis modems with 
  498.     V32bis enabled.  This would enable Janus for higher speeds.  If you 
  499.     don't have Janus, you may wish to dial V32B in HST mode as well.
  500.  
  501.     *** NODELIST GENERATION COMMANDS ***
  502. ONEZONE
  503.     Asks for only nodes in your zone(s). (ie: ZONE:*/*)
  504.  
  505. REGULAR
  506.     Asks for only your zone(s), plus hub nodes from other zones.  (ie: 
  507.     ZONE:*/* + *:*/0)
  508.  
  509. ALLZONES
  510.     Asks for a complete nodelist (ie: *:*/*)
  511.  
  512. NOZONES
  513.     Asks for NO nodes whatsoever to be included
  514.  
  515. USES VERSION6 ; SUPERCEDES 'VERSION6'
  516.     Asks for a version 6 nodelist (DEFAULT)
  517.  
  518. USES VERSION7 ; SUPERCEDES 'VERSION7'
  519.     Asks for a version 7 nodelist
  520.  
  521. USES INDEX ; SUPERCEDES 'INDEX'
  522.     Asks for version 7 indexes to be created.  NOTE:  You may wish to use 
  523.     QIDX instead of this to generate indexes.  Either to give more memory 
  524.     for index creation, or to generate the FIDOUSER.LST file.
  525.  
  526.     WARNING: If you select VERSION7, USERLIST, and INDEX then only the 
  527.     version 7 sysop index will be generated.  To generate a FIDOUSER.LST 
  528.     file, you must not specify this command.
  529.  
  530.     ANOTHER WARNING: When generating a VERSION7 data file, you MUST create 
  531.     indexes by one method or another.  You must either specify the USES 
  532.     INDEX, or use QIDX to build the indexes.
  533.  
  534.     *** NODELIST GENERATION MODIFIERS ***
  535. ADD {[nodeid] ...}
  536. DELETE {[nodeid] ...}
  537.     These two functions are used to change the list generated by the quick 
  538.     output list types.  The [nodeid] statements may be any of these style 
  539.     of numbers:
  540.  
  541.        ZONE:         Asks for the entire zone
  542.        ZONE:REGION   Asks for the entire region
  543.        ZONE:NET      Asks for the entire net
  544.        REGION        Asks for a region in your own zone
  545.        NET           Asks for a net in your own zone
  546.        -ZONE:        Asks for admin node for the zone
  547.        ZONE:-REGION  Asks for admin nodes from specified region
  548.  
  549.     These commands are processed in the order they are encountered.  You 
  550.     may have as many add and delete lines as you like, in any order.  In 
  551.     cases of multiple matches, the first applicable match will rule.
  552.  
  553.     If you reference nodes in any zone, then the zone admin nodes will be 
  554.     automatically added into the final output list.
  555.  
  556.     If you ask for the admin nodes for a specific region, then the 
  557.     independant nodes will be referenced as well.
  558.  
  559.     For example, to add only region 17, and all admin nodes for Zone 1, I 
  560.     use (with a second ADD line to add all other nets that I ever do 
  561.     netmail with.)
  562.  
  563.        NOZONES
  564.        ADD -1: -10 -11 -12 -13 -14 -15 -16 17 -18 -19
  565.  
  566. POINTS filename
  567.     This will include the specified file as the point-control file.  This 
  568.     keyword is only active while generating a version 7 nodelist.  See the 
  569.     section on pointnets for an example of this file.
  570.  
  571. INCLUDE filename
  572.     This will include the specified file into the QNODE.CFG parsing pass.  
  573.     I personally use this to include my dial and cost tables, which are 
  574.     used by every nodelist processor.
  575.  
  576. EXPORT nodeid filename
  577.     This will export, a raw portion of the nodelist into a specified file.  
  578.     Normally used to get a list of the nodes in your own net.  See 
  579.     ADD/DELETE for nodeid values.  This works for all nodes, whether they 
  580.     are in your nodelist or not.
  581.     This can also be used to send an abbreviated nodelist to someone else.
  582.  
  583. IMPORT nodeid filename
  584.     This will import a raw style portion of a nodelist into the generated 
  585.     nodelist once the value specified by nodeid has passed.  (Therefore if 
  586.     you import with your own net, you add nodes to the end of your net.)  
  587.     The nodeid values are described in ADD/DELETE.
  588.  
  589.     For example, to add the 'fake-net' 31000 to the end of your zone, you 
  590.     would use the command: "IMPORT 1: POINT.LST".  To add it to the end of 
  591.     your region, you would use the command: "IMPORT 17 POINT.LST".
  592.  
  593.     To add additional nodes to a network, you can use the import command to 
  594.     import after a network, with the import file not having any zone, 
  595.     region, or host commands in it.
  596.  
  597.     NOTE:  Any networks created through import files should be explicitly 
  598.     included in the output file using the 'ADD' keyword.  This is not 
  599.     always necessary, but there are occasions when it is.
  600.  
  601. FORMAT nodeid filename
  602.     This works just like the EXPORT command, except it makes a nice looking 
  603.     print-out, and it will only work with nodes which have been included in 
  604.     the output nodelist.
  605.  
  606.     *** BULK NODE MODIFICATIONS ***
  607.  
  608. SCRIPT minbaud maxbaud cost fromdial todial
  609.     This is one form of the script command, which I invented to handle my 
  610.     2400 baud/MNP 5 modem.  In this case, every node which has a baud rate 
  611.     between (or equal to) the minbaud and the maxbaud, with a cost equal to 
  612.     the cost, will have the listed dial substitution done to it.  (If the 
  613.     start of the phone number doesn't match the fromdial, that node is not 
  614.     changed.)
  615.  
  616.     On my system, when I used VERSION6, I used:
  617.        SCRIPT 300 2400 0 1- "NOMNP1.SCR"   ; Local Calls
  618.        SCRIPT 300 2400 25 1- "NOMNP2.SCR"  ; No Areacode calls
  619.        SCRIPT 300 2400 50 1- "NOMNP3.SCR"  ; Long Distance calls
  620.  
  621.     VERSION7 nodelist users would probably want to use the ModemType 
  622.     settings.  (See MAXBAUD)
  623.  
  624.     *** DIAL/COST TABLES ***
  625.     In the dial table, there are two parameters after the dial keyword. the 
  626.     first is the modifications to local calls (ones within your own country 
  627.     code), and the second is the modifications to the international direct 
  628.     dial phone numbers (ones with any other country code.)  Each of these 
  629.     entries consists of what to put before the phone number, as well as 
  630.     what to put after the phone number.  To seperate the two, use a slash 
  631.     (/).  For no change to the phone number, use a slash by itself. You 
  632.     should use the keyword 'End' to terminate the dial and cost tables.
  633.  
  634.     The dial table will replace every phone number that starts with the 
  635.     first sequence with the second sequence.  This is for local or regional 
  636.     calls where you aren't allowed to dial the entire phone number.
  637.  
  638.     NOTE: Both the dial table and cost table are on a 'first match' system.  
  639.     Therefore, you should put the entries in in the order of longest to 
  640.     shortest.
  641.  
  642.     An example follows:
  643.  
  644.        DIAL    /    011-
  645.        ; Adds 011- to international calls, no change to domestic calls
  646.     
  647.        ; The following set up local calls from Saskatoon, SK
  648.          1-306-242- 242-
  649.          1-306-244- 244-
  650.          1-306-373- 373-
  651.          1-306-374- 374-
  652.          1-306-382- 382-
  653.          1-306-384- 384-
  654.          1-306-652- 652-
  655.          1-306-654- 654-
  656.          1-306-664- 664-
  657.          1-306-665- 665-
  658.          1-306-931- 931-
  659.          1-306-933- 933-
  660.          1-306-934- 934-
  661.          1-306-955- 955-
  662.          1-306-966- 966-
  663.          1-306-978- 978-
  664.          1-306-329- 329-
  665.          1-306- 1-          ;area code strip for Saskatchewan calls
  666.        END
  667.     
  668.     The COST statement at the head of the table can take two arguments, 
  669.     which are the default costs in pennies to apply to domestic and 
  670.     international calls, respectively.
  671.  
  672.     Each entry in the cost table consists of a partial phone number 
  673.     followed by a cost in pennies for sending a message to any node whose 
  674.     phone number begins with that string.  As with the dialing table, the 
  675.     first matching entry is the one that is used.  The cost table is used 
  676.     before the dial table is used, so you should always use the fully 
  677.     expanded phone numbers, instead of the simplified phone numbers which 
  678.     the dial table would generate
  679.  
  680.     You may append an additional entry to the end of each line, being the 
  681.     fee charged to the user for sending messages to nodes within that phone 
  682.     prefix.
  683.  
  684.     An example follows:
  685.  
  686.        COST 50 250
  687.        ; This gives a default cost of 50 cents to domestic calls, and
  688.        ; $2.50 to international calls.
  689.  
  690.        ; The following numbers are free from Saskatoon, SK
  691.          1-306-242- 00
  692.          1-306-244- 00
  693.          1-306-373- 00
  694.          1-306-374- 00
  695.          1-306-382- 00
  696.          1-306-384- 00
  697.          1-306-652- 00
  698.          1-306-654- 00
  699.          1-306-664- 00
  700.          1-306-665- 00
  701.          1-306-931- 00
  702.          1-306-933- 00
  703.          1-306-934- 00
  704.          1-306-955- 00
  705.          1-306-966- 00
  706.          1-306-978- 00
  707.          1-306-329- 00
  708.          1-306-585- 25 22 ; One of Reginas prefixes (short distance)
  709.          1-306- 25 ; short distance calls, cheaper rates
  710.          1-800- 00
  711.          1-900- 50
  712.        END
  713.  
  714.     As a memory saving gesture, The 'DIALCOST' table has also been added.  
  715.     It is a combination of the DIAL and COST tables.  (However you may 
  716.     still use the DIAL and COST tables, and even use them in conjunction 
  717.     with the DIALCOST table.  If you use duplicate tables, then the 
  718.     DIALCOST table will be applied first, then the DIAL or COST table.  The 
  719.     DIAL or COST table will be checked, even if there was a matching entry 
  720.     in the DIALCOST table.
  721.  
  722.     The DIALCOST table has a header with four values, these values being:  
  723.     The default domestic cost for messages, the default international cost 
  724.     for messages, the default domestic dial substitution, and the default 
  725.     international dial substitution.
  726.  
  727.     Every entry in the DIALCOST table has 3 mandatory parameters, plus a 
  728.     fourth optional parameter.  The parameters, in order are: The partial 
  729.     phone number for the dial substitution and cost to take effect on, the 
  730.     replacement dial string to be used, the cost of the message to be sent, 
  731.     and the fourth optional parameter is the fee charged to the user for a 
  732.     message to be sent to that node.
  733.  
  734.     An example follows:
  735.  
  736.        DIALCOST 50 250 / 011-
  737.     
  738.        ; The following set up local calls from Saskatoon, SK
  739.          1-306-242-   242- 00
  740.          1-306-244-   244- 00
  741.          1-306-373-   373- 00
  742.          1-306-374-   374- 00
  743.          1-306-382-   382- 00
  744.          1-306-384-   384- 00
  745.          1-306-652-   652- 00
  746.          1-306-654-   654- 00
  747.          1-306-664-   664- 00
  748.          1-306-665-   665- 00
  749.          1-306-931-   931- 00
  750.          1-306-933-   933- 00
  751.          1-306-934-   934- 00
  752.          1-306-955-   955- 00
  753.          1-306-966-   966- 00
  754.          1-306-978-   978- 00
  755.          1-306-329-   329- 00
  756.          1-306-585- 1-585- 25 22 ; Regina, known cost call.
  757.          1-306-     1-     25
  758.          1-800-     1-800- 00
  759.          1-900-     1-900- 50
  760.        END
  761.  
  762.     *** INDIVIDUAL NODE MODIFICATIONS ***
  763.  
  764. BAUD [zone:][net/]node baudrate[|modemtype]
  765.     Sets the specified nodes baudrate to whatever you specify.  The modem 
  766.     type flag can be set at the same time, by separating it from the 
  767.     baudrate with a pipe symbol.
  768.  
  769.        BAUD 1:140/26 9600
  770.  
  771. FLAGS [zone:][net/]node flaglist
  772.     Adds the specified flags to the node. (Normally 'CM')
  773.  
  774.        FLAGS 140/26 CM
  775.  
  776. PHONE [zone:][net/]node phonenumber
  777.     Sets the specified nodes phone number (Unless the node number is 
  778.     unlisted, you may want to see if you can use the SCRIPT command 
  779.     instead, which doesn't have to be changed if the person ever changes 
  780.     their phone number.)
  781.  
  782.        PHONE 1:140/26 1-306-384-0836
  783.  
  784. CALLCOST [zone:][net/]node cost [fee]
  785.     Sets the charge to the user for a message to be sent to the listed 
  786.     node.  WARNING: Using this on nodes may cause the nodes to be 
  787.     unacceptable in the bulk SCRIPT statements. If the node has more than 
  788.     one node number, then you should probably use a specific COST statement.
  789.  
  790.     The first item 'cost' is used for nodelist processing, the second 
  791.     entry, or 'fee' is charged to the user for a message to be sent to that 
  792.     node.  If you do not list the fee, then it will default to the same 
  793.     value as the cost.
  794.  
  795.        CALLCOST 26 1
  796.  
  797. PASSWORD [zone:][net/]node password
  798.     Sets the specified nodes password.  No embedded blanks are allowed in 
  799.     these passwords.
  800.  
  801.        PASSWORD 1:140/26 PASSWORD
  802.  
  803. SCRIPT [zone:]net/node fromdial todial
  804.     This is the second form of the script command.  Please note that the 
  805.     net number IS required, even if it's your own net. (I use the '/' to 
  806.     determine the difference between the two script lines.)
  807.  
  808.        SCRIPT 140/88 1- "VORTEX.SCR"  ; Needs a special script.
  809.  
  810.                            Part 5 - Common Questions
  811.  
  812.     Well okay, I made some of 'em up, but you get the idea.
  813.  
  814. Q:  I have to type an awful lot of the same zone number in a multiple 
  815.     nodelist situation.  How can I reduce all these zone numbers?
  816. A:  Easy.  Just put a bunch of ADDR lines all through the configuration 
  817.     file.  The first number specified on an ADDR line will set the default 
  818.     zone and net for you.  When doing this however, it is important to make 
  819.     sure that you set the ADDR line correctly at the end of the file.
  820.  
  821. Q:  In V7 mode, can I still generate the FIDOUSER.LST file?
  822. A:  You bet.  You must specify the VERSION7 and USERLIST keywords in
  823.     your config file, but you can't specify the INDEX keyword.  You must
  824.     use QIDX to build the indexes.
  825.  
  826. Q:  In V7 mode, how can I configure my 2400 baud MNP modem to work with the
  827.     modem type byte?
  828. A:  A good MAXBAUD line that you could use would be:
  829.     MAXBAUD 2400 MNP 9600|1 HST 9600|1 V32 9600|1 V32B 9600|1
  830.     Where modem type 0 is a standard non-MNP dial command, and modem type
  831.     1 is an MNP dial command.  (Note that the baud rate is locked at 9600
  832.     for MNP connects.)
  833.  
  834. Q:  In V7 mode, how can I configure my HST-DS to work with older HST's?
  835. A:  A good MAXBAUD line that you could use would be:
  836.     MAXBAUD 9600 MNP 9600|1 HST 9600|1 V32 9600|1 V32B 9600|2
  837.     Where modem type 0 is a no-correction dial command, modem type 1 is
  838.     a simple MNP or older HST type dial command (you may wish to split those
  839.     two into separate dial strings as well.), and modem type 2 is the
  840.     super-enhanced dial command for other V32bis modems.
  841.  
  842. Q:  When generating a FIDOUSER.LST file, it runs out of memory, and says
  843.     extending on disk.  It then takes a lot longer to compile.  Is there
  844.     any way to speed it up?
  845. A:  Sorta.  You can either reduce the memory overhead of the nodelist buffers
  846.     (using the BUFFERS keyword.), or you can use a smaller section of the
  847.     nodelist, or both.
  848.  
  849. Q:  In V7 mode, when generating the indexes, after a certain point, the drive
  850.     light starts to flash a lot more rapidly than previously, what's going on
  851.     and can I speed it up?
  852. A:  The V7 index files have just hit the memory limit, and they have to be
  853.     swapped to disk now.  You can reduce the memory overhead of the nodelist
  854.     buffers (using the BUFFERS keyword.), you can use a smaller section of the
  855.     nodelist, or you can use the QIDX program to build the indexes instead.
  856.     (QIDX can still swap to disk, but it will have more memory than QNODE.)
  857.  
  858. Q:  How can I send somebody part of the nodelist, instead of the whole thing?
  859. A:  You can use some constructive QNode and batch file techniques to export
  860.     the proper things.  I'd suggest making a sub-directory to contain the
  861.     temporary files, deleting all files in the sub-directory before compiling
  862.     the nodelist with QNode (use the batch command
  863.     "FOR %F IN (DIR\*.*) DO DEL %F", which doesn't ask for Y/N)
  864.     And then run QNode with the following type of export directives:
  865.        EXPORT -1: ADMIN.1
  866.        EXPORT 1:-17 ADMIN.17
  867.        EXPORT 1:140 NET.140
  868.     NOTE: You may wish to export the entire region, or even the entire zone
  869.     instead.  Just remember that you REQUIRE zone and region administration
  870.     nodes in any abbreviated nodelist.
  871.     And then execute this command after QNode: "COPY/A DIR\*.* SMALLNDE.001"
  872.     Your batch file would look like this then:
  873.        ---cut here---
  874.        FOR %%F IN (TEMP\*.*) DO DEL %%F
  875.        QNODE
  876.        COPY/A TEMP\*.* SMALLNDE.001
  877.        ---cut here---
  878.