Multiple Instances

Development discussions regarding the core platform (MBBS/WG)
daniel_spain
Posts: 428
Joined: Sun Aug 09, 2020 2:39 am

Multiple Instances

Post by daniel_spain »

would be great to run multiple instances on a single pc..... for example i could have my main bbs (port 23) my test bbs (port 50) and my dev system (port 75) all running on the same pc at the same time.
This could pose issues i know with binding of the other services but they could be turned off on systems that are just running the telnet daemons.

User avatar
Duckula
Posts: 379
Joined: Wed Jul 22, 2020 1:19 am

Re: Multiple Instances

Post by Duckula »

This may be challenging technically depending on how it was implemented but we will add it to the list, thanks.
-- Duckula

// Site admin
// Galacticomm IP owner

Bloodrock
Posts: 31
Joined: Sun Aug 09, 2020 4:27 pm

Re: Multiple Instances

Post by Bloodrock »

i use vms and use nomachine to remote to i can see there would be issues runing more than 1 mbbs/wg course can be wrong

User avatar
killdash9
Posts: 7
Joined: Sun Aug 09, 2020 1:48 am

Re: Multiple Instances

Post by killdash9 »

I also use VMs here. It's pretty much the way to go, it also makes it easier to isolate faults.
Project Team Member - Minister of Propaganda

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

Re: Multiple Instances

Post by daniel_spain »

Bloodrock wrote:
> i use vms and use nomachine to remote to i can see there would be issues
> runing more than 1 mbbs/wg course can be wrong

using .net we had ultima online and world of warcraft emulators running multiple instances.
this is a really light weight program, nothing heavy at all.
Worse-case is you would get a "binding" error on the other ports.

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

Re: Multiple Instances

Post by Questman »

The main issue might be pegging the CPU. Worldgroup/Major BBS is essentially an infinite loop! It's not event-driven. Not really. As Dan notes, a modern .NET Core or Java or other implementation could be event-based, with triggers along with timing on a scheduler (so it isn't constantly polling). But back in the old DOS days that wasn't a thing.
Founder, The Major BBS Restoration Project
Owner, Elwynor Technologies ISV
Former Owner, Galacticomm IP (2005-2020)
Contributor, Galacticomm IP baseline

BearFather
Posts: 1
Joined: Tue Aug 25, 2020 2:40 pm

Re: Multiple Instances

Post by BearFather »

Depending on the load the host might not be able to support it with betreive. It requires a ton of open files to run a single board with mud. I would kill my vm if I try to launch a 2nd instance. But then again I do run 3 muds with 160+ users on it. But it does choke the ---- out of my vm if I try to preform any other actions on it.

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

Re: Multiple Instances

Post by daniel_spain »

BearFather wrote:
> Depending on the load the host might not be able to support it with
> betreive. It requires a ton of open files to run a single board with mud.
> I would kill my vm if I try to launch a 2nd instance. But then again I do
> run 3 muds with 160+ users on it. But it does choke the ---- out of my vm
> if I try to preform any other actions on it.

agreed with btrieve. my new Tele-Arena and Upcoming MajorMud engines use
sqlite and no longer use btrieve. but thats just 2 addons. would love to see
a database replacement.

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

Re: Multiple Instances

Post by Questman »

same Dan - SQLite works really well, but I only used it in DIPC and TDICE so far. Not sure we all should compile it into our modules like we have been, but GALSQL as a standalone wasn't super performant if I recall (but I really can't recall!)
Founder, The Major BBS Restoration Project
Owner, Elwynor Technologies ISV
Former Owner, Galacticomm IP (2005-2020)
Contributor, Galacticomm IP baseline

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

Re: Multiple Instances

Post by daniel_spain »

Questman wrote:
> same Dan - SQLite works really well, but I only used it in DIPC and TDICE
> so far. Not sure we all should compile it into our modules like we have
> been, but GALSQL as a standalone wasn't super performant if I recall (but I
> really can't recall!)

platinum 2.0 was my biggest to use it not only as the game database but the player as well.
the player stuff is in 2 tables... DATA1 and DATA2 one for the "core" stuff from the original
game and one for the newly added variables. it handles with no problems or lag.
now with this being said tis is also my first to use parameterized queries as before
i was using a very "injection-attack vulnerable" method and since i moved to the new
binding options it is very clean and lag-free. i can enter the game right now and type
"reinit" and it will save all 39 people online and reload the entire game cycles in an instant
and they never know the difference. im not sure if it is my coding, or the newer ver of sqlite
i started using but it is quite clean.
Now with that said, i compile sqlite3.c and sqlite3.h right with my game code as well as
have my own sqlite.h included with macros to shorten the commands but its quite quick.
someone actually told me a couple years ago i should go with mysql due to this and that
but i have hit none of those problems they mentioned in a quite busy game.

Post Reply