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.
---------------------------------------- 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
ASKHANDLE1ST. N
SYSOP_COL.... [36m
USER_COL..... [35m
ALIENS....... /home/bbs/aliens/
LINE_EDCOM... $
FSED......... /home/bbs/doors/dded %N
SCREENLENGTH. 30
FREEDLLINE... [-] FREE DOWNLOAD -------- FREE DOWNLOAD [-]
COSYSOPACCESS 250
HOLDDIR...... /home/bbs/hold/
TELNETNODEPAT /dev/ttyp* /dev/ttys*
TELNETNODE1ST 10
TELNETNODEMAX 4
LOCALNODEPAT. /dev/tty*
LOCALNODE1ST. 3
LOCALNODEMAX. 2
ASKDISPLAY... Y
ALLOW2LOGINS. N
ASKNEWUSER... Y
LOGINSTYLE... 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
PYTHON....... /usr/bin/python
FLOODKILLTRIG 10
DOORLIBPATH.. /home/bbs/lib
~
---------------------------------------- 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)
- 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.
- 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.
- 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.
- 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.
- ASKDISPLAY
-
This setting controls whether to ask the number of incoming/outgoing
conversion tables on login. If this is set to N, the default is 1.
- ALLOW2LOGINS
-
Y/N. Allow multiple logins at once.
- ASKNEWUSER
-
Y/N/D. If user tries to login with non-existing account, ask if
he/she wants to create a new one. Setting this to 'D' disables
new account creation completely.
- LOGINSTYLE
-
Y/N. If this is set to 'N', login password will not be asked if
the user account does not exist. Setting this to 'Y' will make it
a bit more difficult for an attacker to probe the valid accounts
in the system. On other words, password will asked even if the
account does not exist.
- 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.
- PYTHON
-
Path to python executable.
- FLOODKILLTRIG
-
Number of bare linefeeds received before the user is kicked out. Maybe
not that useful thing taken from PCB.
- DOORLIBPATH
-
Some doors are dynamically linked but the runtime library path may be
missing, for example, when the doors are invoked during archive checking
after a FTP upload. You can use this to provide the correct path,
usually /home/bbs/lib.
-------------------------------- 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).
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).
- BASE_MAXMSGS
-
Max number of messages in message base.
- BASE_NAME
-
Name of the message base.
Currently, must not contain any spaces i.e. " " or things
that wouldn't work as a valid filename in order to use
echomail/netmail.
- 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.
No ansi or pipe colors.
- 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$$!"
For echomail / netmail, only > or I are allowed.
- 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.
DOOR_COMMAND.. WALL
DOOR_TYPE..... 1
DOOR_SECURITY. 5
DOOR_EXECUTE.. /home/bbs/doors/wall %N
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_PASSWD... -
- 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
- 5 = stdio program without user input
- 6 = python script using dd-module
- 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). Some tokens in this
field are interpreted in a special way, see
door parameters.
- 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.
- DOOR_PASSWD
-
The door's password, up to 15 characters, case insensitive. Can
be set to '-' to disable password. The prompt for this password
should be in a text file called 'doorpasswdXYZ.[gfx/txt]', where
XYZ is the name of the door in lower case. The alternatives for
user's security level and the current conference are checked
before failing back to /home/bbs/display/iso. Look at
'display/iso/doorpasswdshell.[gfx/txt]' for an example.
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
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_GETDATE... Y
ARC_DELETECOR. Y
ARC_DISPLAY... Y
ARC_VIEWSEC... 200
- 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_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.
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.
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 = Telnet, 2 = Local, 3 = FTP
- MNODE_TTYSPEED
-
Imaginary bps rate for local or telnet calls.
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.
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.