Files
docker-infrastructure/synchronet

Synchronet BBS - Legend of the Red Dragon

This is a Synchronet BBS instance configured to host Legend of the Red Dragon (LORD) and other classic BBS door games.

Features

  • Web-based terminal access via fTelnet (your friends can play in a browser!)
  • Classic telnet access on port 23
  • SSH access on port 2222
  • LORD (Legend of the Red Dragon) - JavaScript port included with Synchronet
  • Additional door games available through Synchronet's xtrn system

Initial Setup

1. First Run - Initialize Configuration

cd /home/poprhythm/docker-infrastructure/synchronet
docker compose up -d
# Wait a few seconds for initialization
docker compose down
sudo chmod -R a+rwX /srv/synchronet

2. Run Configuration Program

Configure your BBS name, sysop info, and enable LORD:

docker exec -it synchronet scfg

In the configuration menu:

  • Navigate to System → Set your BBS name and sysop information
  • Navigate to External ProgramsOnline Programs (Doors)Available Online Programs
  • Look for LORD or add it if not already configured
  • Save and exit (ESC to go back, then save when prompted)

3. Enable LORD Door Game

LORD comes with Synchronet as a JavaScript implementation. To enable it:

# Connect to the container
docker exec -it synchronet bash

# Run the install script for LORD
cd /sbbs
./exec/jsexec /sbbs/xtrn/install-xtrn.js lord

# Exit the container
exit

Alternatively, you can manually configure LORD through scfg:

  • External ProgramsOnline ProgramsMain section
  • Add new program with:
    • Name: Legend of the Red Dragon
    • Internal Code: LORD
    • Start-up Directory: ../xtrn/lord
    • Command Line: ?lord.js

4. Restart the BBS

docker compose restart

Access Methods

After setting up nginx-proxy-manager:

  • Navigate to https://bbs.kolpacksoftware.com (or your chosen domain)
  • Use the fTelnet web interface to connect
  • Direct websocket URLs:
    • WS: ws://your-domain:1123
    • WSS: wss://your-domain:11235

Direct Telnet

telnet your-server.com 23

SSH

ssh -p 2222 new@your-server.com

nginx-proxy-manager Configuration

Configure in NPM web interface:

  1. Proxy Host for Web Interface:

    • Domain: bbs.kolpacksoftware.com (or your choice)
    • Forward Hostname/IP: synchronet (container name)
    • Forward Port: 80
    • Enable SSL certificate
  2. Proxy Host for WebSocket Terminal (optional, for secure WSS):

    • Domain: bbs-term.kolpacksoftware.com
    • Forward Hostname/IP: synchronet
    • Forward Port: 11235
    • Enable WebSocket Support
    • Enable SSL certificate

Customization

ORMG Branding

Custom ANSI art files are included in customization/ directory:

  • answer.ans - Custom welcome screen with "ORMG" branding instead of "Synchronet"
  • synch.ans.original - Backup of original Synchronet ANSI art

To apply the ORMG branding:

cp customization/answer.ans /srv/synchronet/ctrl/
docker restart synchronet

To revert to original:

rm /srv/synchronet/ctrl/answer.ans
docker restart synchronet

File Locations

  • Config: /srv/synchronet/ctrl/
  • Door games: /srv/synchronet/xtrn/
  • Web files: /srv/synchronet/web/
  • User data: /srv/synchronet/data/
  • Custom ANSI: /srv/synchronet/ctrl/answer.ans (welcome screen)

Troubleshooting

Check logs

docker compose logs -f

Access container shell

docker exec -it synchronet bash

Reset permissions

sudo chmod -R a+rwX /srv/synchronet

LORD not appearing

  1. Check that LORD is enabled in scfg under External Programs
  2. Verify the command line is set correctly
  3. Check /srv/synchronet/xtrn/lord/ exists and has the game files

Additional Door Games

Synchronet includes many door games and can run DOS doors through DOSEMU. Popular ones included:

  • LORD (Legend of the Red Dragon)
  • TradeWars 2002
  • BRE (Barren Realms Elite)
  • Usurper

Install additional doors through scfg or the install-xtrn.js script.

Sources & Documentation