Building a "Retro" LAN Party
I recently put together a small LAN party reminiscent of the late 90's/early 00's experience I had growing up and gaming with friends in my parent's basement. There's something about everyone at their own computer, playing games against each other that online or even split-screen multiplayer doesn't quite capture. I wanted it to outlive just a single event and be something that can be transported to other events or used to entertain friends at home.
Objectives
- Keep the glasses rose tinted
- Provide an experience that highlights the late 90's/early 00's LAN party experience without as much of the frustrations that came with it
- Keep it cheap
- Use recycled components where able. I had an advantage here due to my horrendous stockpile of old computer and networking equipment
- Keep the form factor small & portable
- Keep it legal
- Stick to freeware and abandonware software
- Keep safe
- Self-contained and segmented, no internet.
- Somewhat resilient when unattended
Components
A list of relevant components and links I used are as follows, with more details provided further down
Hardware
- 4x mid-2010 Apple Mac Minis
- Spare Ubiquiti Edge router
- Spare Ubiquiti switch
- Cheapest mouse and keyboard combo from Microcenter
Software
- Windows XP
- Snow Leopard
- Windows SteadyState
- Archive.org and OldVersion.com for finding old installers for freeware/abandonware.
- Bootcamp 3.2 to install most drivers in XP
- Snappy Driver Installer Origin to cover the rest of the necessary drivers
- https://legacyupdate.net/ to update Windows XP and get it functioning on the modern internet (not necessary for our use-case but worth mentioning because it's a great project).
- Winamp
- XChat
- GOG.com for buying legal copies of era-appropriate games
- Wazuh for network and endpoint monitoring
Hardware
I chose four mid-2010 Apple Mac Minis (A1347). They come with an Intel Core 2 Duo 2.4Ghz, GeForce 320M (HDMI output!), 4GB Memory, 120GB SSD and an internal DVD drive. Decent specs for our use case and the form factor is perfect for portability. Once these were setup and in-use, the SSD really makes a big difference in boot times and loading games. I picked these up used from a few different places over time, they averaged $30-50 each and were all in working order so I didn't have to do any repairs.
As these machines will never be connected to the internet, I wanted to make it as easy as possible to get the necessary software to them. I picked up a slightly newer Mac and ran a read-only file share off it where all the installers for games, software and scripts could be hosted centrally to make installation easy.
Just about any consumer-grade router will work for networking. I recommend setting static IPs on everything and putting a label on each desktop with their static IP. It makes gaming when you need to know the server/host's IP easier. It will also help if you run any dedicated servers or network services.
The mice & keyboards were some of the cheapest ones I could find, being Microcenter's in-house branded combo sets which were <$10.
The monitors were standard 16:9 office monitors and there was no physical connectivity issues thanks to the Mac Minis having HDMI output.
Operating System Setup
One of the more important aspects of the chosen Mac Minis for the workstations that I believe these are the last models which have hardware support for Bootcamp on Windows XP. But these machines came with MacOS, unsurprisingly, and those versions of MacOS was too new to setup Bootcamp with XP. This required me to first wipe and install Snow Leopard 10.6 before using Bootcamp Assistant with XP.
Once XP was installed, I used Archive.org to find the last version of Bootcamp's installer that supported XP (3.2). While that covered most drivers, there was still some missing. Enter Snappy Driver Installer Origin which saves so much time and effort tracking down obscure drivers. It's a giant bundle of drivers collected from manufacturers and includes some drivers that are borderline lost media. You can even just download the giant torrent pack they provide and skip using their software if you know the specific drivers you need. Either way, just make sure you use the Origin version from official sources, other versions are not safe to use.
Windows XP serials are a dime a dozen, and, in my case, I have several pieces of equipment stickers, disk cases and booklets containing them. The tricky part is getting the system activated. You have three potential options – One is to contact Microsoft support, update your certs in order to activate online (these machines will never be connected to the internet, not even to active and the last option is to use the recently reverse engineered phone activation algorithm. I won't link to it since it's a grey area, but you can find it if you look hard enough.
Games and Apps
You need to have a good mix of classic multiplayer staples as well as some nostalgic single player games for someone who just wants to relive their childhood for a few minutes. GOG.com has tons of older games, many of which still work on Windows XP. Including some that don't list XP as supported. Installation is simple, no activation or DRM to deal with. Depending on the title, some games run under DOSBox which comes pre-configured without any hassle. Additionally, I had many games from my childhood I was able to install right from the disk – physical media!
Archive.org and OldVersion.com both likely have a copy of any freeware app you might be missing. In this case, I went for the trial copy of mIRC and Winamp.
Services
Besides DHCP which your networking router should be providing, you may want to include other network services on the LAN.
On the fileshare that was providing read-only access to installers, I created a themed .bat
file that workstations were configured to run on startup. This allowed a spot to place information about any rules or known issues with games, as well as contact information for support. On that same server, a second share was created that had open write access where people can drop their save files, screenshots, etc. to preserve between gaming sessions.
Except for World of Warcraft, I did not setup any dedicated servers for any of the games since the workstations had more than enough horsepower to peer host. The World of Warcraft server was installed using https://www.azerothcore.org/ and a copy of my World of Warcraft. Each client install of the game was then pointed to the dedicated server instead of Battle.net (again, no internet). The only downside to this is there's no registration and account setup mechanism out of the box. The admin needs to manually create accounts via the command line, so it might be best to pre-generate accounts for people if you have a lot of interest.
For the IRC server, https://www.unrealircd.org/ was used with each client pre-configured to join as the workstation's hostname via mIRC.
The Wazuh agent surprisingly runs on Windows XP! This gave me centralized visibility into security events should there be any nefarious actions attempted. As a side-benefit, it also gave me statistics on which games were the most popular based on process executions. It comes as no surprise that Quake III Arena was the crowd favorite.
Resiliency
Once all the software and games were setup on each machine, tested and configured, it was time to make it so someone couldn't accidentally or intentionally undo all that work.
In an effort to keep the machines resilient, especially when unattended, some modifications were made to the desktops. Faronics Deep Freeze is one of the gold standards for keeping a machine in a steady state, undoing all changes with a reboot and turning the computer almost indestructible. I was more than willing to purchase the necessary licensing, however upon contacting Faronics support they informed me they no longer sell licenses for prior versions that support Windows XP.
This led me to consider alternatives, and it was then I remembered watching this video from MJD a few weeks prior which covered Windows SteadyState. This was the process I used to get SteadyState setup on each desktop
- During the Windows XP install the user account you created is an administrator but not the titular
Administrator
account. - Using
Local Users & Groups
as the user, enabled the Administrator account and set a password. - Logged in as the
Administrator
and removed the user account from theAdministrators
group - Installed Windows SteadyState
- For the configuration
- Set the drive to reserve 15gb of preservation space to rollback any changes to the disk.
- Hid the
Administrator
account and set the user account to automatically login (to log back in as theAdministrator
, logout as the user account and use CTRL+ALT+DELETE at the user selection screen) - Set a scheduled reboot at 5am so the computers are reset and ready to go first thing in the morning
Transportation
All the Mac Minis fit vertically into a standard road case with the foam punchouts removed to create slots. Underneath stored all the networking equipment and cabling, allowing this setup (minus peripherals) to exist in a single case.
Conclusion
Overall, this was a fun project to throw together to give people something different to do for a few minutes (or hours). Thanks to Windows SteadyState and the portability of the Mac Minis, this is hopefully something I can return to with minimal setup each time. https://games-on-whales.github.io/ has my attention as a possible alternative to consolidate an entire LAN party to a single host.