1.0 Installation Instructions (Windows)
Synchronet for Windows ships as a downloadable archive containing an installer executable (for current releases, something like install_SBBS_v3.21e.exe plus install.rtf and FILE_ID.DIZ). Install from the official distribution, not from random mirrors, so you get matching runtimes and Control Panel bits.
Prerequisites
Before the installer will run cleanly you need the x86 (32-bit) Visual C++ redistributables — even on a 64-bit Windows host — because Synchronet’s Win32 build and many DOS/FOSSIL door helpers are 32-bit:
- Microsoft Visual C++ 2010 SP1 Redistributable Package (x86 /
vcredist_x86.exe) - Microsoft Visual C++ Redistributable Runtime v14 (x86)
If those are missing, native executables under exec\ may fail to start with cryptic DLL errors.
Install from official releases
- Download the Synchronet distribution ZIP (e.g. from synchro.net).
- Extract it to a temporary folder. You should see the installer EXE,
install.rtf, andFILE_ID.DIZ. - Stop any already-running Synchronet instance (Control Panel /
sbbs). The installer will refuse to continue if Synchronet is still running. - Run the
install_SBBS_…executable. - Read through the welcome screen and the embedded
install.rtfnotes. - Choose an installation directory. The default is recommended. Do not put Synchronet on a path with long names or spaces if you still run 16-bit DOS utilities (doors, archivers, protocol drivers) — those need DOS-compatible 8.3 paths. A common choice is
C:\SBBS. - Select additional tasks (desktop icon, Startup-folder shortcut, etc.).
- Click Install, wait for files to copy, then Finish. Optionally launch the Synchronet Control Panel immediately.
After install you may see a Desktop and/or Startup shortcut. Delete the Startup shortcut if you do not want Synchronet auto-starting at boot.
First launch checklist (Windows)
- Open Synchronet Control Panel (
sbbsctrl) and confirm the Terminal, Mail, FTP, Web, and Services threads show as you expect. - Run SCFG (BBS → Configure, or
exec\scfg.exe) and set system name, QWK-ID, sysop alias, and new-user defaults before opening ports to the Internet. - Confirm Windows Firewall (and any router NAT) allows the ports you actually enable (Telnet/SSH/RLogin, FTP, HTTP/HTTPS, SMTP/POP3/IMAP, etc.).
- If you upgrade over an existing tree, stop the BBS first; never overwrite a live
data\orctrl\whilesbbsis writing.
Wiki: https://wiki.synchro.net/install:win
19.0 Unix/Linux
Unix/Linux installs are source builds. You pick a run-as user, create the install tree, build from Git or a tarball, configure SBBSCTRL / sbbs.ini, then run in console or daemon mode. Running the whole stack as root is discouraged.
19.1 Installation Instructions (Unix/Linux)
Run-as user
Install and run Synchronet as the same non-root account (commonly sbbs):
adduser sbbs
# optional on Linux: grant sudo for admin tasks
sudo adduser sbbs sudo
su - sbbs
If you must bind privileged ports (<1024) as root at start, set the [Unix] User value in ctrl/sbbs.ini so sbbs drops privileges after binding.
Create the Synchronet directory
Common locations: /sbbs or ~/sbbs under the run-as user’s home. Executables look for ctrl under /sbbs/ctrl by default; if you install elsewhere, either symlink (ln -s /home/sbbs/sbbs /sbbs) or export SBBSCTRL to your real ctrl path.
sudo mkdir /sbbs && sudo chown sbbs:sbbs /sbbs
cd /sbbs
# or: mkdir ~/sbbs && cd ~/sbbs
Getting / building
Install OS prerequisites first (compilers, ncurses, SDL/X11 bits as required by your platform — see the live wiki for the current package list). Then either:
- Git build method — clone/build from the Synchronet Git repositories (preferred for staying current).
- Tarball build method — unpack a release/source tarball and build.
Build from a *nix shell (sh/bash). After a successful build, binaries land under your exec directory. On errors, re-check prerequisites and the wiki’s troubleshooting notes rather than forcing a partial install.
Configuring
- Point
SBBSCTRLat…/ctrlif not using/sbbs/ctrl. - Run
scfgfor BBS content configuration; editctrl/sbbs.inifor server/listener and Unix identity settings. - On FreeBSD 5.x and higher there are platform-specific notes on the install page — follow those for jail/rc integration.
Running
- Console mode — run
sbbsin a terminal for interactive logs (useful while learning). - Daemon mode — run detached for production; combine with your OS service manager (
systemd,rc, etc.). - Sysop paging / local console behavior differs slightly from Windows Control Panel — read the “SysOp paging” notes on the Unix install page.
Updating
Prefer a clean rebuild when major versions change. Keep backups of ctrl/, data/, text/, and mods/ before replacing binaries. Re-run any init wizards only when the release notes say configuration format changed.
Wiki: https://wiki.synchro.net/install:nix
19.2 Security (Unix/Linux)
Hardening on nix focuses on not running as root*, binding low ports safely, and blocking brute-force noise at the OS edge.
19.2.1 Linux non-root
Run Synchronet as a dedicated user. Prefer:
- Binding high ports (>1024) and reverse-proxying, or
- Starting briefly as root / using capabilities so
sbbscan bind 23/80/443/25 then drop to the run-as user via[Unix]User insbbs.ini.
Ensure ctrl, data, and node directories are owned by the run-as user so logs, message bases, and sem files remain writable without world-writable permissions.
Wiki: https://wiki.synchro.net/howto:linux_non-root
19.2.2 FreeBSD non-root
Same idea as Linux: dedicated user, correct ownership, privilege drop after bind. FreeBSD-specific paths and rc scripts differ — use the FreeBSD howto rather than copying Linux unit files verbatim.
Wiki: https://wiki.synchro.net/howto:freebsd_non-root
19.2.3 Block botnets with Fail2Ban
Fail2Ban can watch Synchronet log output (or syslog) for repeated failed logins / hack attempts and insert temporary firewall bans. Typical pieces:
- A filter matching Synchronet “failed login” / hack-log lines.
- A jail pointing at your
sbbslog path with a sensiblemaxretryandbantime. - Coordination with Synchronet’s own login-attempt throttle / temp-ban settings in
sbbs.iniso you do not double-punish legitimate users behind shared NATs.
Also see Internet Security (howto:block-hackers) for Synchronet-native filters and temporary bans.
Wiki: https://wiki.synchro.net/howto:fail2ban · https://wiki.synchro.net/howto:block-hackers
Install quick reference
| Platform | Primary path | Config entry points |
|---|---|---|
| Windows | Installer → C:\SBBS (typical) |
Control Panel, scfg.exe, ctrl\sbbs.ini |
| Linux/Unix | Build into /sbbs or ~/sbbs |
scfg, SBBSCTRL, ctrl/sbbs.ini, [Unix] User |
| Both | Keep DOS 8.3-safe paths if using 16-bit doors | Node dirs, exec, external program CWDs |
Wiki (hub): https://wiki.synchro.net/install:win · https://wiki.synchro.net/install:nix
After install: minimum viable open
Whether on Windows or Unix, do not expose services until these are true:
- Sysop account password is set and not the distribution default.
- New-user password / closed-to-new-users policy matches your intent (SCFG → System).
- Host filters and login-attempt thresholds in
sbbs.iniare understood (even if left at defaults). - You can log in locally (Windows Control Panel / local node, or Unix console) and run
;UEDIT/ SCFG. - Backups of
ctrl/anddata/exist before you join DOVE-Net or FidoNet.
Development / bleeding-edge builds are a separate track — see https://wiki.synchro.net/install:dev and section 10 of this manual.