Discussion:
CNet BBS Clone
(too old to reply)
MobbyG
2013-10-03 05:28:18 UTC
Permalink
Howde fellow CNet fans!

So I finally decided to try and do what I had considered impossible for me to do. Try and code my own BBS. Well, I got into the Python language when I got my Raspberry Pi, and I wrote a small script to allow me to read the frequency from my Yaesu FT-847 Amateur Radio all mode transceiver, using a USB to Serial port adapter. After a day or so of hacking it, I got it to work and it inspired me to think, if I can get a serial port to talk to my radio, coding a simple BBS should be pretty easy right?

Well, I was half right. I found my old Amiga-Z BBS files on a HDF file from when I ran it under WinUAE, and booted it up on my Mac using P-UAE. I have full access to my old CNet BBS. I'm now making notes and jotting down ideas for newer features, but generally, I am writing a clone of CNet from scratch. The goal is to make it look and feel like CNet but have modern features baked in.

I have started a simple framework to help layout the core parts of the code. Right now all it does is show you a sys.start file, and lets people login. the next goal is to get a working menu system up and going, then add messages and file libraries.

Now I have been getting some help from fellow Sysop Black Phantom. I heavily commented the code I have written and we've been kind of hacking it to get it to do certain things that most BBSes as well as CNet does. But, we were wondering if there were any fellow Python coders that would want to help develop this? Many hands make for light work, and the more the merrier! It should also be noted that Drew wasn't very up to speed on Python, but with some lessons at codecademy.com, a couple ebooks for beginners, and the heavily commented code I started with, he seems to be picking it up rather quickly.

This got me thinking, others could do the same. Learn to code in python as we go. And that is what this post is for. Looking for volunteers who would like to try their hand at python by building a CNet BBS clone. If you are interested, get a hold of me, and we'll set something up so we can all communicate together and try and help each other and get more work done on this project.

If you want to see what we have so far, which really isn't a whole lot, you're welcome to it. Just contact me and I'll send you what we have.

If you feel the need to reply to say you're not a coder but you want to help, thanks! But right now, we don't have any way for you to really help at this time, unless you want to try your hand at learning to code? Still thanks in advance for any help or support anyone can give us. Thanks!
BalsaDawg
2014-01-13 00:50:40 UTC
Permalink
Long ago and in a galaxy far, far away...

At one time I had the same idea as you, but I was going to do it in VB and .NET.

Alas, real life and responsibilities killed the project after only a few weeks. I had several things working pretty good, though.

It would receive and open a connection from a remote client (opening a separate thread for each connection so you could run multiple sessions at one time), go through the standard CNet logon/signup process, and get logged in or signed up.

I also had an MCI-capable data streamer that could do colors and some cursor movement. I didn't have an editor or anything, so all MCI stuff had to be done by hand.

I had converted almost all of the files like sys.text into an Access database, and even had a very primitive reader/writer for it.

It could also spit out GFiles and I was in the process of starting on the messagebase area when I stopped.

Over the years I lost interest in the project and eventually moved on and it got put somewhere on one of my storage drives.

[SIGH]

I still have my Amigas though, and take them out from time to time and look at them. I don't have the heart to plug them in and turn them on, though. Don't want them to get their hopes up...
MobbyG
2014-05-05 19:28:07 UTC
Permalink
Post by BalsaDawg
Long ago and in a galaxy far, far away...
At one time I had the same idea as you, but I was going to do it in VB and .NET.
Alas, real life and responsibilities killed the project after only a few weeks. I had several things working pretty good, though.
It would receive and open a connection from a remote client (opening a separate thread for each connection so you could run multiple sessions at one time), go through the standard CNet logon/signup process, and get logged in or signed up.
I also had an MCI-capable data streamer that could do colors and some cursor movement. I didn't have an editor or anything, so all MCI stuff had to be done by hand.
I had converted almost all of the files like sys.text into an Access database, and even had a very primitive reader/writer for it.
It could also spit out GFiles and I was in the process of starting on the messagebase area when I stopped.
Over the years I lost interest in the project and eventually moved on and it got put somewhere on one of my storage drives.
[SIGH]
I still have my Amigas though, and take them out from time to time and look at them. I don't have the heart to plug them in and turn them on, though. Don't want them to get their hopes up...
I would love to see any notes or code you may still have if you're willing to share. I figure the more reference material I have the better luck I will have at banging something out.
Christophe Prevotaux
2014-01-14 20:04:25 UTC
Permalink
I think it would be better to get the source code released as open source
under a BSD licence finally. Nobody has done anything with that source
code and I have been following this over 10 years or more.

