libEGL.dll and libGLESv2.dll available for download

EGL OpenGL API Logo

Vastly out of my skillset on this but, I’ve compiled libEGL.dll and libGLESv2.dll for use with the q2pro builds (and probably anything else on your windows system that might use EGL).

The download is available in https://quake2.itbacon.com/public/q2pro (q2pro-libEGL-libGLESv2-v2.1.28252.0-dlls.zip)

Version 2.1.28252.0 from git was used.

32-bit (x86) and 64-bit (x64) DLLs are included, but unlike OpenAL you’ll have to put them in C:\windows\system32 (64-bit) and C:\windows\SYSWOW64 (32-bit). The zip file is made so you can just extract to C:\ and they will go into the correct folders.

Welp… One more Q2Pro Update

I’m now completely compiling the windows build against updated external libraries, with no subproject dependencies other than khr-headers. The dependency versions will be listed in each ones included log files. Day wouldn’t be complete with one last update I guess! Updated builds available as always in https://quake2.itbacon.com/public/q2pro

Below is the log file for win64-vfps-ac:

*** LIBRARIES USED IN THIS BUILD:
libavcodec           63.3.100
libavformat          63.3.100
libavutil            61.2.100
libcurl              8.21.0-DEV
libjpeg              3.1.4.1
libpng               1.6.58
libpng16             1.6.58
libswresample        7.2.100
libswscale           10.2.100
libturbojpeg         3.1.4.1
openal               1.25.2
sdl2                 2.32.8
zlib                 1.3.1.zlib-ng

q2pro r3834~601a8df8

  Features
    anticheat-client     : NO  # YES on x86, but likely no way to ever get one of my exe's anticheat hash approved in 2026.
    anticheat-server     : YES
    auto-reply           : YES
    avcodec              : YES
    client-gtv           : NO
    client-ui            : YES
    debug                : NO
    game-abi-hack        : NO  # YES on x86/i386, for old mods.
    game-new-api         : YES
    icmp-errors          : YES
    libcurl              : YES
    libjpeg              : YES
    libpng               : YES
    md3                  : YES
    md5                  : YES
    mvd-client           : YES
    mvd-server           : YES
    openal               : YES
    packetdup-hack       : NO
    save-games           : YES
    sdl2                 : YES
    software-sound       : YES
    system-console       : YES
    tests                : NO
    tga                  : YES
    variable-fps         : YES  # NO on non-vfps builds
    wayland              : NO  # YES on Linux
    windows-crash-dumps  : YES
    windows-egl          : YES
    windows-service      : NO
    x11                  : NO  # YES on Linux
    zlib                 : YES

  Subprojects
    khr-headers          : YES

  User defined options
    Cross files          : /home/jordan/git/q2pro/.ci/x64-windows-gpt.txt
    anticheat-server     : true
    avcodec              : enabled
    buildtype            : release
    default_library      : static
    game-abi-hack        : disabled
    game-build-options   : optimization=s,b_lto=true
    game-new-api         : true
    libcurl              : enabled
    libjpeg              : enabled
    libpng               : enabled
    openal               : enabled
    sdl2                 : enabled
    system-wide          : false
    variable-fps         : true
    vid-geometry         : 1920x1080
    vid-modelist         : 320x240 640x480 800x600 1024x768 1280x720 1280x960 1366x768 1600x900 1920x1080 2560x1440 3440x1440 3840x2160 4096x2160
    wayland              : disabled
    werror               : true
    windows-egl          : true
    windows-service      : false
    wrap_mode            : nofallback
    zlib                 : enabled
    khr-headers:wrap_mode: forcefallback

Q2Pro – OpenAL figured out!

OpenAL Logo

Edit 3:37pm EDT: curl is enabled in ALL builds now (for http downloads), EGL enabled in windows, openal on 32bit linux. and game-new-api enabled in all builds. I think now it is the most complete builds!

I have figured out how to get OpenAL working on both x86 and x64 windows builds now! The DLL files will be included in their respective files. I have compiled the latest version of OpenAL (1.25.2) to include with the release.

Additionally, the DLLs are available for stand-alone download in https://quake2.itbacon.com/public/q2pro

I also realized as well today that no older x86/32bit mod is going to support vfps, so the x86/i386 vfps builds have been removed.

