The Gamemaster BBS

The place to talk about the iconic BBS era
Kracken
Posts: 77
Joined: Sat Aug 08, 2020 1:12 pm

Re: The Gamemaster BBS

Post by Kracken »

enusbaum wrote:
> daniel_spain wrote:
> > Questman wrote:
> > > For DOS, it was really the only way.
> > >
> > > Now I'd spin out containers for each module and have them managed by
> > > kubernetes; the base system would be its own container and there'd be APIs
> > > that would allow for interprocess communication. Kafka would be fine for
> > > streaming events
> > >
> > > I mean, if we were starting from literal scratch :)
> >
> > so years ago i wrote a tyele-arena standalone server, not to release but for my
> own
> > "learning" experience.
> > and looking at my server.cpp code the continious-loop process i use "very
> much
> > like major bbs i would assume"
> > wasnt very hard, parsing the input strings into blocks of text input[256][256];
> again
> > not too bad.
> > so my question.... has anyone tried starting a small major bbs server from
> scratch?
> > my project im about to start on is ripping a worldgroup 3.0 down to the
> barebones and
> > going off that
> > but has anyone considered doing it, i mean all the code is there to do the
> modules
> > and the api and you
> > could eliminate alot of things Stryker NEEDEd to use because he was playing in
> early
> > dos (3.3 for file locking i think? maybe 5)
> > but not as the mainline project just a side project to try it out.
> > Speaking of do we have a home hq online anywhere?
>
> This post is basically the purpose behind the emulator. Even runs in Docker :)

Nice, effectively in the spirit of process isolation 1 module 1 daemon/process exposed to outside net.
The persistent storage layer, from my understanding is a local folder under some emulated BTRIEVE DAT files if I'm not mistaken, or is it?

I'm curious about the docker engine you tested it in. Was it Windows arch or under mono for linux compatibility?
That's for sure an interesting approach to extend the portability but also reach of modules (ie: non-majorbbs boards)

Cheers,

User avatar
enusbaum
Posts: 21
Joined: Sat Aug 08, 2020 4:47 pm
Location: Charlotte, NC
Contact:

Re: The Gamemaster BBS

Post by enusbaum »

Kracken wrote:
> Nice, effectively in the spirit of process isolation 1 module 1 daemon/process
> exposed to outside net.
> The persistent storage layer, from my understanding is a local folder under some
> emulated BTRIEVE DAT files if I'm not mistaken, or is it?
>
> I'm curious about the docker engine you tested it in. Was it Windows arch or under
> mono for linux compatibility?
> That's for sure an interesting approach to extend the portability but also reach of
> modules (ie: non-majorbbs boards)
>
> Cheers,

There's a repo here for a Dockerfile for MBBSEmu: https://github.com/fletcherm/mbbsemu-docker

It should run under any Linux/Windows x64 host -- even ARM -- given a compatible binary version.

For persistent storage, we used Volume Mapping so the data could be persisted outside of the container (Btrieve, custom module files, etc.) since the modules by their nature assume a persisted underlying file system. Some modules (T-LORD, Lunatix, etc.) store configs in custom files using FOPEN for access. Just the nature of the beast when it comes to the modules, no way around it.
Developer, Reverse Engineer, MBBS/WG Enthusiast
Maintainer of The MajorBBS Emulation Project (MBBSEmu)

Kracken
Posts: 77
Joined: Sat Aug 08, 2020 1:12 pm

Re: The Gamemaster BBS

Post by Kracken »

