A .RES file is a text file in the Half-Life maps folder that tells the game the resources that your map is using, including sounds, models, .WADs etc. Why make a .RES file?
It helps a lot when a client is downloading your custom map.
Have you ever been so frustrated in download a map without having its .WAD and your CS will crash (like the original fy_iceworld requiring de_vegas.wad)?
If you create a .RES file and place it in your maps folder with your map, when a client downloads your map from the server, the server will automatically upload the files like .WADs, sounds etc to the client, letting it have a complete download. The server will also send the .RES file to the client, and the cycle repeats when that client hosts too. How does a .RES file work?
First, let's take a look at the structure of a .RES file. An example:
As you can see, the .RES file assumes the directory of the cstrike folder as the root folder. Which means, the WADs mentioned will be placed in the cstrike directory, and the havup.tga will be placed in cstrike/gfx/env folder.
So, you can create your own .RES file too. Let's say you created a map called de_fpsbanana that requires fpsb.wad.
Open up Notepad.
In the file, it should just contain "fpsb.wad" without quotes.
Hit "File -> Save As".
Make sure the file name is named after your map, like in this case it will be "de_fpsbanana.res" without quotes.
In the Save as type box, select All Files.
Click Save.
Make sure the .RES file is with your map in the cstrike\maps folder. Are there any tools to speed up the process?
A .RES file isn't compulsory, but it will help clients downloading the new maps a lot. Some servers also don't play custom maps that don't have .RES files as clients can't download all the pieces required to run the map properly like .WAD files.