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

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


Environment Variables

This page describes the environment variables of your operating system/shell that Synchronet may use.

Paths in the environment variable values may or may not end with a path delimiter (e.g. / or \).

SBBSCTRL

The SBBSCTRL environment variable should be set to the path of your Synchronet ctrl directory, especially if Synchronet is not installed in the default installation location (e.g. /sbbs/ctrl).

If this variable is not set, most Synchronet programs allow passing the path to the ctrl directory as the last argument.

SBBSEXEC

The SBBSEXEC environment variable may be set to the path of your Synchronet exec directory. This may be needed for some development situations.

SBBSNODE

The SBBSNODE environment variable should NOT be set by the sysop. This variable is set dynamically1), by Synchronet, for the use of external online programs (e.g. doors).

Setting

Windows NT

For Microsoft Windows NT-based operating systems (this includes Windows 2000, XP, Vista, and Windows 7), goto the Windows Control Panel->System->Advanced->Environment Variables->System Variables->New... and set

  • Variable name: SBBSCTRL
  • Variable value: c:\sbbs\ctrl

(replace c:\sbbs\ctrl with the full path to your ctrl directory)

Windows 9x

For Mirosoft Windows 9x-based operating systems, edit your C:\AUTOEXEC.BAT file and add the line:

  SET SBBSCTRL=c:\sbbs\ctrl

(replace c:\sbbs\ctrl with the full path to your ctrl directory)

bash/sh

For Unix bash/sh: In the home directory of the user the BBS will be running as, edit the file named either .profile or .bash_profile as appropriate and add the line:

  SBBSCTRL=/sbbs/ctrl && export SBBSCTRL

(replace /sbbs/ctrl with the full path to your ctrl directory)

csh/tcsh

For Unix csh/tcsh: Again, in the home directory of the user the BBS will be running as, in the file named .tcshrc or .cshrc as appropriate add the line:

  setenv SBBSCTRL /sbbs/ctrl

(replace /sbbs/ctrl with the full path to your ctrl directory)

Automatic

When the Synchronet Terminal Server executes an external program (e.g. door game, OS command shell, timed events, file transfer protocol drivers, etc.), it will set the following environment variables for the child process to utilize:

Variable Name Description Example
DSZLOG Path to the current protocol driver log file c:\sbbs\node1\protocol.log
SBBSNODE Path to the current node directory c:\sbbs\node1\
SBBSCTRL Path to the Synchronet ctrl directory c:\sbbs\ctrl\
SBBSDATA Path to the Synchronet data directory c:\sbbs\data\
SBBSEXEC Path to the Synchronet exec directory c:\sbbs\exec\
SBBSNNUM Current node number 1
PCBNODE Current node number (only for DOS programs) 1
DAY Current day of the month (01-31 ) 01
WEEKDAY Current day of the week abbreviation Mon
MONTHNAME Current month name abbreviation Jan
MONTH Current month number (01-12) 01
YEAR Current year 2017

These variables can be used by shell scripts, batch files and programs, as needed.

1)
to the path of the current node directory