Skip to content


Switch branches/tags


JK2MV (Multi Version) is a modification for Jedi Knight II: Jedi Outcast. It supports all three game versions and comes with various features and optimizations.

Main Features:

  • Supports 1.02, 1.03 & 1.04 in a single executable
  • Supports most mods made for JK2 (maps, skins, (code)mods etc.)
  • Fast ingame HTTP-Downloads with a dialogue asking you for permission before downloading files to your computer
  • Multiplatform: Windows, Linux, MacOSX, FreeBSD
  • Multiarchitecture: 32 and 64 bit support on all platforms
  • Dynamic glow: Better looking lightsabers with the dynamic glow feature from JKA
  • EAX/OpenAL sound fixed
  • Support for modern screen resolutions
  • Fixes for all known security bugs
  • Minimizer: Press the Windows key / Command key in fullscreen mode to minimize
  • Improved gamma correction
  • Tons of other fixes and improvements in the engine, see the changelog for detailed information
  • Opensource (GPLv2)

Automated Builds

These builds are automatically generated on every push to the repository. For testing purposes only.

Windows Linux / OSX Codacy
Windows Build Status Linux/OSX Build Status Codacy Badge


Howto Build JK2MV

  1. Clone the JK2MV repository Clone the JK2MV repository including submodules (required if you also want to build the mvsdk modules), e.g.:
    • git clone --recursive
  2. Get CMake from either or, in case of Linux, from the repositories of your distribution.
  3. Dependencies
    • Windows: Requires at least Visual Studio 2013, required libraries are shipped with JK2MV in the libs directory.
    • Linux/FreeBSD: OpenGL, OpenAL, SDL2 and depending on your configuration libjpeg, libpng, libminizip, zlib.
      • Ubuntu/Debian: apt-get install git debhelper devscripts libsdl2-dev libgl1-mesa-dev libopenal-dev libjpeg-dev libpng-dev zlib1g-dev libminizip-dev
      • Fedora: dnf install git SDL2-devel mesa-libGL-devel openal-soft-devel libjpeg-turbo-devel libpng-devel zlib-devel minizip-devel
    • MacOSX: XCode on MacOSX >= 10.9
      • Configure / Build SDL2:
        1. curl -O
        2. tar xzf SDL2-2.0.10.tar.gz && cd SDL2-2.0.10/Xcode/SDL
        3. sed -i -e 's/@rpath//g' SDL.xcodeproj/project.pbxproj (packaging fails otherwise)
        4. xcodebuild -configuration Release
        5. mkdir -p ~/Library/Frameworks/
        6. ln -s `pwd`/build/Release/SDL2.framework ~/Library/Frameworks
  4. Configuration
    • Either
      • Use the CMake GUI to configure JK2MV
      • Generate the default configuration by using the build scripts in the build directory.
    • Important Options
      • BuildPortableVersion Build portable version (does not read or write files from your user/home directory)
      • BuildMVMP Whether to create targets for the client (jk2mvmp & jk2mvmenu)
      • BuildMVDED Whether to create targets for the dedicated server (jk2mvded)
      • BuildMVSDK Whether to build and integrate the mvsdk modules.
      • CMAKE_BUILD_TYPE=Debug/Release Build for development/release.
  5. Building
    • Unix-Makefiles
      • make Build all previously selected binaries.
      • make install Installs JK2MV to /usr on Linux. On MacOSX it finishes the App-Package.
      • make package Generates rpm/deb packages on Linux and a dmg image on MacOSX.


JK2MV is licensed under GPLv2 as free software. You are free to use, modify and redistribute JK2MV following the terms in the LICENSE file. Please be aware of the implications of the GPLv2 licence. In short, be prepared to share your code under the same GPLv2 licence.