How to: Set up your own BBS Server on Linux
Computing of the 1980s, meet operating systems of the 2020's.
So. You want to try your hand at running your very own, Telnet accessible, BBS (Bulletin Board System)? Luckily, that process is pretty doggone straightforward… provided you have a reasonable level of comfort on the Command Line.
Today we'll walk through, start to finish, getting a BBS (Synchronet) up and running on a Debian Linux system. Both Debian and Synchronet are Free and Open Source Software – so there is no cost to you for any of it. We are opting to go with Synchronet as it is a robust system and continues to be under active development in 2020.
If you would prefer to run Synchronet under Windows, the team has provided a simple setup program with detailed instructions.
For the basic functionality of the BBS, there isn't much difference between running Synchronet on Linux vs Windows. The key difference crops up when running DOS-based BBS games (aka “DOOR” games). If you intend to run DOS BBS games on your BBS, it is absolutely doable… but will require a bit more work (that is beyond the scope of this tutorial) once your system is up and running.
The following steps assume a stock, updated Debian system. In my testing I utilized Debian “Buster” (aka version 10.x). That said, these instructions should work (either without modifications or with very minor tweaks) on any Debian-based Linux distribution (Ubuntu, Elementary, Pop, Pure, etc.).
This all works equally well wether you are on a local machine, inside a virtual machine, or using a remote server. Personally, I recommend running through the process once in a local VM then – when you are ready to make a BBS for the world to use – set up a remote server and run through the following while SSH'd into it.
Step 1) Install the dependencies
There's just a couple dependencies that we'll want to install (including ncurses and the Mozilla Spidermonkey Javascript engine).
sudo apt install wget libnspr4-dev libncurses5-dev libmozjs-60-dev
Step 2) Grab the latest version of Synchronet
Then we'll grab the current snapshot version of Synchronet with the following commands:
mkdir /sbbs
cd /sbbs
wget ftp://vert.synchro.net/Synchronet/sbbs_src.tgz
wget ftp://vert.synchro.net/Synchronet/sbbs_run.tgz
tar -xzf sbbs_src.tgz
tar -xzf sbbs_run.tgz
Step 3) Build Synchronet
This is the step that will take the longest, as we will be building the latest Synchronet from source. Luckily there is very little you need to actually do here… just copy and past the following lines (one at a time) and let it run.
cd src/sbbs3
make RELEASE=1
cd ../../xtrn/sbj
make
cd ../../exec
ln -s ../src/sbbs3/gcc.linux.x64.exe.release/* .
make
Step 4) Configure your BBS
Now, believe it or not, your BBS is ready! But, before you launch the BBS server, you'll want to take just a few moments and familiarize yourself with SCFG (the Synchronet Configuration utility).
./scfg
It is extremely easy to use, but you may find some of the terminology confusing if you are new to the world of BBSing. For now, I recommend changing your BBS name and SysOp password.
Step 5) Run the BBS
Now, for the big finish.
./sbbs
At this point you should see something somewhat similar to this screenshot. Your BBS is now up and running and waiting for telnet connections!
There are also a number of options from the Synchronet server console that you can see a list of by pressing “?".
Then, from another terminal, let's test the BBS out!
telnet localhost
(Or use your preferred telnet client to connect to your server using whatever IP address or domain name you have set up on that machine.)
Step ?) What now?
At this point I highly recommend checking out the Synchronet documentation.
While you now have a completely functional BBS… there's oh-so-much that you'll want to do in order to make this BBS truly your own.
Install Door games. Adding your own ASCII/ANSI artwork (and menus). Creating menu areas and file areas. Making sure your BBS is set up in as secure a way as possible.
The reality is: the work of a BBS SysOp is never done. And that is a truly wonderful thing. Tweaking and expanding your own BBS can be an extraordinarily satisfying thing. I've run a BBS since the early 1990s and, let me tell ya, it can be an absolute blast. A lot of work, on occasion, but truly fun nonetheless.
Your friends probably want to know how to run a BBS on Linux. Just sayin’.