Skip to content

About

Weapons Factory for Quake 2 Source Code

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Weapons Factory for Quake 2 — 2023 Kex Rerelease Port

This fork ports Weapons Factory 4.2 (the last open-source WF release) to the 2023 Quake II (Kex) rerelease. It runs as a drop-in game module on Windows and as a dedicated server on Linux. The full port story — refactor decisions and the major bug fixes — is in rerelease-source/README.md.

Two ready-to-use bundles are published as GitHub Releases — download them from the Releases page (they're not committed to the source tree):

q2wf_rerelease_client.zip — Windows client

Everything a player needs to run WF on the 2023 rerelease. Contains the wf/ mod folder with the compiled game_x64.dll, pak0.pak, the WF maps, the class/config files (wfserver.ini, team10/6/3.class, bots.cfg, chat.txt), the fixed keybinds (autoexec.cfg, keybinds.cfg), and a README.txt with step-by-step install directions.

# 1. Unzip, then copy the wf folder into:
#      C:\Users\<you>\Saved Games\Nightdive Studios\Quake II\
# 2. Launch Quake II, open the console (~), and run:
game wf
map 2fort2000

q2wf_rerelease_server_linux.zip — Linux dedicated server

A self-contained Linux dedicated server on the q2repro engine. Contains the q2reproded binary, the wf/ mod (game_x86_64.so + assets + config), run.sh, and server.cfg. You supply baseq2/ (base Quake II rerelease data). Full setup, config, and connect directions are in the bundled q2repro-server/README.md.

unzip q2wf_rerelease_server_linux.zip
cd q2repro-server
cp -r "/path/to/Quake 2/rerelease/baseq2" ./baseq2   # you supply this
./run.sh                                              # default map: 2fort8wf
# clients connect with:  connect <server-ip>:27910

Source & layout

  • rerelease-source/ — the C++17 Kex-rerelease port (builds game_x64.dll + game.so). See its README.md for the port changelog and bug-fix list.
  • Source/ — Gregg Reno's original 1998 WF v4.2.1 C source (read-only reference).

Building from source (Linux)

The port builds on Linux with CMake + Ninja. A single script, rerelease-source/build.sh, produces both targets and runs verification gates:

  • game.so (Linux) — the native module the q2repro dedicated server loads; the build runs ldd -r and fails on any undefined symbol.
  • game_x64.dll (Windows) — cross-compiled with MinGW; this is what the Kex engine loads. The build verifies it's a PE32+ x86-64 binary that exports GetGameAPI.

Prerequisites (Debian/Ubuntu):

sudo apt-get install build-essential cmake ninja-build mingw-w64

Build:

cd rerelease-source
./build.sh            # build both game.so + game_x64.dll, with verification
./build.sh linux      # Linux game.so only
./build.sh windows    # Windows game_x64.dll only (cross-compile)

Outputs (game.so, game_x64.dll) land in the rerelease-source/ directory. See rerelease-source/build.sh for the optional deploy mode and full details.

Releases & reporting bugs

This is an early alpha — expect rough edges. Prebuilt bundles live on the Releases page; please note the Release version you tested when reporting.

Before reporting, skim KNOWN_ISSUES.md — some behavior (stubbed bots, the empty weapon wheel, verbose debug logging) is already known.

To report a bug, open an issue using the bug-report template, and include:

  • Which bundle (Windows client / Linux server) and the Release version.
  • Steps to reproduce, and expected vs. actual behavior.
  • Logs (drag the files into the issue):
    • Windows client: stdout.txt + stderr.txt (in %USERPROFILE%\Saved Games\Nightdive Studios\Quake II\); on a crash, also CRASHLOG.TXT (in your Quake II install's rerelease\ folder).
    • Linux server: the q2reproded console output.

Want to build from source or dig into a crash yourself? See CONTRIBUTING.md.


Original release notes — by Gregg Reno (greno)

Released in 1998, my brother Tom Reno and I released a mod for Quake 2 called Weapons Factory. It had quite a following, and at one point had 50 servers hosting the mod. Over the years, Weapons Factory has been ported and played on many game engines, including:

  • Quake 2
  • Quake 3 Arena
  • Unreal Tournament
  • Half-Life
  • Tribes

On this the 25th anniversary of WF for Q2, I am releasing the source code for version 4.2.1. Not that I was holding on to it for any reason. It's just I forgot about it for years until I was recently reminded by a group of dedicated WF players over at Weapons Factory Arena and Weapons Factory Roblox that it would be a good idea to do so.

Also included are the original client, server and map files.

Weapons Factory was such a blast work on, and I am humbled by the awesome community who loved playing the game as much as I loved working on it. Thank you to all the players and developers who made Weapons Factory so great.

-- Gregg Reno (gregg.reno@jigawattlabs.com)

License

GNU GENERAL PUBLIC LICENSE

Free To Use Any Way You Want

About

Weapons Factory for Quake 2 Source Code

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages