Frequently Asked Questions
Q: Where can I get a copy of Duke Nukem 3D to run EDuke32?
- A: At this time, your only option is to scour used game resellers for a copy of the original DOS release. Alternatively, you can use the one episode shareware version which is available from 3D Realms for free. While the source code to Duke Nukem 3D has been released to the public under the GNU General Public License, the game's content (artwork, sounds, maps, et cetera) remains a commercial product. DO NOT post anywhere or ask anybody at all about where to acquire this game illegally. Support 3D Realms for making the most awesome game ever and don't be a pirate, yarrr!
Q: When launching EDuke32, I get an error about a missing file called 'GAME.CON' or 'EDUKE.CON'. Help!
- A: It would appear that you haven't placed a copy of 'DUKE3D.GRP' from your Duke Nukem 3D or Duke Nukem 3D: Atomic Edition CD into your EDuke32 directory. Once you place 'DUKE3D.GRP' into the same directory as 'eduke32.exe', the game should launch and run fine. You may also use the shareware version's 'DUKE3D.GRP' as well. If you're sure you've put 'DUKE3D.GRP' in the right place but you still get this error, your GRP file is likely corrupt and will need to be re-copied off of your CD.
Q: What is the 'Game' section of the startup screen used for?
- A: The 'Game' section is a feature that allows you to select which GRP file you would like to play. The GRP files must exactly match the versions found on their respective CDs, without any modifications. The following games are supported:
- Duke Nukem 3D Shareware Version
- Duke Nukem 3D Mac Shareware Version
- Duke Nukem 3D
- Duke Nukem 3D: Atomic Edition
- Ion Fury (Formerly known as "Ion Maiden", but name had to be changed due to trademark issues.)
- NAM (Note: you must rename GAME.CON from NAM to NAM.CON)
- Napalm (Wal-Mart only version of NAM, some .GRP differences between the two releases)
- WWII GI (Limited Support using NAM mode as a base)
- You can also use the startup window to select a third party mod to play.
Q: When I am playing EDuke32 with 16-, 24-, or 32-bit color, everything has a blue tint! How can I fix this?
- A: Unfortunately, most people who run into this error are out of luck, especially those with an Intel or SiS video chipset. There are a few things you can do to try and fix this problem:
- The following driver vendors have been blacklisted in the newest versions of EDuke32. If you have a video card or driver from one of these companies, OpenGL modes will not be available:
- Microsoft (default OpenGL ICD which comes with Windows)
- OpenGL can still be enabled for these cards by setting the BUILD_FORCEGL environment variable before running EDuke32, or by using the command line
eduke32 -forcegl. It should be noted, however, that the results will probably be less than satisfactory. If you have a blacklisted driver but EDuke32 seems to run fine using BUILD_FORCEGL, please enter the
glinfoconsole command and send us your eduke32.log so that we can add an exception for your video card/driver combination.
- Note: Intel video cards are no longer blacklisted.
- Note2: Some recent (G33 for example) Intel graphics cards work with OpenGL mode if texture compression is disabled (r_texcompr "0", see settings.cfg configuration file).
Q: How do I play Duke Nukem 3D's various add-ons, like Duke It Out in DC, Life's a Beach, Nuclear Winter, etc?
Q: How can I play multiplayer on the Internet or my LAN using EDuke32?
- A: See the Multiplayer page.
Q: Where is my "eduke32.log" and what is it used for?
- A: The "eduke32.log" file is generated each time you run eduke32.exe. (mapster32.exe has a separate one titled, "mapster32.log")
- You can find both of these files in the same directory where your "eduke32.exe" and "mapster32.exe" is located. Having "Hide extensions for known file types" (Tools, Folder Options, View) unticked will help you locate it easier.
- What is the log used for?
- Helping the EDuke32 developers and other helpful community members locate problems with a users EDuke32 if he or she is having trouble getting it to run, as the log file will 99% of the time indicate what is not working correctly plus many other various things that help developers and modders all around.
- Where should I paste my log or URL?
- Follow the instructions in the Troubleshooting EDuke32 page.
- Note: If you are having problems with Mapster32 you should do the same as above but replace "eduke32.log" with "mapster32.log"
Q: If in system international properties system language is not English then symbol keys on keyboard is not work (Mac OS X). So I can't play the game. And I don't want to switch system language because I'm living in Russia.
[followup Q: is there an OSX API call to set the keyboard layout per-process? If you're knowledgeable in OS X, please let the developers know!]
Q: What the heck are these new-fangled '.7z' files?
- A: Introduced in 1999, the 7-zip format offers better compression ratios than traditional .zip files, saving us space in storing our builds and saving you time in downloading them. Thanks, 7-zip! See the 7-zip site  for a great, free tool to extract them.
Q: What are the checksums, sizes, and timestamps for the various files that EDuke32 can use?
|File Name||Size (Bytes)||Timestamp (Y/M/D)||CRC-32||MD5 Hash Sum||SHA-1 Hash Sum|
|DUKE.RTS v0.99||175,567||1995/12/18, 13:47:30||6148685E||7ECAF2753AA9CC924F746B3D0F36E7C2||A9356036AEA01583C85B71410F066285AFE3AF2B|
|Shareware DUKE3D.GRP v0.99||9,690,241||1996/01/05, 12:48:08||02F18900||56B35E575EBA7F16C0E19628BD6BD934||A6341C16BC1170B43BE7F28B5A91C080F9CE3409|
|Shareware DUKE3D.GRP v1.0||10,429,258||1996/01/29, 13:00:00||A28AA589||1E57CF6272E8BE0E746666700CC0EE96||7D2FDF1E9F1BBCE327650B3AECDAF78E6BBD6211|
|Shareware DUKE3D.GRP v1.1||10,442,980||1996/02/20, 13:10:00||912E1E8D||9B0683A74C8BF36BF85631616385BEC8||5166D6E4DBBA2B8ABB2FDA48257F0FCBDBF17626|
|Shareware DUKE3D.GRP v1.3D||11,035,779||1996/04/24, 13:30:00||983AD923||C03558E3A78D1C5356DC69B6134C5B55||A58BDBFAF28416528A0D9A4452F896F46774A806|
|Shareware DUKE3D.GRP v1.5 Mac||10,444,391||C5F71561||B9CAC374477E09459A313CEA457971EA||F035E9F0615E3DB23D2DB4C90232D8A95B5B9585|
|DUKE3D.GRP v1.3D||26,524,524||1996/04/19, 08:30:00||BBC9CE44||981125CB9237C19AA0237109958D2B50||3D508EAF3360605B0204301C259BD898717CF468|
|DUKE.RTS v1.0/1.1/1.3D/1.4/1.5||188,954||1996/04/19, 08:30:00||504086C1||9D29F9673BBDB56068ACF7645C13749C||738C7F5FD0C8B57EE2E87AE7A97BF8E21A821D07|
|DUKE3D.GRP v1.5 (Atomic Edition)||44,356,548||1996/12/11, 07:50:00||FD3DCFF1||22B6938FE767E5CC57D1FE13080CD522||4FDEF8559E2D35B1727FE92F021DF9C148CF696C|
|DUKE!ZON.GRP v1.3D||26,135,388||1997/01/30, 08:46:58||82C1B47F||C960FE3CC6920369EB43A8B00AC4E4EE||169E9E2BEAB2E9FF6E0660FA3CE93C85B4B56884|
|DZ-GAME.CON v1.3D||99,967||1996/12/19, 03:50:56||F3DCF89D||65C72C2550049D7456D5F983E0051E7B||8D05E4646DFBD201877036F5379534D06E6A6DDC|
|DZ-DEFS.CON v1.3D||28,959||1997/01/30, 11:28:22||F2FE1424||45DDEB920FF7AF450CD6A19CDFF6EE7E||7BA88D2B12F5F193DA96822E59E5B7EE9DABFD5C|
|DZ-USER.CON v1.3D||36,237||1997/02/11, 08:47:42||93401EA4||A81793173C384F025768ED853A060F3A||1E37C7EB9EAB03C938B18B3712DAEF97BA9B9B13|
|DUKE!ZON.GRP v1.4||44,100,411||1997/01/30, 08:41:16||7FB6117C||031C271C689DD76F9E40241B10B8EBA9||86A58754A2F2D95271B389FA2B8FAC9AA34CCFCE|
|DZ-GAME.CON v1.4||151,198||1996/12/19, 14:52:28||5C0E6CC7||8EF020D2F63C0EE1CC391F00FEEE895D||D6DC4C24EC5986C7AC8FB3F4DA85D97E06D72F2E|
|DZ-DEFS.CON v1.4||36,038||1997/01/30, 11:29:18||85847E24||8C7A4622A71F580B57954CA129B0474B||D23A2E9CC0FF30B02911AC9D7EC49D55CE856EE0|
|DZ-USER.CON v1.4||45,037||1997/02/11, 08:48:04||739BE376||1862C4CD17B6C95942B75F72CEAC7AEA||31E39D7BB9E7E77E468CC67684F41AA58238179A|
|DUKEDC13.SSI v1.3D||7,926,624||1997/02/21, 11:55:30||A9242158||D085D538A6BF40EBB041D964787A5D20||66A96327EC514710D3526D87259CF5C0ABBBB841|
|DUKEDCPP.SSI v1.4||8,225,517||1997/02/21, 11:57:08||B79D997F||F0BFA5B956C8E3DBCBA1042118C1F456||30D6AA2A44E936D09D6B423CFAB7C0595E2376F9|
|DUKEDC.GRP (Atomic Edition)||8,410,183||A8CF80DA||8AB2E7328DB4153E4158C850DE82D7C0||1B66C3AD9A65556044946DD1CA97A839FCFEDC3B|
|VACA13.SSI v1.3D||23,559,381||1998/01/09, 12:50:06||4A2DBB62||974616FC968D188C984E4F9A60F3C4BE||2B7779AB211FB21CD2D7DEF93E2B9BBF948E406F|
|VACAPP.SSI v1.4||22,551,333||1998/01/09, 12:51:16||2F4FCCEE||540AFD010435450D73FA3463437FCFC9||58FD872BE376957D63D9F5C3BD169D5FCDF28664|
|VACA15.SSI v1.5||22,521,880||1998/01/09, 12:51:56||B62B42FD||22C8CD6235FC2B7ECEFEFC2442570D68||84945D64E246E91840A872F332494D8509B66DD9|
|VACATION.GRP (Atomic Edition)||22,213,819||18F01C5B||1C105CED73B776C172593764E9D0D93E||65B8B787616ED637F86CFCAA90DE24C8E65B3DCC|
|NAPALM.CON (GAME.CON)||142,803||1998/05/13, 06:31:10||75EF92BD||CCBBB146C094F490242FD922293DD5F9||46F3AE2B37983660835F220AECEEA6060C89F2A7|
|NAM.CON (GAME.CON)||142,803||1998/05/13, 11:31:10||75EF92BD||CCBBB146C094F490242FD922293DD5F9||46F3AE2B37983660835F220AECEEA6060C89F2A7|
The link below also provides all other known CRCs for Duke Nukem 3D GRP files:
Q: I can't pan with Shift+KP5+KP<whatever> in 3D mode.
- A: This is an issue with modern keyboards and happens because some key combinations are "dead" (See  for an overview and  for a technical explanation). There are various workarounds. One is to alias some key to the KP5 key with the goal of finding one for which all key combinations will be passed to the OS. To do that, you need to edit the remap line at the end of mapster32.cfg. A suggestion is to map the KP0 key to KP5. Another way to solve the issue is by finding a keyboard from circa 1996 (one with a big 5-pin connector). Newer revisions of Mapster32 also let you to use Alt instead of Shift in these situations.
Q: Why is aiming at objects so imprecise?
- A: The issue occurs only with the Polymost renderer and has its cause in the way it determines the aimed-at object: based on the mouse position on the screen, it constructs a direction vector and calls hitscan. Both steps are a cause of imprecision. The classic BUILD and the Polymer renderers determine the aimed-at object (roughly) by querying what object was drawn at the mouse position, and thus are pixel-perfect. If you prefer to use Polymost, try avoiding aiming at objects at the border of the screen and looking up or down, since the aiming method is particularly ill-behaved in these cases. *update: actually it's a bug that need to be fixed some time.