LORD Setup

Last edited 2026-05-24 17:22 UTC · history · 1 view

LORD Setup

LORD — Legend of the Red Dragon by Seth Robinson, 1989 — is the
canonical door game. ANetBBS ships two ways to run it:

  1. Bundled JS port (recommended, no DOS required) — Synchronet's
    pure-JavaScript LORD rewrite, pre-installed at
    anetbbs/games/sbbs_doors/lord/. Needs the Synchronet jsexec
    runtime on the host.
  2. Original DOS under DOSBox + TCP nullmodem bridge — for
    purists. Detailed below; see also DOS Door Recipe.

Path 1 — Bundled JavaScript LORD (works out of the box)

ANetBBS pre-seeds an active Game row for LORD on first install.
The game runs under Node.js via the Synchronet compat shim
(anetbbs/games/synchronet_compat.py) — no Synchronet install
required. The shim provides:

Just play from /games/.

Path 1 fallback — install real Synchronet jsexec (optional)

If you want bit-perfect upstream behaviour or you're running another
door the compat shim doesn't cover, install Synchronet's jsexec.
The door_runner auto-detects it at standard paths
(/sbbs/exec/jsexec, /opt/synchronet/exec/jsexec,
/usr/local/sbbs/exec/jsexec, $PATH) and prefers it over the
Node shim when present.

git clone --depth 1 https://gitlab.synchro.net/main/sbbs.git /tmp/sbbs
# Synchronet's build needs siblings — start at the top:
cd /tmp/sbbs/src/sbbs3
make USE_DOSEMU=0 jsexec  || make CFLAGS_EXTRA="-I../conio" jsexec
sudo cp jsexec /usr/local/bin/

Or set SBBS_JSEXEC=/path/to/your/jsexec in the systemd unit's
environment.

Path 2 — Original DOS LORD under DOSBox

Prerequisites

DOSBox config

lord.conf next to the binaries. Key sections:

[serial]
serial1 = nullmodem server:9001
serial2 = disabled

[autoexec]
mount c .
c:
LORDCFG -nodes 1
LORD /N1 /B19200

COM1 is the bridge port (matched on the BBS side); LORDCFG runs
once to write NODE1.DAT; then LORD launches in "single-node, COM1
at 19200" mode.

Bridge wiring

The BBS process opens a TCP connection to localhost:9001 and
ferries bytes between the user's terminal writer and the socket.
That's the DosBridge class — see DosBridge.

LORDCFG gotchas

Exit hangs

If LORD's exit doesn't release Xvfb cleanly, the watchdog needs
a waitpid on DOSBox plus an idle timeout. ANetBBS does both —
xvfb-run will hang past door exit if not babysat. The fallback
is Ctrl+]q which the bridge translates to DOSBox's "kill
emulator" sequence.

See also