Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
config:sbbs.ini [2018/03/01 12:10] – Links to util:binkit changed to module:binkit digital man | config:sbbs.ini [2023/11/22 20:55] – [[BBS]] Add SSHErrorLevel digital man | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | The Synchronet BBS (SBBS) Initialization File is the mother of all Synchronet configuration files and is located in the '' | + | The Synchronet BBS (SBBS) Initialization File ('' |
===== Filename ===== | ===== Filename ===== | ||
Line 7: | Line 7: | ||
The base filename of the initialization file is '' | The base filename of the initialization file is '' | ||
- | The standard host/ | + | The standard host/ |
===== Defaults ===== | ===== Defaults ===== | ||
- | Download or view the default '' | + | Download or view the default '' |
===== Editing ===== | ===== Editing ===== | ||
Line 27: | Line 27: | ||
The '' | The '' | ||
- | These keys are: | + | The supported '' |
- | === Hostname | + | ^ Key ^ Default |
+ | | HostName | ||
+ | | Interface | ||
+ | | OutboundInterface | ||
+ | | LogLevel | ||
+ | | TLSLogLevel | ||
+ | | BindRetryCount | ||
+ | | BindRetryDelay | ||
+ | | CtrlDirectory | ||
+ | | TempDirectory | ||
+ | | SemFileCheckFrequency | ||
+ | | LoginAttemptDelay | ||
+ | | LoginAttemptThrottle | ||
+ | | LoginAttemptHackThreshold | ||
+ | | LoginAttemptTempBanThreshold | 20 | Default number of failed login attempts before temporarily banning IP address | | ||
+ | | LoginAttemptTempBanDuration | ||
+ | | LoginAttemptFilterThreshold | ||
+ | | AnswerSound | ||
+ | | LoginSound | ||
+ | | LogoutSound | ||
+ | | HangupSound | ||
+ | | HackAttemptSound | ||
+ | | JavaScript* | ||
+ | |||
+ | **More details on keys follow**: | ||
+ | |||
+ | === HostName | ||
Default: < | Default: < | ||
- | The public Internet | + | The public Internet |
- | If not set, the hostname | + | If not set, the host name configured in '' |
+ | |||
+ | **Note**: | ||
+ | The '' | ||
=== Interface === | === Interface === | ||
- | Default: | + | Default: |
+ | |||
+ | The IPv4 and/or IPv6 addresses of the network interfaces to listen on for incoming TCP/IP connections. | ||
+ | |||
+ | If multiple addresses are specified, they are to be separated by commas (this is true of all the '' | ||
+ | |||
+ | The address value '' | ||
+ | |||
+ | If this value is not set, any and all IPv4 and IPv6 network interfaces available will be listened to for incoming connections. | ||
+ | |||
+ | **Note**: | ||
+ | Although TCP port numbers may be specified (with ''//< | ||
- | The IPv4 and/or IPv6 address of the network interfaces to listen for incoming TCP/IP connections on. | + | === OutboundInterface === |
- | If multiple address are specified, they are to be separated by commas (this is true of all the '' | + | Default: |
- | If not set, any and all network | + | The IPv4 address of the network |
=== CtrlDirectory === | === CtrlDirectory === | ||
Line 60: | Line 100: | ||
If you do override this, do NOT use the system-wide temp dir (e.g.: ''/ | If you do override this, do NOT use the system-wide temp dir (e.g.: ''/ | ||
+ | **Note**: | ||
+ | The '' | ||
=== SemFileCheckFrequency === | === SemFileCheckFrequency === | ||
Line 67: | Line 109: | ||
The interval, in seconds, betweeen [[semfiles|semaphore file]] checks. If you want to reduce the amount of disk I/O while the BBS is idle, you can increase this value. If you set this value below 1, the BBS server threads will use the default value (2). | The interval, in seconds, betweeen [[semfiles|semaphore file]] checks. If you want to reduce the amount of disk I/O while the BBS is idle, you can increase this value. If you set this value below 1, the BBS server threads will use the default value (2). | ||
+ | |||
+ | **Note**: | ||
+ | The '' | ||
=== BindRetryCount === | === BindRetryCount === | ||
Line 75: | Line 120: | ||
Increase this value if you get errors binding to ports on reloads (especially on *nix). | Increase this value if you get errors binding to ports on reloads (especially on *nix). | ||
+ | |||
+ | **Note**: | ||
+ | This setting may be overridden by a '' | ||
=== BindRetryDelay === | === BindRetryDelay === | ||
Line 81: | Line 129: | ||
Delay (in seconds) between bind retries. | Delay (in seconds) between bind retries. | ||
+ | |||
+ | **Note**: | ||
+ | This setting may be overridden by a '' | ||
=== LogLevel === | === LogLevel === | ||
- | Default: '' | + | Default: '' |
Highest log level to actually log/print (ignore all higher/ | Highest log level to actually log/print (ignore all higher/ | ||
Supported log levels in decreasing severity (ala [[: | Supported log levels in decreasing severity (ala [[: | ||
Emergency, Alert, Critical, Error, Warning, Notice, Informational, | Emergency, Alert, Critical, Error, Warning, Notice, Informational, | ||
+ | | ||
+ | **Note**: | ||
+ | This setting may be overridden by a '' | ||
- | === JavaScriptMaxBytes | + | === JavaScript* |
- | Default: '' | + | See [[JavaScript]] for details. |
- | Maximum allocation of memory per JavaScript run-time. | + | **Note**: |
- | + | Each '' | |
- | === JavaScriptContextStack === | + | |
- | Default: | + | |
- | + | ||
- | Maximum stack size per JavaScript | + | |
- | + | ||
- | === JavaScriptTimeLimit === | + | |
- | Default: | + | |
- | + | ||
- | Maximum number of ticks (100ms) before auto-termination of a JavaScript script (i.e. //infinite loop detection// | + | |
- | + | ||
- | Set to '' | + | |
- | + | ||
- | Note: This key replaces the old '' | + | |
- | + | ||
- | === JavaScriptGcInterval === | + | |
- | Default: '' | + | |
- | + | ||
- | JavaScript | + | |
- | + | ||
- | Set to '' | + | |
- | + | ||
- | === JavaScriptYieldInterval === | + | |
- | + | ||
- | Default: '' | + | |
- | + | ||
- | Time-slice yield interval (in ticks). | + | |
- | + | ||
- | Set to '' | + | |
- | + | ||
- | === JavaScriptLoadPath === | + | |
- | Default: '' | + | |
- | + | ||
- | Comma-separated list of load paths (relative to '' | + | |
- | + | ||
- | These are the directories/ | + | |
=== LoginAttemptDelay === | === LoginAttemptDelay === | ||
Line 136: | Line 155: | ||
The number of milliseconds to pause after a failed login attempt. | The number of milliseconds to pause after a failed login attempt. | ||
+ | |||
+ | **Note**: | ||
+ | Each '' | ||
=== LoginAttemptThrottle === | === LoginAttemptThrottle === | ||
Line 156: | Line 178: | ||
Set to '' | Set to '' | ||
- | NOTE: Failed logins using any of the filtered user IDs (from '' | + | **Note**: Failed logins using any of the filtered user IDs (from '' |
- | + | ||
- | NOTE: Added in v3.17 (May-2016) | + | |
=== LoginAttemptTempBanDuration === | === LoginAttemptTempBanDuration === | ||
Line 164: | Line 184: | ||
The length (in seconds) of a temporary IP ban based on either multiple consecutive failed login attempts or any failed login attempt using a banned user ID (from '' | The length (in seconds) of a temporary IP ban based on either multiple consecutive failed login attempts or any failed login attempt using a banned user ID (from '' | ||
- | |||
- | NOTE: Added in v3.17 (May-2016) | ||
=== LoginAttemptFilterThreshold === | === LoginAttemptFilterThreshold === | ||
Line 172: | Line 190: | ||
The number of consecutive unique failed login attempts from the same host before auto-filtering the host's IP address in the '' | The number of consecutive unique failed login attempts from the same host before auto-filtering the host's IP address in the '' | ||
- | For this auto-filtering feature to work with the Synchronet v3.16c Terminal Server (Telnet, RLogin, and SSH login attempts), the sysop must set [[module:binkit]]-> | + | For this auto-filtering feature to work with the Synchronet v3.16c Terminal Server (Telnet, RLogin, and SSH login attempts), the sysop must set '' |
Set to '' | Set to '' | ||
+ | |||
==== [BBS] ==== | ==== [BBS] ==== | ||
Line 180: | Line 199: | ||
In addition to the keys listed in the '' | In addition to the keys listed in the '' | ||
+ | |||
+ | === AutoStart === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | Automatically startup the [[server: | ||
=== TelnetInterface === | === TelnetInterface === | ||
Line 185: | Line 210: | ||
Default: value of '' | Default: value of '' | ||
- | The IPv4 and/or IPv6 address | + | The IPv4 and/or IPv6 addresses |
=== TelnetPort === | === TelnetPort === | ||
Line 191: | Line 216: | ||
Default: '' | Default: '' | ||
- | The TCP port number on which to listen for incoming | + | The TCP port number on which to listen for incoming Telnet connections. |
=== RLoginInterface === | === RLoginInterface === | ||
Line 197: | Line 222: | ||
Default: value of '' | Default: value of '' | ||
- | The IPv4 and/or IPv6 address | + | The IPv4 and/or IPv6 addresses |
=== RLoginPort === | === RLoginPort === | ||
Line 203: | Line 228: | ||
Default: '' | Default: '' | ||
- | The TCP port number on which to listen for incoming | + | The TCP port number on which to listen for incoming RLogin connections. |
=== SSHInterface === | === SSHInterface === | ||
Line 209: | Line 234: | ||
Default: value of '' | Default: value of '' | ||
- | The IPv4 and/or IPv6 address of the network interfaces to listen for incoming Secure Shell ([[server: | + | The IPv4 and/or IPv6 address of the network interfaces to listen for incoming Secure Shell (SSH) connections on ('' |
=== SSHPort === | === SSHPort === | ||
Line 215: | Line 240: | ||
Default: '' | Default: '' | ||
- | The TCP port number on which to listen for incoming Secure Shell ([[server: | + | The TCP port number on which to listen for incoming Secure Shell (SSH) connections. |
+ | |||
+ | === SSHConnectTimeout === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | The maximum amount of time allowed for a SecureShell (SSH) connection negotiation to complete. | ||
+ | |||
+ | === SSHErrorLevel === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | The maximum severity of SSH-related log messages. SSH-related log messages of higher severity (i.e. lower numeric level) will be capped at this severity level. | ||
+ | |||
+ | === Pet40Port === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | If a connection is made to the [[:server:Terminal]] server, via any supported protocol, on this TCP port number, the terminal | ||
+ | |||
+ | === Pet80Port === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | If a connection is made to the [[: | ||
+ | |||
+ | === OutboundInterface === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | The IPv4 address of the network interface to use for outgoing TCP/IP connections (i.e. for Telnet and RLogin gateway connections). | ||
=== FirstNode === | === FirstNode === | ||
Line 221: | Line 276: | ||
Default: '' | Default: '' | ||
- | The number of the first terminal server node serviced by this instance of Synchronet. | + | The number of the first terminal server node serviced by this instance of Synchronet. The minimum value for this settings is '' |
+ | |||
+ | Normally, this value should be left at '' | ||
=== LastNode === | === LastNode === | ||
Line 227: | Line 284: | ||
Default: '' | Default: '' | ||
- | The number of the last terminal server node serviced by this instance of Synchronet. | + | The number of the last terminal server node serviced by this instance of Synchronet. |
+ | Specified last_node (x) > sys_nodes (y), auto-corrected | ||
=== MaxConcurrentConnections === | === MaxConcurrentConnections === | ||
Line 233: | Line 291: | ||
Default: '' | Default: '' | ||
- | If set to a non-zero number, this will limit the number of concurrent connections to the [[server: | + | If set to a non-zero number, this will limit the number of concurrent connections to the [[server: |
=== OutbufHighwaterMark === | === OutbufHighwaterMark === | ||
- | Default: '' | + | Default: '' |
=== OutbufDrainTimeout === | === OutbufDrainTimeout === | ||
- | Default: '' | + | Default: '' |
+ | |||
+ | === SemFileCheckFrequency === | ||
+ | |||
+ | Default: value of '' | ||
+ | |||
+ | === TempDirectory === | ||
+ | |||
+ | Default: value of '' | ||
+ | |||
+ | === HostName === | ||
+ | |||
+ | Default: value of '' | ||
=== ExternalTermANSI === | === ExternalTermANSI === | ||
Default: '' | Default: '' | ||
+ | |||
+ | When the BBS is running on a *nix-like OS, this value determines the value of the '' | ||
=== ExternalTermDumb === | === ExternalTermDumb === | ||
Default: '' | Default: '' | ||
+ | |||
+ | When the BBS is running on a *nix-like OS, this value determines the value of the '' | ||
+ | |||
+ | === UseDOSemu === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | This will enable [[howto: | ||
=== DOSemuPath === | === DOSemuPath === | ||
Default: ''/ | Default: ''/ | ||
+ | |||
+ | When the BBS is running on a *nix-like OS, this value determines the default path of the DOS emulator to be executed when a non-native program (e.g. 16-bit MS-DOS door game) will be invoked by the BBS. | ||
+ | |||
+ | === DOSemuConfPath === | ||
+ | |||
+ | Default: '' | ||
+ | |||
+ | This specifies where DOSEmu should look for the conf file. If you only specify a filename, it will look in the '' | ||
+ | |||
+ | The order of using conf file locations is: | ||
+ | |||
+ | - It will look in the startup dir of the external program | ||
+ | - It will use this path from sbbs.ini (if configured) | ||
+ | - It use / | ||
+ | - It will use / | ||
=== AnswerSound === | === AnswerSound === | ||
Line 260: | Line 354: | ||
Default: //none// | Default: //none// | ||
- | Path to a WAVE file to played (locally) when accepting incoming connections. | + | Path to a WAVE file to played (locally) when accepting incoming connections. Only supported on Windows. |
=== HangupSound === | === HangupSound === | ||
Line 266: | Line 360: | ||
Default: //none// | Default: //none// | ||
- | Path to a WAVE file to be played (locally) when terminating connections. | + | Path to a WAVE file to be played (locally) when terminating connections. Only supported on Windows. |
=== Options === | === Options === | ||
- | Default: '' | + | Default: '' |
+ | |||
+ | Recommended: | ||
Supported options, separated by the pipe ('' | Supported options, separated by the pipe ('' | ||
Line 276: | Line 372: | ||
^ Option | ^ Option | ||
|XTRN_MINIMIZED | |XTRN_MINIMIZED | ||
- | |AUTO_LOGON | Enable automatic login based on IP address (not recommended) | | + | |AUTO_LOGON | Enable automatic login based on IP address |
- | |DEBUG_TELNET | + | |DEBUG_TELNET |
- | |SYSOP_AVAILABLE | + | |ALLOW_SSH |
- | |ALLOW_RLOGIN | Enable the [[server: | + | |ALLOW_RLOGIN | Enable the RLogin protocol for incoming connections | |
- | |USE_2ND_RLOGIN | + | |
|NO_QWK_EVENTS | |NO_QWK_EVENTS | ||
- | |NO_TELNET_GA | + | |NO_NEWDAY_EVENTS| Disable |
|NO_EVENTS | Disable the Events thread (all timed events) | | |NO_EVENTS | Disable the Events thread (all timed events) | | ||
- | |NO_HOST_LOOKUP | + | |NO_TELNET_GA |
+ | |NO_HOST_LOOKUP | ||
|NO_SPY_SOCKETS | |NO_SPY_SOCKETS | ||
- | |ALLOW_SSH | + | |NO_DOS |
|NO_RECYCLE | |NO_RECYCLE | ||
|GET_IDENT | Use the IDENT protocol on incoming connections | | |GET_IDENT | Use the IDENT protocol on incoming connections | | ||
- | |NO_JAVASCRIPT | + | |
- | |NO_DOS | + | |
- | |MUTE | Disable all local sound output | | + | |
==== [FTP] ==== | ==== [FTP] ==== | ||
Line 306: | Line 400: | ||
==== [Services] ==== | ==== [Services] ==== | ||
+ | |||
+ | ^ Key ^ Default | ||
+ | | iniFileName | ||
+ | | Interfaces | ||
+ | | JavaScript* | ||
+ | | LoginAttempt* | // | ||
+ | | HostName | ||
+ | | TempDirectory | // | ||
+ | | SemFileCheckFrequency | //Global// | Frequency (interval) in seconds between semaphore file checks | | ||
+ | | AnswerSound | ||
+ | | HangupSound | ||
+ | | BindRetryCount | // | ||
+ | | BindRetryDelay | // | ||
+ | | LogLevel | ||
+ | | Options | ||
See [[: | See [[: | ||
Line 318: | Line 427: | ||
- | {{tag>sbbs.ini}} | + | {{tag>configuration general_config |