Configuring DayDream

Configuration of DayDream BBS is done via external configprogram, ddcfg. It compilies specified ascii file to the datafiles, that can be found in $DAYDREAM/data/-directory. Order of stuff inside "blocks" is not important, but all the fields MUST be present. Configprogram gently informs what field is missing, if it is missing.

The basic configfile is included in distribution archive, just look at the examples to get the idea.

1 Main Configuration

---------------------------------------- example
!DAYDREAM.DAT
BBSNAME...... Humanoid Invasion
SYSOP........ Hydra
CHATDLPATH... /home/bbs/hold/
SYSTEM_PW.... -
NEWUSER_PW... -
USERED_PW.... FALLOS
NEW_PRESET... 1
IDLE......... 180
AUTOCONF..... 1
FREEFORUL.... 2000000
ASK_REASON... Y
NAMEMODE..... H
LOCATION..... O
DISABLEWILDS. Y
QUESTIONS.... N
QUICKLINEED.. Y
ASKHANDLE1ST. N
SYSOP_COL.... 
USER_COL..... 
SHELL_PW..... SODOM
ALIENS....... /home/bbs/aliens/
LINE_EDCOM... $
FSED......... /home/bbs/doors/dded %N
CHATMODE..... A
SCREENLENGTH. 30
FREEDLLINE... [-] FREE DOWNLOAD -------- FREE DOWNLOAD [-]
COSYSOPACCESS 250
HOMEDIRS..... /home/
GROUPID...... 99
1STUSERID.... 20000
CHATCMD...... -
HOLDDIR...... /home/bbs/hold/
TELNETNODEPAT /dev/ttyp* /dev/ttys*
TELNETNODE1ST 10
TELNETNODEMAX 4
LOCALNODEPAT. /dev/tty* 
LOCALNODE1ST. 3
LOCALNODEMAX. 2
ALLOW2LOGINS. N
ASKNEWUSER... Y
DEF_EXPERT... N
DEF_MAILSCAN. Y
DEF_NEWFILESC N
DEF_ALLOWNODE Y
DEF_EDITOR... F
DEF_AUTOQUICK N
DEF_BGCHECKER Y
CATALOGDUPECK N
BGCHECKER.... Y
MAXFTPUSERS.. 3
~
---------------------------------------- example

BBSNAME

Name of your system

SYSOP

Name of system operator.. (Your name :)

CHATDLPATH

Path of directory where the files downloaded during a chat will be placed.

SYSTEM_PW

System password (if any)

NEWUSER_PW

New user password (if any)

USERED_PW

User editor password (if any)

NEW_PRESET

Access preset for new users. See below for information about presets.

IDLE

Idle timeout..

AUTOCONF

Auto-join conference. If user is unable to join the conference he was on last time he called, he will join this.

FREEFORUL

Free HDD space required for uploads (bytes)

ASK_REASON

Ask chat reason (Y/N)

NAMEMODE

Default name mode (H=Handles, R=Real names)

LOCATION

Default location mode (O=Organization/Group, Z=Zip code)

DISABLEWILDS

Disable wildcards in logon (Y/N)

QUESTIONS

Y/N switch. If this is Y, DayDream will run Questionnaire for the user if he hasn't answered it yet.

QUICKLINEED

Y/N switch. If this is Y, CR in empty line will enter command mode in line editor.

ASKHANDLE1ST

Y/N switch. If this is Y, Handle will be asked before real name when a user is about to create account.

SYSOP_COL

SysOp color in chat.

USER_COL

User color in chat.

SHELL_PW

Shell password (if any)

ALIENS

Path to place files that are found in Temporary directory when it needs to be cleaned. There can be files eg. if system has crashed during uploading. If this is -, files in temporary directory will be deleted.

LINE_EDCOM

Character that activates the command mode in line editor.

FSED

Command to be executed to start FullScreen Editor or - if you don't want to have FullScreen Editor.

CHATMODE

L = Line chat, S = Split screen chat, A = Ask, D = Door (Only Line chat implemented at this time)

SCREENLENGTH

Screen length of the local screen.

FREEDLLINE

Line to be added after free downloads or -. (In file listing)

COSYSOPACCESS

Security level of co-sysops.

HOMEDIRS

Path for home directories for users. Use - if you haven't offered possiblity for FTP transfers. (This may become obsolete soon)

GROUPID

Group id for ftp-users.

1STUSERID

