Today marks the 2-Year Anniversary of the very first public release of MBBSEmu. While MBBSEmu started as an experiment that I thought would have never worked, it has since grown well beyond anywhere I could have taken it myself.
In November 24th, 2019 I checked into (the private at the time) GitHub Repo the first prototype of emulating an external API call from a compiled MajorBBS module (Achery)! By December 7th, MBBSEmu had grown to the point where I was able to get Archery for MajorBBS through its init routine without crashing (my excitement captured here ).
After the public announcement & release of the first alpha of MBBSEmu I started a Patreon where members of the community could help offset the cost of development (IDA Disassembler alone was $400/yr) and the support from the community was overwhelming. In the six months the Patreon was open, we raised over $2000 from community members! During this time I was able to get popular modules such as Tele-Arena, Mutants!, T-LORD, and Lunatix! emulating accurately and being playable.
By the end of 2020, my life had got much more busy and I wasn't able to dedicate as much time to MBBSEmu as it or the community deserved. I decided to Open Source MBBSEmu in August of 2020 and it was quickly picked up by the community. Within the first week, enhancements were being worked on well beyond my technical ability.
Throughout 2021 MBBSEmu continued to grow through the support of the community via Issue Reports on GitHub, Discussions on Discord, and enhancements added by community members who wanted to contribute.
Two years in, MBBSEmu touts a very robust set of features:
- Full Support for the majority of Modules compatible with The MajorBBS 6.25 through Worldgroup 2.0
- High Performance 16-bit x86 Processor written entirely in C#!
- Btrieve v5 support without the need for antiquated drivers
- Telnet and Rlogin allowing you to host a private server to play with your friends!
- Local Console Mode so you can play your favorite game without having to use a Telnet Client
- Support to run EXE files required to perform offline maintenance for modules such as MajorMUD
- Docker Support for running your favorite MajorBBS/Worldgroup Module within a Container!
Almost HALF of the downloads of MBBSEmu are for non-Windows platforms! Even linux-arm is making a show as people are running MBBSEmu on their Raspberry Pi!
Development recently is focused around enhancing support for MajorMUD 1.11p and specifically supporting MegaMUD, so more news on that to come!
Emulator development is hard, make no bones about it. While we've worked at making MBBSEmu a friendly platform to develop, even the smallest of issues can take days to troubleshoot and debug due to the low level nature of emulation. Solving problems can mean hours of stepping line by line through x86 Assembly and checking memory/register values to make sure things have updated properly. While we have over 2,200+ Automated Unit Tests for both the emulated x86 CPU and the emulated APIs, from time to time regressions happen.
We believe MBBSEmu fills a missing part of the MajorBBS/Worldgroup ecosystem. While The MajorBBS Restoration Project works on upgrading/enhancing the core MajorBBS/Worldgroup package to support modern Windows (and soon hopefully 64-bit), MBBSEmu is there to allow modules whose Source Code has been lost, or for what ever reason are not able to be upgraded and kept current, to still be playable on modern platforms.
As an Open Source project, MBBSEmu doesn't belong to me and it's not mine, it's everyone's. While our small community continues to shrink by the day as time marches on, my sincerest hope is that we can keep the memories alive for future generations.
So, a heartfelt thank you to our GitHub contributors: @paladine, @tuday, @fletcherm, and @synacktic!