ATDT Demo board online
NODE 1ANSI · 9600 8-N-1 · CP437

Bring back the BBS.

A complete bulletin board system that runs on the shared hosting you already have. Upload a folder, answer five questions, and you're a SysOp.

Free · MIT licensed · version 1.8.1. Or just press the key

What ATDT is

Old board. New plumbing.

Callers get an authentic CP437 terminal in the browser: ANSI art, hotkey menus, message bases, file areas, live chat, door games. You get a modern web console to run all of it.

▚▚▚

Shared hosting is enough

PHP 8.1 and a folder you can write to. No daemon, no build step, no shell access, nothing to compile. If you can upload a zip in cPanel, you can run a board.

◤◥◤

Setup is a web form

The installer checks your server, sets up the database, and asks for a board name and a SysOp handle. Nobody has to touch a config file or a command line.

▓▒░

Configurable to the bone

Rewrite every menu and hotkey, gate anything with access strings, draw your own ANSI in the built-in editor, and swap every caller-visible string in a theme.


Features

Your board, not a template.

Most of what follows is optional. The board arrives with a complete menu tree, working message areas, and two door games already running, so you can leave every one of these switches alone and still have a board worth calling.

Configuration, right down to a single caller

This is the part worth reading twice. ATDT does not just let you rearrange a menu. Two people can log into the same board at the same moment and see genuinely different boards: different art, different wording, different menus, different games.

  • Every menu is yours. Hotkeys, labels, order, and what each key does, edited in a live designer with a real preview rendered by the same engine callers use.
  • Access strings gate anything. One small grammar controls message areas (read and write separately), menu items, doors, bulletins and polls. Fail one and you never see the line at all.
  • Sections with their own message life. A menu can point at one specific board, or keep its own current area separate from the rest of the system. A game lounge, a language-split board, a staff wing: all from the designer, no code.
  • Themes are per caller. A theme carries every caller-visible string plus the choice of art for the big screens. Pick one board default, then pin individual callers to something else. Your regulars can have a different board from everybody else.
  • Themes travel. Export a whole look as one file, art and all, and hand it to another SysOp. Import theirs in a single step.
  • Art can change by level. A single menu can wear different full-screen backdrops for different callers, chosen by the first access rule the caller passes.
  • Hidden items. A hotkey that works perfectly but never appears on the menu, for the people who know it is there.
  • Or configure nothing at all. The installer builds the whole menu tree for you. Change not one setting and the board still runs, looks right, and makes sense to a caller.
Door games

Anyone can write one

  • The original DOS doors run. LORD, Usurper, TradeWars: the actual programs, in the caller's browser, with no DOSBox and nothing DOS on your server. Drop the game in a folder, scan, add a menu item.
  • HILO and Star Merchant, a TradeWars homage set in a persistent galaxy, ship in the box.
  • Those two are examples, not the limit. Doors are a documented, versioned API.
  • A door is one folder: a manifest and a PHP class with three methods. Writing one takes an afternoon.
  • Each door gets private tables, its own file storage, a daily cron hook, and its own panel inside your console.
  • A door can be wrong but it cannot be fatal. Crashes are caught and logged while the caller walks back to the menu.
  • Scores feed a board-wide champions ladder, and a door can post its own announcements into a message area you choose.
  • Browse the door library or read the API.
The look

Real ANSI, drawn by you

  • 80 by 25 CP437, rendered with an actual IBM VGA font.
  • A full ANSI editor in the console: half-block painting, the complete CP437 glyph set, flood fill, selection, undo.
  • TheDraw-style letter fonts. Type a headline and it lands as big ANSI letters. Four fonts ship, and you can draw your own.
  • One board-wide art gallery: save a piece once and every screen wired to it updates at the same moment.
  • Import classic scene art and edit it. Round trips are byte for byte.
  • iCE colors for bright backgrounds, or authentic blink if you prefer.
  • Pipe color codes and live variables anywhere text appears.
  • The shipped theme is read only, so a bad edit can never break the board.
Messages and files