So how about now releasing it ?
Post by MobbyG
Howde fellow CNet fans!
So I finally decided to try and do what I had considered impossible for
me to do. Try and code my own BBS. Well, I got into the Python language
when I got my Raspberry Pi, and I wrote a small script to allow me to
read the frequency from my Yaesu FT-847 Amateur Radio all mode
b***@gmail.com
2014-02-28 18:05:56 UTC
Permalink
Post by Christophe Prevotaux
I think it would be better to get the source code released as open source
under a BSD licence finally. Nobody has done anything with that source
code and I have been following this over 10 years or more.
So how about now releasing it ?
Yer fartin' upwind, dude.

It'll never happen.

You'ld have better luck selling beef in New Delhi...
MobbyG
2014-05-05 16:45:35 UTC
Permalink
Post by Christophe Prevotaux
I think it would be better to get the source code released as open source
under a BSD licence finally. Nobody has done anything with that source
code and I have been following this over 10 years or more.
So how about now releasing it ?
Post by MobbyG
Howde fellow CNet fans!
So I finally decided to try and do what I had considered impossible for
me to do. Try and code my own BBS. Well, I got into the Python language
when I got my Raspberry Pi, and I wrote a small script to allow me to
read the frequency from my Yaesu FT-847 Amateur Radio all mode
Christopher, I know you have been beating that horse for about 10 years now. It is throughly dead. I really think it's time to move on. Todd didn't release it, Dan will not release it. Plus, the code is truly old, and would need a shit ton of work to bring it up to modern standards.

I really think that starting from scratch with newer and updated code is the way to go. Plus if that new code is released as open, then we won't have to worry about something like this situation happening again, as well as the ability to port the code to other platforms. Right now Classic Amiga is the only platform it is available on and hardware is getting more and more expensive because of how hard it is to find it in a working order. And next gen Amigas are very pricey and a turn off to being able to run it. Meanwhile you have AROS and Linux as well as Macs and PC that are available with no problems.

Here is what I have so far. I have compiled it and with the exception of directory paths, it seems to work. If anyone wants to run with it, feel free. I have been away from it for a bit and I am starting to think about it more and more on how to get back into it. So I plan on doing a little more soon. in the mean time...

https://www.dropbox.com/s/0xy3kbcy0m66bfj/bbscore.py
MobbyG
2014-05-05 19:37:18 UTC
Permalink
Post by MobbyG
Howde fellow CNet fans!
Clipped to save electrons...

So I was pressed for time and didn't get to post how I got it to run, incase anyone wants to mess around with it...

I used a telnet replacement from Frank Linhares, that he used for Mystic BBS. Basically it allows incoming connections on the specified port and then executes a program once that connection was made.

When I ran it and made the connection, it wasn't able to display the ANSI welcome. I figured out it was wasn't looking in the correct directory. I think it was looking from root, and not my user directory where the code was running from. Once I figured that out, I just never went back in and fixed that in the code. I was planning on coming back to it, but like I said in my reply to Christopher, I just got tied up with real life and never came back.

So that will be my first order of business when I get back into the swing of it.

