1 Installation

0.

Refer to README or UPGRADE in root dd dir and skip the rest :)

1.

type "make" in root dir.

2.

Create user "bbs". (shell = compiled daydream executable).

3.

Set environment variable DAYDREAM to point to bbs'es home dir. (eg. export DAYDREAM=/home/bbs or setenv DAYDREAM /home/bbs)

4.

Copy dirs questionnaiore, display and data to $DAYDREAM. Make sure dirs+files belong to user "bbs".

5.

edit daydream.cfg and compile it with utils/ddcfg. Most of the stuff in daydream.cfg are introduced in the daydream.cfg and doesn't require additional help if you own brains :)

6.

Install protocols. Create $DAYDREAM/utils and copy ddrz, ddsz and hydracom to it.

7.

Try logging in as bbs.

8.

First created user will get full sysop access, so you can use sysop commands like usered :)

2 Directories

data/

Includes all the configuration and datafiles (like UserBase etc)

batch/

Includes logoff-batch files.

utils/

Includes DayDream BBS utilities.

temp/

Required for uploads.

display/

Contains most of the textfiles that are showed to the user when he's cruising in the BBS.

doors/

Contains external program modules, commands, games etc. that can be executed from the BBS.

hold/

Private uploads to the SysOp are placed in here.

logfiles/

Contains your logfiles.

3 BBS Files

3.1 [Conference]/Data/

This directory includes some conference-specific data, such as File catalogs, list of free downloads, list of paths that are used to access downloadable files etc.

directory.XXX

File-catalog of XXX - filearea.

paths.dat

This file is used to define directories that are used for searching files. First line=Area 1 etc. Amount of lines can be unlimited. If there are more lines in this file than filedirectories in the conference, rest of the lines are extra dl-paths.

freedownloads.dat

Contains list of Free downloads. Wildcards allowed. NOTE! Global freedownloads can be specified in $DAYDREAM/data/freedownloads.DAT.

examine.dat

Contains list of doors to be launched in upload- checking after user has verified that upload is ok. It can be used for conf top utils, if someone codes one.

Here's an example of examine.dat:

--------------------------------------------cut------------------
/home/bbs/doors/conftop %N
/home/bbs/doors/svenskatoppen %N
--------------------------------------------cut------------------

3.2 [Conference]/bulletins/

This directory includes bulletins, such as top uploader list or otherwise useful information. Add .gfx or .txt suffix.

bulletinmenu

List of available bulletins

bulletin.x

Should be selfexplaining.

3.3 [Conference]/display/[Displaymode]/

This directory contains the conference-specific textfiles displayed to the user. If file is not found, it is searched from $DAYDREAM/display/[Displaymode]/. Add .gfx or .txt suffix.

commands

List of commands.

filecatalogs

List of file-areas in the current conference.

messagebases

List of messagebases in the current conference.

upload

Showed to the user before uploading. Useful if you want to show some upload-rules etc.

download

Showed to the user before downloading.

conferencejoined

Showed to the user when he/she joins the conference.

conferencepw

Showed to the user before asking conference password.

autorejoin

Showed to the user after JoinConference.TXT in login..

3.4 [Conference]/messages/[baseXXX]

Contains messages and their headers.

msgbase.dat

Headers of the messages in the current base.

msgbase.lrp

Autoscan and lastread pointers.

msgXXXXX

Standard messagefile.

3.5 $DAYDREAM/[DisplayMode]/

Contains most of the textfiles that are showed to the user when he's cruising in the BBS.

autosigtop

Shown when user launches autosig door, typically from the "A"lter user info main menu command.

accountfrozen

Shown when user whose account has been frozen tries to login.

banner

Shown before the login prompt.

beforegoodbye

Shown to the user when he/she enters G-command.

commands

List of available commands

conferences

List of available conferences

download

Shown to the user before download

edituser

Shown to the user when he/she's modifying account info.

filecatalogs

Shown to the user when he/she's listing files.

goodbye

Logoff screen

linechaton

Shown to the user when sysop enters chat mode.

linechatoff

Shown to the user when sysop exits chat mode.

lineedcommands

List of available commands in message-editor.

morehelp

Shown when user requests help in more-prompt.

movefiles

Shown before asking files to move.

msgreadcommands

List of available commands when reading messages.

newuser

Displayed to the user when he/she decides to create a new account. Useful for rules etc.

newuserpassword

Shown to the user if he/she decides to create new account and the system requires a New User Password.

passwordfailure

Displayed to the user if he fails 3 times in the password checking.

protocolmenu

List of available protocols.

reg_realname

Shown to the user before asking his/her real name during the registration.

reg_handle

