An Add-on is a user-created content package utilizing the .VPK format. Currently, Add-ons are used to deliver custom campaigns for Left 4 Dead.
Left 4 Dead add-on campaigns are much more than just simply a map file. They are a cohesive collection of the poster, navigation file, models, materials and a description file that ties it all together. When players see their friends playing an add-on campaign, they are offered an option to click and visit a web link (via a Download Add-On button). This link is expected to bring players to a website for the add-on campaign from which it can be immediately downloaded, and should not necessarily be a direct link to the VPK file itself.
This allows campaign authors to have a website that is centered on their add-on campaign and provide a place for screenshots, news, updates, and comments about it. It also allows the author to change or add multiple download locations for players to download from if necessary. Another advantage is that it also removes the burden of the download bandwidth from the server operators and places them on sites that are specifically set up for downloading.
For server operators, there's two significant changes to be aware of regarding Add-ons:
- On the server, operators need to install .vpk files in the left4dead/addons folder just like clients do. They can install one and activate it on the server without restarting by entering "update_addon_paths;mission_reload" into the server console after placing the .VPK file in the addons folder.
- The sv_search_key, sv_gametypes, and sv_steamgroup tags have been removed from the regular server tags. The master servers and steam API have been extended to allow servers to send up a list of keys seperate from tags for matchmaking, up to 1200 bytes in size. The reason for this is not just to fix up overloading the 63 character limit on tags, servers now send up a list of the names of the third party custom campaigns they have installed so players can find them. The "sv_showtags" command will now list the normal tags as public and the extended matchmaking only tags as private. The private matchmaking tags are only communicated between a server and the master server. sv_steamgroup has also been extended to allow a server to be in multiple groups by specifying the group IDs separated by commas.
When players now select a custom third party campaign add-on and search for a dedicated server, it will look at these extended tags for the name and version of the campaign installed. Server operators will certainly want to keep an eye on the various Left4Dead add-on websites for popular third party campaigns and install them for people to play on their server.