First uid for ftp-users.. (These lame ftp-things are from AmigaDD. DD/Unix will do these in a more sophisticated way :)

CHATCMD

Chat door.. Blah :D

HOLDDIR

Place private uploads in this dir

TELNETNODEPATH

Pattern for telnet nodes.. (ttys). If this pattern matches with the tty user is attached in, it's considered as a telnet call..

TELNETNODE1ST

DD allocates telnet nodes dynamically. This is number of first telnet node. If this is 10, then first telnet caller will be in node 10, next on 11.. etc :)

TELNETNODEMAX

Maximum number of telnet connections running at the same time.

LOCALNODEPAT

Same as TELNETNODEPATH, except for local connections.

LOCALNODE1ST

1st local node.

LOCALNODEMAX

Max number of local nodes.

ALLOW2LOGINS

Y/N. Allow multiple logins at once.

ASKNEWUSER

Y/N. If user tries to login with non-existing account, ask if he/she wants to create a new one.

DEF_EXPERT

Y/N. Enable expert mode as default.

DEF_MAILSCAN

Y/N/A. Enable mail scan as default. A for ASK.

DEF_NEWFILESC

Y/N/A. Enable new file scan as default. A for ASK.

DEF_ALLOWNODE

Y/N. Allow node messages as default.

DEF_EDITOR

F/L/A. Default message editor. F=Full screen, L=line, A=Ask.

DEF_AUTOQUICK

Y/N. Enable auto quick-uploading as default.

DEF_BGCHECKER

Y/N. Enable background upload checker/poster as default.

CATALOGDUPECK

Y/N. Look for dupes in uploadlog.dat. If this is ON, DD will discard already uploaded files even if they are no longer online.

BGCHECKER

Y/N. Enable BGChecker. Because background upload checker is a bit experimental, you may want to turn it off. Also it eats a bit more CPU, so it might be a stupid idea to enable background checker on a slow 386.

MAXFTPUSERS

Amount of FTP users at once.

2 Conferences

-------------------------------- example
!CONFERENCES.DAT
CONF_NUMB..... 1
CONF_NAME..... RoøkIEs
CONF_PATH..... /home/bbs/confs/newusers/
CONF_FILEAREAS 0
CONF_UPLOADSTO 0
CONF_MSGBASES. 1
CONF_COMMENTS. 1
CONF_ULPATH... -
CONF_NSAREAS.. -
CONF_DEFFSCAN. N
CONF_FREELEECH N
CONF_NOCREDS.. N
CONF_SENTBY... Y
CONF_LONGNAMES N
CONF_ASKDEST.. N
CONF_NOWILDS.. Y
CONF_NOWILDFLG N
CONF_NODUPECHK N
CONF_NOFILECHK N
CONF_GLOBALDCK Y
CONF_PASSWORD. -
+
-------------------------- example

CONF_NUMB

Conference number (1-64)

CONF_NAME

Conference name

CONF_PATH

Path to conferences datafiles. (data/, messages/ and display/ should be in there)

CONF_FILEAREAS

Number of fileareas in conference. (1-255)

CONF_UPLOADSTO

Number of upload area.

CONF_MSGBASES

Number of message bases. (1-255)

CONF_COMMENTS

Number of the message base to place comments in. If 0, no comments allowed in this conference.

CONF_ULPATH

Path of the directory where uploads are moved after transfer. End with /. If you want to specify multiple upload paths, do it like this:
	CONF_ULPATH.. @/space/bbs/conf2.dat
	
This makes DD to look upload paths with free space from paths listed in /space/bbs/conf2.dat. (Must be an ascii file, a path per line).

CONF_NSAREAS

Arealist for global new file scan. Area list uses the same routine as N S [....]-menu command. [....] will be placed with this.

CONF_DEFFSCAN

If you want this conference to be turned on as default for the global file scan, use Y. If not, then N.

CONF_FREELEECH

Y if the files in the conference are free downloads.

CONF_NOCREDS

Y if you don't want to credit users for uploading stuff.

CONF_SENTBY

Y if you want to add sent-by lines after file descriptions.

CONF_LONGNAMES

Y if you want to have 34 characters long filenames instead on 18.

CONF_ASKDEST

If you want that user will be asked for filearea for his/her upload instead of placing it in upload directory, set this as Y.

CONF_NOWILDS

Y if you don't want to allow wildcards in filenames.

CONF_NOWILDFLG

