Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

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:ini_files [2018/03/01 12:10] – Links to util:binkit changed to module:binkit digital manconfig:ini_files [2023/10/26 17:21] (current) – Add text.ini digital man
Line 1: Line 1:
-====== INI Files ======+====== .ini files ====== 
 + 
 +''.ini'' files are used by Synchronet for //initialization// control, //configuration//, and //data-storage//.
  
 ===== 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 [[util:scfg:Nodes]] menu | 
 + 
 +==== Secondary Configuration Files ====
  
 ^Filename Page             ^Default Contents^Description^ ^Filename Page             ^Default Contents^Description^
-|''[[cgi_env.ini]]''        |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/cgi_env.ini|cgi_env.ini]]|[[server:Web]] Server CGI Settings| +|''[[custom:text.ini]]''    |N/A | Customized ''text.dat'' strings (optional) | 
-|''[[formmail.ini]]''       |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/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]]| +|''text.//lang//.ini''      |varies | Alternate language ''text.ini'' files | 
-|''[[ircbot.ini]]''         |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/ircbot.ini|ircbot.ini]]|Configuration for IRC robots, optionally works with the Synchronet [[service:IRCd]]| +|''[[cgi_env.ini]]''        |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/cgi_env.ini|cgi_env.ini]]|[[server:Web]] Server CGI Settings| 
-|''[[listserver.ini]]''     |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/listservier.ini|listserver.ini]]|Configuration for the Synchronet ListServer module (''[[dir:exec]]/[[module:listserver]].js'')| +|''[[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]]| 
-|''[[mailproc.ini]]''       |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/mailproc.ini|mailproc.ini]]|Configuration of External Mail Processors for the [[server:Mail]] Server (SMTP)| +|''[[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]]| 
-|''[[mime_types.ini]]''     |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/mime_types.ini|mime_types.ini]]|MIME File Types registered in the [[server:Web]] Server| +|''[[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'')| 
-|''[[modopts.ini]]''        |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/modopts.ini|modopts.ini]]|Configuration settings (options) for various [[custom:JavaScript]] modules, stock and/or 3rd party| +|''[[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)| 
-|''[[rss.ini]]''            |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/rss.ini|rss.ini]]|Configuration for Synchronet RSS Feed module (''[[dir:web]]/root/rss.ssjs'')+|''[[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| 
-|''[[sbbs.ini]]''           |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/sbbs.ini|sbbs.ini]]|Synchronet Initialization File|+|''[[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'')|
 |''[[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]]''           |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/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| 
-|''[[services.ini]]''       |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/services.ini|services.ini]]|Configuration for Synchronet [[service:|Services]]| +|''[[services.ini]]''       |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/services.ini|services.ini]]|Configuration for Synchronet [[service:|Services]]| 
-|''[[sexpots.ini]]''       |N/A|Configuration for Synchronet External POTS Support utility ([[module:binkit]])| +|''[[sexpots.ini]]''       |N/A|Configuration for Synchronet External POTS Support utility ([[util:SEXPOTS]])| 
-|''[[sexyz.ini]]''       |N/A|Configuration for Synchronet External X/Y/ZMODEM protocol driver ([[module:binkit]])| +|''[[sexyz.ini]]''       |N/A|Configuration for Synchronet External X/Y/ZMODEM protocol driver ([[util:SEXYZ]])| 
-|''[[sockopts.ini]]''       |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/sockopts.ini|sockopts.ini]]|Configuration of TCP/IP socket options| +|''[[sockopts.ini]]''       |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/sockopts.ini|sockopts.ini]]|Configuration of TCP/IP socket options| 
-|''[[web_handler.ini]]''    |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/web_handler.ini|web_handler.ini]]|Configuration of special content (file type) handlers for the [[server:Web]] Server| +|''[[web_handler.ini]]''    |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/web_handler.ini|web_handler.ini]]|Configuration of special content (file type) handlers for the [[server:Web]] Server| 
-|''[[webicons.ini]]''       |[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/webicons.ini|webicons.ini]]|Configuration of icon files used to represent specific file types in the [[server:Web]] Server|+|''[[webicons.ini]]''       |[[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/ctrl/webicons.ini|webicons.ini]]|Configuration of icon files used to represent specific file types in the [[server:Web]] Server|
  
 ===== Database ===== ===== Database =====
Line 103: Line 120:
 Note: Since section names may not be reused in a single ''.ini'' file, a single section with more than one name will be the **only** representation of the named sections and any following section with one of the used names will be ignored. Note: Since section names may not be reused in a single ''.ini'' file, a single section with more than one name will be the **only** representation of the named sections and any following section with one of the used names will be ignored.
  
 +==== String Literals ====
 +
 +By using a colon character ('':'') rather than equals sign (''='') as a key/value separator, string value with embedded control characters and trailing white-space characters may be specified in ''.ini'' files.
 +
 +=== 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:
 +  mystring: "a string with trailing white-space "
 +
 +=== Escape Sequences ===
 +Character values may be specified using C-style character literal escaping for control characters (e.g. ''\r'' for carriage-return, ''\n'' for line-feed, ''\x01'' for Ctrl-A, etc.) or CP437 characters (e.g. ''\xb3'' for a vertical bar).
 ==== Directives ==== ==== Directives ====
  
Line 121: Line 148:
 <code ini> <code ini>
 !include another.ini !include another.ini
 +</code>
 +
 +In Synchronet v3.18c, the ability to include multiple files was added, e.g.
 +
 +<code ini>
 +!include sub-dir/*.ini
 </code> </code>
  
Line 160: Line 193:
 ==== Enumerated Values ==== ==== Enumerated Values ====
  
-Some keys support values specified either by number (typically from ''0'' through n) or by a symbolic name for each supported value. These are referred to enumerated values.+Some keys support values specified either by number (typically from ''0'' through n) or by a symbolic name for each supported value. These are referred to as enumerated 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".
  
 === Log Levels === === Log Levels ===
Line 205: Line 240:
 ===== Source Code ===== ===== Source Code =====
  
-Synchronet's INI file support comes from the XPDEV C library. The main source file is [[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/xpdev/ini_file.c]].+Synchronet's INI file support comes from the XPDEV C library. The main source file is [[https://gitlab.synchro.net/sbbs/sbbs/-/blob/master/src/xpdev/ini_file.c]].
  
 ===== See Also ===== ===== See Also =====
Line 214: Line 249:
   * [[config:cfg_files|CFG Files]]   * [[config:cfg_files|CFG Files]]
   * [[config:cnf_files|CNF Files]]   * [[config:cnf_files|CNF Files]]
-  
    
  
 +{{tag>configuration file_type ini}}