| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| config:ini_files [2022/03/12 13:56] – Added tag Andre | config:ini_files [2025/12/21 03:41] (current) – [Enumerated Values] Fix the confusing wording about enum key value word/partial-word matches digital man |
|---|
| ===== Configuration ===== | ===== Configuration ===== |
| |
| Synchronet supports a variety of configuration files of different formats. A growing majority of these configuration files are of the [[wp>INI file]] type. Synchronet's INI configuration files are typically stored in the ''[[dir:ctrl]]'' directory, with a ''.ini'' filename suffix/extension. | Synchronet's INI configuration files are typically stored in the ''[[dir:ctrl]]'' directory, with a ''.ini'' filename suffix/extension. |
| | |
| | ==== Primary Configuration Files ==== |
| | |
| | The primary configuration files managed by the [[util:SCFG]] utility are: |
| | ^ Filename ^ Description ^ |
| | |''[[sbbs.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/sbbs.ini|Synchronet Server Initialization File]] | |
| | | ''main.ini'' | Primary system settings (e.g. BBS name, location, security settings) and command shells | |
| | | ''msgs.ini'' | Message areas, message options, and message networking | |
| | | ''file.ini'' | File areas (for uploads, download), text file areas, and file-related options | |
| | | ''xtrn.ini'' | External program configurations which includes timed events, message editors, hot-key events and doors | |
| | | ''chat.ini'' | Chat Features settings, specifically the Guru, Multi-node chat actions and channels, and external sysop pagers | |
| | | ''node.ini'' | Located in the [[dir:node|node directories]], and configured via the SCFG [[config:nodes]] menu | |
| | |
| | ==== Secondary Configuration Files ==== |
| |
| ^Filename Page ^Default Contents^Description^ | ^Filename Page ^Default Contents^Description^ |
| | |''[[custom:text.ini]]'' |N/A | Customized ''text.dat'' strings (optional) | |
| | |''text.//lang//.ini'' |varies | Alternate language ''text.ini'' files | |
| |''[[cgi_env.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/cgi_env.ini|cgi_env.ini]]|[[server:Web]] Server CGI Settings| | |''[[cgi_env.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/cgi_env.ini|cgi_env.ini]]|[[server:Web]] Server CGI Settings| |
| |''[[formmail.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/formmail.ini|formmail.ini]]|Configuration for ''[[dir:web]]/formmail.ssjs'', Synchronet's Server-side [[custom:JavaScript]] version of [[http://www.scriptarchive.com/formmail.html|FormMail]]| | |''[[formmail.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/formmail.ini|formmail.ini]]|Configuration for ''[[dir:web]]/formmail.ssjs'', Synchronet's Server-side [[custom:JavaScript]] version of [[http://www.scriptarchive.com/formmail.html|FormMail]]| |
| |''[[ircbot.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/ircbot.ini|ircbot.ini]]|Configuration for IRC robots, optionally works with the Synchronet [[service:IRCd]]| | |''[[ircbot.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/ircbot.ini|ircbot.ini]]|Configuration for IRC robots, optionally works with the Synchronet [[service:IRCd]]| |
| | |''[[ircd.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/ircd.ini|ircd.ini]]|Configuration for IRC server. Replaces old ircd.conf on modern Synchronet [[service:IRCd]]| |
| |''[[listserver.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/listservier.ini|listserver.ini]]|Configuration for the Synchronet ListServer module (''[[dir:exec]]/[[module:listserver]].js'')| | |''[[listserver.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/listservier.ini|listserver.ini]]|Configuration for the Synchronet ListServer module (''[[dir:exec]]/[[module:listserver]].js'')| |
| |''[[mailproc.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/mailproc.ini|mailproc.ini]]|Configuration of External Mail Processors for the [[server:Mail]] Server (SMTP)| | |''[[mailproc.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/mailproc.ini|mailproc.ini]]|Configuration of External Mail Processors for the [[server:Mail]] Server (SMTP)| |
| |''[[mime_types.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/mime_types.ini|mime_types.ini]]|MIME File Types registered in the [[server:Web]] Server| | |''[[mime_types.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/mime_types.ini|mime_types.ini]]|MIME File Types registered in the [[server:Web]] Server| |
| |''[[modopts.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/modopts.ini|modopts.ini]]|Configuration settings (options) for various [[custom:JavaScript]] modules, stock and/or 3rd party| | |''[[modopts.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/modopts.ini|modopts.ini]]|Configuration settings (options) for various [[custom:JavaScript]] modules, stock and/or 3rd party| |
| |''[[rss.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/rss.ini|rss.ini]]|Configuration for Synchronet RSS Feed module (''[[dir:web]]/root/rss.ssjs'')| | |''[[rss.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/rss.ini|rss.ini]]|Configuration for Synchronet RSS Feed module (''[[dir:exec]]/rss.ssjs'')| |
| |''[[sbbs.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/sbbs.ini|sbbs.ini]]|Synchronet Initialization File| | |
| |''[[sbbsctrl.ini]]'' |N/A|Configuration for Synchronet Control Panel ([[monitor:SBBSCTRL]]) for Windows, exported from Windows Registry| | |''[[sbbsctrl.ini]]'' |N/A|Configuration for Synchronet Control Panel ([[monitor:SBBSCTRL]]) for Windows, exported from Windows Registry| |
| |''[[sbbsexec.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/exec/sbbsexec.ini|sbbsexec.ini]]|Configuration for the Synchronet Virtual FOSSIL / UART Driver for Windows| | |''[[sbbsexec.ini]]'' |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/exec/sbbsexec.ini|sbbsexec.ini]]|Configuration for the Synchronet Virtual FOSSIL / UART Driver for Windows| |
| |
| === Quotes === | === Quotes === |
| If the first non-white-space character following the colon key/value separate is a double-quote (''"'') character, then the string will be terminated at the last (right-most) double-quote character. This allows a string value to be specified with trailing white-space: | If the first non-white-space character following the colon key/value separate is a double-quote (''"'') character, then the string will be terminated at the last (right-most) double-quote character. This allows a string value to be specified with trailing white-space without risk that a text editor might remove it: |
| mystring: "a string with trailing white-space " | mystring: "a string with trailing white-space " |
| |
| String values are terminated by a new-line sequence or the end of file. | String values are terminated by a new-line sequence or the end of file. |
| |
| Trailing white-space is normally removed from the string value, unless the ''key:value'' syntax is used (instead of ''key=value''). | Trailing white-space is normally removed from string values, unless the ''key:value'' (string literal) syntax is used instead of ''key=value''. |
| |
| ==== Boolean Values ==== | ==== Boolean Values ==== |
| A numeric value higher than the highest supported enumerated value will be treated the same as the highest supported enumerated value. | A numeric value higher than the highest supported enumerated value will be treated the same as the highest supported enumerated value. |
| |
| When a word is provided for the enumerated key value, an exact case-insensitive match is performed search following by a partial-match search, so "Debug" would match the enum value for "Debugging", and "Info" would match the enum value for "Informational". | When a word is provided as an enumerated key value, an initial partial word match is all that is required. So for example, a key value of "Debugging" would match the enum value of ''Debug'', and "Informational" would match the enum value of ''Info''. These string matches are also performed case-insensitively so "ERROR" and "error" are equivalents. |
| |
| === Log Levels === | === Log Levels === |
| ''LogLevel'' keys are one example of a key with enumerated values. The ''LogLevel'' value may be specified as a decimal number (from ''0'' to ''7'') or by specifying one of the following enumerated names: | ''LogLevel'' keys are one example of a key with enumerated values. The ''LogLevel'' value may be specified as a decimal number (from ''0'' to ''7'') or by specifying one of the following enumerated names: |
| |
| ^Value ^Name ^ | ^Value ^Name ^ Description ^ |
| |0 |Emergency | | |0 |''Emergency'' | Fatal condition | |
| |1 |Alert | | |1 |''Alert'' | Very Serious condition | |
| |2 |Critical | | |2 |''Critical'' | Serious condition | |
| |3 |Error | | |3 |''Error'' | Unexpected/erroneous condition | |
| |4 |Warning | | |4 |''Warning'' | Suspicious condition | |
| |5 |Notice | | |5 |''Notice'' | Infrequent event | |
| |6 |Informational| | |6 |''Info'' | Common activity (AKA "Informational") | |
| |7 |Debugging | | |7 |''Debug'' | Extra detail sometimes helpful during issue analysis (AKA "Debugging") | |
| |
| Log entries with a log level //higher// than the specified ''LogLevel'' value will not be logged/displayed. | Log entries with a log level //higher// than the specified ''LogLevel'' value will not be logged/displayed. |
| |
| The ''Debugging'' (7) log level enables //all// possible log output. | The ''Debug'' (7) log level enables //all// possible log output. |
| |
| ==== Bit-field Values ==== | ==== Bit-field Values ==== |
| * [[config:cnf_files|CNF Files]] | * [[config:cnf_files|CNF Files]] |
| | |
| | |
| {{tag>configuration ini file_types}} | {{tag>configuration file_type ini}} |