Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
config:sbbs.ini [2019/01/05 16:22] – [[Global]] Updated digital manconfig:sbbs.ini [2024/03/03 01:34] (current) – [[BBS]] Add ALLOW_SFTP and NO_TELNET, remove MUTE digital man
Line 1: Line 1:
-====== sbbs.ini ======+====== Initialization Configuration ======
  
-The Synchronet BBS (SBBS) Initialization File is the mother of all Synchronet configuration files and is located in the ''[[dir:ctrl]]'' directory.+The Synchronet BBS (SBBS) Initialization File (''sbbs.ini''is the mother of all Synchronet v3 configuration files and is located in the ''[[dir:ctrl]]'' directory.
  
 ===== Filename ===== ===== Filename =====
Line 7: Line 7:
 The base filename of the initialization file is ''[[dir:ctrl]]/sbbs.ini'' The base filename of the initialization file is ''[[dir:ctrl]]/sbbs.ini''
  
-The standard host/platform variations of the initialization filenames are also supported. See [[INI_files#filenaming|INI Filenaming]] for details.+The standard host/platform variations of the initialization filenames are also supported. See [[INI_files#filenaming|.ini filenaming]] for details.
  
 ===== Defaults ===== ===== Defaults =====
  
-Download or view the default ''sbbs.ini'' file here: ''[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/sbbs.ini|sbbs.ini]]''+Download or view the default ''sbbs.ini'' file here: ''[[https://gitlab.synchro.net/main/sbbs/-/blob/master/ctrl/sbbs.ini|sbbs.ini]]''
  
 ===== Editing ===== ===== Editing =====
Line 28: Line 28:
  
 The supported ''[Global]'' keys are: The supported ''[Global]'' keys are:
 +
 +^ Key                          ^ Default         ^ Description ^
 +| HostName                     | <none>          | Override system hostname |
 +| Interface                    | ''0.0.0.0,::''  | Default local network interface(s) to listen for connections on |
 +| OutboundInterface            | ''0''           | Default IPv4 network interface to perform outbound connections from |
 +| LogLevel                     | Informational   | Default minimum severity of log messages to view or log-to-disk |
 +| TLSErrorLevel                | Emergency       | Maximum severity of TLS-related log messages |
 +| BindRetryCount               | 2               | Default number of network interface/port bind retry attempts |
 +| BindRetryDelay               | 15              | Default number of seconds to wait between bind attempts |
 +| CtrlDirectory                |                 | Override default ''[[dir:ctrl]]'' directory |
 +| TempDirectory                | ''../temp/''    | Override default temporary file directory |
 +| SemFileCheckFrequency        | 2               | Default seconds between semaphore file checks |
 +| LoginAttemptDelay            | 5000            | Default number of milliseconds to pause after a failed login attempt |
 +| LoginAttemptThrottle         | 1000            | Default number of milliseconds to delay a connection from a suspicious host |
 +| LoginAttemptHackThreshold    | 10              | Default number of failed login attempts before logging attempt to ''hack.log'' |
 +| LoginAttemptTempBanThreshold | 20              | Default number of failed login attempts before temporarily banning IP address |
 +| LoginAttemptTempBanDuration  | 10M             | Default duration of a temporary IP address ban |
 +| LoginAttemptFilterThreshold  | 0               | Default number of failed login attempts before auto-filtering an IP address |
 +| LoginAttemptFilterDuration   | 0 (Infinite)    | Default duration of IP address filters |
 +| AnswerSound                  |                 | Default WAV file to play locally upon accepting a TCP connection |
 +| LoginSound                                   | Default WAV file to play locally upon successful user authentication |
 +| LogoutSound                  |                 | Default WAV file to play locally upon logout of an authenticated user |
 +| HangupSound                  |                 | Default WAV file to play locally upon disconnection of a TCP session |
 +| HackAttemptSound                             | Default WAV file to play locally upon a detected hack attempt |
 +| JavaScript*                  |                 | Default JavaScript settings, see [[JavaScript]] for details |
 +
 +**More details on keys follow**:
  
 === HostName === === HostName ===
Line 54: Line 81:
 **Note**: **Note**:
 Although TCP port numbers may be specified (with ''//<address>//://port//'' syntax) in the ''*Interface'' values of the subsequent server sections of this file, the ''[Global] Interface'' value **must not** have any port numbers specified. Although TCP port numbers may be specified (with ''//<address>//://port//'' syntax) in the ''*Interface'' values of the subsequent server sections of this file, the ''[Global] Interface'' value **must not** have any port numbers specified.
 +
 +=== OutboundInterface ===
 +
 +Default: ''0.0.0.0'' (any available IPv4 interface)
 +
 +The IPv4 address of the network interface to use for outgoing TCP/IP connections.
  
 === CtrlDirectory === === CtrlDirectory ===
Line 103: Line 136:
 === LogLevel === === LogLevel ===
  
-Default: ''Debugging''+Default: ''Informational''
  
 Highest log level to actually log/print (ignore all higher/less-severe log entries). Highest log level to actually log/print (ignore all higher/less-severe log entries).
Line 112: Line 145:
 This setting may be overridden by a ''LogLevel'' value in the subsequent server sections of this file. This setting may be overridden by a ''LogLevel'' value in the subsequent server sections of this file.
  
-=== JavaScriptMaxBytes ===+=== JavaScript* ===
  
-Default: ''8M'' +See [[JavaScript]] for details.
- +
-Maximum allocation of memory per JavaScript run-time.+
  
 **Note**: **Note**:
 Each ''[Global] JavaScript*'' setting may be overridden by a corresponding ''JavaScript*'' value in the subsequent server sections of this file. Each ''[Global] JavaScript*'' setting may be overridden by a corresponding ''JavaScript*'' value in the subsequent server sections of this file.
- 
-=== 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 ''[[dir:exec]]'' or ''[[dir:mods]]'' directories). 
- 
-These are the directories/sub-directories where the JavaScript ''load()'' method will search for filenames to be loaded by other scripts. 
  
 === LoginAttemptDelay === === LoginAttemptDelay ===
Line 199: Line 194:
  
 Set to ''0'' to disable automatic filtering of IP addresses due to failed login attempts. Set to ''0'' to disable automatic filtering of IP addresses due to failed login attempts.
 +
 +=== LoginAttemptFilterDuration ===
 +Default: ''0'' (Infinite)
 +
 +The  length (in seconds) of a persistent IP ban.
  
 ==== [BBS] ==== ==== [BBS] ====
Line 253: Line 253:
  
 The maximum amount of time allowed for a SecureShell (SSH) connection negotiation to complete. The maximum amount of time allowed for a SecureShell (SSH) connection negotiation to complete.
 +
 +=== SSHErrorLevel ===
 +
 +Default: ''4'' (warning)
 +
 +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 === === Pet40Port ===
Line 265: Line 271:
  
 If a connection is made to the [[:server:Terminal]] server, via any supported protocol, on this TCP port number, the terminal will be assumed to be an 80-column CBM/PETSCII (non-ANSI) terminal (e.g. Commodore 128). Setting this port number does not cause the server to //listen// on this port, so if you desire to support CBM/PETSCII terminal-connections, you will also need to add this port number to the ''TelnetInterface'' list (for example). If a connection is made to the [[:server:Terminal]] server, via any supported protocol, on this TCP port number, the terminal will be assumed to be an 80-column CBM/PETSCII (non-ANSI) terminal (e.g. Commodore 128). Setting this port number does not cause the server to //listen// on this port, so if you desire to support CBM/PETSCII terminal-connections, you will also need to add this port number to the ''TelnetInterface'' list (for example).
 +
 +=== OutboundInterface ===
 +
 +Default: ''0.0.0.0'' (any available IPv4 interface)
 +
 +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 318: Line 330:
  
 When the BBS is running on a *nix-like OS, this value determines the value of the ''TERM'' environment variable that will be set when invoking interactive external programs for users with terminals that **do not** support ANSI. When the BBS is running on a *nix-like OS, this value determines the value of the ''TERM'' environment variable that will be set when invoking interactive external programs for users with terminals that **do not** support ANSI.
 +
 +=== UseDOSemu ===
 +
 +Default: ''false'' (new sysops with default file) or ''true'' (missing from file/existing sysops)
 +
 +This will enable [[howto:dosemu|DOSEmu]] support for running DOS-based external programs. When you first install Synchronet, you will need to "opt in" by setting this to true in order to use DOSEmu.
  
 === DOSemuPath === === DOSemuPath ===
Line 323: Line 341:
 Default: ''/usr/bin/dosemu.bin'' (Linux) or ''/usr/local/bin/doscmd'' (FreeBSD) Default: ''/usr/bin/dosemu.bin'' (Linux) or ''/usr/local/bin/doscmd'' (FreeBSD)
  
-When the BBS is running on a *nix-like OS and built with DOS emulator support (e.g. ''USE_DOSEMU'' defined on Linux), 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.+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: ''dosemu.conf'' 
 + 
 +This specifies where DOSEmu should look for the conf file. If you only specify a filename, it will look in the ''[[dir:ctrl]]'' dir.  
 + 
 +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 /etc/dosemu/dosemu.conf 
 +  - It will use /etc/dosemu.conf
  
 === AnswerSound === === AnswerSound ===
Line 350: Line 381:
 |DEBUG_TELNET    | Log Telnet commands and responses (with Debug log-level messages) | |DEBUG_TELNET    | Log Telnet commands and responses (with Debug log-level messages) |
 |ALLOW_SSH | Enable the Secure Shell (SSH) protocol for incoming connections | |ALLOW_SSH | Enable the Secure Shell (SSH) protocol for incoming connections |
 +|ALLOW_SFTP | Enable SSH File Transfers (SFTP) |
 |ALLOW_RLOGIN | Enable the RLogin protocol for incoming connections | |ALLOW_RLOGIN | Enable the RLogin protocol for incoming connections |
 |NO_QWK_EVENTS   | Disable QWK networking events | |NO_QWK_EVENTS   | Disable QWK networking events |
 |NO_NEWDAY_EVENTS| Disable daily events from running in this instance of Synchronet | |NO_NEWDAY_EVENTS| Disable daily events from running in this instance of Synchronet |
 |NO_EVENTS | Disable the Events thread (all timed events) | |NO_EVENTS | Disable the Events thread (all timed events) |
 +|NO_TELNET       | Disable Telnet support |
 |NO_TELNET_GA    | Disable periodic transmissions of the Telnet "Go Ahead" command (Telnet only) | |NO_TELNET_GA    | Disable periodic transmissions of the Telnet "Go Ahead" command (Telnet only) |
 |NO_HOST_LOOKUP  | Do not attempt hostname look-ups on incoming connections (log IP addresses only) | |NO_HOST_LOOKUP  | Do not attempt hostname look-ups on incoming connections (log IP addresses only) |
Line 360: Line 393:
 |NO_RECYCLE      | Disable the ability for the terminal server to be recycled | |NO_RECYCLE      | Disable the ability for the terminal server to be recycled |
 |GET_IDENT | Use the IDENT protocol on incoming connections | |GET_IDENT | Use the IDENT protocol on incoming connections |
-|MUTE | Disable all local sound output |+
  
 ==== [FTP] ==== ==== [FTP] ====
Line 375: Line 408:
  
 ==== [Services] ==== ==== [Services] ====
 +
 +^ Key           ^ Default            ^ Description ^
 +| iniFileName   | ''services.ini''   | Configuration file in the ''[[dir:ctrl]]'' directory that contains list of supported services |
 +| Interfaces    | //Global//         | Network interfaces to bind/listen |
 +| JavaScript*   | //Global//         | JavaScript operating parameters |
 +| LoginAttempt* | //Global//         | Hack attempt counter-measure configuration |
 +| HostName      | //Global//         | Public host name |
 +| TempDirectory | //Global//         | Temporary file directory |
 +| SemFileCheckFrequency | //Global// | Frequency (interval) in seconds between semaphore file checks |
 +| AnswerSound    |                    | WAV file to play upon answering an incoming connection |
 +| HangupSound    |                    | WAV file to play upon client disconnection |
 +| BindRetryCount | //Global//         | Maximum of number of network interface bind retries |
 +| BindRetryDelay | //Global//         | Seconds between bind retry attempts |
 +| LogLevel       | //Global//         | Minimum severity of log messages to be logged |
 +| Options        | ''NO_HOST_LOOKUP'' | Option flags to apply to all services by default |
  
 See [[:service:index|Services]] and [[:config:services.ini]] for more details. See [[:service:index|Services]] and [[:config:services.ini]] for more details.
Line 387: Line 435:
    
  
-{{tag>sbbs.ini}}+{{tag>configuration general_config ini}}
  
  
config/sbbs.ini.1546734170.txt · Last modified: 2019/01/05 16:22 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0