====== SUBS.TXT ======

''subs.txt'' is Synchronet's legacy line-oriented format for exporting and importing the full configuration of a message group's sub-boards. It has been superseded by [[ref:subs.ini]], but [[util:SCFG]] still both reads and writes it.

Unlike the name-and-description area lists, ''subs.txt'' carries nearly every setting of a sub-board, which makes it usable for moving a group of sub-boards from one Synchronet system to another.

In SCFG it appears in a message group's //Import Areas...// and //Export Areas...// format menus as ''subs.txt   Synchronet Sub-boards''. The default path offered is ''subs.txt'' in the [[dir:ctrl|ctrl]] directory.

===== Format =====

Plain text. Each sub-board occupies 20 lines -- one field per line, in a fixed order -- followed by a ''***END-OF-SUB***'' terminator and a blank line:

^ Line ^ Field ^
| 1 | Long name (description) |
| 2 | Short name |
| 3 | QWK name (10 characters maximum) |
| 4 | Internal code suffix |
| 5 | Data directory (blank for the default) |
| 6 | Access requirements (ARS) |
| 7 | Reading requirements |
| 8 | Posting requirements |
| 9 | Operator requirements |
| 10 | Toggle options, as a hexadecimal value |
| 11 | QWK network tag line |
| 12 | FidoNet origin line |
| 13 | Post semaphore file |
| 14 | Newsgroup name |
| 15 | FidoNet address |
| 16 | Maximum messages |
| 17 | Maximum CRCs |
| 18 | Maximum age, in days |
| 19 | Message pointer index |
| 20 | Moderated posting requirements |
| 21 | ''***END-OF-SUB***'' |

Fields that are unset are written as empty lines, so the line count per record never varies.

===== Notes =====

  * On import, everything between line 20 and the ''***END-OF-SUB***'' line is skipped. A file written by a newer version that carries extra fields can therefore still be read by an older one.
  * Empty lines between records are ignored.
  * **The message pointer index (line 19) is written but never applied on import.** The exporting system's value is meaningless on the importing one, so the local sub-board's existing pointer linkage is left alone.
  * When an imported record's internal code matches an existing sub-board, that sub-board is **updated in place** and keeps its code. Other import formats instead alter the code to make it unique, creating a new sub-board.
  * The format cannot express a sub-board's **area tag**, **QWK conference number**, or **print mode** settings. Re-importing over an existing sub-board leaves those three as they were rather than clearing them. [[ref:subs.ini]] does carry them.

===== See Also =====
  * [[:ref:|ref index]]
  * [[ref:subs.ini]]
  * [[config:message_areas]]

{{tag>format}}