enusbaum wrote:
> Kracken wrote:
> > Nice, effectively in the spirit of process isolation 1 module 1 daemon/process
> > exposed to outside net.
> > The persistent storage layer, from my understanding is a local folder under some
> > emulated BTRIEVE DAT files if I'm not mistaken, or is it?
> >
> > I'm curious about the docker engine you tested it in. Was it Windows arch or
> under
> > mono for linux compatibility?
> > That's for sure an interesting approach to extend the portability but also reach
> of
> > modules (ie: non-majorbbs boards)
> >
> > Cheers,
>
> There's a repo here for a Dockerfile for MBBSEmu:
> https://github.com/fletcherm/mbbsemu-docker
>
> It should run under any Linux/Windows x64 host -- even ARM -- given a compatible
> binary version.
>
> For persistent storage, we used Volume Mapping so the data could be persisted outside
> of the container (Btrieve, custom module files, etc.) since the modules by their
> nature assume a persisted underlying file system. Some modules (T-LORD, Lunatix,
> etc.) store configs in custom files using FOPEN for access. Just the nature of the
> beast when it comes to the modules, no way around it.

Make sense for case by case data/config handling since the mbbs sdk is permissive on that regard.
FYI I just tested the x64 linux build, works pretty well containerized (used buster slim base)

daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: The Gamemaster BBS

Post by daniel_spain »

enusbaum wrote:
> Kracken wrote:
> > Nice, effectively in the spirit of process isolation 1 module 1 daemon/process
> > exposed to outside net.
> > The persistent storage layer, from my understanding is a local folder under some
> > emulated BTRIEVE DAT files if I'm not mistaken, or is it?
> >
> > I'm curious about the docker engine you tested it in. Was it Windows arch or
> under
> > mono for linux compatibility?
> > That's for sure an interesting approach to extend the portability but also reach
> of
> > modules (ie: non-majorbbs boards)
> >
> > Cheers,
>
> There's a repo here for a Dockerfile for MBBSEmu:
> https://github.com/fletcherm/mbbsemu-docker
>
> It should run under any Linux/Windows x64 host -- even ARM -- given a compatible
> binary version.
>
> For persistent storage, we used Volume Mapping so the data could be persisted outside
> of the container (Btrieve, custom module files, etc.) since the modules by their
> nature assume a persisted underlying file system. Some modules (T-LORD, Lunatix,
> etc.) store configs in custom files using FOPEN for access. Just the nature of the
> beast when it comes to the modules, no way around it.

almost wondering if this is not the very thing Sylvain over at vircom wrote years ago..... they run TA97 as a stand-alone windows service that uses btrieve, message files, etc.. it basically runs the TA97 addon module compiled in bc 4.5 and only uses a worldgroup system as a front end to deal with user accounting and when you select the game you connect to the windows server running the game. So in a nutshell they created a low-level emulator for the sole purpose of running their addon. And perhaps it was done to not have to buy more worldgroup licenses since galacticomm allowed 2 instances one live bbs and one dev/test system.

Questman
Posts: 160
Joined: Fri Aug 07, 2020 2:12 pm
Location: Raleigh, NC
Contact:

Re: The Gamemaster BBS

Post by Questman »

I mean, honestly Eric I don't see the purpose of the emulator. The baseline works on all current platforms of Windows, it can be containerized with any Windows-supporting container technology (although to dubious benefit), and it has the benefit of running the modules alongside a full system.
Founder, The Major BBS Restoration Project
Owner, Elwynor Technologies ISV
Former Owner, Galacticomm IP (2005-2020)
Contributor, Galacticomm IP baseline

daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: The Gamemaster BBS

Post by daniel_spain »

Questman wrote:
> I mean, honestly Eric I don't see the purpose of the emulator. The baseline
> works on all current platforms of Windows, it can be containerized with any
> Windows-supporting container technology (although to dubious benefit), and
> it has the benefit of running the modules alongside a full system.

Unless it can do something like GOG.com does.

So if you purchase an old dos game for example “Warcraft 1” you get a game running inside a dosbox emulation. Then you could sell servers for a specific add on. I mean you could.

User avatar
enusbaum
Posts: 21
Joined: Sat Aug 08, 2020 4:47 pm
Location: Charlotte, NC
Contact:

Re: The Gamemaster BBS

Post by enusbaum »

Questman wrote:
> I mean, honestly Eric I don't see the purpose of the emulator. The baseline
> works on all current platforms of Windows, it can be containerized with any
> Windows-supporting container technology (although to dubious benefit), and
> it has the benefit of running the modules alongside a full system.

