Good Mapping Release Guidelines

Discussion in 'Mapping' started by Rothgar, Mar 15, 2008.

  1. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    I thought it might be good to write this up for the community, so everyone who is mapping can benefit from releasing maps properly and not causing issues for people trying to play their maps.


    Step 1)
    Please consider whether your map is going to be a beta, or a full release BEFORE you release it.

    If this is the first public release of your map, I would almost guarantee it should be a beta release as people will most likely find bugs/flaws. The last thing you want is to have to either rename your map or change the filename to something different later because you have released it wrong, more on this below.

    IMPORTANT: I must emphasize, if the map is NOT 100% finalized DO NOT release it as "emp_yourmapname" release it as something like "emp_yourmapname_b#" where # represents which beta release number it is. DO NOT release multiple times with the same map file names as people who already have an old release will get errors that their map does not match with the servers. THIS IS BAD.

    If your map is 100% finalized or you believe it is complete then by all means release as "emp_yourmapname" so everyone knows it's final.

    If for whatever reason you want to make another release because of some major problem or another reason and you have already released as "emp_yourmapname" then you'll need to release as something like "emp_yourmapname_2" or "emp_yourmapname_v2" or similar. Otherwise as stated above if you re-release with the same name people will get errors.


    Step 2)
    Before releasing your maps please try and BSPzip your custom content (Or potentially other peoples custom content) into the BSP (map). This makes it easier for portability when moving around to servers and also hosting on faster HTTP mirrors.

    I have experimented with this and it works for the most part, the only file you CAN'T BSPzip is the resource file in "resource/maps/yourmapname.txt" So don't bother including it. Maybe Krenzo will change this in a future EmpiresMod release. This file holds all the mini-map and team descriptions as far as I am aware.


    There are a few ways you can BSPzip your content, you can trying using the Valve BSPzip tool (I didn't have much success with it). More details on this method can be found on the Valve site here:
    http://developer.valvesoftware.com/wiki/Using_Bspzip_to_Embed_Custom_Content


    Or you can use Pakrat, which I found was very easy to use, it's a nice tool which can be found here:
    http://www.geocities.com/cofrdrbob/pakrat.html

    I'll outline below how to BSPzip your map using Pakrat.

    IMPORTANT: Pakrat requires Java so make sure you have Java installed, most systems should already have this installed. If you don't visit http://www.java.com and install a version.

    1) I would suggest getting all your map files into a separate directory. We are talking about only your map and custom content here, much like you would have in the zip file you provide to the community. The paths need to be correct so watch out for typo's. Most maps would have at least a "materials\maps" folder structure for example.

    2) Once you have the structure setup, open Pakrat using the "pakrat.bat"

    3) Open the BSP (map) in Pakrat
    Note: You will see any files already zipped in the map with check marks beside them.

    4) Click "Add" which will bring up a browse dialog, now you can either select individual files, a group of files or even a folder or a group of folders.

    Note: Based on the structure (which is why it is important) Pakrat will guess what it should translate to. Pakrat is usually correct but double check before you click "Yes" to its suggestions.

    5) Once you have added the content, you will see all the new stuff in the list with no check marks. Now save the file using the File menu (File > Save BSP), once it's complete everything should have a check mark. You have now BSPzip'd your map.

    6) Build your res file.

    IMPORTANT: The title of the resource file should be "resources" (plural) NOT "resource" as I have seen in a few releases.

    Note: You do not need a line pointing to the "res" file itself, the client will already read the "res" file and I'm pretty sure it won't download anyway. Also now that the map is BSPzip'd! you won't need any of your custom content paths anymore. All you need is two lines, the map path and the "resource" file path which is the text file containing the minimap/team description details as stated above which will reside in "resource/maps/yourmapname.txt"

    Example:
    Note: When you are using fast HTTP download mirrors (sv_downloadurl) and you bzip2 your content NOT BSPzip. I change the "emp_yourmapname.bsp" to "emp_yourmapname.bsp.bz2" I don't know if this is required or whether the client automatically checks for both.


    CONGRATULATIONS! YOU ARE DONE. YOU HAVE NOW (HOPEFULLY SUCCESSFULLY) BSPZIP'D YOUR MAP.


    How to Extract Content from a BSPzip'd Map
    Note: Follow the instructions below if you need to recover materials from a BSPzip'd map, you can extract the files from the BSP using tools like Pakrat.

    The following instructions are based on Pakrat:

    1) Open Pakrat using the "pakrat.bat"

    2) Open the BSP (map) in Pakrat

    3) Select the item/material you want to extract.
    Note: You can click "View" to get a preview and basic information on the item you have selected.

    4) Click Save at the bottom and a dialog will come up asking where you would like to save the item.

    Updated 15/03/08 to include instructions for how to retrieve content from a BSPzip'd map.
     
    Last edited: Mar 15, 2008
  2. Solokiller

    Solokiller Member

    Messages:
    4,861
    Likes Received:
    7
    Trophy Points:
    0
    I wouldn't start naming maps with _b and _2 unless you're sure you won't have too many, people don't like having 10 versions of a map in their maps folder, and it would just be a useless addition in the long run.
    As for BSPZIPing, it's all good until you lose the source files or somebody wants to use the files.
     
  3. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    Well if they want to try the beta releases to help develop the final release then they should be aware of what they are downloading and can delete the files later if they want? For those who don't know much about maps, they will not have to ask why they are getting errors their map differs from the servers.

    As for #2, Pakrat has the option of saving the files out of the BSP, so you can extract them later?
     
  4. Solokiller

    Solokiller Member

    Messages:
    4,861
    Likes Received:
    7
    Trophy Points:
    0
    Not every person knows how to extract files from a map, and if there are large files being BSPZIPped into a map, that can cause an increase in size if many maps use the same file, whereas, having one copy accessable by all maps would cause no size increase.
     
  5. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    That is true, but then you also have the problems where materials get lost in transit. It works both ways I guess.

    You gain slightly smaller downloads if the materials already existed, without BSPzip'ing. However you make it harder to transport.

    Most maps I have seen so far usually have different materials etc I guess that is so the maps are unique and don't all look the same.
     
  6. Caelo

    Caelo Member

    Messages:
    2,371
    Likes Received:
    5
    Trophy Points:
    0
    you just need to provide either a zip with a text file how to install or supply a fullblown installer..
     
  7. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    Zip with a readme works, however it's harder to use than a BSPzip'd map. It also means you need to make the directory structure on the HTTP server and upload all the files. Then if you move servers (Move to a different hosting provider or different GSP) you might lose a file in transit.

    Supplying a full blown installer is more time consuming and won't work for uploading to a HTTP server.
     

Share This Page