I'm still looking for anyone that may want to help out. If you do, please let me know. And if you have any questions, same deal, let me know and I'll be happy to answer.
Ryan P.
2014-10-30 15:33:42 UTC
Permalink
Post by MobbyG
Howde fellow CNet fans!
So I finally decided to try and do what I had considered impossible for me to do. Try and code my own BBS. Well, I got into the Python language when I got my Raspberry Pi, and I wrote a small script to allow me to read the frequency from my Yaesu FT-847 Amateur Radio all mode transceiver, using a USB to Serial port adapter. After a day or so of hacking it, I got it to work and it inspired me to think, if I can get a serial port to talk to my radio, coding a simple BBS should be pretty easy right?
Well, I was half right. I found my old Amiga-Z BBS files on a HDF file from when I ran it under WinUAE, and booted it up on my Mac using P-UAE. I have full access to my old CNet BBS. I'm now making notes and jotting down ideas for newer features, but generally, I am writing a clone of CNet from scratch. The goal is to make it look and feel like CNet but have modern features baked in.
I have started a simple framework to help layout the core parts of the code. Right now all it does is show you a sys.start file, and lets people login. the next goal is to get a working menu system up and going, then add messages and file libraries.
Now I have been getting some help from fellow Sysop Black Phantom. I heavily commented the code I have written and we've been kind of hacking it to get it to do certain things that most BBSes as well as CNet does. But, we were wondering if there were any fellow Python coders that would want to help develop this? Many hands make for light work, and the more the merrier! It should also be noted that Drew wasn't very up to speed on Python, but with some lessons at codecademy.com, a couple ebooks for beginners, and the heavily commented code I started with, he seems to be picking it up rather quickly.
This got me thinking, others could do the same. Learn to code in python as we go. And that is what this post is for. Looking for volunteers who would like to try their hand at python by building a CNet BBS clone. If you are interested, get a hold of me, and we'll set something up so we can all communicate together and try and help each other and get more work done on this project.
If you want to see what we have so far, which really isn't a whole lot, you're welcome to it. Just contact me and I'll send you what we have.
If you feel the need to reply to say you're not a coder but you want to help, thanks! But right now, we don't have any way for you to really help at this time, unless you want to try your hand at learning to code? Still thanks in advance for any help or support anyone can give us. Thanks!
So I've been playing around with the bit of code you gave me, and
learning some about the language. I just haven't had much time to spend
doing anything creative with some of the Life stuff going on around me!
Its nice to finally have some free time again. :)

Are you and Black Phantom still playing around with it?
MobbyG
2014-11-29 03:56:58 UTC
Permalink
It's been on the back burner simply because I'm the one doing the coding, and trying to figure out how to do the things I want it to do gets me frustrated and I need to step away from it.

Currently, I'm trying to get the MCI working. I can get it to simply change text colors, but getting like a background color with a different foreground color for the text is still giving me a headache. I need to really just sit down and block out the logic and then try and code it, then debug it.

The news part was coming along nicely, but I got sidetracked with MCI. But the news right now, looks at your last call, which is just a line in a txt file right now, and compares that to the current date, and then shows all or just the newest one.

I have a test system up, but it's not accessible from the outside. But if you want access to it just to see it, email me and I'll open it up and give you the info.

I guess right now, I'm just looking for help with coding as my skills are not a developed as I would like.