Hey Rick --

MBBSEmu gives our community a degree of flexibility that it, to date, has not had.

I completely agree with your points that anyone running Windows who wants to run a full WG3NT install and setup a dedicated board can (for now).

My thoughts going into this project is that there are more people in the world who remember fondly USING Bulletin Boards than those who RAN bulletin boards. Additionally, there is now a large segment of the BBS using population running a variety of operating systems including Linux and OSX. The goal for MBBSEmu was to lower the technical requirements of being able to easily play a game someone once enjoyed in a modern environment. As Dan mentioned, very similar to DOSBox.

So while MBBSEmu might not be for you in particular, it does fulfill a purpose that the community has shown support and excitement for.
Developer, Reverse Engineer, MBBS/WG Enthusiast
Maintainer of The MajorBBS Emulation Project (MBBSEmu)

daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: The Gamemaster BBS

Post by daniel_spain »

enusbaum wrote:
> Questman wrote:
> > I mean, honestly Eric I don't see the purpose of the emulator. The baseline
> > works on all current platforms of Windows, it can be containerized with any
> > Windows-supporting container technology (although to dubious benefit), and
> > it has the benefit of running the modules alongside a full system.
>
> Hey Rick --
>
> MBBSEmu gives our community a degree of flexibility that it, to date, has not had.
>
> I completely agree with your points that anyone running Windows who wants to run a
> full WG3NT install and setup a dedicated board can (for now).
>
> My thoughts going into this project is that there are more people in the world who
> remember fondly USING Bulletin Boards than those who RAN bulletin boards.
> Additionally, there is now a large segment of the BBS using population running a
> variety of operating systems including Linux and OSX. The goal for MBBSEmu was to
> lower the technical requirements of being able to easily play a game someone once
> enjoyed in a modern environment. As Dan mentioned, very similar to DOSBox.
>
> So while MBBSEmu might not be for you in particular, it does fulfill a purpose that
> the community has shown support and excitement for.

i see both points but in regards to licensing. this i see could be problematic. I'll use MajorMud as an example.
So im running the emulator and hosting a majormud game, im actually in violation of the TOS.
So how do we emulate addons properly? open source addons only? free ware? permission from isv?
i feel like while we're introducing something cool, at the same time, we're giving another reason to
argue.
And when it comes to emulation i find myself to be a bit of an expert as i was a systems designer for
Ultima Online emulation for mega-years hence why i know so much more when it comes to c# and
scripting.
again im not demeaning your product please believe me im not, i just see a way for people to take addons they
want and run them without buying them.
How does the emulator mimic the reg# of the system for the addon activation code to work or does it bypass it
completely? because even in a free-world we still have commercial addons.

User avatar
enusbaum
Posts: 21
Joined: Sat Aug 08, 2020 4:47 pm
Location: Charlotte, NC
Contact:

Re: The Gamemaster BBS

Post by enusbaum »

daniel_spain wrote:

Hey Dan -- I'll reply inline to a couple of the questions you posed :)

> i see both points but in regards to licensing. this i see could be problematic. I'll
> use MajorMud as an example.
> So im running the emulator and hosting a majormud game, im actually in violation of
> the TOS.

I'm unsure what specific TOS you're talking about in regards to MajorMUD. The only way you could host MajorMUD in the emulator is if you have a valid MajorMUD registration code for your bturno. No different than MBBS/WG/WGNT.

> So how do we emulate addons properly? open source addons only? free ware? permission
> from isv?

Modules are emulated as they would run on the host system. No different than any other emulator running a ROM, or a DOS game running in DOSBox. To that end, there's no special requirement the module be open source, closed source, proprietary, etc.

