• Starting a new BBS software

    From sardaukar@21:1/101 to All on Saturday, March 11, 2017 19:08:00
    Hello all!

    For a long time, I've been fascinated with telnet BBSs, and always wanted to write my own. Getting info on some of the technologies needed is hard, so I'm reaching out for help. I've done basic TCP/UDP sockets programming in Uni (10 years ago) and am a web developer by trade (mostly Ruby and Javascript these days) so I have some grasp on how things work.

    I've been reading FTSC specifications, and find the whole "file" orientation ethos interesting - since it's easy to implement parsers, in theory.

    I've also read the Python BBS articles on the mystic wiki, and have found
    them somewhat lacking since they're in the "write this, then this" vein and
    not so much why something is needed (like what is Suppress Go Ahead, for example).

    Looking into Mystic's internals, it seems to work just like I would picture
    my system working - login, then a series of EVENTs are sent to a "general
    state machine" that moves the user along a series of SCREENs. The state
    machine and the screens themselves should be customizable by the sysop.

    With all this in mind, my question is:

    - is there a "minimal Telnet protocol you can get away with" document for prospective BBS software writers?
    - can anyone help me with a "fixed" binkP setup that I can repeatedly hammer with requests and it will always have the same messages in, so I don't have to keep sending new ones to fetch and parse? Or help me set it up myself?

    I think that by describing the "on the wire" protocol needed for BBSs in a series of blog posts (or on the Mystic wiki) we can create a handbook for any BBS implementer, combining info on Telnet, binkP and FTN networks.

    I plan on using Crystal, a "compiled" version of Ruby that has the speed of
    C++ and creates binaries that make distribution easier. It also packs
    Go-style channels for easy concurrency and ideal for a BBS as it can mimic event-driven workflows easily.

    Let me know what you think, and thanks for your time and any pointers!

    Cheers,

    sardaukar

    I must not fear. Fear is the mind-killer.

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From Apam@21:1/101 to Sardaukar on Sunday, March 12, 2017 07:08:00
    RE: Starting a new BBS software
    BY: sardaukar(21:2/114)


    - is there a "minimal Telnet protocol you can get away with" document
    for
    prospective BBS software writers?

    The minimal telnet protocol you can get away with is ignoring the IAC
    code requests. Also, strip them out so they don't get in your input.


    not so much why something is needed (like what is Suppress Go Ahead, f
    or
    example).

    Suppress Go Ahead together with Echo command in the python bbs tutorial
    tell the client that we are echoing characters. Kind of like telling the
    client to disable 'Local Echo'

    Sorry you found the Python tutorials lacking. Any suggestions for
    changes would be welcome, as I am new at writing tutorials.

    Andrew

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From sardaukar@21:1/101 to Apam on Saturday, March 11, 2017 21:36:00
    The minimal telnet protocol you can get away with is ignoring the IAC
    code requests. Also, strip them out so they don't get in your input.

    Seems reasonable.

    Sorry you found the Python tutorials lacking. Any suggestions for
    changes would be welcome, as I am new at writing tutorials.

    I didn't mean to sound ungrateful. It's just that good tutorials tell you the why as well as the how. Maybe a tiny intro to each concept's technical background before its introduction would be helpful. I hope the ones I write will be better ;) Hopefully, I'll have something to show for soon.

    Cheers,

    sardaukar

    --
    "I must not fear. Fear is the mind-killer."

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From Avon@21:1/101 to sardaukar on Sunday, March 12, 2017 10:43:00
    On 03/11/17, sardaukar pondered and said...

    Sorry you found the Python tutorials lacking. Any suggestions for changes would be welcome, as I am new at writing tutorials.

    I didn't mean to sound ungrateful. It's just that good tutorials tell
    you the why as well as the how. Maybe a tiny intro to each concept's technical background before its introduction would be helpful. I hope
    the ones I write will be better ;) Hopefully, I'll have something to
    show for soon.

    Just for clarity are you referring to content on the wiki.mysticbbs.com site
    or the wiki.bbs.geek.nz site as Apam had added his Python BBS tutorials to
    the latter.

    Best, Paul

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From sardaukar@21:1/101 to Avon on Sunday, March 12, 2017 00:20:00
    Just for clarity are you referring to content on the wiki.mysticbbs.com site or the wiki.bbs.geek.nz site as Apam had added his Python BBS tutorials to the latter.

    I mean the ones on http://wiki.bbs.geek.nz/tutorials:python_bbs:start.

    As a test, I'd like to know if Crystal binaries work on every Linux distro,
    so please try my first shot at a telnet server. It's hosted at https://www.NoFile.io/f/1gpWOsi7IDx . The user is "user" and the password is "pass". When you login correctly, it *should* render the ANSI file included
    in the archive, but it seems like I have to "turn on" something in the socket to show proper ANSI art. Also - the login seems to need some sort of "reset"
    to reposition the cursor.

    I'd like to get the basics down in terms of terminal output. But it's getting late, so I'll pick this up tomorrow.

    Thanks for your time,

    sardaukar

    --
    "I must not fear. Fear is the mind-killer."

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From Apam@21:1/101 to Sardaukar on Sunday, March 12, 2017 11:23:00
    RE: Re: Starting a new BBS software
    BY: sardaukar(21:2/114)


    I didn't mean to sound ungrateful. It's just that good tutorials tell
    you the
    why as well as the how. Maybe a tiny intro to each concept's technical

    background before its introduction would be helpful. I hope the ones I

    Ok, I'll keep that in mind. Thanks for the feedback.

    Andrew

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From Avon@21:1/101 to sardaukar on Sunday, March 12, 2017 20:48:00
    On 03/12/17, sardaukar pondered and said...

    Just for clarity are you referring to content on the wiki.mysticbbs.c site or the wiki.bbs.geek.nz site as Apam had added his Python BBS tutorials to the latter.

    I mean the ones on http://wiki.bbs.geek.nz/tutorials:python_bbs:start.

    Gotcha. Well I know Apam has just started doing this and is new to it so I'm sure any constructive feedback is most welcome.

    As a test, I'd like to know if Crystal binaries work on every Linux distro, so please try my first shot at a telnet server. It's hosted at https://www.NoFile.io/f/1gpWOsi7IDx . The user is "user" and the

    [snip]

    I'd like to get the basics down in terms of terminal output. But it's getting late, so I'll pick this up tomorrow.
    Thanks for your time,

    I've got this this message late on Sunday night my time so won't be able to take a look until tomorrow evening after work but I will check it out and let you know how I get on. Can I run this on an ARM based system like a Raspberry Pi? I ask as there's a bunch of us here that use them. My main system is running on a 32 bit version of Windows 7 but you'll also see a bunch of Linux systems on the network too :)

    I'm think I'm going to work on setting up a new message area to help foster
    BBS development conversations like this one. This message area we're chatting is is really meant to be focused on things related to Mystic BBS software
    etc. so the creation of a new echo area is warranted.

    Will update you (and others) tomorrow about that :)

    Best, Paul

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From sardaukar@21:1/101 to Avon on Sunday, March 12, 2017 22:49:00
    Gotcha. Well I know Apam has just started doing this and is new to it so I'm sure any constructive feedback is most welcome.

    I hope to have something that can serve as an intro to what I have in mind soon.

    and let you know how I get on. Can I run this on an ARM based system
    like a Raspberry Pi? I ask as there's a bunch of us here that use them.

    Unfortunately, this is a Linux 64bit binary :| I can set up
    cross-compilation, but not 100% sure if Crystal is supported on other archs. Crystal itself is still in alpha, but the creators are really keen on
    reaching 1.0 this year - I'm using it because I'm proficient in Ruby and this is like Ruby, but compiled and waay faster. One of the goals for 1.0 is also Windows support, as they now only support Linux and MacOS (and I believe FreeBSD is in the works as well).

    More info: https://crystal-lang.org/

    My main system is running on a 32 bit version of Windows 7 but you'll
    also see a bunch of Linux systems on the network too :)

    If they're 64bit, this binary should work.

    I'm think I'm going to work on setting up a new message area to help foster BBS development conversations like this one. This message area we're chatting is is really meant to be focused on things related to Mystic BBS software etc. so the creation of a new echo area is warranted.

    Sorry for hijacking the area, but good if we're getting a new one! (BTW, how does one create a new area?).

    Thanks, hoping to hear back from you when you test!

    Cheers,

    sardaukar

    --
    "I must not fear. Fear is the mind-killer."

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From Avon@21:1/101 to sardaukar on Monday, March 13, 2017 12:47:00
    On 03/12/17, sardaukar pondered and said...

    I hope to have something that can serve as an intro to what I have in
    mind soon.

    Would you like to create a space on the fsxNet wiki to document your
    adventures etc. there? I think this would be a great way to capture what
    you're working on.

    Unfortunately, this is a Linux 64bit binary :| I can set up cross-compilation, but not 100% sure if Crystal is supported on other archs. Crystal itself is still in alpha, but the creators are really
    keen on reaching 1.0 this year - I'm using it because I'm proficient in Ruby and this is like Ruby, but compiled and waay faster. One of the
    goals for 1.0 is also Windows support, as they now only support Linux
    and MacOS (and I believe FreeBSD is in the works as well).

    OK all good. Sadly I only have windows, Rpi and a Ubuntu box that's running
    32 bit (I think?)

    I'm at work it's my lunch break as I type this reply, just catching up on messages now.

    I'm think I'm going to work on setting up a new message area to help foster BBS development conversations like this one. This message area we're chatting is is really meant to be focused on things related to Mystic BBS software etc. so the creation of a new echo area is warran

    Sorry for hijacking the area, but good if we're getting a new one! (BTW, how does one create a new area?).

    Hey that's totally fine :) It gave me the nudge I needed to set something up.
    I create a record in the HUB system and advise nodes of the new echo are tag.
    I then link nodes to the new area at the HUB and then post something to it. Messages sent out with the new echo area tag are (mostly) auto created as new message areas by systems that receive them. Well that's the case for most
    users here that are running with Mystic BBS software.

    Thanks, hoping to hear back from you when you test!

    I'll see if there's anything I can use tonight when I get home else may ask nicely if you can create something for ARM or Windows etc. I could set up a Linux box in a few days time but would need some time to do so.

    Oh, on the BinkP test site I can work on setting up something for you and
    will contact you about that in the new echo area inside next 24 hours. :)

    Best, Paul

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From Apam@21:1/101 to Sardaukar on Monday, March 13, 2017 10:00:00
    RE: Re: Starting a new BBS software
    BY: sardaukar(21:2/114)


    Unfortunately, this is a Linux 64bit binary :| I can set up cross-compilation, but not 100% sure if Crystal is supported on other archs.
    Crystal itself is still in alpha, but the creators are really keen on

    reaching 1.0 this year - I'm using it because I'm proficient in Ruby a
    nd this
    is like Ruby, but compiled and waay faster. One of the goals for 1.0 i
    s also
    Windows support, as they now only support Linux and MacOS (and I belie
    ve
    FreeBSD is in the works as well).

    I have a 64 bit Linux machine and 64 bit Mac OS, if Paul can't help I
    would be happy to.

    Andrew

    --- Mystic BBS v1.12 A31 (Windows)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)