A classic bulletin board system from the DOS/OS2 era, now running on modern operating systems based on UNIX (macOS, Linux, FreeBSD, etc.)
Maximus was one of the premier BBS packages of the early 90s, developed by Scott Dudley and Lanius Corporation. It supported FidoNet messaging, file transfers, MEX scripting, and all the features that made BBSing great. The source was released under GPL after Lanius ceased operations.
This fork focuses on getting Maximus compiling and running on modern systems so folks who want to relive the BBS days or run a retro board can actually do so without hunting down a DOS emulator or vintage hardware.
| Platform | Status |
|---|---|
| macOS arm64 (Apple Silicon) | Tested |
| macOS x86_64 (Intel) | Tested |
| Linux x86_64 | Tested |
| Linux arm64 | Should work |
| FreeBSD | Supported |
What works: Full BBS operation via telnet access (MAXTEL), MEX scripting, all utilities (mecca, mex compiler, maxcfg). Most features should continue to work as expected and are assumed to work unless otherwise noted (e.g. FidoNet messaging, file transfers).
Want to be a SysOp? Ready to command your own retro battle station? You don't need to compile anything - just grab a release and go. The release packages include everything you need to run a BBS.
Download the latest release for your platform from GitHub Releases:
# Example for macOS ARM64
tar -xzvf maximus-3.04a-r2-macos-arm64.tar.gz
cd maximus-3.04a-r2-macos-arm64The interactive install script configures your BBS name, sysop name, and sets up all paths:
bin/install.shFollow the prompts to name your BBS and set your sysop name. The script sets up the TOML configuration under config/.
Log in locally to create your sysop account and the user database:
bin/runbbs.sh -cEnter your sysop name (matching what you set during install), create a password, and exit with G (Goodbye). Remote connections will fail until this step is complete.
MAXTEL is the telnet supervisor that manages multi-node access to your BBS:
# Start your BBS with 4 nodes on port 2323
bin/maxtel -p 2323 -n 4That's it. Your BBS is now accepting callers. Connect with any telnet client:
telnet localhost 2323When a new release is available, update the executables, libraries, and optionally the display files and scripts. Your configuration, message bases, and user data are preserved.
# Download and extract the new release
tar -xzvf maximus-NEW-VERSION.tar.gz
# Always: update binaries and libraries
cp -r maximus-NEW-VERSION/bin/* /path/to/your/bbs/bin/
cp -r maximus-NEW-VERSION/lib/* /path/to/your/bbs/lib/
# If not customized: update display files and scripts
cp -r maximus-NEW-VERSION/display/* /path/to/your/bbs/display/
cp -r maximus-NEW-VERSION/scripts/* /path/to/your/bbs/scripts/
# Update and re-apply the language delta
cp maximus-NEW-VERSION/config/lang/delta_english.toml \
/path/to/your/bbs/config/lang/delta_english.toml
cd /path/to/your/bbs
bin/maxcfg --apply-delta config/lang/english.toml --merge-onlyAlways update:
bin/andlib/— executables and shared libraries
Always keep:
config/— your TOML configuration (new keys get sane defaults at runtime)config/lang/english.toml— your language strings (upgraded via delta)data/— user database, message bases, file areas
Update unless customized:
display/— help screens, menu display filesscripts/*.vm— compiled MEX scripts
See CHANGES.md for new features, configuration keys, and breaking changes in each release.
MAXTEL is the preferred way to run Maximus for telnet access. It provides a real-time ncurses dashboard showing node status, connected users, and caller history.
Features:
- Multi-node management (1-32 simultaneous nodes)
- Automatic node assignment for incoming callers
- Real-time status display with responsive layouts
- Headless mode (
-H) for running under process supervisors - Daemon mode (
-D) for background operation
Common usage:
bin/maxtel -p 2323 -n 4 # Interactive mode with UI
bin/maxtel -p 2323 -n 4 -H # Headless (no UI)
bin/maxtel -p 2323 -n 4 -D # Daemon (background)See docs/maxtel.md for complete documentation.
If you want to hack on the code or build from source, we have platform-specific scripts that handle everything:
macOS:
./scripts/build-macos.sh # Auto-detect architecture
./scripts/build-macos.sh arm64 # Apple Silicon
./scripts/build-macos.sh x86_64 # Intel (or Rosetta)Linux:
./scripts/build-linux.sh # Build for your systemBoth scripts run configure, clean, build, and install to build/. Add release to create a distributable package.
See BUILD.md for detailed instructions, manual build steps, dependencies, and troubleshooting.
Sometimes you just want to make sure old code still runs. Picking up retro projects, getting them to compile on modern systems, maybe adding a feature or two, and leaving them around for others who share the interest - that's what this is about. Maximus deserved to keep running.
If you're into BBS history, FidoNet nostalgia, or just appreciate software archaeology, feel free to poke around. Pull requests welcome if you get something working that hasn't been tackled yet.
- 1989-2004: Developed by Lanius Corporation
- ~2003: UNIX port by Wes Garland, Bo Simonsen, and R.F. Jones
- 2025: macOS/Linux modernization and MAXTEL by Kevin Morgan (LimpingNinja)
GNU General Public License (GPL). See LICENSE for details.
- Original Maximus Site (historical)
- BUILD.md - Build instructions and documentation
- CHANGES.md - Release notes and changelog
- FidoNet - If you're wondering what all this FREQ/netmail stuff is about
