FAQ
Forum (hosted by JKHub)
Forum Announcements
YouTube
Twitch
ModDB Page (not updated frequently)
Odysee.com (not updated frequently)
The most update links are available on the download page on the website, under the test releases section, but you can also use the following links which are occasionally updated:
Binaries , Assets , Map Bundle #1 , Map Bundle #2
Jedi Knight Galaxies is a competitive and innovative multiplayer shooter, played out in the Star Wars universe. Currently a full conversion mod, the project was originally based on and modified from Raven Software’s Jedi Knight: Jedi Academy. Jedi Knight Galaxies is open source and available completely free of charge; however, you will need the original game in order to play. (Jedi Academy is frequently available on Steam and GoG during sales for less than $4). We aim to develop the project into a Large Multiplayer Online game, crossing traditional RPG (role playing game) elements with the fast paced excitement of an FPS (first person shooter).
The project will be released in phases, each building on to the previous one with more aspects of the final goal. The current Phase, JKG: Versus, was first released September 17th, 2012 as a public beta, showcasing the primary FPS elements of the game. Subsequent updates and versions have been produced since then. As development progresses, sandbox environments will be added, initial RPG elements will appear, and player vs. enemy combat will be implemented into the faction oriented gameplay. Improved dialog and cinematic features along with skills, powers, and more aspects that belong in a Role-Playing Game will be developed, set between the events of Episode IV: A New Hope and Episode III: Revenge of the Sith. Finally, the full-fledged JKG: LMO takes the experience to a much grander level.
The game is a much loved hobby project supported by its community and developers who work on it in their freetime, contribution is encouraged and newbies are welcome. Originally founded by a group of Jedi Academy modders led by Jake (now retired), the project has since been in and out of development since 2008. The current development team comes from a variety of backgrounds, countries, and age, united by our desire to make a great game.
Welcome to Jedi Knight Galaxies, where we break the limits!
OpenJK Compilation Guide
Flate's Ubuntu/Debian Guide
JKG is available for Windows, but it will compile with most Linux distributions and MacOS; however it is only briefly tested on Ubuntu.
To install, 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.
There are a few ways to actually install JKG itself, the simplest is to just get the binaries and assets, and then follow the directions in the readme included. Please note that while we try to keep these relatively up to date, the github will always contain the most current version of the source code and you can always compile and pack the pk3s yourself to get a more up to date version. Most of the JKG assets are not stored on this github repository, only source code and code-like assets.
Alternatively you can install the assets and binaries inside a directory such as C:\JKG\ and then use a batch file/command line arguments to open jkgalaxies.x86.exe while pointing it to the Jedi Academy assets. This is the recommended setup for developers, as you can then call your exe's location with appropriate args directly from your IDE. You can do this by setting the fs_basepath arg to be equal to your Jedi Academy install location. You'll also want to set the fs_cdpath to be equal to JKG's directory. Optionally you can use fs_homepath to store screenshots and other user specific information, if not specified fs_homepath will be set to "...Documents\My Games\JKGalaxies" For example, use this batch script on steam installs for windows:
jkgalaxies.x86.exe +set fs_game "JKG" +set fs_cdpath "." +set fs_basepath "C:\Program Files (x86)\Steam\SteamApps\common\Jedi Academy\GameData" +set r_mode -2
If you're stuck, you can also watch this video to see how to install the game.
In order to run a dedicated server, you must use the JKGalaxiesDed binary. Running dedicated from the main executable is currently not possible because it was intentionally broken with the addition of modular renderer.
JKG is licensed under GPLv2 as free software. You are free to use, modify and redistribute JKG following the terms in LICENSE.txt.
Please be aware of the implications of the GPLv2 licence. In short, be prepared to share your code under the same GPLv2 licence.
Please use discretion when making issue requests on GitHub. The forum is a better place for larger discussions on changes that aren't actually bugs. If you're unsure of how something works or need clarification, it is best to ask the developers on the Discord in the #development channel.
These are very much subject to change, especially phases later than Versus.
JKG uses the following version schema: Phase.Major.Minor with an optional suffix (or "patch")letter following the minor version for hotfixes (these are unplanned versions that address server side only fixes and do not require client updates to play). For example, the current version of the game is v1.3.23
. Phases represent collosal changes to the game (these are often called 'expansions' in other games) that include major new features and gameplay changes and even engine changes! Phases should be considered seperate games. Major versions represent completions of milestones that include several key new features and bug fixes. Minor versions represent small incremental changes within a milestone and usually represent a single new feature or small set of features and/or bug fixes. Other software produced by the developers (such as the launcher) uses its own versioning scheme and is not covered in this readme.
If you want to help contribute to JKG there's a lot of ways you can do so, here are some examples:
The repo is organized into the following directories. Not all subdirectories are shown, just those of most significance.
root
: (You are here). Contains tools for automated builds and cmake. Also includes documentation such as this readme, LICENSE.txt
, or the Extended Data.txt
documentation on JSON style data the game uses. Also includes batch files for generating Microsoft visual studio solution projects.CMakeModules
: Contains files needed for configuring CMake builds so you can easily use make to build the project or generate project solutions.JKGalaxies
: Contains json data files and other configuration settings used by the game (such as .itm files which define items in JKG). Also contains the games lua scripts. The contents of this directory are packed into a .pk3 file (zip) named zz_JKG_Assets5.pk3
when packed for release. Contains the following sub directories:
ext_data
: Contains most of the game's json style formatted data. Most people will want to start by playing with the files here to get a good idea of how to create new content for JKG. Changing the stuff here will not require a new binary compilation and is intended to be human readable so as to make adjusting settings and game content easy for anyone including non-coders. For example you can go to ext_data/weapons/carbine_0_E-11_Carbine.wpn
to adjust the E-11 carbine's stats and settings.glua
: The game's lua scripts. Can be hotloaded by reloading the current map with a map_restart.models
: Model information such as _humanoid/animation.cfg
used to define things like animations.shaders
: Contains the game's shaders.strings
: Contains strings used by the game such as strings/English/jkg_items.str
contains English translations for placeholder text.ui
: UI code (mostly menus).JKGServer
: Contains additional configuration information needed to run a JKG server. For example, the account list accountlist.json
or server configuration settings server.cfg
. The contents of this directory are placed in the JKG subdirectory of the game when packed for release._Deprecated GLUA
: Contains Lua code no longer used by the game, but may be useful as examples of how to use lua to interact with the game or that may eventually be added back in. Be warned most of these contain errors as they have not been updated to work with the current GLUA system.codemp
: The game's source code. Contains the following subdirectories:
botlib
: For handling multiplayer bots (mimic player behavior). Mostly unchanged from JKA.cgame
: Contains cg code (eg: user interface code such as cg_scoreboard.cpp or cg_view.cpp). For drawing mainly 2d things on the client's screen.client
: Contains client code (eg: handling key input, networking client to talk to server, sound, etc)game
: Contains a large portion of the game's game logic, such as g_combat.cpp which handles how combat/damage works between players/npcs. ghoul2
: Handles ghoul2 model format system.GLua
: Hooks lua scripts into the game and provides an interface for lua to interact with the game. eg: glua_player.cpp has functions that can be used on/by player entities.icarus
: Old scripting system mostly leftover from JKA, no longer really used.libraries
: 3rd party libraries, such as jpeg formating (jpeg-9a), openssl, etc.macosx
: Contains info for building for JKG's mac .app and making renderers compile on osx.mp3code
: For handling mp3s.null
: Stub functions for dedicated servers.qcommon
: For handling generalized functions that need mostly global access, such as math stuff, or random number generators, etc.Ratl
: Used by raven for various standard templates.Ravl
: Raven's library for handling vectors.rd-common
: Shared common libraries used by the renderers (such as font code).rd-dedicated
: Dedicated render code.rd-vanilla
: The vanilla renderer code.server
: Handles serve side code logic (for talking to clients).ui
: Handles ui code, such as jkg_shop.cpp which draws the shop interface on the screen and allows you to interact with it.win32
: Code needed for windows build.zlib
: zlib library.shared
: 3rd party source code such as sdl or system headers and binary icons.tools
: Small script examples useful for helping make a developer's job easier.Thank you to the following for your support of JKG and your efforts in contributing to it with your time in various different ways even though it may not have been through directly developing it. We appreciate the encouragement, advertising, resources, and feedback you've provided:
This project is based on OpenJK , which in turn is based on the source release of Raven's Jedi Academy. Thank you all who have contributed to either project! JEDI KNIGHT GALAXIES IS NOT MADE, DISTRIBUTED, OR SUPPORTED BY ACTIVISION, RAVEN, DISNEY, OR LUCASARTS, A DIVISION OF LUCASFILM ENTERTAINMENT COMPANY LTD. ELEMENTS™ & (©) LUCASARTS, A DIVISION OF LUCASFILM ENTERTAINMENT COMPANY LTD.