This document describes and documents included utilities (found in utils/).
18to34 is used to convert filelists from long DD 1.xx format to DD 2.xx format. Run it for usage.
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.
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
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.
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 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_ are: 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
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).
ddwho is a commandline util that lists status of nodes (who's online).
"fixbases" scans your messagebases and fixes high/low message pointers if they are set incorrectly.
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.
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.
pcb2ansi converts PCB-@XX -color codes to ANSI.
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.
stripansi eats text files with ansi codes from stdin and barfs them to stdout -- without ansi :)
ddecho is a fidonet tosser/scanner. See chapter 6 for more info.
txtdiz extracts a file_id.diz from textfile. Run it for usage.
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.
zipadder tests and archive and adds an advert to it. Usage: zipadder <archive> <advert>.
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.
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.001If 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.