Patch Commander Logo

Jedi Knight� Patch Commander
Frequently Asked Questions

Table of Contents

  1. About This Document
    1. What is in this document?
    2. What is not in this document?
    3. Disclaimer
  2. Patches
    1. What are patches?
    2. How do I use patches?
    3. What is a GOB (or GOO) file?
    4. How do I create a GOB file?
    5. My patch works fine ungobbed. Why won't it work gobbed?
  3. Patch Commander
    1. What does the Patch Commander do?
    2. Where can I get Jedi Knight Patch Commander?
    3. How does the Patch Commander work?
    4. I can't get patches to work with Patch Commander! How come?
    5. What features are planned for future versions?
  4. Troubleshooting
    1. When I try to use Patch Commander, I get an Access Violation error: What gives?
    2. Why can't I add patches to the Patch Commander window?
    3. Why can't Patch Commander find/launch Jedi Knight (or Mysteries of the Sith)?
  5. Multiplayer
    1. How do I use patches in multiplayer?
    2. How do I use patches without the other players knowing about it?
    3. How do I use patches on the Microsoft Internet Gaming Zone?
  6. Miscellaneous
    1. What are the non-patch-related Jedi Knight command line options?
    2. Where can I look for more information?
  7. Credits
    1. Who wrote this thing? And who helped?
    2. Legal Stuff

