This is an old revision of the document!
Table of Contents
sbbs.ini
The Synchronet BBS (SBBS) Initialization File is the mother of all Synchronet configuration files and is located in the ctrl
directory.
Filename
The base filename of the initialization file is ctrl/sbbs.ini
.
The standard host/platform variations of the initialization filenames are also supported. See INI Filenaming for details.
Defaults
Download or view the default sbbs.ini
file here: sbbs.ini
Editing
When using the Synchronet-Win32 Control Panel, the contents of this file are automatically updated when any of the configuration changes are made in the File->Properties menu or the various server configuration dialogs. Windows sysops may never need to edit this file by hand.
If a sysop needs to edit the file by hand, any decent text file editor should do the job. See INI files for more details.
Sections
The contents of the file are divided into multiple named sections:
[Global]
The [Global]
section contains keys whose values will serve as default values for like-named keys in other server sections in the sbbs.ini
file.
These keys are:
Hostname
Default: <none>
The public Internet hostname of this server.
If not set, the hostname configured in SCFG->Networks->Internet E-mail Address will be used.
Interface
Default: <any>
The IP address of the network interface to listen for incoming TCP/IP connections on.
If not set, any and all network interfaces available will be listened on.
CtrlDirectory
Default: $SBBSCTRL
Specify the location of the Synchronet ctrl
directory. Since this file is normally found in the ctrl
directory (e.g. by way of the SBBSCTRL
environment variable) you do not normally need to set this.
TempDirectory
Default: ctrl/../temp
Override the default system “temp” directory (optional).
If you do override this, do NOT use the system-wide temp dir (e.g.: /tmp
or windows\temp
), use a subdirectory instead. Synchronet assumes it is the only user of this directory/subdirectory for its temporary files only.
SemFileCheckFrequency
Default: 2
(seconds)
The interval, in seconds, betweeen semaphore file checks. If you want to reduce the amount of disk I/O while the BBS is idle, you can increase this value.
BindRetryCount
Default: 2
Set the number of times an interface bind will be attempted for each port (before giving up and failing to start/restart the server). An interface/port bind is required for listening for incoming TCP/IP connections.
Increase this value if you get errors binding to ports on reloads (especially on *nix).
BindRetryDelay
Default: 15
(seconds)
Delay (in seconds) between bind retries.
LogLevel
Default: Debugging
Highest log level to actually log/print (ignore all higher/less-severe log entries). Supported log levels in decreasing severity (ala syslog):
Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debugging
JavaScriptMaxBytes
Default: 8M
Maximum allocation of memory per JavaScript run-time.
JavaScriptContextStack
Default: 16K
Maximum stack size per JavaScript context.
JavaScriptTimeLimit
Default: 864000
(24 hours)
Maximum number of ticks (100ms) before auto-termination of a JavaScript script (i.e. infinite loop detection).
Set to 0
for unlimited time (disables infinite loop detection).
Note: This key replaces the old JavaScriptBranchLimit
key which is no longer used (as of Synchronet v3.16).
JavaScriptGcInterval
Default: 100
JavaScript Garbage Collection interval (in ticks).
Set to 0
for never.
JavaScriptYieldInterval
Default: 10000
Time-slice yield interval (in ticks).
Set to 0
for never.
JavaScriptLoadPath
Default: load
Comma-separated list of load paths (relative to exec
or mods
directories).
These are the directories/sub-directories where the JavaScript load()
method will search for filenames to be loaded by other scripts.
LoginAttemptDelay
Default: 5000
(milliseconds)
The number of milliseconds to pause after a failed login attempt.
LoginAttemptThrottle
Deafult: 1000
(milliseconds)
This value is multiplied by the number of consecutive unique failed login attempts and the result is the number of milliseconds to delay a connection from a suspicious host (e.g. with multiple consecutive unique failed login attempts).
LoginAttemptHackThreshold
Default: 10
(attempts)
The number of consecutive unique failed login attempts from the same host before adding entries to the hack.log
file.
Set to 0
to disable automatic hack.log
file entries for failed login attempts.
LoginAttemptFilterThreshold
Default: 0
(attempts)
The number of consecutive unique failed login attempts from the same host before auto-filtering the host's IP address in the ip.can
file.
Set to 0
to disable automatic filtering of IP addresses due to failed login attempts.
[BBS]
See Terminal Server for more details.
In addition to the keys listed in the [Global]
section, the [BBS]
section can contain the following keys with the specified default values:
TelnetInterface
Default: value of [Global] Interface
The IP address of the network interface to listen for incoming Telnet connections on (0
for any interface).
TelnetPort
Default: 23
The TCP port number on which to listen for incoming Telnet connections.
RLoginInterface
Default: value of [Global] Interface
The IP address of the network interface to listen for incoming RLogin connections on (0
for any interface).
RLoginPort
Default: 513
The TCP port number on which to listen for incoming RLogin connections.
SSHInterface
Default: value of [Global] Interface
The IP address of the network interface to listen for incoming Secure Shell (SSH) connections on (0
for any interface).
SSHPort
Default: 22
The TCP port number on which to listen for incoming Secure Shell (SSH) connections.
FirstNode
Default: 1
The number of the first terminal server node serviced by this instance of Synchronet.
LastNode
Default: 4
The number of the last terminal server node serviced by this instance of Synchronet.
OutbufHighwaterMark
Default: 0
or 1024
OutbufDrainTimeout
Default: 10
ExternalTermANSI
Default: pc3
(Linux) or cons25
(FreeBSD)
ExternalTermDumb
Default: dumb
DOSemuPath
Default: /usr/bin/dosemu.bin
(Linux) or /usr/local/bin/doscmd
(FreeBSD)
AnswerSound
Default: none
Path to a WAVE file to played (locally) when accepting incoming connections.
HangupSound
Default: none
Path to a WAVE file to be played (locally) when terminating connections.
Options
Default: XTRN_MINIMIZED | SYSOP_AVAILABLE | ALLOW_RLOGIN | ALLOW_SSH
Supported options, separated by the pipe (|
) symbol:
Option | Description |
---|---|
XTRN_MINIMIZED | External program windows are automatically minimized (Windows) |
AUTO_LOGON | Enable automatic login based on IP address (not recommended) |
DEBUG_TELNET | Log Telnet commands and responses (with Debug log level) |
SYSOP_AVAILABLE | Sysop is available to be paged for chat |
ALLOW_RLOGIN | Enable the RLogin protocol for incoming connections |
USE_2ND_RLOGIN | Use the 2nd RLogin string as the user name to login with (DEPRECATED: this behavior is now hard-coded and non-optional) |
NO_QWK_EVENTS | Disable QWK networking events |
NO_TELNET_GA | Disable periodic transmissions of the Telnet “Go Ahead” command (Telnet only) |
NO_EVENTS | Disable the Events thread (all timed events) |
NO_HOST_LOOKUP | Do not attempt hostname look-ups on incomming connections (log IP addresses only) |
NO_SPY_SOCKETS | Disable node spying (on *nix) |
ALLOW_SSH | Enable the Secure Shell (SSH) protocol for incoming connections |
NO_RECYCLE | Disable the ability for the terminal server to be recycled |
GET_IDENT | Use the IDENT protocol on incoming connections |
NO_JAVASCRIPT | Disable JavaScript support (not recommended) |
NO_DOS | Disable DOS Program support (eliminate the potential for modal error dialogs in 64-bit editions of Windows) |
MUTE | Disable all local sound output |
[FTP]
See FTP Server for more details.
[Mail]
See Mail Server for more details.
[Web]
See Web Server for more details.
[Services]
See Services and services.ini for more details.
[UNIX]
See Configuring UNIX for more details.