ENiGMA½ BBS Software on Github! reddit / bbs ---------------------------------------------------------------------- NuSkooler · 2015-10-28 23:12 **ENiGMA½** is a new from scratch BBS software written in Node.js & has just had it's first **alpha** quality code [pushed to Github](https://github.com/NuSkooler/enigma-bbs)! Some of the features currently available: * Multi platform: Anywhere Node.js runs likely works (tested under Linux and OS X) * Multi node support * **Highly** customizable via [HJSON](http://hjson.org/) based configuration, menus, and themes in addition to JS based mods * MCI support for lightbars, toggles, input areas, and so on plus many other other bells and whistles * Telnet & SSH access built in. Additional servers are easy to implement & plug in * [CP437](http://www.ascii-codes.com/) and UTF-8 output * [SyncTerm](http://syncterm.bbsdev.net/) style font and baud emulation support. Display PC/DOS and Amiga style artwork as it's intended! In general, ANSI-BBS / [cterm.txt](http://cvs.synchro.net/cgi- bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt?content- type=text%2Fplain&revision=HEAD) / [bansi.txt](http://www.bbsdocumenta ry.com/library/PROGRAMS/GRAPHICS/ANSI/bansi.txt) are followed for expected BBS behavior. * [SAUCE](http://www.acid.org/info/sauce/sauce.htm) support * Renegade style pipe codes * [SQLite](http://sqlite.org/) storage of users and message areas * Strong [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) backed password storage * Door support including common dropfile formats and [DOSEMU](http://www.dosemu.org/) * [Bunyan](https://github.com/trentm/node-bunyan) logging ...and a lot more! More information available on the [Github page](https://github.com/NuSkooler/enigma-bbs). Again, this is alpha quality stuff! It's not quite ready to run a full time board on, but certainly ready to play with & provide feedback, suggestions, submit bugs & pull requests, etc.! Expect daily commits to this project! A dev board and official ENiGMA½ running WHQ will be available in the very near future. Give it a shot and let me know what you think! https://github.com/NuSkooler/enigma-bbs Small demo @ https://youtu.be/6uyL5UHrjO4 ---------------------------------------------------------------------- UnaClocker · 2015-10-28 23:37 Great choice of license. I look forward to being able to "dial" into a dev board. :) ---------------------------------------------------------------------- digimer · 2015-10-29 01:17 I was trying to setup a modern~ish BBS recently without too much luck. Maybe this will work better. I'll give it a try. ---------------------------------------------------------------------- danav · 2015-10-29 01:49 This looks awesome. I'm going to install it this weekend. ---------------------------------------------------------------------- L1th0 · 2015-10-29 04:26 Nice system. Maybe include an integrated web/php front end to interface with the SQLite in the near future? This would definitely get my attention. Looks really good, keep up the awesome work! ---------------------------------------------------------------------- NuSkooler · 2015-10-29 04:43 Sweet! Please report back how it goes and don't be shy about filing bugs. I'll get to them as fast as possible. ---------------------------------------------------------------------- NuSkooler · 2015-10-29 04:45 I have a lot of high priority issues I need to address first, but one of my ToDo items is to implement a REST interface for various things. One of them could be for message access. I believe x84 BBS has something like this, so maybe work with them. ---------------------------------------------------------------------- nolageek · 2015-10-29 20:50 Will be checking this out. :) ---------------------------------------------------------------------- blakespot · 2015-10-29 23:39 If one were to setup and use this, starting with this alpha, would likely the data collected / setup be preserved and transferrable on up the revision tree as updates come? (Is it remotely safe?) Tnx. ---------------------------------------------------------------------- NuSkooler · 2015-10-30 04:59 Since this is alpha, I'm not making any real attempts to preserve structure of configuration or database layout yet. Any DB stuff is SQLite, so you can always export + import manually. ---------------------------------------------------------------------- CiREdrol · 2015-10-30 17:14 Will this run on ARM Raspberry Pi? ---------------------------------------------------------------------- NuSkooler · 2015-10-31 17:35 It should have no problem running on ARM/Pi. Node runs there just fine. I haven't yet done this (though I plan to in the next few days actually) so I'm not sure about performance, especially on the original model. Report back if you try it, I'll do the same! ---------------------------------------------------------------------- NuSkooler · 2015-11-01 21:24 Update: I set up a install using the quite old RPi Model A I had laying around. It's fairly slow on this device, but works quite well. I imagine the newer models are much quicker. Instructions here: https://github.com/NuSkooler/enigma- bbs/blob/master/doc/rpi.md ---------------------------------------------------------------------- CiREdrol · 2015-11-06 19:02 Very cool. I have a Pi 2 model B+ will have to check it out. ---------------------------------------------------------------------- _GiantCentipede_ · 2015-11-17 01:38 Quick question, how are you getting this to work on Windows boxes? node-gyp throws an error due to binding changes on Windows platforms in the pty Windows package. Is there a better version to specify in the package.json file that's known working? I may check out the fork, ptyw.js to see if it will fix the compile errors. The latest version on Github seems to be compiling, but I haven't tried it for your project yet. Also, installation will likely require Python 2.7 as well as Microsoft Visual Studio (semi-recent) for Windows. I work with Node daily so I already had these installed and working for this purpose, but not everyone will. ---------------------------------------------------------------------- _GiantCentipede_ · 2015-11-17 01:40 Forgot to point out that the Express/Community versions (free) of Visual Studio will work just fine for what's needed here. ---------------------------------------------------------------------- NuSkooler · 2015-11-17 04:42 I haven't actually tested it out on Windows yet, but I will put that on my list and try to get to it very soon. Thanks for the tips on this! After a good set of Windows instructions is known I'll document. Let me know if you have luck! EDIT: I couldn't help myself and ran a quick first pass on Windows. With both pty.js and ptyw.js v0.3.4 I got many errors starting with "error C2988: unrecognizable template declaration/definition". I have Visual Studio 2012 installed on the particular box. I'll look into this further soon. I opened a issue for tracking: https://github.com/NuSkooler/enigma-bbs/issues/17 ---------------------------------------------------------------------- _GiantCentipede_ · 2015-11-17 06:18 I got ptyw.js building, but only from a repo clone. Neither in npm seems to be working at the moment. I can get everything to run but doors are looking for com ports that don't exist. Still nothing fed back to the telnet connection eother, so I'm not sure if it's related to ptyw.js or not just yet. Edit: Wording, typos. ---------------------------------------------------------------------- NuSkooler · 2015-11-18 00:04 > but doors are looking for com ports that don't exist. Still nothing fed back to the telnet connection eother, so I'm not sure if it's related to ptyw.js or not just yet. What are you using for doors? So far I've only ran them under Linux using DOSEMU which in turn uses a virtual port (e.g. COM1 <=> stdin/stdout). One of the things I need to look into is DosBox, QEMU, etc. under Windows -- they would need a similar setup of some sort. ---------------------------------------------------------------------- _GiantCentipede_ · 2015-11-18 00:56 Did a quick test with netfoss, but other than that just running the doors as I would directly on a modem connection more or less. I'm mostly just poking around, seeing what I can get set up. I'll give it a shot with DosBox, since I've already got it installed. I'll let you know what I find! ---------------------------------------------------------------------- NuSkooler · 2015-11-18 04:24 BTW, A FB group has been created as well @ https://www.facebook.com/groups/enigmabbs/ Hardware acquired for WHQ board, few more things to tie up and this should become available fairly soon as well. ---------------------------------------------------------------------- Fastidius · 2015-11-19 19:15 This looks so pretty, thank you very much! ---------------------------------------------------------------------- NuSkooler · 2015-11-20 01:26 Question: What compiler/OS are you using to compile on Windows? I've tried Visual Studio 2015 Pro under two different Windows 10 x86_64 boxes so far and both fail to build ptyw.js's dependency of winpty with the following error: ..\..\..\vendor\winpty\agent\Agent.cc : fatal error C1902: Program database manager mismatch; please check your installation [G:\dev\enigma-bbs\node_modules\ptyw.js\build \vendor\winpty\winpty- agent.vcxproj] (repeats for a bunch of other .cc files) ---------------------------------------------------------------------- _GiantCentipede_ · 2015-11-20 02:04 Not at the PC right now to say exactly which... But I do believe you may want to change to a 32 bit target. I'll edit my post to let you know exactly if it was 32 or 64 bit, but I can say that it was VS 2015 Express. Edit: Visual Studio 2015 Community 32 and 64 bit ---------------------------------------------------------------------- NuSkooler · 2015-11-20 04:53 Found the problem -- what a pain in the ass! After manually running node-gyp and messing around with the project files I found that /Zx options in Visual Studio changed the error which led me to the workaround here: https://connect.microsoft.com/Vis ualStudio/feedback/details/1651822/incorrect-mspdb140-dll-version- picked-in-x86-x64-cross-tools-environment Now I can get back to looking at the real enigma-bbs-on-windows issues :D ---------------------------------------------------------------------- _GiantCentipede_ · 2015-11-21 01:28 Awesome, nice find! I've gone ahead and spun up an arch Linux vm to test on as well (Windows was in a VM also). Here's where I'm at with running doors on Windows: Qemu doesn't support the proper redirects on Windows due to platform differences. Dosemu doesn't build for Windows. DosBox for Windows doesn't support the same stdio redirect support as it does on Linux. I also looked into null modem emulation a bit and considered opening a socket connection by adding to your door class, but it just sounded so kludgy I couldn't bring myself to do it. ---------------------------------------------------------------------- NuSkooler · 2015-11-21 17:16 Damn, I was hoping QEMU would be an option. Some of these may still be viable if using something stdin/stdout redirect. If you have any ideas, I'd love to hear them (and gladly accept pull requests). Kludgy may end up being the only way to pull this off on Windows :D BTW: Due to Node.js changes in 4.x+ there are issues even on Linux with pty. I'm working with the ptyw.js author to try and figure something out here right now.