Shown to the user before asking his/her handle during the registration.

reg_zip+city

Shown to the user before asking his/her Zipcode during the registration.

reg_voicenumber

Shown to the user before asking his/her Voice phone number during the registration.

reg_password

Shown to the user before asking his/her password during the registration.

reg_computermodel

Shown to the user before asking his/her computer- model during the registration.

reg_screenlength

Shown to the user before asking his/her Screen length during the registration.

scandatehelp

Shown to the user when he requests help during new file scan.

systempassword

Shown to the user before asking for the System Password (if SystemPassword is enabled)

upload

Shown to the user before uploading.

uploadcommands

Commandlist on prompt requesting save etc.

welcome

Displayed to the user after logon.

zippysearch

Showed to the user if he/she didn't enter any parameters for Z-command.

NOTE! Some of these files can be different for every security level. Eg. Commands.255.GFX will be showed to the user if his/her access level is 255.

3.6 $DAYDREAM/display/

displaymodehelp.txt

List of available display modes.

strings.XXX

Contains nearly all strings and prompts in BBS. One string per line. It's possible to replace a string with textfile by changing it to "\a[textfile]". DD will look for [textfile].gfx/txt from conference and global display dirs.

boardclosed.txt

If exists, DayDream will display this and disconnect the user before logon.

permanentlyaway.txt

If exists, will be displayed to the user when he/she requests chatting. Useful if you are ie. on vacation.

3.7 $DAYDREAM/data/

This directory contains some binary files which are generated by ddcfg or DayDream itself. There's also some textfiles that can be edited using Texteditor and they are:

trashcan.dat

List of names that are not allowed in the system. Wildcards allowed.

freedownloads.dat

List of free downloads (all conferences). Wildcards allowed.

frontends.dat

Contains list of doors to be launched before asking displaymode from user. Note that doors listed in here MUST be DDDP-doors.

If door uses changes displaymode using intcommand "mode ??" or similar command, DD doesn't ask for display mode.

logindoors.dat

Contains list of doors to be launched after showing Welcome.TXT. Useful if you want to force a door to be run on startup. (One can abort welcome.txt with ^C.)

logoffdoors.dat

Optional file for running doors at logoff which don't seem to get along with the batchX.logoff files.

3.8 $DAYDREAM/batch/

This directory contains batch files. You must chmod +x them, so daydream can execute then. Currently supported files are:

batchX.logoff

This will be executed everytime user leaves a BBS. Useful, if you want to have up-to-date top users list etc in your board etc.

X stands for node.

4 Control Codes

You can have the following control codes in your text files:

4.1 Action codes

~#PA

Pause (No text)

~#RE

Any key to resume (Pause)

~#NM

Turn more-prompts off

~#MC[COMMAND]|

Menu command

~#LF

Remove linefeed/carriage return.

~#NC

Disable codes for the rest of text (For security)

~#TF[FILE]|

Show textfile

~#RA[FILE]|[max]|

Show a random text file. [FILE] is the prefix for the filename. After the prefix a random number between 1 and [max] (inclusive) is appended. Note that the filenames cannot contain any suffix, for example, the .gfx extension. The [max] parameter must be between 1 and 16777216 (inclusive).

4.2 String codes

~#RN

Real name

~#HA

Handle

~#OR

Organization

~#LO

Location

~#PH

Voice Phone

~#SL

Screen length

~#PR

Protocol ID

~#SI

Upload Signature

~#CM

Computer Model

~#DA

Current Date

~#ID

User Id Number

~#DT

Daily Time

~#FC

First Date On

~#LC

Last Date On

~#OL

Online Baud

~#SE

Security Level

~#UB

Uploaded Bytes

~#UF

Uploaded Files

~#DB

Downloaded Bytes

~#DF

Downloaded Files

~#BA

Bytes Avail

~#FA

Files Avail

~#MP

Messages Posted

~#TC

Times Called

~#PG

Sysop Pages Remaining

~#CN

Conf. name

~#CU

Conf. number

~#ML

Max lines in file descriptions

4.3 Custom main prompt

DayDream main prompt has special control codes too. Main prompt is located at the line 296 of strings.XXX. Codes are:

~~

Print ~-char

~A

Last read pointer

~C

Conference name

~E

Highest message

~L

Message base number

~M

Message base name

~N

Conference number

~T

Time left in minutes

~B

Node number

~S

BBS Name

4.4 Door parameters

Doors that are declared in "daydream.cfg", can be given a number of optional parameters. Some special tokens are interpreted as follows:

%N

The number of the current node

%R

User's real name

%H

User's handle

%O

User's organization

%Z

User's Zipcode

%S

User's current security level