I am additionally also compiling non-vfps builds as well again.

Linux builds have been updated to support X11, too.

And software-sound has been enabled. I’ll try and add EGL support here in a while. EGL support has been added!

I’m not sure if there’s anything left to get into these builds at this point! I’ve been kind of obsessed with it the last week again, trying to get them as good as possible.

Q2Pro Builds Updated… Again!

I’ve updated the q2pro builds available on https://quake2.itbacon.com/public/q2pro, more so specifically the Windows builds to include libavcodec/ffmpeg support.

You’ll notice anticheat-client is off on the 64bit build, because there is no 64bit anticheat.dll that works. It’s just too old. It is enabled on the x86 build, and for me, the dll does load, in the console you’ll see Anticheat DLL initialized or whatever.

But when connecting to a server for some reason, it still says I’m not using it. For servers that are still requiring anticheat, for no reason because it’s 2026 and it wouldn’t stop anybody even mildly motivated, I don’t plan to work on figuring that out. I would suggest using the old r1ch build if you absolutely need anticheat for a particular server. My best guess is because I’m not using the r1gl renderer.

Edit/Update: It seems more likely that anticheat.dll, and/or the anticheat server that r1ch does still run, has a list of hashes for exe’s that would be approved. Since no exe I compile has any means of to be approved in 2026, anticheat will assumedly never work with any other build than e.g. q2pro-ac that r1ch released ages ago. I wish we could just get one last dll for 64-bit compiled from him, that’d be great. It would really help carry anticheat forward for a bit longer. Maybe I’m just overly nostalgic.

SDL2 is also now enabled (vid_driver sdl).

OpenAL also works good in this build, however, again, for x86 I am unable to find an openal32.dll that works, it just keeps saying “Requires at least OpenAL 1.1” when trying to set the sound to OpenAL in the x86 build. I’ve left it enabled in case anyone wants to try and find a working dll — and if you do! — please let me know.

Compiling Q2Admin r872 for i386 and x64

q2admin-r872 running

Note: As I already have all of these dependencies installed, it can be hard for me to sometimes determine exactly what you might need to apt-install. Let me know if anything goes awry in the comments and I’ll update the guide!

Edit: I’ll try and get this wrapped into a script you can just run that will do all the work and prep/compile the build.

The most-excellent PacketFlinger has kept a version of Quake 2’s former cheat detection mod q2admin still running after all these years. His version works very well for me on both older i386 mods, and modern mods on x64. And I’m going to show you how you can compile it for your own server, on Ubuntu Linux.

First, we need to install the required dependencies. If you plan to build the i386 version for older mods, then run this to install the i386 version of libc:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386

You will also need some standard packages if you don’t have them installed already for some reason:

sudo apt install git build-essential gcc-multilib g++-multilib pkg-config make perl wget curl ca-certificates tar xz-utils file binutils

Next, we need to clone the q2admin git repository. Make sure you’re in the folder where you want to download it to. The git clone command will automatically create a subfolder named q2admin:

git clone https://github.com/packetflinger/q2admin
cd q2admin

For i386 builds, we need to modify the Makefile slightly. If you’re not compiling for i386 mods, skip down to make — and yes, I should really learn how to commit changes to a git repository one of these days… maybe I’ll try that after this guide, so I can commit this Makefile change to the q2admin repository. Edit Makefile with your editor of choice, for me, that’s nano. I have, since forever, ran nano with -w to prevent line wrapping:

nano -w Makefile

Add the lines in bold below to your Makefile. The change should begin around line 77 or so. You can press CTRL-W, CTRL-T, 77, [Enter] to jump to that line. Others may prefer CTRL-/, 77, [Enter], nano is versatile!

else
    CFLAGS += -fPIC -ffast-math -w -DLINUX
endif

ifeq ($(CPU),i386)
    CFLAGS += -m32
    LDFLAGS += -m32
endif

CFLAGS += -DQ2A_COMMIT='"$(VER)"' -DQ2A_REVISION=$(REV) -DCPU='"$(CPU)"'

CTRL-X, Y, [Enter] to save your changes. Others may prefer CTRL-O, [Enter], CTRL-X which will do the same thing.

We can immediately compile the x86_64 version by simply typing make:

make

