J.A.C.K. (Jack's Awesome Config Kit) is the practical successor to Valve Hammer 3.5 for GoldSrc mapping — same workflow, but stable on modern Windows and Linux, native 64-bit, and far less crash-prone. Out of the box it knows nothing about Counter-Strike; you have to point it at the CS entity definitions, textures and compile tools yourself. Get this configuration right once and every map you build compiles with a single keypress.
1. Open Game Configurations
Go to Tools → Options → Game Profiles (called "Game Configurations" in some builds). Click Add and name the profile Counter-Strike 1.6. Everything below is set per-profile, so you can keep separate configs for CS, DoD and Half-Life without them colliding.
2. Point it at the CS entity definitions (FGD)
The FGD (Forge Game Data) file tells the editor which entities exist and what keyvalues they take — func_bomb_target, func_buyzone, info_player_start and the rest. Add the Counter-Strike FGD to the Game Data files list:
Game Data files: halflife-cs.fgd
Without the CS FGD you only see generic Half-Life entities and cannot place bomb sites or buy zones. Use a CS 1.6 FGD, not the vanilla Half-Life one.
3. Set directories and the game engine
In the profile, fill the paths so the editor knows where the game lives and where output goes:
Game Directory: ...\Steam\steamapps\common\Half-Life\cstrike Mod Directory: ...\Half-Life\cstrike Game Executable: ...\Half-Life\hl.exe RMF/JMF directory: your working source-map folder Map (.map/.bsp) directory: ...\Half-Life\cstrike\maps
The Game Directory must be cstrike (not the parent Half-Life folder) or texture and model browsing points at the wrong content.
4. Add the WAD texture files
Textures live in WAD archives inside cstrike. Add the ones you intend to use to the profile's Textures list — at minimum the standard set:
cstrike\halflife.wad cstrike\cs_dust.wad cstrike\itsitaly.wad cstrike\torntextures.wad
Only load the WADs you actually build with. Every WAD a map references gets baked into the compile via -wadinclude or auto-detection, and shipping unused WADs bloats the BSP. Keep the list lean and matched to the theme you are mapping.
5. Configure the compile tools
CS 1.6 uses the ZHLT/VHLT command-line compilers, not an internal one. In the profile's Build Programs tab, point each stage at the executable and set the output directory:
Game executable: ...\Half-Life\hl.exe CSG executable: ...\tools\hlcsg.exe BSP executable: ...\tools\hlbsp.exe VIS executable: ...\tools\hlvis.exe RAD executable: ...\tools\hlrad.exe Place compiled maps in this directory: ...\Half-Life\cstrike\maps
Use the Vluzacn VHLT tools rather than the ancient original ZHLT — they fix real compile bugs and handle modern hardware. When you press F9 to run the compile, the Run Map dialog lets you tick VIS/RAD and pass the flags from that same reference.
6. Grid and view preferences
Set a sane default grid before you draw anything. A 2D grid of 16 units with snap enabled keeps brushes aligned and prevents the off-grid vertices that cause leaks. Configure this under 2D Views and leave snap-to-grid on by default.
Troubleshooting
- "Can't find WAD file" on compile — a texture in the map comes from a WAD not in your list, or the WAD path moved. Add it, or remove the offending texture.
- No CS entities in the entity menu — the CS FGD is not loaded, or you added a Half-Life FGD by mistake. Check the Game Data files list.
- Compile runs but the map does not launch — the Game Executable or Game Directory path is wrong, or output is not landing in
cstrike\maps. Verify the "Place compiled maps" path. - Textures show as solid black/checkerboard — the WAD list is empty or points at a missing file. Re-add the WADs from
cstrike. - Editor cannot find the compile tools — a Build Programs path is blank or points at a deleted file. Re-select each of the four executables.
Verification
Build a single hollow room with one info_player_start, one light and a texture on every face, then press F9 and run a full compile. A correct configuration produces a lit .bsp in cstrike\maps and, if you enabled "run game", launches CS on that map. If the compile completes but the map is dark or fullbright, revisit the tool paths and flags in the compile parameters guide. With the editor working, move on to making your first playable de_ map.