Questions and Answers

  1. About This Document
    1. What is in this document?

      This document contains a distilled list of Frequently Asked Questions (FAQ) about my freeware program, Jedi Knight Patch Commander. Since I released the first version of Patch Commander, I've gotten a lot of feedback, questions, and suggestions. The questions and answers below represent my best two-hour stab at explaining some of the most important issues about using patches with Jedi Knight: Dark Forces® II. The information on using patches without Patch Commander is pretty slim, because I personally prefer to use the program (that's why I wrote the thing!), but the basic concepts are outlined to help you achieve a better understanding of what's going on "under the hood."

      Some of the included information is somewhat technical, but I feel it's important to understand why things work, not just that they work. I'd be happy to include some easier explanations of things if anyone comes up with any.

    2. What is not in this document?

      You will not find information about creating patches in this document. The art and craft of patch creation are way beyond the scope of an end user FAQ list. If you really want to get into creating your own patches, check the sites listed in section 4.2.

    3. Disclaimer

      Use the information contained in this document at your own risk. I've tested it all, and it is correct to the best of my knowledge. However, your mileage may vary. Most importantly, don't attempt anything you don't understand at least a little. Also, please try to remember: I'm a real person with a real job, doing this as a hobby. While I try my best to provide useful utilities and information, I don't have time to solve every problem and answer every question that comes my way. I'm sure that goes for most of the patch designers as well.

  2. Patches
    1. What are patches?

      Patches are files that somehow alter Jedi Knight's look, behavior, or gameplay. Broadly speaking, there are 3 major categories of patches:

      Skin patches alter or add to the list of existing characters that you can play in the game. Skins intended for single player use override the default Kyle Katarn look, while multiplayer skin packs add one or more options to the list of skins provided by LucasArts.

      Weapon patches alter the behavior of one or more of the standard weapons in the game. For example, the Destruct-O-Ray patch causes the secondary fire of the Concussion Rifle to shoot Force Destruction (even if you don't possess that force power). There are simple weapon patches which do nothing but make the weapon more/less destructive, all the way up to patches that change the weapon entirely (e.g., causing the secondary fire of the Bryar Pistol to shoot a Grappling Hook). Patches that override the behavior of the Field Light and Infrared Goggles are often considered Weapon patches, even though those items are not typically weapons.

      Force patches alter, enhance, or override the effect of one or more Force Powers. The Air Jump patch, which allows you to Force Jump again while still in the air (for a "double jump" effect) is an example of an enhancement, while the Force Illusion patch overrides another force power completely, allowing you to remain hidden while projecting a decoy image of yourself for everyone to attack.

      Needless to say, Force patches have been among the most creative and popular for their "Gee Whiz" value, although a well-crafted Weapon patch can be a real joy to use.

    2. How do I use patches?

      There are two different types of patches: Gobbed and Ungobbed. Gobbed patches come packaged in a single convenient GOB (or GOO) file, while Ungobbed patches come as one or more files which go in one or more directories. Any patch can be Gobbed, and once the initial debugging is done, there's very little reason to release an Ungobbed patch.

      The following description was written for Jedi Knight.  It works for Mysteries of the Sith as well; just change the directory and file names.

      To use a Gobbed patch, create a new directory under the directory where Jedi Knight is installed. Put the GOB files you want to use in it, and run Jedi Knight with the command line option -path directory. For example, if you installed your patches in the directory C:\ProgramFiles\LucasArts\Jedi Knight\patches, you would use the following command line to run Jedi Knight:

      C:\Program Files\LucasArts\Jedi Knight\jk.exe -path patches

      There are three options for using Ungobbed patches:

      1. The good way: Turn it into a Gobbed patch and use it as described above.
      2. Put the patch files into the correct subdirectories of your Jedi Knight\Resource directory. For example, when you look at the ZIP file that the patch came in, each file in the ZIP should have some path information with it. Files with a COG extension will be in the COG directory, files with a MAT extension will either be in MAT or 3DO\MAT, etc. These directories are relative to the RESOURCE directory of the directory where Jedi Knight is installed. For example, if you installed Jedi Knight using the default directory, a COG file from the patch would end up in the C:\Program Files\LucasArts\Jedi Knight\Resource\COG\ directory.
      3. Put your Ungobbed patch files in a different directory and use the -path option (as described above). Using the above examples, the COG file would go in C:\Program Files\LucasArts\Jedi Knight\patches\COG\.

    3. What is a GOB (or GOO) file?

      A GOB file is a single file that acts as a container for other files. Think of it as a ZIP file without the compression. Its purpose is to keep related files together in a single convenient package so that Jedi Knight can find them when it wants them. For some reason, Mysteries of the Sith uses the extension GOO instead of GOB, but this document will refer to them both as GOBs.

    4. How do I create a GOB file?

      There are a number of good utilities available that will help you turn a collection of files into a single GOB file (and back). CyberGOB, ConMan, and my own Patch Commander come to mind. If you're interested in the internal structure of GOB files, you can obtain the spec from a number of the Jedi Knight editing sites. See section 5.2 for some links to get you started.

    5. My patch works fine ungobbed. Why won't it work gobbed?

      I've gotten several messages from people complaining that the GOB files they make with Patch Commander's internal Gobber make Jedi Knight crash, even though the patches work fine ungobbed. Someone finally sent me a sample crashing GOB, and after a couple hours of investigation, I discovered the problem. In fact, the problem occurs when the same source files are gobbed using CyberGOB or any other gobber.

      The problem occurs mainly with skin patches, since they usually contain references to other files, but it's a potential problem with COGs and levels as well. Here's the situation. Although Windows 95's file system lets you use mixed case in filenames, it is not case sensitive. If you doubt that, try creating a file called myfile.txt and another one called MyFile.txt in the same directory. You can't; Windows 95 treats the two names as identical. Anyway, the upshot is that if your 3do file calls for a material called thingy.mat and Windows 95 finds a file called Thingy.mat, there's no problem, and the skin works. Jedi Knight's GOB reading routine, however, is case sensitive, so when it goes looking inside the GOB for 3do\mat\thingy.mat, it never finds it (because the name stored inside the GOB header is 3do\mat\Thingy.mat which doesn't match), so it immediately and ungracefully barfs and dies.

      The solution is to name all of your files consistently -- either uppercase them or don't -- and then make sure all your references to that file match it exactly. If you have a GOB that crashes Jedi Knight, look for the case conflict.

  3. Patch Commander
    1. What is the Jedi Knight Patch Commander?

      The Jedi Knight Patch Commander is a utility that manages multiple patches, checks for conflicts between patches, and launches Jedi Knight with your desired patch configuration. Patch Commander's Options menu provides access to other Jedi Knight command line options if desired (see Question 5.1 below).

    2. Where can I get Jedi Knight Patch Commander ?

      The latest version of Patch Commander is always available for download from the Patch Commander Home Page.

    3. How does the Patch Commander work?

      The way Patch Commander works is simple. It creates a subdirectory of your Jedi Knight directory called JKPatch and a subdirectory of that called active. All your patches are stored in the JKPatch directory, and moved to the active directory when you activate them. When you run Jedi Knight, Patch Commander executes jk.exe -path JKPatch\active\ which tells JK to look for GOB files in the JKPatch\active directory and use them as patches.

    4. I can't get patches to work with Patch Commander! How come?

      This is a hard question to answer. The most common reason is that Jedi Knight was moved to a new drive or directory after it was installed, and Patch Commander can't figure out where it is. Patch Commander uses the Microsoft DirectPlay registry information to find out where Jedi Knight is installed. This information is placed in the registry by the Jedi Knight installer.

      The latest version of Patch Commander has a Debug Information option under the Help menu which will provide lots of information which will help answer your question. Before emailing me with problems, please copy the information out of the debug screen and paste it into your email message.

    5. What features are planned for future versions?

      As of right now, I'm pretty much maxxed out on features. My main plan at the moment is to improve conflict checking, and even try to resolve certain conflicts on the fly (e.g., support for multiple patches that add strings to jkstrings.uni or models.dat). As always, suggestions are quite welcome, but since this is my spare-time project, I can't promise speedy results.

  4. Troubleshooting
    1. When I try to use Patch Commander, I get an Access Violation error: What gives?

      Patch Commander 4.0 requires version 4.72 of Microsoft's Common Control Library. If you have a lower version, you will receive an error resembling the following: "Access violation at address BFC15AE6 in module 'COMCTL32.DLL'. Read of address FFFFFFFF." The updated version of the library is available from Microsoft and can be downloaded from http://support.microsoft.com/download/support/mslfiles/COM32UPD.EXE.

    2. Why can't I add patches to the Patch Commander window?

      Some people have experienced problems getting their patches to show up in version 3.5 of Patch Commander. I have been unable to reproduce the problem, but some people have reported the problem fixed with the final release version 4.0. This is still an open issue, however, so if you have problems, please let me know.

    3. Why can't Patch Commander find/launch Jedi Knight (or Mysteries of the Sith)?

      Patch Commander uses the game's DirectPlay settings to determine the location of the game files. If this information is missing or incorrect, the game will not launch. These settings are created in the Windows registry by the JK (or MotS) install program. There are several possible reasons this information could be wrong. The two most common are:

      1. The game was not installed properly.
      2. The game was installed properly, but was moved to a different directory manually.

      #1 usually occurs because the player is using an ineptly pirated copy of the game. I have no sympathy for them. #2 is fairly common as well, and the easiest answer is to reinstall the game from the original game CD to the directory where you want it.

  5. Multiplayer
    1. How do I use patches in multiplayer?

      Just like you use them in single player. JK.EXE must be run with the patch path specified before you Host or Join the game.

    2. How do I use patches without the other players knowing about it?

      This question has a two-part answer: 1) You can't; 2) You shouldn't want to.

      Technical Reason for Answer #1: I get messages from people all the time saying "I just know that other people are cheating and using patches in multiplayer." This is simply not possible. Jedi Knight calculates a pseudo-unique number known as a checksum based on the installed code (game + patches) on the Host and compares it to the checksum calculated the same way on the Client computer. If the checksums don't match, the Client gets an error reading "Checksum Failure: Your data version does not match the host's" when trying to connect.

      Opinionated Reason for Answer #2: When everyone's got the same patches installed, skill is still the determining factor. The game is enhanced, there are new cool things to do, and everyone's happy. If you could use a patch on the sly, the outcome of the game would depend more on how much you can download than how good you are. Besides, what would it do to your self-esteem if you had the 10-foot light saber and the Destruct-O-Ray and still got your ass kicked? Trust me; things are better this way. Find someone at your own skill level and practice on each other. If you're so bad that you can't find anyone your own level, play the single player game a few more times and get better. The Deathmatch champions didn't get that way overnight…

      So how is it that people in multiplayer keep destroying you in the blink of an eye? There are three possibilities. The first (and most common), as painful as it is to deal with, is that they're just that much better than you are. Some people are just really fast and can attack with combo moves that make it look like they're doing fourteen things at once. The second is that your network lag time is so bad that they've had time to do those fourteen things to you while you were a sitting duck waiting for your game engine to catch up. The third possibility is that they are cheating, but not by using a patch. There is a way, without patching the game and altering your checksum, to obtain ultra-strong force powers and stand around Force Gripping people to death with impunity. Yes, I know how to do it; No, I won't tell you how. Don't even bother to ask. It's unfair, it's immature, and it destroys everyone's enjoyment of the game.

    3. How do I use patches on the Microsoft Internet Gaming Zone?

      This is by far my #1 most Frequently Asked Question.

      Since the Zone launches Jedi Knight itself without going through Patch Commander, it doesn't use the -path directive, so the patches don't get used. I've added an option to Patch Commander's Options menu to make patches available when playing on the Zone, but it has a rather serious side effect -- it causes Jedi Knight to use the active patch directory every time you play on the Zone, whether or not you launched the Zone from within Patch Commander. The only way to play on the Zone unpatched will be to run Patch Commander again and either uncheck the Zone option or deactivate all of your patches (leaving the JKPatch\active directory empty).

      The reason for this is simple. The Zone uses Microsoft's DirectPlay API, which stores information about how to launch each game in the Windows95 registry (under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectPlay\Applications). For each game, it knows the path where it's installed, the file to run, and an optional command line. For Jedi Knight, the command line is empty by default. By putting the -path JKPatch\active directive in the registry, it causes the Zone to tell jk.exe to use the active patch directory at all times, not just when called from Patch Commander.

      Also, the rule from Question 3.2 still holds true - all players in a multiplayer game must be using the same patches.

      The new Zone-related menu items to look for in Patch Commander are:

      • Options | Use active patches when playing on Internet Gaming Zone
      • File | Launch Internet Gaming Zone
  6. Miscellaneous
    1. What are the non-patch-related Jedi Knight command line options?

      In addition to the -path command line option, Jedi Knight supports five other options:

      -framerate Shows the rendering engine's framerate during gameplay
      -displayconfig Enables advanced display configuration
      -dispstats Displays various game engine statistics during gameplay
      -devmode Enables Developer Mode, adding a (Debug) option to the New Game/Load Game screen (in Single Player). This option lets you select the episode and level where you will begin a new game.
      -windowgui Runs the non-game user interface (and cutscenes) in a window instead of full screen.
    2. Where can I look for more information?

      I tend to get most of my answers from JediKnight.Net. There are a lot more sites, of course, but the list changes so often that I can't keep up. JediKnight.Net has lots of links to other Star Wars gaming sites.

  7. Credits
    1. Who wrote this thing? And who helped?

      This FAQ list is written and maintained by Michael B. Klein. The information contained in it has been culled from many sources on the World Wide Web. Many thanks to those who have figured out and documented so much of the technology that I have relied upon: the Code Alliance (who can be found at DarkJedi.com), with help from Bryant Luk (of Star Wars Gamers) and Mattias Welander (author of the Force Builder level editor), provided some extremely well-written documentation in the form of the Jedi Knight Unofficial Specs. Thanks also to those who have taken the time to let me know what they think of Patch Commander, to report bugs, ask questions, and to provide enough details to help me track down the answers.

    2. Legal Stuff

      Dark Forces and Star Wars are registered trademarks and Jedi Knight and Mysteries of the Stih are trademarks of Lucasfilm Ltd. LucasArts Entertainment Company has not in any way endorsed the Jedi Knight Patch Commander or this FAQ.