This document describes and documents included utilities (found in utils/).

1 18to34

18to34 is used to convert filelists from long DD 1.xx format to DD 2.xx format. Run it for usage.

2 ax2dd

ax2dd is an util to convert AmiExpress/SigmaExpress userbases for DD format. ax2dd is not able to dig AmiExpress passwords, so if you convert your userbase for /X use -n option to disable password conversion. S!X base converts pretty well.

3 ddcallers

DDCallers is a last N callers lister for DD. Run it for usage. It is invoked in batch/batch[node].logoff. Typical invoking line looks like this:

utils/ddcallers -o display/iso/ddcallers -n 1 -a 20 -h display/iso/ddcallersheader -w /home/bbs/bulletins/bulletin.20 -e

4 ddcfg

ddcfg is a config file converter. It compiles ascii config file to binary files that DD and utils use. See chapter 3 for more info.

5 ddtop

DDTop is a fast and very configurable chart-generator for DayDream. It creates statistical charts (both total and weekly) using user-definable design-files. This means for example that the sysop can virtually design his own total-uploads with customized design!

Most of the stuff is ripped from excellent MegaTop by Looby/Insane. Hi Looby :D


DDTop depends on script file. Name of script file is given in the commandline. Format of script file is as follows:

[design file] [output] [weektop storage]
[design file 2] [output 2] [weektop storage 2]

Weektop storage is optional. .gfx and .txt extensions are added to output and storage. Design file may contain ansi codes. Ansi codes will be stripped for .txt's.

You may add following flags for ddtop commandline:

  -r  -- use realnames instead of handles
  -l  -- use location instead of group
  -e  -- exclude sysop

Design files

Design file is a normal text/ansi file which has so called cells for information. Format of a cell is


NOTE! The cell MUST contain at least two dots '.' (Used as seperators).

  Eg. %[1.10.UL_TOT_NAME]  : Valid
      %[..SYSSUM_AUTHOR]   : Valid
      %[.UL_TOT_NAME]      : Seg fault :Q

Position defines the user position in list.

Possible formats for WIDTH are:

    -n     Right justified
    n-     Left justified

n stands for width :)

If there's nothing in width field, DDTop doesn't format entry.

There exists many types of items. Major types are:

    SYSSUM_        -- all time total values. Allowed subitems for SYSSUM_

       BYTESUP                  -- Upload bytes
       BYTESDOWN                -- Download bytes
       FILESUP                  -- Upload files
       FILESDOWN                -- Download files
       CALLS                    -- Calls
       MESSAGES                 -- Messages posted
       USERS                    -- Total accounts
       DATE                     -- Date when top was generated, e.g. '22-04-95'
       TIME                     -- Time when top was generated, e.g. '18:01:49'
       PROGNAME                 -- Name of program
       AUTHOR                   -- Name of author

    WEEKSUM_       -- week period summary. Allowed subitems:

       BYTESUP                  -- Upload bytes
       BYTESDOWN                -- Download bytes
       FILESUP                  -- Upload files
       FILESDOWN                -- Download files
       CALLS                    -- Calls
       MESSAGES                 -- Messages posted
       DAYSLEFT                 -- Days left on week inkl. current day
       DAYSPASSED               -- Passed days on week including current day

Other major types describe the sort order:

    UL_            -- Upload bytes
    DL_            -- Download bytes
    ULS_           -- Upload files
    DLS_           -- Download files
    CALL_          -- Calls
    MESS_          -- Messages posted
    SLOT_          -- Sort on users slotnumber

       Types describing sort order must have a descriptor which tells the
       date type to use:

       WEEK        -- Week totals. Get the user entry from week datas.

       TOT_        -- System totals. Get the user entry from all time datas.

       Then comes "data subitem" which tells what to insert about previously
       described user. Possible values are:

         SLOTNR                   -- Slot number
         NAME                     -- Name
         LOCATION                 -- Location
         BYTESUP                  -- Upload bytes
         BYTESDOWN                -- Download bytes
         FILESUP                  -- Upload files
         FILESDOWN                -- Download files
         CALLS                    -- Calls
         MESSAGES                 -- Messages posted
         BYTERATIO                -- ** for excellent, * for good, ! for
                                     "not so good" and !! for leech :D
         FILERATIO                -- same as byteratio, except for files.

    For example, %[10.-12.UL_TOT_NAME] will insert name of the user, who
    is tenth in the list of top uploaders... I hope you got the point :D

Weektop message

If the first line of design file contains @MSG -string, DDTop posts a message everytime week changes. Naturally message includes the chart file that design file describes. For example:

@MSG utils/robowriter -f Weektop -r eall -s "Weekly top uploaders" -c 2 -b 1 %t

posts message to conf 2, base 1 about weekly top uploaders.. %t == txt, %g == gfx (ansi).

6 ddwho

ddwho is a commandline util that lists status of nodes (who's online).

7 fixbases

"fixbases" scans your messagebases and fixes high/low message pointers if they are set incorrectly.

8 listclean

listclean cleans up filelists. It marks missing files with D-flag or kills file completely if invoked with -k flag. Run it for full usage.

9 msgbaseopt

msgbaseopt cleans up message bases. It turns old EALL messages to ALL messages, recycles the message base by BASE_MAXMSGS, corrects broken last read pointers and deletes unused headers. Run it for full usage.

10 pcb2ansi

pcb2ansi converts PCB-@XX -color codes to ANSI.

11 robowriter

robowriter is an util to post messages from commandline or from a door. You may find it useful for scripts etc. Run it for full usage.

12 stripansi

stripansi eats text files with ansi codes from stdin and barfs them to stdout -- without ansi :)

13 tosser

ddecho is a fidonet tosser/scanner. See chapter 6 for more info.

14 txtdiz

txtdiz extracts a file_id.diz from textfile. Run it for usage.

15 yelld

yelld is a pager. It kicks local console, /dev/audio or whatever when user tries to reach the sysop. It must be run by a superuser.

16 zipadder

zipadder tests and archive and adds an advert to it. Usage: zipadder <archive> <advert>.

17 logrot

logrot "rotates" the binary logfiles uploadlog.dat, downloadlog.dat and callerslog.dat. It also fixes the logfile if it has been corrupted somehow. Run it for usage.

18 strconv

strconv converts the old-style display/strings.* to new keyword indexed format. It is written in Perl, but if you have Perl in /usr/bin, it can be invoked by simply typing its name followed by the directory containing latest DayDream sources and the name of the string definition file to be processed, for example:

strconv /usr/src/daydream /home/bbs/display/strings.001
If the above complains about missing Perl, type "perl" in front of command line above (provided that you have installed Perl). Consult 'UPDATING' for further information.