OpenArena eXpanded (short: OAX; also OpenArena eXpansion) is the non-engine development of Open Arena, especially referring to gamecode (game logic).

OAX may refer to OpenArena gamecode development in general (game rules, HUD, UI, etc.), but the term is mostly used to identify its easy to use MOD form.

What is OAX?[]

These "beta" releases are previews of what will be OpenArena in the next official releases and are distributed as mods for easy testing.

In these betas you can find, for example, new game options, changes in the user interface, and in the rules of the gamemodes.

Up to beta version 21 (June 2008), "OAX" was known as "Elimination" (because of the "test mod" was first created when testing the Elimination gametype), then it was renamed to "OpenArena eXpanded".

The changelog of OAX ever since its first version was released prior to the introduction of nightly builds (roughly around beta 50) can be found here.

Where to find it?[]

Search fore Beta versions under

Since June 2016, there are also automated nightly builds here:

By now and then, new OAX Beta versions can be manually released for testing, the name being a B followed a number (e.g. OAX B53). Releases following shortly or with just minor changes may add a minor numer (e.g. OAX B53.2).

When providing feedback, please refer to the OAX version you are testing, by referring to the OAX Beta number or to the date of the Nightly build if that's the case.

Furthermore, when a big change is implemented, so the engine must be touched, the thread about the latest test binaries was the place to go in order to talk about test binaries back when the OA forums were used; nowadays instead check on the Discord server or the Engine github repository. Since July 2016, Windows test binaries are automatically created by nightly builds, too (dedicated thread), you can find them here.

Where are the sources?[]

OAX is available under GPLv2+ license. About source code, you can find its "master" branch here:

Source code for OA gamecode has been moved from Google Code Subversion repository to Github repository at the beginning of May, 2014, due to Google deciding to stop providing its Code SVN service. However Google Code pages are still accessible in read-only mode.

WARNING: Github does NOT use a progressive number for revisions. Each individual commit is given a hash like "b767acae0de31968331f9182c6afbab1376954b8" or "b767aca" for short. There is no incrementing revision number, not even after merging into master. The timestamps cannot be trusted either: they mark the day the code was developed (git commit), NOT the day they where made available (git push). In Subversion commit+push was just called "commit".


Please note:

  • OAX should not be used on public servers, at least NOT with sv_allowDownload active. You can organize an online test session for certain OAX version with your friends, of course, but the pk3 shouldn't be autodownloaded into computers of people who do not know what OAX is.
  • You can use the #coding or OAX-dedicated channels in official OpenArena Discord server to provide feedback. Github "issues" may fit, too.
    • To write good feedback, it's better to mention the OAX version you were testing and, if possible, steps to reproduce the issue.

The easy way[]

Using proper OAX Beta version[]

By now and then, a OAX Beta versions are manually published; these as identified by a progressive code, such as "oaxB51". A lot of time can pass between releases. Search for them on github and on OpenArena Discord.
This has the "pro" of giving more people a lot of time to make tests with the same version of the gamecode and a forum post "presentation" which may explain what its new feature are, but has the "con" of possibly being very outdated, and one has to search on the forum for the link to the latest version.

To easily test an OAX Beta version, use it like any mod (see Manual/Using mods):

  1. Go to and download an OAX Beta version "mod".
    Older versions (up to B52) are here.
  2. Unzip it inside your OpenArena installation folder (or user settings folder), so you should obtain a subfolder called "oaxBXX" (where XX is the beta version number, for example "oaxB45" for Beta 45, "oaxB46" for Beta 46... you can have more OAX beta versions "mods" installed).[1]
  3. Start OpenArena, then select "Mods", and there choose "oaxBXX"
  4. Use the game and try it. Please refer to the "readme.txt" file or to the thread on the forum to know what's new in each beta version.

Using Nightly Builds[]

