C++ C Other
Latest commit eba428e Dec 8, 2017 @ensiform ensiform SP: Fix symbol error caused by UI functions in cgame
These two functions existin SP's exe which is where UI resides there.

I am leaving references to the proper syscalls but since they do not get used when hud is normally loaded in SP (commented out), I think it is best to not call them as it is a global state affecting menus as well.
Failed to load latest commit information.
.github Correct .github folder name Mar 20, 2016
CMakeModules Build bundled libjpeg as static library. Aug 10, 2015
code SP: Fix symbol error caused by UI functions in cgame Dec 8, 2017
codeJK2 Fix some compiler warnings (#917) Jul 7, 2017
codemp [MP] Fix multiple master (globalservers 0) support Dec 6, 2017
documentation/developer Create renderer architecture documentation Mar 3, 2017
lib Shared: Update to SDL 2.0.7 Nov 4, 2017
scripts Move appveyor scripts to scripts/appveyor Jun 24, 2017
shared Revert "Shared: Add DPI awareness manifest" Nov 11, 2017
tests add string view substr function May 8, 2016
tools Move build scripts into scripts/ folder Jun 10, 2017
ui Bye Xbox. Bye Gamecube. Jul 12, 2013
.gitattributes Added .gitattributes and .gitignore files. Apr 7, 2013
.gitignore [Git] Add build64 to gitignore for Win64. May 6, 2014
.travis.yml Move travis scripts into scripts/travis Jun 24, 2017
CHANGELOG.md Update CHANGELOG.md Sep 18, 2015
CMakeLists.txt Sets OS X target version to 10.9 #935 Aug 11, 2017
CreateVisualStudio2013Projects.bat Add Visual Studio 2013 bat file. Requires CMake or newer for… Oct 22, 2013
CreateVisualStudio2015Projects.bat General: Add batch file for creating VS 2015 projects. Jul 25, 2015
LICENSE.txt Update LICENSE.txt Aug 5, 2015
README.md Merge pull request #800 from isair/patch-1 Mar 15, 2016
appveyor.yml Run cmake install with correct configuration Jun 25, 2017
rv-readme.txt General: Add the original Raven GPLv2 readme to the repository under Feb 13, 2015



OpenJK is an effort by the JACoders group to maintain and improve the game engines on which the Jedi Academy (JA) and Jedi Outcast (JO) games run on, while maintaining full backwards compatibility with the existing games. This project does not attempt to rebalance or otherwise modify core gameplay.

Our aims are to:

  • Improve the stability of the engine by fixing bugs and improving performance.
  • Provide a clean base from which new JO and JA code modifications can be made.
  • Make available this engine to more operating systems. To date, we have ports on Linux and OS X.

Currently, the most stable portion of this project is the Jedi Academy multiplayer code, with the single player code in a reasonable state.

Rough support for Jedi Outcast single player is also available, however this should be considered heavily work in progress. This is not currently actively worked on or tested. OpenJK does not have Jedi Outcast multiplayer support.

Please use discretion when making issue requests on GitHub. The JKHub sub-forum is a better place for support queries, discussions, and feature requests.

IRC Forum

Coverity Scan Build Status

Windows OSX Linux x86 Linux x64
Windows Build Status OSX Build Status Linux x86 Build Status Linux x64 Build Status



OpenJK is licensed under GPLv2 as free software. You are free to use, modify and redistribute OpenJK following the terms in LICENSE.txt.

For players

To install OpenJK, you will first need Jedi Academy installed. If you don't already own the game you can buy it from online stores such as Steam, Amazon or GOG.

Installing and running OpenJK:

  1. Download the latest build for your operating system.
  2. Extract the contents of the file into the Jedi Academy GameData/ folder. For Steam users, this will be in <Steam Folder>/steamapps/common/Jedi Academy/GameData.
  3. Run openjk.x86.exe (Windows), openjk.i386 (Linux 32-bit), openjk.x86_64 (Linux 64-bit) or the OpenJK application (OS X), depending on your operating system.

Linux Instructions

If you do not have a windows partition and need to download the game base.

  1. Download and Install SteamCMD SteamCMD .
  2. Set the download path using steamCMD, force_install_dir .
  3. Using SteamCMD Set the platform to windows to download any windows game on steam. @sSteamCmdForcePlatformType "windows"
  4. Using SteamCMD download the game, app_update 6020.
  5. Download the latest build for your operating system.
  6. Extract the contents of the file into the Jedi Academy GameData/ folder. For Steam users, this will be in <Steam Folder>/steamapps/common/Jedi Academy/GameData.

OS X Instructions

If you have the Mac App Store Version of Jedi Academy, follow these steps to get OpenJK runnning under OS X:

  1. Install Homebrew if you don't have it.
  2. Open the Terminal app, and enter the command brew install sdl2.
  3. Extract the contents of the OpenJK DMG (Download the latest build) into the game directory /Applications/Star Wars Jedi Knight: Jedi Academy.app/Contents/
  4. Run openJK.app or openJK SP.app
  5. Savegames, Config Files and Log Files are stored in /Users/<USER>/Library/Application Support/OpenJK/

For Developers

Building OpenJK

Contributing to OpenJK

  • Fork the project on GitHub
  • Create a new branch and make your changes
  • Send a pull request to upstream (JACoders/OpenJK)

Using OpenJK as a base for a new mod

  • Fork the project on GitHub
  • Change the GAMEVERSION define in codemp/game/g_local.h from "OpenJK" to your project name
  • If you make a nice change, please consider back-porting to upstream via pull request as described above. This is so everyone benefits without having to reinvent the wheel for every project.

Deciphering buildbot's output

  • Pick the build from the operating system builder you're interested in at the builders page.
  • Click on stdio for the Steps to see the command executed and the result.
  • The command is at the very top, the output starts below.

Maintainers (in alphabetical order)

  • Ensiform
  • Razish
  • Xycaleth

Significant contributors (in alphabetical order)

  • eezstreet
  • exidl
  • ImperatorPrime
  • mrwonko
  • redsaurus
  • Scooper
  • Sil
  • smcv