• Amiga TIC Processor

    From Spitfire@64:500/0 to All on Thu Jun 25 05:32:50 2026
    ========================= ==
    FILE AREA MAPPING ============================================================================= ==

    Each normal TIC AREA must be mapped to the proper C-Net/5 file area directory.

    C-Net/5 file areas normally use UDBase0: paths. Edit roftic-example.cfg and rename it to roftic.cfg so roftic.rexx knows where normal file echo files should
    be placed.

    Example mappings:

    FTN_FILES UDBase0:FTN_FILES/
    CNET_MODS UDBase0:CNET_MODS/
    AMIGA_UTILS UDBase0:AMIGA_UTILS/
    COMMODORE UDBase0:COMMODORE/
    BBS_ADS UDBase0:BBS_ADS/

    The AREA name must match the AREA line inside the incoming TIC file.

    Example TIC:

    Area CNET_MODS
    File coolmod.lha

    Example destination:

    UDBase0:CNET_MODS/coolmod.lha

    If the TIC AREA is not configured and the TIC is not detected as a nodelist, roftic.rexx logs the unknown area and leaves the file inbound. This allows the SysOp to add the area to roftic.cfg and rerun the processor.

    ============================================================================= ==
    NODELIST DETECTION ============================================================================= ==

    Nodelist TICs are treated differently from normal file echo TICs.

    Normal file echo files go into configured UDBase0: directories.

    Nodelists go into:

    CNet:Nodelist/

    or:

    Nodelist:

    roftic.rexx can detect nodelists by:

    * Numeric file extension, such as ARAKNET.170
    * FTN archive extension, such as NODELIST.Z70 or AMYLIST.L70
    * Standard archive extension, such as .ZIP, .LHA, .LZH, .ARC, .ARJ, .RAR
    * Historical FTN extensions, such as .NNA, .AXA, .NNJ, or .NNR
    * Modern compressed formats, such as .GZ, .XZ, or .ZST
    * Known nodelist area names
    * TIC AREADESC, DESC, or LDESC fields containing nodelist wording

    Example TIC:

    Area AMYLIST
    File AmyList.l70
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026

    The above should be handled as a nodelist archive and extracted with LHA.

    After the nodelist is moved successfully, roftic.rexx runs:

    Mail:bin/TrapList

    TrapList is not run for normal file echo traffic.

    ============================================================================= ==
    NODELIST EXTRACTION AND FALLBACK SEARCH ============================================================================= ==

    When a nodelist archive is received, roftic.rexx stages the archive in the temp work directory and attempts to extract it using the proper archiver.

    After extraction, the script searches for the new nodelist in this order:

    1. Expected network name

    Example:

    AMYLIST.170
    ARAKNET.170
    NODELIST.170

    2. Generic NODELIST.#? fallback

    Example:

    NODELIST.170

    3. Any file in the temp directory with a numeric extension

    Example:

    NETWORK.170
    REGION.170

    4. Conservative nodelist-style filename fallback

    Example:

    NODELIST
    AMYLIST

    This makes roftic.rexx more forgiving when an archive name does not exactly match the nodelist filename inside the archive.

    If no usable nodelist is found, roftic.rexx logs the problem, keeps the old nodelist, leaves the inbound archive and TIC in place, and does not run
    TrapList.

    ============================================================================= ==
    SAMPLE TIC FILES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    NORMAL FILE ECHO TIC ----------------------------------------------------------------------------- --

    Example:

    Area CNET_MODS
    Origin 10:100/1
    From 10:100/0
    File cnettool.lha
    Desc Example C-Net/5 utility
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA CNET_MODS
    FILE cnettool.lha

    Then places the file into the configured directory set in roftic.cfg:

    UDBase0:CNET_MODS/cnettool.lha

    ----------------------------------------------------------------------------- --
    PLAIN NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Area ARAK_NODELIST
    Origin 10:100/0
    From 10:100/0
    File ARAKNET.170
    Desc ArakNet weekly nodelist
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA ARAK_NODELIST
    FILE ARAKNET.170

    Then places the nodelist into:

    CNet:Nodelist/ARAKNET.170

    After that, it runs:

    Mail:bin/TrapList

    ----------------------------------------------------------------------------- --
    ARCHIVED NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Created by HTick
    File AmyList.l70
    Area AMYLIST
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026
    Replaces AmyList.l70
    From 39:902/0
    To 39:902/518
    Size 3553
    Crc 21A661D7

    roftic.rexx reads:

    AREA AMYLIST
    FILE AmyList.l70

    The script recognizes the file as a nodelist archive, checks for LHA, extracts it into the temp directory, searches for the extracted nodelist, installs it into Nodelist:, and then runs TrapList if the update was successful.

    ============================================================================= ==
    HOW NODELIST AND TRAPLIST PROCESSING WORKS ============================================================================= ==

    The nodelist processing flow is:

    1. Your FTN system receives a nodelist and matching TIC file.

    2. roftic.rexx reads the TIC.

    3. The script finds the FILE line.

    Example:

    FILE ARAKNET.170

    4. The script finds the AREA line.

    Example:

    AREA ARAK_NODELIST

    5. The script determines whether the TIC represents a nodelist.

    6. If the file is archived, the script checks whether the required archiver is
    available.

    7. If the archiver is missing, the script logs the missing tool and leaves the
    inbound file and TIC untouched.

    8. If the archiver is available, the script extracts the archive into the temp
    work directory.

    9. If the file is a plain nodelist, the script copies it into the temp work
    directory.

    10. The script searches the temp work directory for the actual nodelist file.

    11. The script copies the new nodelist into Nodelist: and verifies it.

    12. After verification, the script removes older matching nodelists for that
    network and writes the final copy.

    13. The inbound nodelist archive/plain file is deleted only after successful
    verification.

    14. The TIC is moved to the processed directory or deleted, depending on
    MOVETIC.

    15. TrapList runs only if at least one nodelist was successfully updated.

    16. The script logs the results.

    TrapList should only be run after a valid nodelist file has been received and successfully installed into the nodelist directory.

    roftic.rexx should not run TrapList for normal file echo traffic.

    ============================================================================= ==
    RUNNING THE PROGRAM ============================================================================= ==

    First copy the ROF_TIC folder to Mail:.

    roftic.rexx may be run manually, from C-Net/5, or from a maintenance script.

    ----------------------------------------------------------------------------- --
    MANUAL SHELL EXAMPLE ----------------------------------------------------------------------------- --

    From AmigaDOS Shell:

    RX Mail:ROF_TIC/roftic.rexx

    ----------------------------------------------------------------------------- --
    C-NET/5 EXAMPLE ----------------------------------------------------------------------------- --

    From a C-Net/5 event, or from a bbsmenu command:

    TIC |{#4 Execute MAIL:ROF_TIC/roftic.rexx}

    ----------------------------------------------------------------------------- --
    SUGGESTED MAIL PROCESSING FLOW ----------------------------------------------------------------------------- --

    A suggested maintenance flow is:

    1. Mailer receives packets, TIC files, and files.

    2. C-Net/5 Toss is run:

    Mail:bin/Toss

    3. roftic.rexx is run:

    RX MAIL:ROF_TIC/roftic.rexx

    4. roftic.rexx processes normal TIC files into UDBase0: file areas.

    5. If a nodelist was received, roftic.rexx stages, extracts, finds, and
    installs
    it into:

    CNet:Nodelist/

    6. roftic.rexx runs:

    Mail:bin/TrapList

    only if a nodelist was successfully updated.

    7. C-Net/5 has updated file areas and an updated TrapList.

    8. A log is created only when one or more TIC files are found.

    ============================================================================= ==
    LOGGING
    =======

    roftic.rexx writes detailed information to the configured log file.

    The log may show information such as:

    * Program startup
    * Inbound TIC directory
    * Processed TIC directory
    * Temp directory
    * CNet:Nodelist/ or Nodelist: path
    * TIC list path
    * Each TIC file found
    * FILE line found
    * AREA line found
    * Whether the TIC is a normal file echo
    * Whether the TIC is a nodelist
    * Required archiver selected
    * Missing archiver warnings
    * Extract commands and return codes
    * Temp nodelist search results
    * Destination selected
    * Copy or move results
    * Verification results
    * TrapList execution
    * Errors or missing files
    * Cleanup status

    When setting up the program for the first time, review the log after every test.
    The script only creates a log entry when a TIC file exists to process.

    ============================================================================= ==
    SAMPLE STARTUP LOG ============================================================================= ==

    A normal startup log may look similar to this:

    18 Jun 2026 8:30PM --==============================================--
    18 Jun 2026 8:30PM ROF's CNet/5 TIC Processor v2.8 - www.rofbbs.com
    18 Jun 2026 8:30PM Reign of Fire BBS Group - 1991-93 2010-Present
    18 Jun 2026 8:30PM Telnet: call.rofbbs.com Ports: 6800, 8502, & 6400
    18 Jun 2026 8:30PM --------------------------------------------------
    18 Jun 2026 8:30PM .Inbound: Inbound:
    18 Jun 2026 8:30PM Nodelist: Nodelist:
    18 Jun 2026 8:30PM ....Temp: Echomail:Inbound_Temp/RoFTIC
    18 Jun 2026 8:30PM ...Trash: Echomail:Processed
    18 Jun 2026 8:30PM Listfile: RAM:rofticlist
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Found TIC: AmyList.tic
    18 Jun 2026 8:30PM TIC Parsed
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM Nodelist Route
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM Extract Tool
    18 Jun 2026 8:30PM ......Tool: LHA
    18 Jun 2026 8:30PM Extracted to temp
    18 Jun 2026 8:30PM New nodelist selected
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Nodelist updated
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Running TrapList
    18 Jun 2026 8:30PM TrapList completed
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Processing Summary
    18 Jun 2026 8:30PM ....TICs Processed: 1
    18 Jun 2026 8:30PM .Nodelists Updated: 1
    18 Jun 2026 8:30PM ...........Ignored: 0
    18 Jun 2026 8:30PM ...........Skipped: 0
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM ----== ROF's CNet/5 TIC Processor Finished! ==----
    18 Jun 2026 8:30PM Cleanup
    18 Jun 2026 8:30PM Temporary files removed

    ============================================================================= ==
    COMMON LOG MESSAGES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    No TIC files found ----------------------------------------------------------------------------- --

    No .TIC files were found in the configured inbound directory.

    This may not be an error. It may simply mean there is nothing to process.

    ----------------------------------------------------------------------------- --
    FILE missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid FILE line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    AREA missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid AREA line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    No config for area ----------------------------------------------------------------------------- --

    The TIC file contains an AREA that is not configured in roftic.cfg, and the TIC was not detected as a nodelist.

    Add the AREA to roftic.cfg or review whether the TIC should have been detected as a nodelist.

    ----------------------------------------------------------------------------- --
    Required archiver missing ----------------------------------------------------------------------------- --

    The TIC was detected as a nodelist archive, but the required archiver was not found on the system.

    Example:

    ERROR: Required archiver missing
    ......Tool: LHA
    ......File: AmyList.l70
    Inbound file kept
    TIC left inbound

    Install the required archiver or adjust the archiver command name/path in the script.

    ----------------------------------------------------------------------------- --
    Archive extract failed ----------------------------------------------------------------------------- --

    The required archiver was found, but extraction failed.

    Check:

    * Whether the archive is damaged
    * Whether the archiver command syntax is correct for your Amiga port
    * Whether there is enough disk space
    * Whether the temp directory exists
    * Whether file permissions are correct

    The inbound file and TIC are left in place.

    ----------------------------------------------------------------------------- --
    No new nodelist found ----------------------------------------------------------------------------- --

    The archive was extracted or the plain file was staged, but the script could not
    find a usable nodelist in the temp directory.

    Check:

    * The file contained inside the archive
    * Whether the inner nodelist has a numeric extension
    * Whether the archive extracted into a subdirectory
    * Whether the nodelist name differs from the archive name

    The old nodelist is kept, the inbound file is kept, the TIC is kept, and TrapList is not run.

    ----------------------------------------------------------------------------- --
    Nodelist updated ----------------------------------------------------------------------------- --

    A new nodelist was successfully installed into the nodelist directory.

    TrapList should run after this message.

    ----------------------------------------------------------------------------- --
    Running TrapList ----------------------------------------------------------------------------- --

    roftic.rexx is calling:
    MODS/
    AMIGA_UTILS UDBase0:AMIGA_UTILS/
    COMMODORE UDBase0:COMMODORE/
    BBS_ADS UDBase0:BBS_ADS/

    The AREA name must match the AREA line inside the incoming TIC file.

    Example TIC:

    Area CNET_MODS
    File coolmod.lha

    Example destination:

    UDBase0:CNET_MODS/coolmod.lha

    If the TIC AREA is not configured and the TIC is not detected as a nodelist, roftic.rexx logs the unknown area and leaves the file inbound. This allows the SysOp to add the area to roftic.cfg and rerun the processor.

    ============================================================================= ==
    NODELIST DETECTION ============================================================================= ==

    Nodelist TICs are treated differently from normal file echo TICs.

    Normal file echo files go into configured UDBase0: directories.

    Nodelists go into:

    CNet:Nodelist/

    or:

    Nodelist:

    roftic.rexx can detect nodelists by:

    * Numeric file extension, such as ARAKNET.170
    * FTN archive extension, such as NODELIST.Z70 or AMYLIST.L70
    * Standard archive extension, such as .ZIP, .LHA, .LZH, .ARC, .ARJ, .RAR
    * Historical FTN extensions, such as .NNA, .AXA, .NNJ, or .NNR
    * Modern compressed formats, such as .GZ, .XZ, or .ZST
    * Known nodelist area names
    * TIC AREADESC, DESC, or LDESC fields containing nodelist wording

    Example TIC:

    Area AMYLIST
    File AmyList.l70
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026

    The above should be handled as a nodelist archive and extracted with LHA.

    After the nodelist is moved successfully, roftic.rexx runs:

    Mail:bin/TrapList

    TrapList is not run for normal file echo traffic.

    ============================================================================= ==
    NODELIST EXTRACTION AND FALLBACK SEARCH ============================================================================= ==

    When a nodelist archive is received, roftic.rexx stages the archive in the temp work directory and attempts to extract it using the proper archiver.

    After extraction, the script searches for the new nodelist in this order:

    1. Expected network name

    Example:

    AMYLIST.170
    ARAKNET.170
    NODELIST.170

    2. Generic NODELIST.#? fallback

    Example:

    NODELIST.170

    3. Any file in the temp directory with a numeric extension

    Example:

    NETWORK.170
    REGION.170

    4. Conservative nodelist-style filename fallback

    Example:

    NODELIST
    AMYLIST

    This makes roftic.rexx more forgiving when an archive name does not exactly match the nodelist filename inside the archive.

    If no usable nodelist is found, roftic.rexx logs the problem, keeps the old nodelist, leaves the inbound archive and TIC in place, and does not run
    TrapList.

    ============================================================================= ==
    SAMPLE TIC FILES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    NORMAL FILE ECHO TIC ----------------------------------------------------------------------------- --

    Example:

    Area CNET_MODS
    Origin 10:100/1
    From 10:100/0
    File cnettool.lha
    Desc Example C-Net/5 utility
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA CNET_MODS
    FILE cnettool.lha

    Then places the file into the configured directory set in roftic.cfg:

    UDBase0:CNET_MODS/cnettool.lha

    ----------------------------------------------------------------------------- --
    PLAIN NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Area ARAK_NODELIST
    Origin 10:100/0
    From 10:100/0
    File ARAKNET.170
    Desc ArakNet weekly nodelist
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA ARAK_NODELIST
    FILE ARAKNET.170

    Then places the nodelist into:

    CNet:Nodelist/ARAKNET.170

    After that, it runs:

    Mail:bin/TrapList

    ----------------------------------------------------------------------------- --
    ARCHIVED NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Created by HTick
    File AmyList.l70
    Area AMYLIST
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026
    Replaces AmyList.l70
    From 39:902/0
    To 39:902/518
    Size 3553
    Crc 21A661D7

    roftic.rexx reads:

    AREA AMYLIST
    FILE AmyList.l70

    The script recognizes the file as a nodelist archive, checks for LHA, extracts it into the temp directory, searches for the extracted nodelist, installs it into Nodelist:, and then runs TrapList if the update was successful.

    ============================================================================= ==
    HOW NODELIST AND TRAPLIST PROCESSING WORKS ============================================================================= ==

    The nodelist processing flow is:

    1. Your FTN system receives a nodelist and matching TIC file.

    2. roftic.rexx reads the TIC.

    3. The script finds the FILE line.

    Example:

    FILE ARAKNET.170

    4. The script finds the AREA line.

    Example:

    AREA ARAK_NODELIST

    5. The script determines whether the TIC represents a nodelist.

    6. If the file is archived, the script checks whether the required archiver is
    available.

    7. If the archiver is missing, the script logs the missing tool and leaves the
    inbound file and TIC untouched.

    8. If the archiver is available, the script extracts the archive into the temp
    work directory.

    9. If the file is a plain nodelist, the script copies it into the temp work
    directory.

    10. The script searches the temp work directory for the actual nodelist file.

    11. The script copies the new nodelist into Nodelist: and verifies it.

    12. After verification, the script removes older matching nodelists for that
    network and writes the final copy.

    13. The inbound nodelist archive/plain file is deleted only after successful
    verification.

    14. The TIC is moved to the processed directory or deleted, depending on
    MOVETIC.

    15. TrapList runs only if at least one nodelist was successfully updated.

    16. The script logs the results.

    TrapList should only be run after a valid nodelist file has been received and successfully installed into the nodelist directory.

    roftic.rexx should not run TrapList for normal file echo traffic.

    ============================================================================= ==
    RUNNING THE PROGRAM ============================================================================= ==

    First copy the ROF_TIC folder to Mail:.

    roftic.rexx may be run manually, from C-Net/5, or from a maintenance script.

    ----------------------------------------------------------------------------- --
    MANUAL SHELL EXAMPLE ----------------------------------------------------------------------------- --

    From AmigaDOS Shell:

    RX Mail:ROF_TIC/roftic.rexx

    ----------------------------------------------------------------------------- --
    C-NET/5 EXAMPLE ----------------------------------------------------------------------------- --

    From a C-Net/5 event, or from a bbsmenu command:

    TIC |{#4 Execute MAIL:ROF_TIC/roftic.rexx}

    ----------------------------------------------------------------------------- --
    SUGGESTED MAIL PROCESSING FLOW ----------------------------------------------------------------------------- --

    A suggested maintenance flow is:

    1. Mailer receives packets, TIC files, and files.

    2. C-Net/5 Toss is run:

    Mail:bin/Toss

    3. roftic.rexx is run:

    RX MAIL:ROF_TIC/roftic.rexx

    4. roftic.rexx processes normal TIC files into UDBase0: file areas.

    5. If a nodelist was received, roftic.rexx stages, extracts, finds, and
    installs
    it into:

    CNet:Nodelist/

    6. roftic.rexx runs:

    Mail:bin/TrapList

    only if a nodelist was successfully updated.

    7. C-Net/5 has updated file areas and an updated TrapList.

    8. A log is created only when one or more TIC files are found.

    ============================================================================= ==
    LOGGING
    =======

    roftic.rexx writes detailed information to the configured log file.

    The log may show information such as:

    * Program startup
    * Inbound TIC directory
    * Processed TIC directory
    * Temp directory
    * CNet:Nodelist/ or Nodelist: path
    * TIC list path
    * Each TIC file found
    * FILE line found
    * AREA line found
    * Whether the TIC is a normal file echo
    * Whether the TIC is a nodelist
    * Required archiver selected
    * Missing archiver warnings
    * Extract commands and return codes
    * Temp nodelist search results
    * Destination selected
    * Copy or move results
    * Verification results
    * TrapList execution
    * Errors or missing files
    * Cleanup status

    When setting up the program for the first time, review the log after every test.
    The script only creates a log entry when a TIC file exists to process.

    ============================================================================= ==
    SAMPLE STARTUP LOG ============================================================================= ==

    A normal startup log may look similar to this:

    18 Jun 2026 8:30PM --==============================================--
    18 Jun 2026 8:30PM ROF's CNet/5 TIC Processor v2.8 - www.rofbbs.com
    18 Jun 2026 8:30PM Reign of Fire BBS Group - 1991-93 2010-Present
    18 Jun 2026 8:30PM Telnet: call.rofbbs.com Ports: 6800, 8502, & 6400
    18 Jun 2026 8:30PM --------------------------------------------------
    18 Jun 2026 8:30PM .Inbound: Inbound:
    18 Jun 2026 8:30PM Nodelist: Nodelist:
    18 Jun 2026 8:30PM ....Temp: Echomail:Inbound_Temp/RoFTIC
    18 Jun 2026 8:30PM ...Trash: Echomail:Processed
    18 Jun 2026 8:30PM Listfile: RAM:rofticlist
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Found TIC: AmyList.tic
    18 Jun 2026 8:30PM TIC Parsed
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM Nodelist Route
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM Extract Tool
    18 Jun 2026 8:30PM ......Tool: LHA
    18 Jun 2026 8:30PM Extracted to temp
    18 Jun 2026 8:30PM New nodelist selected
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Nodelist updated
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Running TrapList
    18 Jun 2026 8:30PM TrapList completed
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Processing Summary
    18 Jun 2026 8:30PM ....TICs Processed: 1
    18 Jun 2026 8:30PM .Nodelists Updated: 1
    18 Jun 2026 8:30PM ...........Ignored: 0
    18 Jun 2026 8:30PM ...........Skipped: 0
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM ----== ROF's CNet/5 TIC Processor Finished! ==----
    18 Jun 2026 8:30PM Cleanup
    18 Jun 2026 8:30PM Temporary files removed

    ============================================================================= ==
    COMMON LOG MESSAGES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    No TIC files found ----------------------------------------------------------------------------- --

    No .TIC files were found in the configured inbound directory.

    This may not be an error. It may simply mean there is nothing to process.

    ----------------------------------------------------------------------------- --
    FILE missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid FILE line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    AREA missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid AREA line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    No config for area ----------------------------------------------------------------------------- --

    The TIC file contains an AREA that is not configured in roftic.cfg, and the TIC was not detected as a nodelist.

    Add the AREA to roftic.cfg or review whether the TIC should have been detected as a nodelist.

    ----------------------------------------------------------------------------- --
    Required archiver missing ----------------------------------------------------------------------------- --

    The TIC was detected as a nodelist archive, but the required archiver was not found on the system.

    Example:

    ERROR: Required archiver missing
    ......Tool: LHA
    ......File: AmyList.l70
    Inbound file kept
    TIC left inbound

    Install the required archiver or adjust the archiver command name/path in the script.

    ----------------------------------------------------------------------------- --
    Archive extract failed ----------------------------------------------------------------------------- --

    The required archiver was found, but extraction failed.

    Check:

    * Whether the archive is damaged
    * Whether the archiver command syntax is correct for your Amiga port
    * Whether there is enough disk space
    * Whether the temp directory exists
    * Whether file permissions are correct

    The inbound file and TIC are left in place.

    ----------------------------------------------------------------------------- --
    No new nodelist found ----------------------------------------------------------------------------- --

    The archive was extracted or the plain file was staged, but the script could not
    find a usable nodelist in the temp directory.

    Check:

    * The file contained inside the archive
    * Whether the inner nodelist has a numeric extension
    * Whether the archive extracted into a subdirectory
    * Whether the nodelist name differs from the archive name

    The old nodelist is kept, the inbound file is kept, the TIC is kept, and TrapList is not run.

    ----------------------------------------------------------------------------- --
    Nodelist updated ----------------------------------------------------------------------------- --

    A new nodelist was successfully installed into the nodelist directory.

    TrapList should run after this message.

    ----------------------------------------------------------------------------- --
    Running TrapList ----------------------------------------------------------------------------- --

    roftic.rexx is calling:
    SEEN-BY: 500/0 1 10 18 21 34 36 40 44 46 48 49 5 50 52 56 59 60 66 67 7 71 9
  • From Rug Rat@64:500/40 to Spitfire on Thu Jun 25 06:13:56 2026
    Where is the Amiga TIC processor software available to download?

    Something I will need to do and get setup next week (This weekend is ARRL Field DAY).

    Rug Rat (Brent Hendricks)
    Blog and Forums - www.catracing.org
    IMAGE BBS! 3.0 - bbs.catracing.org 6400
    C-Net Amiga BBS - bbs.catracing.org 6840
    Ham's Over IP - 104196
    --- CNet/5
    * Origin: The Rat's Den BBS (64:500/40)
  • From Spitfire@64:500/1 to Rug Rat on Thu Jun 25 19:37:01 2026
    On Thu 25-Jun-2026 6:13a, Rug Rat@64:500/40.0 said to Spitfire:
    Where is the Amiga TIC processor software available to download?

    Something I will need to do and get setup next week (This weekend is ARRL Field DAY).

    Rug Rat (Brent Hendricks)
    Blog and Forums - www.catracing.org
    IMAGE BBS! 3.0 - bbs.catracing.org 6400
    C-Net Amiga BBS - bbs.catracing.org 6840
    Ham's Over IP - 104196
    --- CNet/5
    * Origin: The Rat's Den BBS (64:500/40)

    If I have no errors tomorrow, I zip it up and make it available. Of course it will be on My Amiga BBS. I will also place it in the files are on www.rofbbs.com

    * ACIS Member. AmigaNet ArakNet C=Net DescipleNet FidoNet PiNet RetroNet
    * C-Net/5
    * Origin: call.rofbbs.com ports 6800 6400 8502 423-541-8271 rofbbs.com (64:500/1)
  • From Tanausu M.@64:500/60.2 to Spitfire on Sun Jun 28 23:39:42 2026
    Hello Spitfire!

    29 Jun 26 01:37, Tanausu wrote to Spitfire:

    ========================= ==
    FILE AREA MAPPING ============================================================================= ==

    Each normal TIC AREA must be mapped to the proper C-Net/5 file area directory.

    C-Net/5 file areas normally use UDBase0: paths. Edit roftic-example.cfg and
    rename it to roftic.cfg so roftic.rexx knows where normal file echo files should
    be placed.

    Example mappings:

    FTN_FILES UDBase0:FTN_FILES/
    CNET_MODS UDBase0:CNET_MODS/
    AMIGA_UTILS UDBase0:AMIGA_UTILS/
    COMMODORE UDBase0:COMMODORE/
    BBS_ADS UDBase0:BBS_ADS/

    The AREA name must match the AREA line inside the incoming TIC file.

    Example TIC:

    Area CNET_MODS
    File coolmod.lha

    Example destination:

    UDBase0:CNET_MODS/coolmod.lha

    If the TIC AREA is not configured and the TIC is not detected as a nodelist,
    roftic.rexx logs the unknown area and leaves the file inbound. This allows the
    SysOp to add the area to roftic.cfg and rerun the processor.

    ============================================================================= ==
    NODELIST DETECTION ============================================================================= ==

    Nodelist TICs are treated differently from normal file echo TICs.

    Normal file echo files go into configured UDBase0: directories.

    Nodelists go into:

    CNet:Nodelist/

    or:

    Nodelist:

    roftic.rexx can detect nodelists by:

    * Numeric file extension, such as ARAKNET.170
    * FTN archive extension, such as NODELIST.Z70 or AMYLIST.L70
    * Standard archive extension, such as .ZIP, .LHA, .LZH, .ARC, .ARJ, .RAR
    * Historical FTN extensions, such as .NNA, .AXA, .NNJ, or .NNR
    * Modern compressed formats, such as .GZ, .XZ, or .ZST
    * Known nodelist area names
    * TIC AREADESC, DESC, or LDESC fields containing nodelist wording

    Example TIC:

    Area AMYLIST
    File AmyList.l70
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026

    The above should be handled as a nodelist archive and extracted with LHA.

    After the nodelist is moved successfully, roftic.rexx runs:

    Mail:bin/TrapList

    TrapList is not run for normal file echo traffic.

    ============================================================================= ==
    NODELIST EXTRACTION AND FALLBACK SEARCH ============================================================================= ==

    When a nodelist archive is received, roftic.rexx stages the archive in the temp
    work directory and attempts to extract it using the proper archiver.

    After extraction, the script searches for the new nodelist in this order:

    1. Expected network name

    Example:

    AMYLIST.170
    ARAKNET.170
    NODELIST.170

    2. Generic NODELIST.#? fallback

    Example:

    NODELIST.170

    3. Any file in the temp directory with a numeric extension

    Example:

    NETWORK.170
    REGION.170

    4. Conservative nodelist-style filename fallback

    Example:

    NODELIST
    AMYLIST

    This makes roftic.rexx more forgiving when an archive name does not exactly
    match the nodelist filename inside the archive.

    If no usable nodelist is found, roftic.rexx logs the problem, keeps the old
    nodelist, leaves the inbound archive and TIC in place, and does not run
    TrapList.

    ============================================================================= ==
    SAMPLE TIC FILES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    NORMAL FILE ECHO TIC ----------------------------------------------------------------------------- --

    Example:

    Area CNET_MODS
    Origin 10:100/1
    From 10:100/0
    File cnettool.lha
    Desc Example C-Net/5 utility
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA CNET_MODS
    FILE cnettool.lha

    Then places the file into the configured directory set in roftic.cfg:

    UDBase0:CNET_MODS/cnettool.lha

    ----------------------------------------------------------------------------- --
    PLAIN NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Area ARAK_NODELIST
    Origin 10:100/0
    From 10:100/0
    File ARAKNET.170
    Desc ArakNet weekly nodelist
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA ARAK_NODELIST
    FILE ARAKNET.170

    Then places the nodelist into:

    CNet:Nodelist/ARAKNET.170

    After that, it runs:

    Mail:bin/TrapList

    ----------------------------------------------------------------------------- --
    ARCHIVED NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Created by HTick
    File AmyList.l70
    Area AMYLIST
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026
    Replaces AmyList.l70
    From 39:902/0
    To 39:902/518
    Size 3553
    Crc 21A661D7

    roftic.rexx reads:

    AREA AMYLIST
    FILE AmyList.l70

    The script recognizes the file as a nodelist archive, checks for LHA, extracts
    it into the temp directory, searches for the extracted nodelist, installs it
    into Nodelist:, and then runs TrapList if the update was successful.

    ============================================================================= ==
    HOW NODELIST AND TRAPLIST PROCESSING WORKS ============================================================================= ==

    The nodelist processing flow is:

    1. Your FTN system receives a nodelist and matching TIC file.

    2. roftic.rexx reads the TIC.

    3. The script finds the FILE line.

    Example:

    FILE ARAKNET.170

    4. The script finds the AREA line.

    Example:

    AREA ARAK_NODELIST

    5. The script determines whether the TIC represents a nodelist.

    6. If the file is archived, the script checks whether the required archiver is
    available.

    7. If the archiver is missing, the script logs the missing tool and leaves the
    inbound file and TIC untouched.

    8. If the archiver is available, the script extracts the archive into the temp
    work directory.

    9. If the file is a plain nodelist, the script copies it into the temp work
    directory.

    10. The script searches the temp work directory for the actual nodelist file.

    11. The script copies the new nodelist into Nodelist: and verifies it.

    12. After verification, the script removes older matching nodelists for that
    network and writes the final copy.

    13. The inbound nodelist archive/plain file is deleted only after successful
    verification.

    14. The TIC is moved to the processed directory or deleted, depending on
    MOVETIC.

    15. TrapList runs only if at least one nodelist was successfully updated.

    16. The script logs the results.

    TrapList should only be run after a valid nodelist file has been received and
    successfully installed into the nodelist directory.

    roftic.rexx should not run TrapList for normal file echo traffic.

    ============================================================================= ==
    RUNNING THE PROGRAM ============================================================================= ==

    First copy the ROF_TIC folder to Mail:.

    roftic.rexx may be run manually, from C-Net/5, or from a maintenance script.

    ----------------------------------------------------------------------------- --
    MANUAL SHELL EXAMPLE ----------------------------------------------------------------------------- --

    From AmigaDOS Shell:

    RX Mail:ROF_TIC/roftic.rexx

    ----------------------------------------------------------------------------- --
    C-NET/5 EXAMPLE ----------------------------------------------------------------------------- --

    From a C-Net/5 event, or from a bbsmenu command:

    TIC |{#4 Execute MAIL:ROF_TIC/roftic.rexx}

    ----------------------------------------------------------------------------- --
    SUGGESTED MAIL PROCESSING FLOW ----------------------------------------------------------------------------- --

    A suggested maintenance flow is:

    1. Mailer receives packets, TIC files, and files.

    2. C-Net/5 Toss is run:

    Mail:bin/Toss

    3. roftic.rexx is run:

    RX MAIL:ROF_TIC/roftic.rexx

    4. roftic.rexx processes normal TIC files into UDBase0: file areas.

    5. If a nodelist was received, roftic.rexx stages, extracts, finds, and
    installs
    it into:

    CNet:Nodelist/

    6. roftic.rexx runs:

    Mail:bin/TrapList

    only if a nodelist was successfully updated.

    7. C-Net/5 has updated file areas and an updated TrapList.

    8. A log is created only when one or more TIC files are found.

    ============================================================================= ==
    LOGGING
    =======

    roftic.rexx writes detailed information to the configured log file.

    The log may show information such as:

    * Program startup
    * Inbound TIC directory
    * Processed TIC directory
    * Temp directory
    * CNet:Nodelist/ or Nodelist: path
    * TIC list path
    * Each TIC file found
    * FILE line found
    * AREA line found
    * Whether the TIC is a normal file echo
    * Whether the TIC is a nodelist
    * Required archiver selected
    * Missing archiver warnings
    * Extract commands and return codes
    * Temp nodelist search results
    * Destination selected
    * Copy or move results
    * Verification results
    * TrapList execution
    * Errors or missing files
    * Cleanup status

    When setting up the program for the first time, review the log after every test.
    The script only creates a log entry when a TIC file exists to process.

    ============================================================================= ==
    SAMPLE STARTUP LOG ============================================================================= ==

    A normal startup log may look similar to this:

    18 Jun 2026 8:30PM --==============================================--
    18 Jun 2026 8:30PM ROF's CNet/5 TIC Processor v2.8 - www.rofbbs.com
    18 Jun 2026 8:30PM Reign of Fire BBS Group - 1991-93 2010-Present
    18 Jun 2026 8:30PM Telnet: call.rofbbs.com Ports: 6800, 8502, & 6400
    18 Jun 2026 8:30PM --------------------------------------------------
    18 Jun 2026 8:30PM .Inbound: Inbound:
    18 Jun 2026 8:30PM Nodelist: Nodelist:
    18 Jun 2026 8:30PM ....Temp: Echomail:Inbound_Temp/RoFTIC
    18 Jun 2026 8:30PM ...Trash: Echomail:Processed
    18 Jun 2026 8:30PM Listfile: RAM:rofticlist
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Found TIC: AmyList.tic
    18 Jun 2026 8:30PM TIC Parsed
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM Nodelist Route
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM Extract Tool
    18 Jun 2026 8:30PM ......Tool: LHA
    18 Jun 2026 8:30PM Extracted to temp
    18 Jun 2026 8:30PM New nodelist selected
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Nodelist updated
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Running TrapList
    18 Jun 2026 8:30PM TrapList completed
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Processing Summary
    18 Jun 2026 8:30PM ....TICs Processed: 1
    18 Jun 2026 8:30PM .Nodelists Updated: 1
    18 Jun 2026 8:30PM ...........Ignored: 0
    18 Jun 2026 8:30PM ...........Skipped: 0
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM ----== ROF's CNet/5 TIC Processor Finished! ==----
    18 Jun 2026 8:30PM Cleanup
    18 Jun 2026 8:30PM Temporary files removed

    ============================================================================= ==
    COMMON LOG MESSAGES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    No TIC files found ----------------------------------------------------------------------------- --

    No .TIC files were found in the configured inbound directory.

    This may not be an error. It may simply mean there is nothing to process.

    ----------------------------------------------------------------------------- --
    FILE missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid FILE line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    AREA missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid AREA line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    No config for area ----------------------------------------------------------------------------- --

    The TIC file contains an AREA that is not configured in roftic.cfg, and the TIC
    was not detected as a nodelist.

    Add the AREA to roftic.cfg or review whether the TIC should have been detected
    as a nodelist.

    ----------------------------------------------------------------------------- --
    Required archiver missing ----------------------------------------------------------------------------- --

    The TIC was detected as a nodelist archive, but the required archiver was not
    found on the system.

    Example:

    ERROR: Required archiver missing
    ......Tool: LHA
    ......File: AmyList.l70
    Inbound file kept
    TIC left inbound

    Install the required archiver or adjust the archiver command name/path in the
    script.

    ----------------------------------------------------------------------------- --
    Archive extract failed ----------------------------------------------------------------------------- --

    The required archiver was found, but extraction failed.

    Check:

    * Whether the archive is damaged
    * Whether the archiver command syntax is correct for your Amiga port
    * Whether there is enough disk space
    * Whether the temp directory exists
    * Whether file permissions are correct

    The inbound file and TIC are left in place.

    ----------------------------------------------------------------------------- --
    No new nodelist found ----------------------------------------------------------------------------- --

    The archive was extracted or the plain file was staged, but the script could
    not
    find a usable nodelist in the temp directory.

    Check:

    * The file contained inside the archive
    * Whether the inner nodelist has a numeric extension
    * Whether the archive extracted into a subdirectory
    * Whether the nodelist name differs from the archive name

    The old nodelist is kept, the inbound file is kept, the TIC is kept, and TrapList is not run.

    ----------------------------------------------------------------------------- --
    Nodelist updated ----------------------------------------------------------------------------- --

    A new nodelist was successfully installed into the nodelist directory.

    TrapList should run after this message.

    ----------------------------------------------------------------------------- --
    Running TrapList ----------------------------------------------------------------------------- --

    roftic.rexx is calling:
    MODS/
    AMIGA_UTILS UDBase0:AMIGA_UTILS/
    COMMODORE UDBase0:COMMODORE/
    BBS_ADS UDBase0:BBS_ADS/

    The AREA name must match the AREA line inside the incoming TIC file.

    Example TIC:

    Area CNET_MODS
    File coolmod.lha

    Example destination:

    UDBase0:CNET_MODS/coolmod.lha

    If the TIC AREA is not configured and the TIC is not detected as a nodelist,
    roftic.rexx logs the unknown area and leaves the file inbound. This allows the
    SysOp to add the area to roftic.cfg and rerun the processor.

    ============================================================================= ==
    NODELIST DETECTION ============================================================================= ==

    Nodelist TICs are treated differently from normal file echo TICs.

    Normal file echo files go into configured UDBase0: directories.

    Nodelists go into:

    CNet:Nodelist/

    or:

    Nodelist:

    roftic.rexx can detect nodelists by:

    * Numeric file extension, such as ARAKNET.170
    * FTN archive extension, such as NODELIST.Z70 or AMYLIST.L70
    * Standard archive extension, such as .ZIP, .LHA, .LZH, .ARC, .ARJ, .RAR
    * Historical FTN extensions, such as .NNA, .AXA, .NNJ, or .NNR
    * Modern compressed formats, such as .GZ, .XZ, or .ZST
    * Known nodelist area names
    * TIC AREADESC, DESC, or LDESC fields containing nodelist wording

    Example TIC:

    Area AMYLIST
    File AmyList.l70
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026

    The above should be handled as a nodelist archive and extracted with LHA.

    After the nodelist is moved successfully, roftic.rexx runs:

    Mail:bin/TrapList

    TrapList is not run for normal file echo traffic.

    ============================================================================= ==
    NODELIST EXTRACTION AND FALLBACK SEARCH ============================================================================= ==

    When a nodelist archive is received, roftic.rexx stages the archive in the temp
    work directory and attempts to extract it using the proper archiver.

    After extraction, the script searches for the new nodelist in this order:

    1. Expected network name

    Example:

    AMYLIST.170
    ARAKNET.170
    NODELIST.170

    2. Generic NODELIST.#? fallback

    Example:

    NODELIST.170

    3. Any file in the temp directory with a numeric extension

    Example:

    NETWORK.170
    REGION.170

    4. Conservative nodelist-style filename fallback

    Example:

    NODELIST
    AMYLIST

    This makes roftic.rexx more forgiving when an archive name does not exactly
    match the nodelist filename inside the archive.

    If no usable nodelist is found, roftic.rexx logs the problem, keeps the old
    nodelist, leaves the inbound archive and TIC in place, and does not run
    TrapList.

    ============================================================================= ==
    SAMPLE TIC FILES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    NORMAL FILE ECHO TIC ----------------------------------------------------------------------------- --

    Example:

    Area CNET_MODS
    Origin 10:100/1
    From 10:100/0
    File cnettool.lha
    Desc Example C-Net/5 utility
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA CNET_MODS
    FILE cnettool.lha

    Then places the file into the configured directory set in roftic.cfg:

    UDBase0:CNET_MODS/cnettool.lha

    ----------------------------------------------------------------------------- --
    PLAIN NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Area ARAK_NODELIST
    Origin 10:100/0
    From 10:100/0
    File ARAKNET.170
    Desc ArakNet weekly nodelist
    Crc 12345678
    Size 12345

    roftic.rexx reads:

    AREA ARAK_NODELIST
    FILE ARAKNET.170

    Then places the nodelist into:

    CNet:Nodelist/ARAKNET.170

    After that, it runs:

    Mail:bin/TrapList

    ----------------------------------------------------------------------------- --
    ARCHIVED NODELIST TIC ----------------------------------------------------------------------------- --

    Example:

    Created by HTick
    File AmyList.l70
    Area AMYLIST
    Areadesc AmigaNet nodelist
    Desc AmigaNet Nodelist for day: 170 and year: 2026
    Replaces AmyList.l70
    From 39:902/0
    To 39:902/518
    Size 3553
    Crc 21A661D7

    roftic.rexx reads:

    AREA AMYLIST
    FILE AmyList.l70

    The script recognizes the file as a nodelist archive, checks for LHA, extracts
    it into the temp directory, searches for the extracted nodelist, installs it
    into Nodelist:, and then runs TrapList if the update was successful.

    ============================================================================= ==
    HOW NODELIST AND TRAPLIST PROCESSING WORKS ============================================================================= ==

    The nodelist processing flow is:

    1. Your FTN system receives a nodelist and matching TIC file.

    2. roftic.rexx reads the TIC.

    3. The script finds the FILE line.

    Example:

    FILE ARAKNET.170

    4. The script finds the AREA line.

    Example:

    AREA ARAK_NODELIST

    5. The script determines whether the TIC represents a nodelist.

    6. If the file is archived, the script checks whether the required archiver is
    available.

    7. If the archiver is missing, the script logs the missing tool and leaves the
    inbound file and TIC untouched.

    8. If the archiver is available, the script extracts the archive into the temp
    work directory.

    9. If the file is a plain nodelist, the script copies it into the temp work
    directory.

    10. The script searches the temp work directory for the actual nodelist file.

    11. The script copies the new nodelist into Nodelist: and verifies it.

    12. After verification, the script removes older matching nodelists for that
    network and writes the final copy.

    13. The inbound nodelist archive/plain file is deleted only after successful
    verification.

    14. The TIC is moved to the processed directory or deleted, depending on
    MOVETIC.

    15. TrapList runs only if at least one nodelist was successfully updated.

    16. The script logs the results.

    TrapList should only be run after a valid nodelist file has been received and
    successfully installed into the nodelist directory.

    roftic.rexx should not run TrapList for normal file echo traffic.

    ============================================================================= ==
    RUNNING THE PROGRAM ============================================================================= ==

    First copy the ROF_TIC folder to Mail:.

    roftic.rexx may be run manually, from C-Net/5, or from a maintenance script.

    ----------------------------------------------------------------------------- --
    MANUAL SHELL EXAMPLE ----------------------------------------------------------------------------- --

    From AmigaDOS Shell:

    RX Mail:ROF_TIC/roftic.rexx

    ----------------------------------------------------------------------------- --
    C-NET/5 EXAMPLE ----------------------------------------------------------------------------- --

    From a C-Net/5 event, or from a bbsmenu command:

    TIC |{#4 Execute MAIL:ROF_TIC/roftic.rexx}

    ----------------------------------------------------------------------------- --
    SUGGESTED MAIL PROCESSING FLOW ----------------------------------------------------------------------------- --

    A suggested maintenance flow is:

    1. Mailer receives packets, TIC files, and files.

    2. C-Net/5 Toss is run:

    Mail:bin/Toss

    3. roftic.rexx is run:

    RX MAIL:ROF_TIC/roftic.rexx

    4. roftic.rexx processes normal TIC files into UDBase0: file areas.

    5. If a nodelist was received, roftic.rexx stages, extracts, finds, and
    installs
    it into:

    CNet:Nodelist/

    6. roftic.rexx runs:

    Mail:bin/TrapList

    only if a nodelist was successfully updated.

    7. C-Net/5 has updated file areas and an updated TrapList.

    8. A log is created only when one or more TIC files are found.

    ============================================================================= ==
    LOGGING
    =======

    roftic.rexx writes detailed information to the configured log file.

    The log may show information such as:

    * Program startup
    * Inbound TIC directory
    * Processed TIC directory
    * Temp directory
    * CNet:Nodelist/ or Nodelist: path
    * TIC list path
    * Each TIC file found
    * FILE line found
    * AREA line found
    * Whether the TIC is a normal file echo
    * Whether the TIC is a nodelist
    * Required archiver selected
    * Missing archiver warnings
    * Extract commands and return codes
    * Temp nodelist search results
    * Destination selected
    * Copy or move results
    * Verification results
    * TrapList execution
    * Errors or missing files
    * Cleanup status

    When setting up the program for the first time, review the log after every test.
    The script only creates a log entry when a TIC file exists to process.

    ============================================================================= ==
    SAMPLE STARTUP LOG ============================================================================= ==

    A normal startup log may look similar to this:

    18 Jun 2026 8:30PM --==============================================--
    18 Jun 2026 8:30PM ROF's CNet/5 TIC Processor v2.8 - www.rofbbs.com
    18 Jun 2026 8:30PM Reign of Fire BBS Group - 1991-93 2010-Present
    18 Jun 2026 8:30PM Telnet: call.rofbbs.com Ports: 6800, 8502, & 6400
    18 Jun 2026 8:30PM --------------------------------------------------
    18 Jun 2026 8:30PM .Inbound: Inbound:
    18 Jun 2026 8:30PM Nodelist: Nodelist:
    18 Jun 2026 8:30PM ....Temp: Echomail:Inbound_Temp/RoFTIC
    18 Jun 2026 8:30PM ...Trash: Echomail:Processed
    18 Jun 2026 8:30PM Listfile: RAM:rofticlist
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Found TIC: AmyList.tic
    18 Jun 2026 8:30PM TIC Parsed
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM Nodelist Route
    18 Jun 2026 8:30PM ......Area: AMYLIST
    18 Jun 2026 8:30PM ......File: AmyList.l70
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM Extract Tool
    18 Jun 2026 8:30PM ......Tool: LHA
    18 Jun 2026 8:30PM Extracted to temp
    18 Jun 2026 8:30PM New nodelist selected
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Nodelist updated
    18 Jun 2026 8:30PM ......Net: AMYLIST
    18 Jun 2026 8:30PM ......File: AMYLIST.170
    18 Jun 2026 8:30PM Running TrapList
    18 Jun 2026 8:30PM TrapList completed
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM Processing Summary
    18 Jun 2026 8:30PM ....TICs Processed: 1
    18 Jun 2026 8:30PM .Nodelists Updated: 1
    18 Jun 2026 8:30PM ...........Ignored: 0
    18 Jun 2026 8:30PM ...........Skipped: 0
    18 Jun 2026 8:30PM ------------------
    18 Jun 2026 8:30PM ----== ROF's CNet/5 TIC Processor Finished! ==----
    18 Jun 2026 8:30PM Cleanup
    18 Jun 2026 8:30PM Temporary files removed

    ============================================================================= ==
    COMMON LOG MESSAGES ============================================================================= ==

    ----------------------------------------------------------------------------- --
    No TIC files found ----------------------------------------------------------------------------- --

    No .TIC files were found in the configured inbound directory.

    This may not be an error. It may simply mean there is nothing to process.

    ----------------------------------------------------------------------------- --
    FILE missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid FILE line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    AREA missing ----------------------------------------------------------------------------- --

    The TIC file did not contain a valid AREA line.

    Check the TIC file manually.

    ----------------------------------------------------------------------------- --
    No config for area ----------------------------------------------------------------------------- --

    The TIC file contains an AREA that is not configured in roftic.cfg, and the TIC
    was not detected as a nodelist.

    Add the AREA to roftic.cfg or review whether the TIC should have been detected
    as a nodelist.

    ----------------------------------------------------------------------------- --
    Required archiver missing ----------------------------------------------------------------------------- --

    The TIC was detected as a nodelist archive, but the required archiver was not
    found on the system.

    Example:

    ERROR: Required archiver missing
    ......Tool: LHA
    ......File: AmyList.l70
    Inbound file kept
    TIC left inbound

    Install the required archiver or adjust the archiver command name/path in the
    script.

    ----------------------------------------------------------------------------- --
    Archive extract failed ----------------------------------------------------------------------------- --

    The required archiver was found, but extraction failed.

    Check:

    * Whether the archive is damaged
    * Whether the archiver command syntax is correct for your Amiga port
    * Whether there is enough disk space
    * Whether the temp directory exists
    * Whether file permissions are correct

    The inbound file and TIC are left in place.

    ----------------------------------------------------------------------------- --
    No new nodelist found ----------------------------------------------------------------------------- --

    The archive was extracted or the plain file was staged, but the script could
    not
    find a usable nodelist in the temp directory.

    Check:

    * The file contained inside the archive
    * Whether the inner nodelist has a numeric extension
    * Whether the archive extracted into a subdirectory
    * Whether the nodelist name differs from the archive name

    The old nodelist is kept, the inbound file is kept, the TIC is kept, and TrapList is not run.

    ----------------------------------------------------------------------------- --
    Nodelist updated ----------------------------------------------------------------------------- --

    A new nodelist was successfully installed into the nodelist directory.

    TrapList should run after this message.

    ----------------------------------------------------------------------------- --
    Running TrapList ----------------------------------------------------------------------------- --

    roftic.rexx is calling:

    Menudo trabajo te has dado. Demasiadas opciones, aunque siendo un servidor. :D


    ... Those who live by the sword get shot by those who don't.
    --- CrashEdit 1.0b AmigaOS
    * Origin: Citrick BBS citlmbbs.synchro.net (64:500/60.2)
  • From Spitfire@64:500/1 to Tanausu M. on Mon Jun 29 05:38:24 2026
    On Sun 28-Jun-2026 11:39p, Tanausu M.@64:500/60.2 said to Spitfire:
    Hello Spitfire!

    29 Jun 26 01:37, Tanausu wrote to Spitfire:


    Menudo trabajo te has dado. Demasiadas opciones, aunque siendo un servidor. :D


    ... Those who live by the sword get shot by those who don't.
    --- CrashEdit 1.0b AmigaOS
    * Origin: Citrick BBS citlmbbs.synchro.net (64:500/60.2)

    I tried to make sure this will work for most C/Net/5 setups. Also, it may even work for other Amiga BBS software also. I just made v3.1 with a log option. Right now v3.0 logs everything. Great for debugging. I added the option for a shorter log to use once you know everything is processing properly. Its on my BBS, and I will pop it up on my website and AmiNet later this week.

    * ACIS Member. AmigaNet ArakNet C=Net DescipleNet FidoNet PiNet RetroNet
    * C-Net/5
    * Origin: call.rofbbs.com ports 6800 6400 8502 423-541-8271 rofbbs.com (64:500/1)
  • From Tanausu M.@64:500/60.2 to Spitfire on Mon Jun 29 10:00:47 2026
    Hello Spitfire!

    29 Jun 26 11:52, you wrote to me:

    On Sun 28-Jun-2026 11:39p, Tanausu M.@64:500/60.2 said to Spitfire:
    Hello Spitfire!

    29 Jun 26 01:37, Tanausu wrote to Spitfire:


    Menudo trabajo te has dado. Demasiadas opciones, aunque siendo un
    servidor. :D

    Sorry for the answer in Spanish, I didn't notice.

    ... Those who live by the sword get shot by those who don't.
    --- CrashEdit 1.0b AmigaOS
    * Origin: Citrick BBS citlmbbs.synchro.net (64:500/60.2)

    I tried to make sure this will work for most C/Net/5 setups. Also, it may even work for other Amiga BBS software also. I just made v3.1 with a log option. Right now v3.0 logs everything. Great for debugging. I added the option for a shorter log to use once you know everything is processing properly. Its on my BBS, and I will pop it up on my website and AmiNet later this week.

    I had considered passing my bbs synchronet to a friend but laziness had not yet done so. More and more software is coming out thanks to people like you. And now with amiberry, it should go well. I'll try it as soon as you're ready.


    ... Don't anthropomorphize computers, they hate that.
    --- CrashEdit 1.0b AmigaOS
    * Origin: Citrick BBS citlmbbs.synchro.net (64:500/60.2)