1. Preparing Your Map For Compiling Make sure your map's filename is all lowercase and has a meaningful version number before you prepare to compile, like pl_mymap_a1. Numbers like _v1, _v5, or _v20 aren't meaningful because players don't know what stage the map is at from the filename. Use _a1, _a2, etc for alphas (no detailing, just dev brushes, for versions where the layout will change), _b1, _b2, etc for betas (detailed, mostly complete, fine tuning stage) and _rc1, _rc2, etc for release candidates (maps so polished they would fit in among Valve maps). Crash has a good video about this if it's unclear. You shouldn't change this after compiling! Do you have at least one cubemap entity for an alpha, and at least a few more for beta? Make sure all the visgroups you need to compile your map are enabled. Check for tool textures, brush textures, lights, etc. Press Alt+P in Hammer and check for errors. You can ignore the "No player start" error and the ones about overlays having unused keyvalues (the latter can be fixed automatically if you want). Compile a BSP only version and don't run the game so you can double check for leaks or other errors. Remember that it is OK to ignore the error regarding cubemaps in the compile log! If everything looks good, compile a fast VVIS/VRAD version and check to make sure all your logic works and your lighting is functional. You can use the cheat thirdperson to run around and make sure you can tell team colors in all areas. Compile a release version with regular settings! For alphas and even some betas, you can skip HDR entirely. Make sure if you do compile with HDR, you go back in game and play with the tonemap controller and the bloom settings. Don't blind anyone, please! 2. Preparing Your Map For Release NOTE: Using CompilePal, you can compile your map, build cubemaps, pack content, and repack it all automatically. Do that if you wanna save some time! Navigation meshes built by CompilePal are safe to pack. Read the rest of this section if you don't want to use CompilePal for whatever reason. Now that you have a working map in game, it's time to build cubemaps. If you're doing HDR cubemaps, remember to do them first. Only build cubemaps once! If you used any custom content in your map--like models or textures you created yourself, or downloaded from TF2maps.net or elsewhere--you need to pack that content into the map or other players won't see it. You can use a tool like VIDE or CompilePal for this. If you generated a nav_mesh and then edited it, do not pack it as it can cause crashes. Make sure you packed your content right! Open TF2 and in the console type sv_pure 2, then load your map with map pl_mymap_a1. If you see any missing textures or models, you have not packed correctly. Repack your BSP for distribution. After this is complete, you do not need to zip it in any way. NOTE 2: Please be clear that packing content and repacking are two separate things that accomplish different tasks. They are not the same! 3. Releasing Your Map on TF2maps.net Take screenshots so people can see your work and get excited! Disable your FPS config and crank up the settings as far as your computer can take them. I like to use spectator, but you can also run around in game to take your screenshots. Remember to remove the HUD and weapon model first (cl_drawhud 0 and r_drawviewmodel 0 respectively and remember to turn viewmodels back on unless you use spec!). Upload your map to the Downloads section. Click the "Add Download" button in the top right and choose a category for your map. The title should be your map's name, not the filename. So if your map is cp_gorge, your title is simply Gorge. The tag line can be used for whatever you want. You can edit this stuff later! You can upload your bsp file directly (preferred), or link to an offsite download. Fill in the description and pick some nice images to upload! Generally, you want to show off the major areas or control points and maybe an overview shot. Take care to choose good pics, as these will get people excited about your map. Make sure "Upload Download Icon" box is checked and hit "Save" when everything looks good. It will prompt you to add a thumbnail image. A good fit for this would be an interesting control point, or an overview shot, for example. Done! You now have a functioning map resource page, and a thread in the Map Workshop forum! Any time you need to update your map, simply click "Update Download" on your download page. 4. Testing Your Map and Getting Feedback These days, the best way to get your map tested is by hanging out in the Discord chat (linked beneath the servers on the main page). Impromptu map tests ("imps") are organized most days through a Discord bot. You can join and ask people for help, or consult this guide. You should also join the Steam group to be alerted to any tests that happen. People will be happier to give you feedback if you also give them feedback--don't just pop on the server for your own map and then disconnect! Once upon a time, map tests were organized in the Server Events subforum, so check that periodically just in case someone decides to do that again. There is a feedback plugin on the servers that we use to collect feedback and deliver gameplay recordings (demos). You can view the hub for that here. Recently tested maps are at the top, so you should have no issue finding the feedback for your map. Think on it, iterate, and repeat! That's pretty much it. Let me know if I missed anything/etc!