I'm thinking I'll post what I do have on Git and maybe someone will get a little interested and contribute some code to it.
Post by Ryan P.
Post by MobbyG
Howde fellow CNet fans!
So I finally decided to try and do what I had considered impossible for me to do. Try and code my own BBS. Well, I got into the Python language when I got my Raspberry Pi, and I wrote a small script to allow me to read the frequency from my Yaesu FT-847 Amateur Radio all mode transceiver, using a USB to Serial port adapter. After a day or so of hacking it, I got it to work and it inspired me to think, if I can get a serial port to talk to my radio, coding a simple BBS should be pretty easy right?
Well, I was half right. I found my old Amiga-Z BBS files on a HDF file from when I ran it under WinUAE, and booted it up on my Mac using P-UAE. I have full access to my old CNet BBS. I'm now making notes and jotting down ideas for newer features, but generally, I am writing a clone of CNet from scratch. The goal is to make it look and feel like CNet but have modern features baked in.
I have started a simple framework to help layout the core parts of the code. Right now all it does is show you a sys.start file, and lets people login. the next goal is to get a working menu system up and going, then add messages and file libraries.
Now I have been getting some help from fellow Sysop Black Phantom. I heavily commented the code I have written and we've been kind of hacking it to get it to do certain things that most BBSes as well as CNet does. But, we were wondering if there were any fellow Python coders that would want to help develop this? Many hands make for light work, and the more the merrier! It should also be noted that Drew wasn't very up to speed on Python, but with some lessons at codecademy.com, a couple ebooks for beginners, and the heavily commented code I started with, he seems to be picking it up rather quickly.
This got me thinking, others could do the same. Learn to code in python as we go. And that is what this post is for. Looking for volunteers who would like to try their hand at python by building a CNet BBS clone. If you are interested, get a hold of me, and we'll set something up so we can all communicate together and try and help each other and get more work done on this project.
If you want to see what we have so far, which really isn't a whole lot, you're welcome to it. Just contact me and I'll send you what we have.
If you feel the need to reply to say you're not a coder but you want to help, thanks! But right now, we don't have any way for you to really help at this time, unless you want to try your hand at learning to code? Still thanks in advance for any help or support anyone can give us. Thanks!
So I've been playing around with the bit of code you gave me, and
learning some about the language. I just haven't had much time to spend
doing anything creative with some of the Life stuff going on around me!
Its nice to finally have some free time again. :)
Are you and Black Phantom still playing around with it?
Ryan P.
2015-05-08 15:14:20 UTC
Permalink
Post by MobbyG
It's been on the back burner simply because I'm the one doing the coding, and trying to figure out how to do the things I want it to do gets me frustrated and I need to step away from it.
Currently, I'm trying to get the MCI working. I can get it to simply change text colors, but getting like a background color with a different foreground color for the text is still giving me a headache. I need to really just sit down and block out the logic and then try and code it, then debug it.
The news part was coming along nicely, but I got sidetracked with MCI. But the news right now, looks at your last call, which is just a line in a txt file right now, and compares that to the current date, and then shows all or just the newest one.
I have a test system up, but it's not accessible from the outside. But if you want access to it just to see it, email me and I'll open it up and give you the info.
I guess right now, I'm just looking for help with coding as my skills are not a developed as I would like.
I'm thinking I'll post what I do have on Git and maybe someone will get a little interested and contribute some code to it.
Any progress report? Things are starting to wind down here for summer
break (summer hours working for a school bus company are great, even for
us managers), so I can actually spend of time playing around soon if
there's still something to play with. :)
MobbyG
2015-06-17 02:55:45 UTC
Permalink
Post by Ryan P.
Post by MobbyG
It's been on the back burner simply because I'm the one doing the coding, and trying to figure out how to do the things I want it to do gets me frustrated and I need to step away from it.
Currently, I'm trying to get the MCI working. I can get it to simply change text colors, but getting like a background color with a different foreground color for the text is still giving me a headache. I need to really just sit down and block out the logic and then try and code it, then debug it.
The news part was coming along nicely, but I got sidetracked with MCI. But the news right now, looks at your last call, which is just a line in a txt file right now, and compares that to the current date, and then shows all or just the newest one.
I have a test system up, but it's not accessible from the outside. But if you want access to it just to see it, email me and I'll open it up and give you the info.
I guess right now, I'm just looking for help with coding as my skills are not a developed as I would like.
I'm thinking I'll post what I do have on Git and maybe someone will get a little interested and contribute some code to it.
Any progress report? Things are starting to wind down here for summer
break (summer hours working for a school bus company are great, even for
us managers), so I can actually spend of time playing around soon if
there's still something to play with. :)
Not much except what I had before. Real life popped up, but I have been thinking about it more lately. Trying to figure out the logic of how I would do some things. But here is a short list of what is working.. kinda...

-You can login and it will give you 3 tries before it boots you. No way to send feedback to SysOp yet.
-Very basic MCI. You can do colors and that's pretty much it.
-News will display and it will keep track of when your last call was and display the news that you haven't seen.
-Main Menu is basically 3 commands, and that's it. Trying to work out how the main menu customization would work. I'm thinking I'll just hard code commands and worry about custom stuff later on.

I do have it running on a test machine just to be able to say I have something. I have been starting to look at some of the python stuff I have to get refreshed and back up to speed so I can add something. I'm feeling kind of useless when it comes down to it since it's just me. But hey, I'll keep plugging along.

But the code is available to anyone who wants to look at it, such as it is. I'm going to release it under GPL.

Shameless plug: If anyone wants to try their hand at Python and try and help, codecademy.com and Lynda.com are where I got myself started.
Ryan P.
2015-06-22 13:46:21 UTC
Permalink
I've always been of the opinion that some basic commands should be
hard coded anyway. Sometimes standardization is a good thing. :)