Since June, 2016, Sago007 provides nightly builds for OAX master branch. This means that, if one or more changes have been done to the "official" OAX gamecode, the next day a new zip archive will automatically be available, containing a new "test mod", similar to the "Beta XX" versions. These versions are identified by their date.
This has the "pro" of being updated frequently, and the "con" of possibility of containing major bugs, not coming with a dedicated changelog forum post and requiring more attention for more people do to tests with the same version of gamecode.

  1. Go to the repository at
  2. Grab the latest zip file.
  3. Extract it into your OpenArena installation folder. That will place the mod it in a subfolder named "oax", you can rename it if you wish.
  4. Start OpenArena, then select "Mods", and there choose "oax". Or start the mod directly from command line, e.g. openarena.exe +fs_game oax
  5. Use the game and try it.


  • At the moment, nightly builds make two independent zip files: the one with the "_m" suffix uses OA3 new user interface, which is a WORK IN PROGRESS. Currently (November 2016), that interface still lacks many important things!!! You can however test it by launching "oax_m" mod. It is very advisable to use updated binaries on order to use it.
  • You can refer to Github commits log to find out what's new. Also, a bot automatically updates #github-notifications channel on Discord. You can also refer to, of course!
  • Naming of the zip file will be something like "": name includes latest gamecode change date and its "hash" as you can find on Github.
  • Only the "master" branch ( is used by nightly builds. There may be changes in OAX experimental branches which may still require you to build them manually if you wish to test them.
  • Automatic builds are created by the Docker container you can find here:

The hard way[]

To test the very latest changes (those from the current day, for which the nighlty build has not been created yet) you can checkout from git and compile yourself. This is also relevant if you want to make your own changes or tests.

  1. Install a git client. In Ubuntu Linux this is done with "sudo aptitude install git". In Microsoft Windows use Msysgit software.
  2. Clone with "git clone". If using msysgit use the "Git bash"-option from the right-click menu.
  3. Compile. In Windows run windows_compile_game.bat, windows_compile_cgame.bat and windows_compile_q3_ui.bat in "windows_scripts". This will create a folder called "windows" with a subfolder called "baseoa". In "baseoa" is a folder called vm. Compress vm to a zip file. Call it oaxdev.pk3 copy it into a oax-folder next to baseoa where you installed OpenArena. Linux users can use the "supermake"-script in "linux_scripts" to compile, pack and launch the game in one command.
  4. Start the game select oax as a mod. Unless you use the "supermake"-script as that will also launch the game with the mod active.

Build instruction: Linux detailed[]

Requirements: gcc and git

If the requirements are met this should build it:

git clone
cd gamecode

Instead of running make Go to the linux script folder:

cd linux_scripts

In this folder create a file called supermake.local In that file put:

#The full path to start OpenArena
#The architecture. Use "i386" for 32 bit (default) or "x86_64" for 64 bit.

Now the game can be compiled, packed and started with:


Build instruction: Windows detailed[]

Install msysgit Create a folder you want to work in. In this folder right-click and choose "Git bash". In bash-promt copy paste (you can paste in the bash promt with Shift+Insert or with the menu):

git clone

Now go to the windows scripts folder by pasting:

cd gamecode/windows_scripts

In this folder run the command:

bash git-bash-cpmpile.bash

It will ask you 6 times to "Press any key to continue..." so that you have time to read any compiler errors. A file called "oax.pk3" will be created in "gamecode/windows/baseoa/". Create a folder in your Openarene folder next baseoa, call the new folder oax. Copy the pk3-file into that folder. Start the game and load the mod oax

Coding tutorials and resources[]

Submitting changes[]

If you have developed a change, as long as it doesn't violate NOTTODO, talk about it the Discord server. You are also welcome to clone the git repository to show display the changes!

R and B (legacy)[]

When the code was hosted in Google Code SVN repository, each update to the code made advance the "revision" number of the repository. This does not happen in current (Github) repository, where unfortunately there isn't a progressive revision numbering. However for the moment we keep this old R & B explaination (here below, in italic) so you may understand what were "R" & "B" about when reading old posts about OAX on the forum.

It's possible to find two different OAX numberings: "R" and "B" versions. "R" stands for "revision" (a.k.a. "rev"): each time a developer updates the source code/files on the "svn repository" (in short, makes a change), the "R" version number goes ahead; this allows to track each change, but you need "the hard way" below to test these latest changes. "B" stands for "beta": once on a while, a developer creates a "beta" package (starting from a specific "R" version) that everyone can simply download and test in "the easy way", like a mod; these downloads may miss the very latest changes, done after their creation. An OAX B version number is lower than the corresponding OAX R number, since a new beta package contains the changes introduced with more revisions; as an example, Beta 47 is based on OAX r238.


  1. Note: this folder goes at the same level of the "baseoa" folder, not inside it... and do not mix the files from the mod with those in baseoa. It is very important to avoid placing modified gamecode in the baseoa folder, especially if you are running a server that other players will be able to connect to (you may mess up their OA installation!).

External links[]


See also[]