Here's how I host my own AIM server
Sign in<br>Subscribe
In high school, most days began and ended with AIM.<br>This was before everyone had text messages (or cell phones). Everything from class projects to entire relationships took place in an AIM window. Needless to say, I have some nostalgia for it.<br>Discord hasn't been treating me well recently, so I decided to give Open OSCAR Server a try, which lets you spin up an AIM/ICQ server and connect many old clients up to it, and I'm glad I did!<br>I talked about this more in-depth in a recent video (YouTube/PeerTube), and my friend Kate (Macintosh Librarian) posted a video as well covering AIM in greater detail. But I figured I'd put a blog post together going into the specifics of how I'm hosting it. Maybe it'll help you try out AIM again!
NOTE: this guide assumes a basic working knowledge of Linux, as well as an understanding of how to work with IP addresses or domain names. If that's outside your comfort zone, gently reach out to a friend and offer them a spot on your server.
Set up a Debian Trixie server<br>I won't go into how to install Debian Trixie... that's a whole different topic, and this post assumes you already have that information under your hat.<br>You can pretty easily get this working on a low-spec VPS, assuming you don't have hundreds of users you're planning on chatting with. I hosted mine at home for a bit but moved it to a bottom-tier VPS when I started sharing it with friends. It'd probably work with a Raspberry Pi as well, although I haven't tried it yet.<br>If you're hosting at home, or otherwise behind a firewall, you'll need to open a port for AIM (the default is 5190). Clients will connect with that port. Some clients might not be able to easily switch the port, so it's probably best to stick with the default here.<br>If you're hosting it at home and don't have a static IP address, you'll want a dynamic DNS provider. I personally use No-IP (not sponsored) and I'm happy with the results, but dealing with dynamic DNS can be a challenge for the uninitiated: if you're willing to part with $5-$10 USD/mo, cloud providers will make this much easier (and with a static IP). The important thing is that your server is reachable through either a fixed IP address, or a domain name, and has that open port (5190 by default).<br>I also recommend setting up your firewall to reject traffic from sources that aren't you, at least while configuring Open OSCAR Server. The server defaults are pretty open, which is great for a fun project inside your home network, but they aren't really suitable for sharing on the internet, so until you have those locked down, firewall rules are your friend.<br>Installing Open OSCAR Server and testing<br>Download Open OSCAR Server<br>Open OSCAR Server uses GitHub to publish releases. Head on over to the repo and snag a release.<br>I prefer to do this via wget while SSH'd into my server:<br>wget [RELEASE URL]Of course, replace [RELEASE URL] with the actual URL of the .tar.gz file from the project.<br>Then, once I had it, I extracted it with tar:<br>tar -zxvf open_oscar_server.X.XX.X.linux.x86_64.tar.gzOf course, replace the X.XX.X with the version you downloaded.<br>Testing Open OSCAR Server<br>If you're just running this on your local machine, you can probably cd into the subdirectory it just created, and run the program. But assuming you want to run this on another machine, like I did, we have more configuration to do before we get chatting.<br>I first went into the subdirectory with cd, and then I used my favorite text editor to edit the settings.env file.<br>There's three modes for the Open OSCAR Server to listen for clients:<br>LOCAL, which is the default: your AIM client is on the same machine as the server. You probably don't want this one unless you know what you're doing.<br>In a LAN mode, Open OSCAR Server is on the same internal network as the AIM clients. If you're planning on chatting between computers inside your home network, and not across the internet, that's probably what you want.<br>Or in WAN mode, Open OSCAR Server is running across the internet from your AIM clients. If you're planning on sharing the server with friends outside your home, that's probably what you want.<br>For testing, I set this on two variables inside settings.env:<br>OSCAR_LISTENERS which configures how Open OSCAR Server listens, and<br>OSCAR_ADVERTISED_LISTENERS_PLAIN which configures the advertised listener that you should give to clients like AIM.<br>In the case of the latter, you should also set this up with your IP address or domain name which you plan to give to clients.<br>So, for example, if you were sharing this publicly on a VPS with a domain at example.domain, you might set OSCAR_LISTENERS to WAN://0.0.0.0:5190 and OSCAR_ADVERTISED_LISTENERS_PLAIN to WAN://example.domain:5190. If you're inside your network, you'd replace WAN with LAN and the example domain with whatever IP address you gave the server.<br>The config file itself explains this pretty well. The important thing is that they match, LAN and...