Doors

Last edited 2026-08-03 01:34 EDT · history · 2 views

Doors

A door is a single-user game (or utility) the BBS launches as a
sub-process. Originals were DOS programs talking to the BBS via a
fake COM port; today there's a wider menagerie.

Door types ANetBBS supports

Type What it is Typical example
builtin_web Native HTML/JS — runs in the browser, no shell-out 2048, Tetris, Meadowlark Valley
door_rlogin Outbound rlogin to a remote BBS's own game server LORD, TradeWars on a partner BBS
door_telnet Outbound telnet to a remote game server, no pre-auth handshake TWGS (Trade Wars Game Server)
door_dos DOS executable via DOSBox-staging + TCP nullmodem bridge LORD locally
door_dosemu DOS executable via dosemu2, virtual COM1 (no FOSSIL) DOS doors needing dosemu2 specifically
door_native Linux native binary speaking DOOR.SYS various forks
door_synchronet Synchronet .js doors — real jsexec if present, otherwise Node + compat shim LORD-JS, MajorMUD-JS
door_mystic Mystic Python .mpy with our compat shim Mystic-native Python doors
door_mystic_mps Mystic Pascal .mps, auto-compiled via mplc Mystic-native Pascal doors
door_dos_browser DOS .ZIP bundle via EmulatorJS + dosbox_pure, runs entirely client-side DOOM/Duke3D shareware, no telnet/SSH needed
builtin_python Bundled pure-Python door, runs natively in the terminal — no external binary or runtime ANetCRAFT (active by default)

Note: ANetCRAFT (the bundled builtin_python door above) is a
separate codebase from the standalone ANetCRAFT-Door project (a
C# .NET Minecraft-replica door) — same name, different projects. Don't
assume a fix or feature in one applies to the other.

Playing

Dropfiles

Terminal doors expect a dropfile — a text file with the user's
name, time remaining, baud rate, etc. ANetBBS writes the major
formats automatically right before launch:

Stored in each door's working directory; cleared on launch.

Don't touch the door's working dir

ANetBBS deliberately does not sweep files inside a door's
working directory between launches. Some doors keep persistent
node-specific state in files named like NODE1.DAT that look like
lockfiles but are actually config. Sysops who run an aggressive
cleanup will break the door.

Adding a door

See Door Setup for the long version.