This is an old revision of the document!
Table of Contents
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)
/etc/profile
In Debian and Debian-based Linux distributions (e.g. Ubuntu), you can also set environment variables in your /etc/profile
file, like so:
export SBBSCTRL=/sbbs/ctrl
sudo
When using the sudo
command to execute a Synchronet program with elevated (e.g. root) privileges, you may need to pass the -E
option to preserve the environment variables set the parent shell:
sudo -E sbbs
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.