How to set up MAXsBBS for Telnet.
By Midnight Flip 7/11/2021.
This is just a quick guide to try to help people set up MAXsBBS as a
telnet service. It's just basic, mostly giving some pointers. But it
should help, if you're a bit stuck for where to start.
This also includes the telnetd.device driver that I use, along with a few
Problems with MAXsBBS:
"Great!", you say, "MAXsBBS with super fast telnet connection rates!".
Sorry, it's not that great. Unfortunately, MAXsBBS is only coded to go as
fast as 38400. And sometimes it connects slower than it's maximum rate
(I've had speeds as low as 300bps).
Add to that, the file transfers, which work fine on dialup, seem a little
buggy when using telnet. It seems to surge a bit, I think that's the
device buffer accepting more than MAXs, so the transfer rate fluctuates.
Errors occur, but it corrects them, so the files themselves aren't
affected. And from time to time, I've had the file transfer completely
So, unfortunately, MAXsBBS isn't wonderful in modern times. It performs
worse than in the dialup days.
But it's still fun, for old time's sake!
Set up a TCP Stack.
This is the most diverse step for this guide. I'm not going to go into
detail for this step, as there is too many different ways to do it.
If you're running on a real Amiga, you will need to install some form of
TCP Stack, whether it be AmiTCP, Miami, Genesis, Roadshow, whatever.
Back in the early 2000's, I used to use Miami. It used to work well.
As a bit of a background, I was using a spare Amiga A1200 as a 'network
server'. It would connect to the internet via dialup, and had a PCMCIA
ethernet card, to distribute the internet to the other computers in my
house. Included in this setup was using MAXsBBS as a telnet service.
These days, my current BBS is hosted on an emulator. It's running under
FS-UAE on Ubuntu Linux.
This also works quite well. For TCP/IP access, all you need to do is tick
and enable 'UAE bsdsocket.library' under 'Expansions'. No need to install
any TCP stack. From there, telnetd.device just works.
There are a few points that you need to be aware of, regardless of whether
using an emulator, or a real TCP/IP stack on a real Amiga.
- You need to make sure that the port isn't already used my another service.
- You also need to make sure that the port isn't blocked by a firewall,
- Make sure that your modem / router is set up correctly for port
forwarding. If this isn't set up properly, you will be able to access your
system from within your network, but you won't be able to access it from
the broader internet. This configuration is too broad, and is beyond the
scope of this document. But just for a bit of info, I have mine set up
Name: 68KTM - Put whatever you want.
Protocol: TCP - Because that's what we're using for telnet.
WAN port: 1024 - This is the port that the public use.
LAN port: 1024 - This is the port that is used on my actual BBS
server (Kept it the same as the WAN port for simplicity, but you could
actually have them set different, depending on your setup.
Destination IP: The IP address of my BBS server.
- If you're using an emulator, you need to also be aware of the
requirements and limitations of the host system. Under Linux, an
application without root privileges can't open a port below a certain
number (around 1000-ish). Don't run an emulator with root privileges, if
you're intending to open it up to the world. I run my BBS on port 1024, so
I can run it under a restricted account.
I'm not sure where I got my telnetd.device from. For some reason, the
binary size seems to not match what's on Aminet. I guess maybe I got it
from a BBS 20 years ago? I don't have the original archive anymore either.
To help people, I have included a copy of the actual version of
telnetd.device that I use, along with the config.
The files go in the following directories:
telnetd.device -> Devs:
telnetd-device.conf -> AmiTCP:DB/
But what if you're not using AmiTCP? Doesn't matter. Make a directory for it.
Assign AmiTCP: to wherever you stuck the AmiTCP dummy directory. Otherwise
telnetd.device won't find it's config file.
telnetd.device doesn't need to be spawned from your TCP stack. You
configure it in place of serial.device. Once it's set up like a device
driver, it starts it's TCP/IP service.
The configuration is pretty simple. It's three items:
<Port #> <# of units> <Netmask or something?>
- Port number is the TCP/IP port that you want to use, for example 1024.
Traditional telner is port 23. But be warned, if you use that port, you
will be hit by heaps of bots looking for modems to exploit. Also, it's
sometimes blocked by ISPs for the same reason.
- Number of device is essentially how many telnet 'sessions' you want to
be available at any time. I have mine set up for 5, as I want 5 BBS lines.
- The last, I don't remember what that is. I have mine set up as
255.255.255.255. Maybe do the same.
So, my final config file just states "1024 5 255.255.255.255".
This part is pretty straight forward. Telnetd.device just works like a
standard Amiga device. So all you need to do is go to 'Modem Config', and
then in 'Device name', but in 'telnetd.device'.
The next thing though is the unit number. This relates to what 'BBS line'
it is. For the first unit, use 0. Each additional line, increase this.
MAXsBBS needs a separate instance for each line. I run 5 lines, so each
are configured like this:
- Line 1: Device: 'telnetd.device'. Unit: 0.
- Line 2: Device: 'telnetd.device'. Unit: 1.
- Line 3: Device: 'telnetd.device'. Unit: 2.
- Line 4: Device: 'telnetd.device'. Unit: 3.
- Line 5: Device: 'telnetd.device'. Unit: 4.
Each of these lines are saved as separate config files. These are
'node1telnet.config', through to 'node5telnet.config' (You call them
whatever you want. To start my BBS, I have a script that has the following
Runback MAXsBBS node1telnet.config >nil:
Runback MAXsBBS node2telnet.config >nil:
Runback MAXsBBS node3telnet.config >nil:
Runback MAXsBBS node4telnet.config >nil:
Runback MAXsBBS node5telnet.config >nil:
This concept is no different than if you ran a multi-line MAXsBBS system
back in the dialup days. You just substitute your serial device for
You might also need to hit the 'Send setup' button as well. Once mine was
set up, I didn't have to. But when I was first playing around, it seemed
What if I want to use something else?
In theory, any telnetd device can be used.
The other common one used (and this in the only other one that I'm aware
of) is telser. This device is available via Aminet.
I have used it with MAXsBBS before, but found that telnetd.device works
better for me. Genetic Point BBS uses telser, and that is Codetsu's
Whilst the configuration for telser itself is different, the MAXsBBS
integration is exactly the same - use telser.device as the modem device.
I hope this helps. It's pretty simple in concept, but it can be tricky to
get it to work.
The key points are:
- Make sure that your TCP stack is working correctly.
- MAXsBBS just uses system device drivers, so substitute traditional
serial.device drivers with telnetd.device.
If you need any further assistance, feel free to send me an email on my
Also, if it helped you, I would love to hear from you.
Telnet to 68ktm.ddns.net port 1024.