This should produce a gamex86_64-q2admin-r###.so file, which is your freshly compiled q2admin for 64-bit!

However, for i386, we are again going to have to do a few things, namely we need to recompile the dependencies to avoid a linker warning after compiling. You’ll also have the most up to date version of q2admin possible for i386, including its libraries. You must determine the full path to your q2admin/deps/ folder, so if you ran git clone in your home directory, this will be ~/q2admin/deps/. From a shell, first set a variable the next script will use. Modify the path in the below if necessary. Do not put a trailing / at the end. Do not put quotes () around it either!

Q2ADEPS=~/q2admin/deps

The above command will set a variable, $Q2ADEPS, that we use in the below snippet. In that same shell, run the following, which will download and compile zlib, curl, and openssl i386 dependencies.

cd /tmp; rm -rf zlib-1.3.2 openssl-3.0.16 curl-8.8.0
wget -nc https://zlib.net/zlib-1.3.2.tar.gz https://www.openssl.org/source/openssl-3.0.16.tar.gz https://curl.se/download/curl-8.8.0.tar.gz
tar xf zlib-1.3.2.tar.gz -C /tmp; cd /tmp/zlib-1.3.2; CFLAGS="-m32 -fPIC -O3" ./configure --static --prefix="$Q2ADEPS/i386/zlib"; make clean; make -j"$(nproc)"; make install
tar xf /tmp/openssl-3.0.16.tar.gz -C /tmp; cd /tmp/openssl-3.0.16; ./Configure linux-x86 no-shared no-tests no-module enable-pic --prefix="$Q2ADEPS/i386/openssl" CFLAGS="-m32 -fPIC"; make clean; make -j"$(nproc)"; make install_sw
tar xf /tmp/curl-8.8.0.tar.gz -C /tmp; cd /tmp/curl-8.8.0; PKG_CONFIG_PATH="$Q2ADEPS/i386/openssl/lib/pkgconfig:$Q2ADEPS/i386/zlib/lib/pkgconfig" CFLAGS="-m32 -fPIC -O3" LDFLAGS="-m32" ./configure --host=i686-pc-linux-gnu --prefix="$Q2ADEPS/i386/curl" --disable-shared --enable-static --with-openssl="$Q2ADEPS/i386/openssl" --with-zlib="$Q2ADEPS/i386/zlib" --disable-ldap --disable-ldaps --without-brotli --without-zstd --without-nghttp2 --without-libpsl; make clean; make -j"$(nproc)"; make install
cd "$Q2ADEPS/.."

Note: The above links are bound to become outdated, I will try to keep them updated. You may have to get updated links if you’re reading this in 2030…

Finally, with ALL THAT out of the way, you can now type:

make CPU=i386

And that should give you a gamei386-q2admin-r###.so file!

Using and configuring q2admin is out of the scope of this guide, and worthy of a whole post or four in itself, so you’ll have to do some research on getting things configured for your server(s).

The README.md will be your absolute best starting point. And all of the stock configs are in your ~/q2admin/runtime-config/ folder.

HUGE shout out to PacketFlinger for keeping this alive! Thank you!!

Quake QTracker and 63.239.170.8

QTracker Logo

I’m actually making this post just to provide maybe one extra google result for users that search for it.

So, I happen to notice a bunch of requests coming from this IP to my firewall, via UDP. I have long had it blocked, but finally got more curious today, probably at least a year after I added the IP to my block lists.

So, the IP actually belongs to a company in Ohio, which was weird, because I am also based in Ohio.

I reached out to the CIO of the company, not expecting much — and he’s none other than the developer of QTracker, Ron Mercer! No wonder this IP was trying to scan me, it was wondering why it couldn’t see my Quake 2 servers anymore!

Ron is absolutely incredible, he’s added a reverse DNS entry for the IP which now resolves to a qtracker.com domain.

So again, 63.239.170.8 is not malicious, it’s just trying to help us preserve as much Quake as possible.

Huge shout out to Ron, thank you for your time on this!

Quake Q2Pro r3834 Builds!

Edit 7-2-2026: I’ve recompiled these again to include game-new-api for large map support, and have attempted to enable anticheat-client in the windows builds, mostly untested. The i386-abi builds run my old mods perfectly!

