[GUIDE] How to Release Your Map

tyler

aa
Sep 11, 2013
5,102
4,621
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!
 
Last edited:

Kube

Not the correct way to make lasagna
aa
Aug 31, 2014
1,342
1,849
Great all-inclusive guide, tyler!
 

Yellow

L1: Registered
Sep 10, 2014
24
34
Impressive guide, will help alot to release things later on. Really appreciate it :3
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
Now that the Map Workshop is a thing, isn't the proper procedure now to just dispense with suffixes once you get out of beta, or even into it? Or is that still being ironed out?
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
I thought it did. I thought that was the whole point; when you update a map that's on the workshop, it replaces the copy people have with the new one so why wouldn't it be the same name?
 

Crash

func_nerd
aa
Mar 1, 2010
3,312
5,498
So few servers are running maps through the Workshop (as it's still in beta) not iterating your map names at this point is just going to limit your audience. Give it some time and maybe it'll be worth it, but as of now, I'm iterating.
 

MaccyF

Notoriously Unreliable
aa
Mar 27, 2015
915
1,543
I thought it did. I thought that was the whole point; when you update a map that's on the workshop, it replaces the copy people have with the new one so why wouldn't it be the same name?

As far as i know the workshop uses an ID number to determine which map is being played - not the bsp's name
 

tyler

aa
Sep 11, 2013
5,102
4,621
Yeah, the workshop uses an ID number anyway and it's really unintuitive to use, plus then you'd be compiling two versions and that's just a huge waste of time. I don't really agree with people putting alphas on the Workshop anyway because you can't alert people when it's been updated. You can either delete and reupload your submission every time and hope it gets more popular with each new upload, or just wait until it's finished. It's not like the Workshop is a great place for feedback or something anyway--it's for RC level maps.
 
Apr 14, 2013
663
343
So in order to release a map for both tf2maps and the steam workshop, the proper procedure is to compile the full version of your alpha/beta map, pack, cubemaps etc, add that version to tf2maps, then copy the .vmf, rename it w/o the suffixes, full compile, pack, cubemaps, then upload to the workshop? that's a lot of work, and might take more than a day on beta maps.
 

tyler

aa
Sep 11, 2013
5,102
4,621
I would say if you're uploading for the workshop, compile your map as cp_mymap_rc2 or whatever and put it on the Workshop first, then download that copy and use it to replace yours for uploading to TF2M and other sites. That way the bsp is repacked once and you avoid potential mismatched file errors.

I see lots of users just saying "Go to this folder and copy the bsp to tf/maps" so they don't have to mess with the file ID number, so I think that's the best way. When the forums switch over I suppose I'll add something about this too.
 

tyler

aa
Sep 11, 2013
5,102
4,621
Crash is correct. The workshop removes your rc1 from subscribers' computers and puts your rc2 in its place. The ID system means server owners don't need to update a map list if they run workshop maps. So you should be versioning and releasing maps the same way as always.
 

tyler

aa
Sep 11, 2013
5,102
4,621
Just updated this to reflect the new system. Let me know if anything needs to be adjusted.
 

tyler

aa
Sep 11, 2013
5,102
4,621
Try verifying your game files. That error is usually related to a corrupted model mesh of some kind or another and can happen to all Source engine games for various reasons. Hopefully it isn't more complicated than that.
 

tyler

aa
Sep 11, 2013
5,102
4,621
Very strange. Could be a weird FPS config thing.

You can also simply rename or temporarily move your materials and models folder to test packing. TF2 will generate new, vanilla directories when you launch the game. That's the old method of checking to make sure you've packed right. I'd probably just rename my tf folder to tf_ and then make sure my map is in the new tf/maps/ directory.