With the Internet being grossly expensive in France until 1999, I never got a chance to experience Quakeworld. Don't feel bad, I came back with great vengeance when it came to trading on Diablo II to become a SOJilionaire. But I digress.
With the Quake PC finished, the game I was the most eager to finally discover was naturally QuakeWorld. Being thirty years late to the game (literally), would any of that still run on my precious 233MHz relic? Let's find out.
QuakeWorld does not stand alone. When it starts, a splash screen indicates that further instructions are available at www.quakeworld.net. However that URL now redirects to ign.com since the two entities merged in 2004.
You obviously can't play Single Player.
And you can't select Multiplayer either. There is no integrated menu to search/select a server or join a game.
Thanks to the Wayback Machine we can still see what quakeworld.net used to look like. There is also a good description of how players used the service.
To run properly, QuakeWorld Client must be started with parameters on the command-line pointing to a QuakeWorld Server (e.g.: -connect 192.168.01.). To make it easy to find them, each QuakeWorld Server registers itself with QuakeWorld MasterServer when it starts. The most convenient way to play QuakeWorld is to use a tool that has a list of master servers, retrieve all the servers available, let you pick one, and start the QuakeWorld client with the proper command-line parameters.
The MasterServer protocol is based on simple text-based messages. It was documented in 1997 by Nicholas Maher.
Instead of building this tool, id Software selected something that was already popular in the Quake community. The communication about how to make it happen was even published.
From: John Carmack <johnc@idnewt.idsoftware.com> To: jep@sclsis.navy.mil Subject: Quake World Date: Wednesday, August 07, 1996 11:03 AM Qspy is cool. Want to be the official front end for the QuakeWorld project? I think the initial research releases of QuakeWorld are going to be native win32 apps only, and they will listen on a control socket, so an external windows app can very nicely send them from server to server. If you are interested, I can go over the new features we are considering that would be pertinent, and solicit some opinions from you. John Carmack[1]
It was easy to find since QSpy came bundled with Quakeworld installer, qw1022.exe.

During the installation, I was supposed to be able to pick the colors of my skin. I was unable to make this work but I could still progress to the next step.
Once installed, GameSpy 3D hit the net and came back with an empty list of QuakeWorld servers. That was unsurprising. I fully expected the master server list to be obsolete thirty years later.
But GameSpy had the good idea to allow users to update the list. I found a few master servers on quakeservers.net. Bless your soul whoever is maintaining this.
I hit refresh and it looked like "something" was happening!
Within seconds I saw thousands of servers popping up (with players). I cannot describe the joy and overall awe to see this whole stack still able to run.
Gamespy.com closed in 2013 when it merged with ign.com. But they had the good taste of keeping the website up. It actually still renders well with IE4.
I picked a game and Quakeworld started. The excitement kept on growing since it looked like it was downloading the bsp map.
Downloading content was one of the improvements of Quakeworld, the regular quake could only play games where all players already had the bsp in their id1 folder.
And then the map would not actually load. The screen only mentioned something about the version. Oh my. Are they running servers for which there is no client on Windows 9X. Is it only for Quakeworld modern ports like EZQuake?
I noticed I was using v2.10. The server claimed to be v2.40. The latest version of Quakeworld Client available for Windows 9X was v2.34. This did not look good. I went on the amazing Quake Offical Archive[2] by Jason Brownlee and got client v2.34. And it worked! I was able to start the game and officially took my first step in QuakeWorld.
And the game crashed immediately. I had seen perhaps six frames and a half of it. Brief but intense.
Z_Malloc: failed on allocation of 40 bytes
Failing on such a small amount made me wonder again if v2.34 client would actually work with v2.40 server. Are the packets different? I have 340MiB installed on this machine, could it be too much and something wraparound?
A little bit of Googling revealed a treasure trove of players helping each other. It turned out the problem was the amount of RAM dedicated to small strings and structs. Adding -zone 1024 to the QSpy launcher fixed the problem.
With the Z_Malloc issue solved, quakeworld ran flawlessly. For hours. I quickly got my first frag. Using the grenade launcher because I was too busy having fun to figure out how to select the rocket launcher.
The "frag" messages, revolving around shafts and pinnaples, were super childish and I loved it.
My first accomplishment was to "not finish last".
And then I spent an entire week-end playing deathmatch, completely hooked. Gosh this game is good. And I played in 320x200, proof that great games are all about mechanics.
That old-new MMX 233Mhz can still play QuakeWorld in 2026. QSpy was cool. And QSpy is still cool!
It is thirty years later and there are still server and master servers up and running. More importantly, there are people out there who still love the game enough to maintain all that infrastructure.
There is no better testament to a game quality than players enduring love, decades later.
| ^ | [1] | QSpy is cool |
| ^ | [2] | Quake Official Archive |