Edit 6-27-2026: I’ve scaled back the number of builds .. it was excessive. There’s no reason to have so many that I can think of.

Edit 6-23-2026: I am redoing the naming convention and adding EVEN MORE builds! Linux x86 builds will now be i386. I am also compiling separate i386 builds that have the ABI Hack enabled and one that is disabled. ‘abi’ builds will have it enabled.

I did not realize someone had forked/taken a snapshot of q2pro, available at https://github.com/q2pro/q2pro

I have taken some time to compile them as well. These are also untested but I suspect will work better than the q2repro builds below which I will probably end up deleting (Edit: I recompiled the q2repro builds with what I learned on this, they may work better if you need repro).

I was able to compile them with http support again, and the various variable fps and anticheat server builds, so you can pick either neither, a ‘vfps’ build (no anticheat), or an ‘ac’ build (anticheat, no vfps), or a vfps-ac build (both). Or none as mentioned.

There are x86 and x64 builds, so you should be able to run any mod. Also included i386 for ubuntu.

Let me know if you’re using them! I’m pretty excited that there’s at least a semi-stable repo for q2pro again!

Download the Builds Here: https://quake2.itbacon.com/public/q2pro

Each file also contains a log file which shows what it was built with, e.g.:

q2pro r3834~601a8df8

  Features
    anticheat-server   : YES
    auto-reply         : YES
    avcodec            : NO
    client-gtv         : NO
    client-ui          : YES
    debug              : NO
    game-abi-hack      : NO (YES on x86 and i386-abi, will add separate win-x86-abi builds later)
    game-new-api       : NO
    icmp-errors        : YES
    libcurl            : YES
    libjpeg            : YES
    libpng             : YES
    md3                : YES
    md5                : YES
    mvd-client         : YES
    mvd-server         : YES
    openal             : YES
    packetdup-hack     : NO
    save-games         : YES
    sdl2               : NO (YES on Linux builds)
    software-sound     : YES
    system-console     : YES
    tests              : NO
    tga                : YES
    variable-fps       : YES
    wayland            : NO (YES on Linux builds)
    windows-crash-dumps: YES
    windows-egl        : NO
    windows-service    : NO
    x11                : NO
    zlib               : YES

  Subprojects
    khr-headers        : YES
    libcurl            : YES
    libjpeg-turbo      : YES
    libpng             : YES
    nghttp2            : YES (from libcurl)
    openal-soft        : YES
    zlib-ng            : YES

  User defined options
    Cross files        : /home/jordan/git/q2pro/.ci/x64-windows-gpt.txt
    anticheat-server   : true
    avcodec            : disabled
    buildtype          : release
    default_library    : static
    game-abi-hack      : disabled
    libcurl            : enabled
    libjpeg            : enabled
    libpng             : enabled
    openal             : enabled
    sdl2               : disabled
    system-wide        : false
    variable-fps       : true
    vid-geometry       : 1920x1080
    vid-modelist       : 320x240 640x480 800x600 1024x768 1280x720 1280x960 1366x768 1600x900 1920x1080 2560x1440 3440x1440 3840x2160 4096x2160 7680x4320
    windows-egl        : false
    windows-service    : false
    wrap_mode          : forcefallback
    zlib               : enabled

Quake 2 Nostalgia Button Pressed

Update: Please see https://quake2.itbacon.com for more information! Come check out my jump server, quake2.itbacon.com:27920

Had a lot of fun learning meson environments this weekend, and finally building a 32bit version of q2pro (in Ubuntu) to load old mods that never released source code. Now I can load gamei386.so mods. I even compiled an i386 version of q2admin just for the heck of it. I love how everything works still.

PacketFlingers excellent work with PakServe and pakutil made creating compressed pkz files a breeze.

Skullernets excellent work on q2pro made using it all just as easy. HTTP downloads, etc.

It’s absolutely wild to me that I can still load a Quake 2 mod from 20 years ago on a modern system. And everything works.

I’m running the best quake 2 servers of my life and there’s nobody to use them anymore! It’s maddening.

I think I am mainly doing this for my own nostalgia at this point. There are definitely still a number of quake servers out there but there’s only a small, small handful of people.

I’d give anything for a truly active q2 community again. I want to play weapons factory, and freeze tag, and rocket arena, and expert CTF again.