LORD Setup
LORD — Legend of the Red Dragon by Seth Robinson, 1989 — is the
canonical door game and a good test target for DOS Door Recipe
because it exercises all the door plumbing at once.
Prerequisites
- DOSBox-staging built with
--enable-nullmodem(default in 0.81+) - Xvfb if you want to run headless
- The LORD binaries (
LORD.EXE,LORDCFG.EXE,LORD.DAT, etc.)
in a directory you own —/var/lib/anetbbs/doors/lord/
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
LORDCFGwritesNODE1.DAT(orNODE<n>.DAT) into the working
dir. It's a binary config blob — leave it alone between runs.- The dropfile path inside LORDCFG should be
.\(current dir),
not absolute, because DOSBox-staging's path mounting confuses
some doors otherwise. DOOR.SYS COM0means "carrier present"; set to COM1 for the
bridge to think it's on a real port. ANetBBS writes this
correctly out of the box.
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.