Short: How to use MAXsBBS with telnet Author: Midnight Flip Uploader: dbmisiak adam com au (Daryl Misiak) Type: comm/maxs Architecture: generic How to set up MAXsBBS for Telnet. By Midnight Flip 7/11/2021. Intro: ------ 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 screen shots. 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 crash. 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! Step 1: ------- 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, etc. - 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 like this: 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. Step 2: ------- Telnetd.device -------------- 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: <# of units> - 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". Step 3: ------- MAXsBBS ------- 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 lines: CD BBS: 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 telnetd.device. 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 to help. 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 preferred device. Whilst the configuration for telser itself is different, the MAXsBBS integration is exactly the same - use telser.device as the modem device. Conclusion: ----------- 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 BBS. Also, if it helped you, I would love to hear from you. Telnet to 68ktm.ddns.net port 1024. Midnight Flip.