Y if you want to disable fileflagging with wildcards.

CONF_NODUPECHK

Y if you don't want to include the conference in global dupecheck.

CONF_NOFILECHK

Y if you don't want to check the files that are uploaded to this conference.

CONF_GLOBALDCK

Y if you want to have global dupechecking in the conference. You may want to turn this off in your request-conference. (Other conferences are ignored in dupechecking if this is N)

CONF_PASSWORD

Conference password (optional).

3 Message bases

BASE_NUMBER... 1
BASE_TYPE..... L
BASE_MAXMSGS.. 100
BASE_NAME..... Mail
BASE_FIDOTAG.. ROOKIES
BASE_ORIGIN... -
BASE_FIDOADD.. -
BASE_ALLOWPBLC Y
BASE_ALLOWPRIV Y
BASE_FILEATTAC Y
BASE_NAMES.... H
BASE_ALL=EALL. N
BASE_QUOTE.... L
BASE_DEFGRAB.. Y

BASE_NUMBER

Number of the message base.

BASE_TYPE

Message base type. (L=Local, E=Echomail, N=Netmail). Currently only Local is supported.

BASE_MAXMSGS

Max number of messages in message base.

BASE_NAME

Name of the message base.

BASE_FIDOTAG

Fidonet tag for messagebase. Note that QWK-door (grab) requires this tag also for local area naming.

BASE_ORIGIN

Fidonet origin of the message base.

BASE_FIDOADD

Fidonet address for the base.

BASE_ALLOWPBLC

Y to allow public messages in this base.

BASE_ALLOWPRIV

Y to allow private messages in this base.

BASE_FILEATTAC

Y to allow file attachs.

BASE_NAMES

Namemode. H=Handles, R=Real names.

BASE_ALL=EALL

Write ALL messages as EALL messages. BAH.

BASE_QUOTE

Quoting method. If L, /X-like quoteline will be inserted after quote. If this is >, plain > will be inserted before each line of the quote. If this is I, initials of the original message author and ">" will be inserted before quote. EG. "AH> DayDream KiX a$$!"

BASE_DEFGRAB

Y/N switch. Use Y, if you want this messagebase to be turned on as default for new mail scan and message grabbing.

4 External commands

DOOR_COMMAND.. WALL
DOOR_TYPE..... 1
DOOR_SECURITY. 5
DOOR_EXECUTE.. /home/bbs/doors/wall %N
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DOOR_COMMAND

Command at main prompt to start this door.

DOOR_TYPE

1 = Normal DayDream door. See libdd.doc for info how to write DayDream doors. 2 = stdio program. (eg. nethack :) 3 = Text file 4 = Bind to internal DD command

DOOR_SECURITY

Minimum security level to start this door.

DOOR_EXECUTE

Command or filename to run the door. %N required for all DayDream doors. - to disable command (if doortype = 4).

DOOR_CONFS1

Flags for conferences 1-32. If X, door is available in conf, if - then it's not.

DOOR_CONFS2

Flags for conferences 33-64. If X, door is available in conf, if - then it's not.

5 Security presets

PRESET_SEC.... 5
PRESET_NUMBER. 1
PRESET_FFILES. 0
PRESET_FBYTES. 0
PRESET_DESC... New User
PRESET_STATUS. 3

PRESET_SEC

Security level for the preset.

PRESET_NUMBER

Number of preset.

PRESET_FFILES

Free DL files.

PRESET_FBYTES

Free DL bytes.

PRESET_DESC

Preset description.

PRESET_STATUS

Status of the preset. 0 = Active, 1 = Deleted, 2 = Frozen, 3 = New

6 Archivers

ARC_TYPE...... F
ARC_PATTERN... *.LHA
ARC_NAME...... LHA
ARC_TEST...... lha t %A
ARC_FAIL1..... Error: 
ARC_FAIL2..... -
ARC_FAIL3..... -
ARC_FIDEXTRACT lha eqf %A
ARC_FIDADD.... lha a %A file_id.diz
ARC_VIEW...... lha v %A
ARC_OFFLINE... Y
ARC_GETDATE... Y
ARC_DELETECOR. Y
ARC_DISPLAY... Y
ARC_VIEWSEC... 200

ARC_TYPE

Archiver type. F=File archiver, D=Disk archiver. Quite obsolete :)

ARC_PATTERN

Pattern for identifying file type.

ARC_NAME

Archiver name.

ARC_TEST

