Header Image - Quake On LAN

Eraser Bot for Quake 2 on a Modern Ubuntu Desktop

by RawShark 16 Comments
Eraser Bot for Quake 2 on a Modern Ubuntu Desktop

I recently retired Quake.ie (for good this time) but completely forgot to backup the one or two very useful tutorials I wrote on getting old Quake stuff to work on modern systems. One thing that gets people a lot is running old bots for Quake and Quake II, as neither game supported them natively. I myself am a huge Quake II fan, and as it’s nearly impossible to get a game of that online, I like to use Ryan Feltrin’s amazing Eraser bot from way back in 1999 (the author is now a Senior Engineer on the Call of Duty series). Quake.ie had a server running this 24/7, but that now also is gone, so I had to remember how to run it on my Ubuntu laptop.

This is not a Raspberry Pi related tutorial, I know, but as you can’t run Quake II mods on the Pi without recompiling their source code, this will have to do for now. In a future post I’ll likely have a go at compiling Eraser bot for ARM processor (if I can ever track down the source code), and hopefully that will lead to a new image release. I’d also very much like to do one for Lithium II mod, of which I’m a big fan and would love to play locally – the source for that one is actually available).

So, make sure you have Quake II running properly on your system first. I use Yamagi Quake II to run on my 64bit Ubuntu laptop with high resolution. You can do the same and then just copy the pak files from an old PC or a Steam installation of the games. Now download Eraser bot for Linux and see the README file for installation (if you want to play CTF, as detailed in the README, copy your CTF pak0.pak file now also).

You’ll need one more thing, and this is the magic ingredient. R1Q2 (R1CHs Enhanced Quake II Client/Server) is “an enhanced client/server focused on providing stability, security and speed whilst remaining fully compatible with existing mods and other clients”. What’s nice is that the project supplies a GNU/Linux GlibC 2.x Dedicated Server binary designed for running old mods that have binary-incompatible versions of gamei386.so. Eraser bot is one such mod, the binary was compiled with GlibC 2.1 and GCC 2.7.2, or earlier, meaning it will NOT run on your system unless you use this particular server binary. You can download the file you need from here and extract it in the root of your Quake II directory (make sure it is executable).

You are now all ready to go. To get our bot working, we are going to use a bash script (put it in /usr/local/bin, and make it executable with chmod +x) with the following contents:

#!/bin/bash

# Script to run Quake2 with Eraser bot on modern Linux Desktop
# Be sure you have installed Eraser bot for Linux first...

cd /usr/lib/yamagi-quake2

# Run server in background using OLD binaries. See http://old.r1ch.net/stuff/r1q2/
# You could set timelimit, fraglimit etc also in this line if needed
exec ./r1q2ded-old +set game eraser +map q2dm1 +set fraglimit 25 +bot_num 3 &

sleep 2 #give server a chance to start

# Run Yamagi Quake 2 in foreground and connect to bot server by IP address, NOT 'localhost'
exec ./quake2 +connect 127.0.0.1

# Game on!

That’s all there is to it, the comments in the script should explain what is happening. Call your script “q2bot” or something, and now all you have to do to play is type that at the command line. Also, anyone else on your LAN can connect to your IP from the Quake II console to join in the game, just like a regular server! I also recommend you you launch by specifying a map (eg. q2dm1) and then modify maps.txt in the eraser directory like so:

q2dm2
q2dm3
q2dm4
q2dm5
q2dm6
q2dm7
q2dm8
q2dm1

to achieve a proper endless mapcycle.

The server will keep running afterwards, even if you close the terminal window. As you can’t send the server command to /dev/null in your script, remember to use the process KILL command later on to stop the server completely.

This is a big one for me (I regularly yearn for a blast of Quake II) but as you know, hardly anyone plays online anymore. Hopefully you find it useful too.

RawShark has been dabbling in all things Quake since day one. He has reviewed maps, written mods, hosted servers, hacked code and even played a few games. These days he comes up with solutions for people sitting at home yearning for a blast from the past...


Quake On LAN is in no way affiliated with id Software.