Bases worth reading, files worth taking

  • Bring your old board with you. The importer reads message history out of a dozen BBS packages and adds it to yours, threads and dates intact. More on that below.
  • Message areas grouped onto named shelves, in the order you choose.
  • A threaded reader, and a new scan that walks everything unread, area by area.
  • Private mail between callers.
  • Separate read and write rules, so an announcements area can be open to read and closed to post.
  • A full-screen editor for writing, with pipe colors if you allow them.
  • Copy and paste that works the way terminals always did: paste into any prompt, drag a rectangle to copy.
  • File areas. Callers upload and download right from the terminal. Drop files in a folder by FTP and one scan lists them, descriptions read from FILES.BBS or FILE_ID.DIZ.
  • Upload ratios and file points for the 1993 feel, switched off until you want them.
Live

Somebody is always on

  • One chat room, every node together, with scrollback.
  • Callers can page you, and you can break in on any caller with a private line. A page can ring your phone as a real push notification if you want it to.
  • Broadcast a timed banner to every connected screen at once.
  • The dashboard shows every live node, what they are doing, and how long they have been idle.
The walls

Somewhere to leave a mark

  • Oneliners, the graffiti wall, one per caller per day.
  • Rumors, one drawn at random to greet each caller.
  • A voting booth with bar graph results.
  • A board-wide auto message that your callers rewrite.
  • Bulletins, as text or as full-screen ANSI.
  • A directory of other boards, plus lists of who called, who is on, and who has an account.
Running it

Quiet to operate

  • Applications can wait for your approval, activate instantly, or be closed entirely.
  • An IP ban list, with a themed refusal instead of a blank wall.
  • Idle callers hang up on their own, so an abandoned tab cannot sit on a node. Or close a line yourself from the dashboard.
  • Optional outgoing mail. Off by default, and off means the board sends no mail at all. Switch it on and callers can reset a forgotten password by email, or write you a letter from inside the board.
  • Security levels and twenty-six flags to hand out however you like.
  • Three logs: events, every console action, and one row per call.
  • SQLite or MySQL. Real cron if you have it, and the board keeps its own schedule if you do not.
  • The whole board is one folder. Copy it and you have a backup.

Coming from another board

Bring forty years with you.

Nobody wants to start over. ATDT is the one package that reads the message history out of the board you already ran and brings it across: the areas, the authors, the dates, the To lines, and the reply threads.

◄◄◄

It reads what you have

Mystic, Synchronet, ENiGMA, Talisman, Magicka, RemoteAccess, Telegard, QuickBBS, Maximus, EleBBS, ProBoard and WWIV. Or the raw bases directly, for a message store that outlived the software that wrote it: JAM, Squish, SMB, Hudson, FTS-1, QWK.

░▒▓

Even the ones nothing reads

A Commodore 64 board, an Apple II, an Atari, something you wrote yourself. There is a documented open format: get the data off the old disks however you can, and ATDT will take it.

▞▞▞

Nothing happens until you say so

You preview the parse first, down to three real messages rendered exactly as they will be stored, then map each area by hand. And there is an undo. Tested at sixty thousand messages.

What you are moving to is a board that runs on ordinary shared hosting, that any caller reaches with a browser and no telnet client, and that is still being worked on. Your history does not have to stay on a machine you are tired of maintaining.


Installing

Four steps, about ten minutes.

There is no step five. The installer prints your cron line, locks itself, and hands you the keys to the console.

01

Upload the folder

Drop the contents of atdt/ into your web space. The root or a subdirectory both work.

02

Open install.php

Visit it in a browser. The environment check runs and explains anything your host is missing.

03

Pick a database

SQLite needs nothing at all and is right for almost everyone. MySQL is there if you prefer it.

04

Name your board

Board name, your handle, a password, a timezone. The board is live when you press save.

PHP 8.1 or newer Extensions pdo · mbstring · json · openssl · session Database pdo_sqlite (recommended) or pdo_mysql Hosting any writable web directory · cron optional, never required

And if step two goes sideways

There is a Support Forum for ATDT and the rest of the BBS Preservation Project software. Installing, hosting, doors, themes, imports: ask there and the answer stays up for whoever hits the same wall next.


Download

Version 1.8.1 is out.

Free, MIT licensed, no account, no telemetry, no upsell. Everything you make lives in one data/ folder, so backing up the whole board means copying one directory.

Curious what is next? See the roadmap.

Version1.8.1
ReleasedOctober 17, 2026
NotesConsole polish
LicenseMIT
RequiresPHP 8.1, SQLite or MySQL