Command to test archive. %A == archive name.

ARC_FAIL1

Keyword if archive is corrupted (- for none). Case-sensitive.

ARC_FAIL2

Keyword if archive is corrupted (- for none). Case-sensitive.

ARC_FAIL3

Keyword if archive is corrupted (- for none). Case-sensitive.

ARC_FIDEXTRACT

File_id.diz extraction command. %A = archive name.

ARC_FIDADD

File_id.diz adding command. %A = archive name.

ARC_VIEW

Command to view archive contents.

ARC_OFFLINE

Use offline checking for this type of archives. (Obsolete)

ARC_GETDATE

Try to get date from file_id.diz.

ARC_DELETECOR

Delete archive if corrupt.

ARC_DISPLAY

Display output of testing to the user.

ARC_VIEWSEC

Minimum security level to view archive contents.

7 Display modes

DPL_ID........ 1
DPL_PATH...... iso/
DPL_ANSI...... Y
DPL_INCONV.... N
DPL_OUTCONV... N
DPL_FILESCONV. N
DPL_STRIPANSI. N
DPL_TRYTXT.... N
DPL_INTABLE... 0
DPL_OUTTABLE.. 0
DPL_STRINGS... 1

DPL_ID

Display mode number. (1-254)

DPL_PATH

Path used by display mode to find menus and text files. If this is "iso/", text stuff is searched from $DAYDREAM/display/iso/-directory.

DPL_ANSI

If this is Y, ansi colors are enabled. If this is N, only 2 colors are used.

DPL_INCONV

Activate incoming conversion. If this is Y, incoming characters will be converted.

DPL_OUTCONV

Activate outgoing conversion. If this is Y, outgoing characters will be converted.

DPL_FILESCONV

Activate textfile conversion. If this is Y, outgoing textfiles will be converted.

DPL_STRIPANSI

Strip ansicodes from textfiles.

DPL_TRYTXT

If GFX file doesn't exist, try TXT.

DPL_INTABLE

Incoming conversion table number or 0.

DPL_OUTTABLE

Outgoing conversion table number or 0.

DPL_STRINGS

Number of string file (strings.xxx) to use.

8 Node configuration

MNODE_NODE.... 1
MNODE_MBAUD... 1200
MNODE_MNBAUD.. 1200
MNODE_OWNDIR.. N
MNODE_NOTIFY.. Y
MNODE_HIDEINAC Y
MNODE_HIDEWAIT N
MNODE_HIDECALL N
MNODE_NOPASSWD N
MNODE_TEMP.... /home/bbs/temp/node1/
MNODE_TTYNAME. /dev/ttyS0
MNODE_TTYTYPE. 0
MNODE_TTYSPEED 0

MNODE_NODE

Node number (1-255). Telnet and local nodes need "general preset", so if this is for Telnet node, use T. For local node use L.

MNODE_MBAUD

Minimum baudrate to logon.

MNODE_MNBAUD

Minimum baudrate for new users.

MNODE_OWNDIR

Y to Get Display stuff from $DAYDREAM/node[number]/display/ instead of $DAYDREAM/display/.

MNODE_NOTIFY

Y to notify other users online when someone logs on to this node.

MNODE_HIDEINAC

Y to hide node when no one is online.

MNODE_HIDEWAIT

Obsolete.

MNODE_HIDECALL

Y to hide node when there's a caller online.

MNODE_NOPASSWD

Obsolete.

MNODE_TEMP

Path to temp dir. If this is a telnet or local node, use %d to insert node number. (eg. /home/bbs/temp/node%d/)

MNODE_TTYNAME

TTY-name for node or - if local/telnet node.

MNODE_TTYTYPE

TTY type. 0 = Dial-up, 1 = Local, 2 = Telnet

MNODE_TTYSPEED

Imaginary bps rate for local or telnet calls.

9 Security levels

