Category: wwiv


I have been tinkering with WWIV under Linux again. Still a work in progress, but the BBS is available at again. Telnet is port 2002. Lots of things need done yet, as I haven’t spent more than a few minutes at a time on it, but more will be coming soon.


I have been quietly running a telnetable BBS for some time over at for awhile now, without really advertising it anywhere. I’m barely active in any of the networks I’ve joined so far, and it’s just not as fun as it used to be. Part of this is because I miss the local flavor of running a dial-up BBS back in the day, and part is that I really miss modding the hell out of my BBS to make it completely unique. And while there’s something to be said for how far WWiV has come in the 5.xx series, I’m really considering going back to 4.24a. First thing will probably be to mod in fossil support from 4.30, and then add it most of the FMD mods. If I’m running the BBS based on nostalgia, I might as well take that nostalgia up a notch and do it right 😉 Also, I have TWC’s digital home phone service, which is a VoIP service, and some have had at least marginal success in running dial-up over VoIP, so I may attempt to offer a dial-up node on top of the telnet nodes.

Nitemare Cafe (the BBS)

I’ve recently been working on getting a BBS version of Nitemare Cafe back up and running on the current version of WWiV. I haven’t gotten everything configured yet, but I’ve also been working on a companion website at The BBS isn’t accepting new users yet, but check back soon!

More on WWIV under Linux

Every time I turn around, one bug or another is biting me in my Linux WWIV setup, so I think I’ve decided to use my knowledge of how to get DOS doors running to run the DOS version of WWIV from back in the day, so it’ll be at least fairly stable while I work out some bugs. Since the Linux version is file-compatible, I’ll be able to move back to it pretty seamlessly at some point. Since I decided to run the DOS version, I thought I’d check to see availability of the source of the old versions, since it was commercial software. I went to via telnet (that’s the official WSS BBS) and, since I registered back in the day, Trader Jack gave me access to those file areas, so it will be a modded board fairly quickly 😉 I’m attempting to do virtual networking between dosemu and Linux as well, but keep managing to drop my network interface while I’m connected from remote 😉 I’ll sort that out later, though, since it’s a minor convenience thing 😉

Doors under WWiV

As promised, here is how to set up doors under WWIV for Linux. It took a lot of trial and error, and pouring over documents and howtos for other BBS packages, but I finally found the solution at Daydream BBS software support. I was going to provide an actual walk-through, but then I realized that I didn’t deviate from those instructions. So, follow the directions there to a tee, and you’ll have no issues at all. My external maintenance script is run via cron and uses pretty much the exact same setup, except I do not pass -u virtual to dosemu, as it will fail because that script does not run from a vty, and serial { virtual com 1 } assumes that you’re running from a vty.

You could also write separate scripts instead of using the door_script that’s provided, but that’s not really needed except in cased like tedit (for TW), as it runs from the TW folder. So I just modified a copy door_script to hard-code the door name and folder. You could do this for every door if you wished, but I find it just as easy to use the single script.

If anyone needs any specific help, please ask.

Thoughts on WWiV on Linux

Here are some of my thoughts on running WWiV 5 under Linux. First, it’s fairly simple, especially if you do your initial 4.30 setup under dosemu instead of DosBox. The difference between the two is that DosBox creates Linux filenames which are all upper case, while dosemu creates them lower case. WWiV 5 under Linux requires them in lower care, in general. Directory names are defined via WWiV’s init (or, initlite) so can be either. Some of the menus need to be upper case because they are called that way from other menus, but the extensions should be lower case. The main menu files should be lower case, but the menu editor might choke on them, so ln -s each file to an upper case filename with lower case extension. This might be required to get editing to work on the other menus as well, but I don’t recall.

Aside from upper/lower case filename issues, there are a few bugs I’ve noticed which appear in the current build under Linux, but not Windows. First, the time left always displays as 0, which is a problem primarily for the door dropfiles. The problem appears to be that IsUserOnline() never returns true under Linux for some reason. The fix was to open utility.cpp and, within the function double nsl(), find the first if statement, and add ” || 1″ to the first if statement so that it always evaluates to true, instead of to false.

The second bug has to do with filenames as well. in printfile.cpp, the function printfile() doesn’t build the filename.ext based on the user’s ANSI settings, and only displays the filename exactly how it is passed to it. Because filenames are quite often passed without an extension so that non-ansi users will get filename.msg while ansi users will get filename.ans, this causes quite a few menus/help items to be broken by default. My solution for this was to temporarily remove the extensions from those files that are passed to printfile() without one. This means no separate ansi/non-ansi files, unfortunately. But most modern telnet clients should support ansi, so that’s not a huge deal. The bigger issue is the telnet client not using the correct upper-ascii character set. FWIW, this is CP437, and is supported in both the Linux and Windows versions of putty.

In a future post, I will detail how I got DOS doors to work. This took a lot of trial and error, but ultimately worked great 🙂

WWiV 5 on Linux

Just thought I’d let everyone know what I’ve been up to of late – working on WWiV 5 on Linux. So far, it’s installed and (somewhat) functional, but, because I am compiling it natively, and not running under DOSbox or dosemu (which I *have* contemplated using 4.24a instead), I am having problems with doors. I have to run them under dosemu, and it doesn’t appear that the dosemu autoexec.bat is running. When I telnet in, and go to the doors, I launch a DOS door, and it hangs at “Launching…” until I press CTRL-C, then it drops me back at the door menu. I feel like I’m pretty close to cracking that nut, though, at which point I’ll work on some networking (WWiVnet, Fidonet, and Usenet… Maybe Dovenet) and let everyone know how to access it once those are done. Very, very close. 🙂


I am currently working on bringing the BBS back. Currently, I have Synchronet running on a laptop, but I really miss my WWIV days. I have several conflicting ideas, starting with what package to use. My options are WWIV 5.x, WWIV 4.x (I still have my reg code), Synchronet, and Major BBS. All of them are trivial to run under Windows, but I’m seriously considering Linux. I kinda want to gut an old external modem and put a Raspberry Pi inside of it. I could even repurpose the modem LEDs for different indicators. My favorite idea is to use WWIV 4.x, but because each node would need it’s own instance of DOSbox, I’m not sure how viable it is. Filesystem caching is easily overcome by telling it you’re mounting a floppy disk (but it never reports that there’s more than 1.4MB free space, even if you have gigs), but DOSbox itself it a bit resource intensive for the Pi. I’m not sure if it can be tweaked enough to get several instances to run at once. Maybe if I tell each instance it’s a 286 with text-only video? For the record, I also have a proof-of-concept single node running on my Pi, but DOSbox has not been tweaked. Maybe I’ll do some tweaking before deciding for sure.

WWIV Bulletin Board System

WWIV is now open source! Even though I’ve paid a registration (three times. Once for my own BBS, and twice for friends) to gain access to the source, this is still exciting, as it means more developers!