> i feel like while we're introducing something cool, at the same time, we're giving
> another reason to argue.
> And when it comes to emulation i find myself to be a bit of an expert as i was a
> systems designer for
> Ultima Online emulation for mega-years hence why i know so much more when it comes to
> c# and
> scripting.
> again im not demeaning your product please believe me im not, i just see a way for
> people to take addons they
> want and run them without buying them.
> How does the emulator mimic the reg# of the system for the addon activation code to
> work or does it bypass it
> completely? because even in a free-world we still have commercial addons.

Nothing is bypassed. The x86 code is emulated as it would be on a 16-bit i286 processor and calls in the Imported Name Tables for functions hosted in MAJORBBS, GSBL, etc. are emulated as they would be as well. The Registration # (GSBL->bturno) is set in the appsettings.json file. People who use MBBSEmu still need to enter their module registration codes in the appropriate MSG file for their Reg#.

The goal is always providing greater access to a wider audience. Most ISV's I've been in contact with seem very excited about the project and have been more than willing to help.
Developer, Reverse Engineer, MBBS/WG Enthusiast
Maintainer of The MajorBBS Emulation Project (MBBSEmu)

daniel_spain
Posts: 395
Joined: Sun Aug 09, 2020 2:39 am

Re: The Gamemaster BBS

Post by daniel_spain »

enusbaum wrote:
> daniel_spain wrote:
>
> Hey Dan -- I'll reply inline to a couple of the questions you posed :)
>
> > i see both points but in regards to licensing. this i see could be problematic.
> I'll
> > use MajorMud as an example.
> > So im running the emulator and hosting a majormud game, im actually in violation
> of
> > the TOS.
>
> I'm unsure what specific TOS you're talking about in regards to MajorMUD. The only
> way you could host MajorMUD in the emulator is if you have a valid MajorMUD
> registration code for your bturno. No different than MBBS/WG/WGNT.
>
> > So how do we emulate addons properly? open source addons only? free ware?
> permission
> > from isv?
>
> Modules are emulated as they would run on the host system. No different than any
> other emulator running a ROM, or a DOS game running in DOSBox. To that end, there's
> no special requirement the module be open source, closed source, proprietary, etc.
>
> > i feel like while we're introducing something cool, at the same time, we're
> giving
> > another reason to argue.
> > And when it comes to emulation i find myself to be a bit of an expert as i was a
> > systems designer for
> > Ultima Online emulation for mega-years hence why i know so much more when it
> comes to
> > c# and
> > scripting.
> > again im not demeaning your product please believe me im not, i just see a way
> for
> > people to take addons they
> > want and run them without buying them.
> > How does the emulator mimic the reg# of the system for the addon activation code
> to
> > work or does it bypass it
> > completely? because even in a free-world we still have commercial addons.
>
> Nothing is bypassed. The x86 code is emulated as it would be on a 16-bit i286
> processor and calls in the Imported Name Tables for functions hosted in MAJORBBS,
> GSBL, etc. are emulated as they would be as well. The Registration #
> (GSBL->bturno) is set in the appsettings.json file. People who use MBBSEmu still
> need to enter their module registration codes in the appropriate MSG file for their
> Reg#.
>
> The goal is always providing greater access to a wider audience. Most ISV's I've been
> in contact with seem very excited about the project and have been more than willing
> to help.

ok so that answers my main question. Sweet you need a valid reg, but who decides it validity?
your intentions are good but there is someone else always willing to use it for evil.
I mean believe it or not galacticomm used to have a guy that single handedly verified
systems online for a valid reg# even Lance himself put a backdoor in majormud so you could see
the bbs's reg# so it used to be a highly policed system.
There are still people out there that think anything bbs related should be free, open sourced,
and available to all. Some forget the blood sweat and tears people put into this stuff to make
it work.
I see you're a reverse engineer...... i took the tele-arena source code that is floating around
the internet with that LIB file and recreated that LIB file (5 C files) through just hard work,
failure, and determination until i replicated the original game api 100% (took 5 years)
and i did it because i enjoy it but the heat i take when i wont give people "the source"
it amazes me.... noone is interested unless the "source is included" so yes there are
people who will use your project for evil. But again im not against it, hey do you.
if its what you enjoy have at it

Locked