SEC_LEVEL..... 1
SEC_FRATIO.... 3
SEC_BRATIO.... 3
SEC_PAGES..... 3
SEC_TIMELIMIT. 20
SEC_CONFACC1.. XXXXXXXXXXXXXX------------------
SEC_CONFACC2.. --------------------------------
SECF_DOWNLOAD. N
SECF_UPLOAD... N
SECF_READMSGS. N
SECF_ENTERMSG. N
SECF_PAGE..... N
SECF_COMMENT.. N
SECF_BULLETINS N
SECF_LISTFILES N
SECF_NEWFILES. N
SECF_ZIPPY.... N
SECF_RUNDOOR.. N
SECF_JOINCONF. N
SECF_MSGAREAC. N
SECF_CHANGEINF N
SECF_RELOGIN.. N
SECF_TAGED.... N
SECF_VIEWSTATS N
SECF_VIEWTIME. N
SECF_HYDRA.... N
SECF_EXPERT... N
SECF_EALL..... N
SECF_FIDOMSG.. N
SECF_PRIVMSG.. N
SECF_READALL.. N
SECF_USERED... N
SECF_VIEWLOG.. N
SECF_SYSOPDL.. N
SECF_USERLIST. N
SECF_DELETEANY N
SECF_SHELL.... N
SECF_WHO...... N
SECF_MOVE..... N
SECF_SFCONFS.. N
SECF_SMBASES.. N
SECF_NETMAIL.. N
SECF_OLM...... N
SECF_PRVATTACH N
SECF_PUBATTACH N
SECF_VIEWFILE. N
SECF_REALNAME. Y
SECF_HANDLE... Y

SEC_LEVEL

Security level.

SEC_FRATIO

File ratio for this level. 0 for disabled.

SEC_BRATIO

Byte ratio for this level. 0 for disabled.

SEC_PAGES

Amount of sysop pages per call.

SEC_TIMELIMIT

Time limit / day in minutes.

SEC_CONFACC1

Access flags to conferences 1-32.

SEC_CONFACC2

Access flags to conferences 33-64.

SECF_DOWNLOAD

Y/N. Download files.

SECF_UPLOAD

Y/N. Upload files.

SECF_READMSGS

Y/N. Read messages.

SECF_ENTERMSG

Y/N. Write messages.

SECF_PAGE

Y/N. Page/yell sysop.

SECF_COMMENT

Y/N. Comment to sysop.

SECF_BULLETINS

Y/N. View bulletins.

SECF_LISTFILES

Y/N. List files.

SECF_NEWFILES

Y/N. View new files.

SECF_ZIPPY

Y/N. Zippy search.

SECF_RUNDOOR

Y/N. Run external programs.

SECF_JOINCONF

Y/N. Join conference.

SECF_MSGAREAC

Y/N. Change msg area.

SECF_CHANGEINF

Y/N. Change user information.

SECF_RELOGIN

Y/N. Relogin. (Not currently available).

SECF_TAGED

Y/N. Tag editor.

SECF_VIEWSTATS

Y/N. View user information.

SECF_VIEWTIME

Y/N. View local time.

SECF_HYDRA

Obsolete.

SECF_EXPERT

Y/N. Turn expert mode on/off.

SECF_EALL

Y/N. Write EALL messages.

SECF_FIDOMSG

Y/N. Write fidonet messages. (Not currently available).

SECF_PRIVMSG

Y/N. Write private messages.

SECF_READALL

Y/N. Read ANY message. (Private to someone else).

SECF_USERED

Y/N. User editor.

SECF_VIEWLOG

Y/N. View log files.

SECF_SYSOPDL

Y/N. SysOp download.

SECF_USERLIST

Y/N. List users.

SECF_DELETEANY

Y/N. Delete ANY message.

SECF_SHELL

Y/N. Remote shell. (Not currently available)

SECF_WHO

Y/N. View who is online.

SECF_MOVE

Y/N. Move files.

SECF_SFCONFS

Y/N. Select conferences to scan for new files.

SECF_SMBASES

Y/N. Select messagebases for mailscan.

SECF_NETMAIL

Y/N. Send netmail. (Not currently available)

SECF_OLM

Y/N. Send online message.

SECF_PRVATTACH

Y/N. Attach file to a private message.

SECF_PUBATTACH

Y/N. Attach file to a public message.

SECF_VIEWFILE

Y/N. View file.

SECF_REALNAME

Y/N. Change real name.

SECF_HANDLE

Y/N. Change handle.

10 File Transfer protocols

XPR_ID........ Z
XPR_NAME...... Z-Modem
XPR_EFFICIENCY 97
XPR_TYPE...... 1

XPR_ID

Procotol ID.

XPR_NAME

Protocol name.

XPR_EFFICIENCY

Protocol efficiency. (In percents)

XPR_TYPE

Protocol type. 1 = ZModem, 2 = HydraCom, 3 = Smodem, 4 = FTP. For ftp see ddftp/README.