Do you have an opinion on which site is better for a beginner's intro
do python?
Post by MobbyG
Post by Ryan P.
Post by MobbyG
It's been on the back burner simply because I'm the one doing the coding, and trying to figure out how to do the things I want it to do gets me frustrated and I need to step away from it.
Currently, I'm trying to get the MCI working. I can get it to simply change text colors, but getting like a background color with a different foreground color for the text is still giving me a headache. I need to really just sit down and block out the logic and then try and code it, then debug it.
The news part was coming along nicely, but I got sidetracked with MCI. But the news right now, looks at your last call, which is just a line in a txt file right now, and compares that to the current date, and then shows all or just the newest one.
I have a test system up, but it's not accessible from the outside. But if you want access to it just to see it, email me and I'll open it up and give you the info.
I guess right now, I'm just looking for help with coding as my skills are not a developed as I would like.
I'm thinking I'll post what I do have on Git and maybe someone will get a little interested and contribute some code to it.
Any progress report? Things are starting to wind down here for summer
break (summer hours working for a school bus company are great, even for
us managers), so I can actually spend of time playing around soon if
there's still something to play with. :)
Not much except what I had before. Real life popped up, but I have been thinking about it more lately. Trying to figure out the logic of how I would do some things. But here is a short list of what is working.. kinda...
-You can login and it will give you 3 tries before it boots you. No way to send feedback to SysOp yet.
-Very basic MCI. You can do colors and that's pretty much it.
-News will display and it will keep track of when your last call was and display the news that you haven't seen.
-Main Menu is basically 3 commands, and that's it. Trying to work out how the main menu customization would work. I'm thinking I'll just hard code commands and worry about custom stuff later on.
I do have it running on a test machine just to be able to say I have something. I have been starting to look at some of the python stuff I have to get refreshed and back up to speed so I can add something. I'm feeling kind of useless when it comes down to it since it's just me. But hey, I'll keep plugging along.
But the code is available to anyone who wants to look at it, such as it is. I'm going to release it under GPL.
Shameless plug: If anyone wants to try their hand at Python and try and help, codecademy.com and Lynda.com are where I got myself started.
MobbyG
2015-08-06 22:29:51 UTC
Permalink
I used a combo of codecademy and Lynda.com. There was a Los a nice crash course on YouTube from Google development. If you know the basics of coding, this can get you kind of started with some of the basics pretty quick..

Here is a link to my drop box folder to see the code..

https://www.dropbox.com/sh/2n4q13jcnmhgmx7/AABYFOthgPzty4jl-JCzEj7da?dl=0

I tried to do a small update for the settings, but I ran into issues with the directory paths.. And since my skills are kind of iffy, I get frustrated easily.. LOL.

But I have been feeling like I should start working on it more.. I see all the guys in the Commodore Facebook group with their miggys and c64/128s and I get jealous because I want to have my BBS back but I don't want to run CNet out of pride.
Fjolsvith Aase
2015-06-17 14:04:00 UTC
Permalink
Post by MobbyG
Howde fellow CNet fans!
If you want to see what we have so far, which really isn't a whole lot, you're welcome to it. Just contact me and I'll send you what we have.
If you feel the need to reply to say you're not a coder but you want to help, thanks! But right now, we don't have any way for you to really help at this time, unless you want to try your hand at learning to code? Still thanks in advance for any help or support anyone can give us. Thanks!
Hi Mobby,

I have been following this for a while, looking for a Windows clone of CNet. I'm no Python programmer, but I am pretty handy at .Net. I'd take you up on your offer to see what you got, as I'd be willing to try my hand at a .Net BBS.

I used to run CNet Amiga back in the day, when I lived in Juneau, Alaska. I really miss that software.

James
MobbyG
2015-08-06 22:30:47 UTC
Permalink
I would love to see what you have.. If you're willing to share..

b***@gmail.com
2015-07-07 16:32:37 UTC
Permalink
Hey Mobby

I think I see the problem you are having.

You have the most extreme case of "Scope Creep" I think I've ever seen. ;P

You need to NOT look at the "big picture" of what you want your code to do, but look at one small part of it and focus on that just until it works, and then move on to the next.

For example, you have MCI colors working. GREAT! Don't worry about cursor movement or other advanced MCI commands. Right now that's not important. Anything more than basic color changes should be considered "value-add".

First thing I would work on is deciding a basic data storage scheme. Is it going to be flatfiles (textfiles) or a database? Don't worry if it's proprietary at the moment. You will modularize it LOONG before you start thinking about letting other people use it! XD

Second thing is the login. Just a basic user/password type thing. Just enough to get into the system. Only users you enter manually at first. New User registration and such will come later.

Next would be some kind of "bread-crumb" framework for the command structure. You will need to develop it so that a user can navigate down and back up without having to jump back to the main menu and drill down again.

Also, I would suggest hard coding EVERYTHING... for now. It's a hell of a lot easier going back later and making hard code into dynamic code than it is trying to figure it out on the fly. I don't know how many times I've developed something and then later do the V8 facepalm because I come up with an easier, cleaner and more stable way of doing it.

I'll take a look at your code, and see if I can give some help. Python isn't that much different than C or VB or RPGILE... It's all in the syntax.
Loading...