Setting up the Source SDK for Garry’s Mod
This has not been updated in almost four years! Garry’s Mod (and the Source SDK in general) has had a bunch of major updates since this was written, and as far as I know, this tutorial isn’t of much use any more. I’ll leave the page here for the time being, but you are MUCH MUCH better off mapping with another configuration and porting it to GMod; that’s the typical thing to do!
At most, a specialized Garry’s Mod config would add any custom textures/models you put in the Garry’s Mod folder and a lua_run entity, so it’s seriously not worth the hassle. As far as using GMod entities in Hammer: unless they are already included in the base Hammer (i.e., phys_thruster), you can’t. I’m only leaving this page up to let you guys know this (and for the hits to my site…).
This whole site will be reworked when I get around to it, probably when I’m finished with my current project.
So you just really want that lua_run function and those gm_construct textures? Are you constantly making sure that you aren’t using CS:S or EP2 textures? Well, I will now teach you how to set up the SDK for Garry’s Mod.
I’ll add some pictures when I feel like it. Not in the mood right now.
1. Start up Hammer from the Source SDK. Any configuration on the 2009 engine will do (I believe all games were transferred to the 2009 engine).
2. Tools > Options…
3. Click “Edit” next to the “Configuration:” box.
4. Click “Add” in the new window that pops up, then type in “Garry’s Mod” (or whatever, you could name it “Unicorn Rape Dungeon” if you want). “Close”.
5. In the “Configuration:” drop-down box, select the new config you just created.
6. Next to the “Game Data files:” box, select “Add”.
7. Navigate to “Program Files/Steam/steamapps/***your username***/garrysmod/garrysmod” and select “garrysmod.fgd” at the bottom, then open it. This will add the Garry’s Mod entities (yay lua_run!).
8. Don’t screw around with “Texture Format:” or “Map Type:” or it’ll screw things up.
9. “Default PointEntity Class:” is the default entity you place with the entity tool, like info_player_start or light_environment.
10. “Default SolidEntity Class:” is the default entity you get when you tie a brush to an entity, like func_button or triggers. I like this at func_detail.
11. Skip the next couple of lines.
12. For “Game Executable Directory:”, use this:
Don’t worry about replacing “$SteamUserDir” with your username and whatnot. Putting the exact text above in will work just fine!
13. For “Game Directory:”, use this:
14. You could leave “Hammer VMF Directory:” alone (it’s where it automatically saves your VMF), I prefer to use this:
15. Alright, you are almost done. Hit “Apply” and switch over to the “Build Materials” tab.
16. Select your config in the “Configuration:” drop-down box.
17. Game Executable:
This tells the SDK to run your map on Garry’s Mod automatically after compiling, if you have it set to do so.
18. BSP Executable:
19. VIS Executable:
20. RAD Executable (it’s the coolest of them all!!! </joke>):
21. Place compile maps in this directory before running the game:
22. Hit apply and restart Hammer. Congratulations, you now have a couple more entities.
Q: So, where are my CS:S/Portal/TF2/etc. models and stuff. I own it and stuff and I can use those props in Garry’s Mod, why don’t they appear in my new configuration?
A: If you had bothered to read the capitalized, bolded text at the beginning of the tutorial BEFORE going through it, the Garry’s Mod configuration adds next to nothing. You CANNOT add multiple games to one Hammer configuration due to the way it is set up (well, without creating your own mod with some hacky code or extracting every single texture and model individually from the game’s GCF). Hopefully Valve will add working support for this in the future. For now, just switch configurations.
Q: I just skimmed over this tutorial and it looks way too complicated. 22 steps? This could take hours!
A: Not really a question, but okay. It’s 22 steps because I really dragged this tutorial out. You could do this in 5-10 minutes, tops. It’s also written so easy a monkey could do it.
Q: There’s no grid!/It’s not working properly!
A: You are most likely using the wrong engine. Reset the Game Configurations (in Source SDK main menu), then make sure you are launching Hammer from Source Engine 2009. If it is still not working properly, go through the tutorial one or two more times. If it is STILL not working, send me an email (email@example.com) with a screenshot and an ADEQUATE description of your problem, and I’ll try to help you out.
Q: I commented here earlier and it’s now gone? WTF??!?!!?
A: I’ve disallowed the comments because they were all whining about how their Hammer wasn’t working after the update that broke everything for a bit. I’ve now addressed any questions asked in the comments in this FAQ. If you have a question -not- in this FAQ, please contact me at firstname.lastname@example.org.