DOS Door Recipe
Concrete recipe for getting a DOS door (e.g. LORD)
running under DOSBox-staging on Linux behind ANetBBS.
Ingredients
- DOSBox-staging 0.81+ (
apt install dosbox-stagingon Debian/Ubuntu) - Xvfb (
apt install xvfb) for headless runs - The DOS door's original files (preserve them as-is)
- TCP nullmodem patch baked into DOSBox-staging (default since 0.81)
Steps
1. Drop the door into place
sudo mkdir -p /var/lib/anetbbs/doors/lord
sudo chown stingray:stingray /var/lib/anetbbs/doors/lord
sudo -u stingray cp -a /path/to/lord/* /var/lib/anetbbs/doors/lord/
2. Configure DOSBox
Make a lord.conf next to the binaries. The two essential
sections:
[serial]
serial1 = nullmodem server:9001
serial2 = disabled
[autoexec]
mount c .
c:
LORDCFG -nodes 1
LORD /N1 /B19200
Pick a free TCP port (9001 here) — used by the DosBridge.
3. Register the door
/admin/games/ → Add Game, type door_dos:
| Field | Value |
|---|---|
| Name | LORD |
| Description | Legend of the Red Dragon |
| Working dir | /var/lib/anetbbs/doors/lord |
| Command | xvfb-run -a dosbox-staging -conf lord.conf |
| Bridge port | 9001 |
| Max nodes | 1 |
| Time limit | 30 min |
| Idle timeout | 5 min |
4. First test
Play it from your sysop account first. Watch
journalctl -u anetbbs-telnet -f — you should see:
bridge connected to 127.0.0.1:9001
bridge: 215 bytes in, 4096 bytes out, ...
door exited code 0 — bridge closing
If you see "bridge: 0 bytes in, 0 bytes out", DOSBox isn't talking
back. Common causes:
serial1=stdioinstead ofnullmodem server:(old config)- Port already in use (
ss -tnlp | grep 9001) - Door config still pointing at COM1=stdio inside the door itself
5. Ship it
If the test works, make sure the user-side path works too — log
in as a regular user and play it.
See also
- LORD Setup for LORD-specific tweaks
- DosBridge for the protocol details
- Door Setup for the higher-level admin flow