=== Edit version 07/08/2025 === Do these steps as root unless otherwise instructed === === Create the bbsowner user: adduser bbsowner === DOSEmu install steps # vvvvvvvvvv add-apt-repository ppa:dosemu2/ppa apt update apt install dosemu2 # ^^^^^^^^^^ dpkg --add-architecture i386 apt update apt install libnspr4-dev python3 nodejs apt install libncurses5-dev libncursesw5-dev libarchive-dev libtinfo-dev apt install libncurses5:i386 pkg-config libsdl2-dev pkgconf mkdir /sbbs cd /sbbs wget https://gitlab.synchro.net/main/sbbs/-/raw/master/install/install-sbbs.mk make -f install-sbbs.mk USE_DOSEMU=1 RELEASE=1 vi /home/bbsowner/.bashrc # Then add to the top: # vvvvvvvvvv export PATH=/home/bbsowner/SynchronetManagementConsole:/sbbs/exec:/home/bbsowner/bin:/home/bbsowner/bbs_utils:$PATH export SBBSCTRL=/sbbs/ctrl # ^^^^^^^^^^ # Create user bbsowner and set that in the sbbs.ini file. Then add this to /etc/sudoers: bbsowner ALL=(ALL:ALL) ALL bbsowner ALL=(ALL) NOPASSWD: /usr/sbin/chroot # Install terminfo file: cd /sbbs wget http://synchronetbbs.org/terminfo tic terminfo # Install termcap file cd /sbbs wget http://synchronetbbs.org/termcap cat termcap >> /etc/termcap cd /home/bbsowner wget https://synchronetbbs.org/MyLibCurs.zip wget https://synchronetbbs.org/MyLibTinfo.zip wget https://bbs.newtoncity.org/BBSArchive.zip unzip BBSArchive.zip rm BBSArchive.zip cd / unzip /home/bbsowner/MyLibCurs.zip unzip /home/bbsowner/MyLibTinfo.zip rm /home/bbsowner/MyLibCurs.zip /home/bbsowner/MyLibTinfo.zip cd /usr/local/bin wget https://bbs.newtoncity.org/MyLocal.zip unzip MyLocal.zip rm MyLocal.zip cd /sbbs wget https://bbs.newtoncity.org/MyDoors.tgz tar xzf MyDoors.tgz rm MyDoors.tgz # Set up the utilities by following these files: bbs_utills/README.md SyncBackup/README.md SynchronetManagementConsole/README.md SynchronetStartup/README.md cd /sbbs/doors/ambroshia apt install ./libstdc++2.10-glibc2.2_2.95.4-24_i386.deb apt install --reinstall libsqlite3-0:i386 cp /sbbs/doors/worm/lib/x86_64-linux-gnu/libncursesw.so.5* /lib/x86_64-linux-gnu cp /sbbs/doors/worm/lib/x86_64-linux-gnu/libtinfo* /lib/x86_64-linux-gnu # Set up your game server hosts cd /opt wget https://bbs.newtoncity.org/doorparty-connector.zip unzip doorparty-connector.zip rm doorparty-connector.zip cd /opt/doorparty-connector nano doorparty-connector.ini # Edit for your doorparty settings cd /sbbs/mods nano bbslink.js # Edit for your bbslink settings cd /sbbs/ctrl nano letsyncrypt.ini # Change TOSAgreed = true nano sbbs.ini # Edit for your settings chown -R bbsowner:bbsowner /sbbs /home/bbsowner cd /home/bbsowner wget http://synchronetbbs.org/NetworkFiles.zip unzip NetworkFiles.zip rm NetworkFiles.zip cd ~/bbs_utils ./installdeps # To disable guest access to a door, set access requirements to "REST NOT G" # To require sysop access to a door, set access requirements to "SYSOP" # Give perms to /sbbs/exec/sbbs to open low ports setcap 'cap_net_bind_service=+ep' /sbbs/exec/sbbs # You can start the SBBS process up with: su - bbsowner # Edit the crontab and add these jobs: crontab -e ---- 1 1 * * * /home/bbsowner/SyncBackup/syncbackup.pl > /dev/null 2>&1 @reboot /home/bbsowner/bin/synchronetbbs start @reboot /home/bbsowner/bin/startatboot @reboot /usr/local/bin/anytermd -p 2600 -c /home/bbsowner/SynchronetManagementConsole/smc /home/bbsowner/bin/synchronetbbs start # Start the various door scripts: /home/bbsowner/bin/startatboot ################ For updates: # Make sure /sbbs/repo/exec -> /sbbs/exec git -C /sbbs/repo pull cd /sbbs/repo/src/sbbs3; make RELEASE=1 install jsexec update.js ################ For QWK network nodes 1) Edit /sbbs/ctrl/modopts.ini and set "ask_qnet" to true 2) Edit /sbbs/ctrl/modopts.ini and set "qnet_name" to what your Network should be - "GameNet" etc.