LogoLogo
English
LogoLogo
English
  • Titanfall 2 Modding Guide
  • Contact & Help
  • Contributing
  • Credits
  • Wiki 101 - How to start ?
    • Modding introduction
      • How to backup, extract & repack
      • How to setup a modding environment
      • Modding tools
        • How to use RSPNVPK
        • Source
          • Game Directory
          • BSP
            • BSPSource
            • BSP Viewer
            • BSP2MAP
            • BSPZIP
            • EntEd
            • Entspy
            • Map Analyst
            • PackBsp
            • Pakrat
            • VBSP_h4xed
            • VIDE
            • VMEX
            • WinBSPC
            • WinBSPZip
          • Hammer
            • Displacement Luxel Density
          • VTF & VMT
            • VTFEdit
            • Vtex
              • Vtex - Compile Parameters
              • Vtex - Troubleshooting
    • FAQ
  • Documentation
    • Textures
      • Valve Texture Format - VTF
        • Creating a Material
        • Creating Animated Particles
      • Valve Material Type - VMT
      • Texture & Colors
        • Color & Texture info
      • Shader
        • $basetexture
        • $color
        • $reflectivity
        • Material Flags
      • Albedo
      • Bump map
        • $bumpmap
        • $ssbump
      • Cube Mapping
      • Skybox Basics
        • 2D Skybox
      • Lightmap
      • Material Vector
      • MIP Mapping
      • Missing content
    • Scripts
      • KeyValues
        • Gameinfo.txt
        • WeaponConfig.txt
      • VScript
    • File Format
      • NUT & GNUT - Squirrel
      • PSD - Photoshop Document
      • TGA - Truevision Graphics Adapter
      • TXT - Text file
      • VPK - Valve Pak file
    • File Location
      • VPK list
      • Weapon
        • Weapon model
        • Weapon script
        • Weapon config
      • 3D Models
        • Model - Skyboxes
        • Pilot
          • Models - Pilot Ability
          • Models - Pilot Weapons
        • Titan
        • Model - Beacon
        • Model - Containers
        • Model - Fixtures
        • Model - imc_base
        • Model - Industrial
        • Model - kodai_live_fire
        • Model - NPC
        • Model - Frontier Defense
  • Modding
    • Weapons
      • Crosshair modding
        • Batch crosshair modding
        • Crosshair example
      • Weapon Positioning
      • Weapon FOV
      • Hipfire zoom
      • Special/Unique weapon mods
        • Charge Rifle - Arc Rifle
        • Charge rifle - Heat color
        • LSTAR - Heat color
    • Pilots
      • Models - Pilot class
    • Titans
      • Titan Domeshield
      • Northstar
        • Cable - Grapple & Tether Trap
        • Railgun - Heat color
        • Northstar - Gravity
        • Northstar - Thermite
      • Ronin
        • Sword block color
      • Legion
        • Power shot heat color
      • Ion
        • Splitter Rifle - Heat effect
        • Vortex shield color
    • Custom Skins
      • Formats
      • Installing
        • DDS Format (tool)
        • VTF Format (manual)
      • Making
      • Info
        • Getting a Model into Blender
        • 2D Wireframes
    • Maps
      • Maps - Skyboxes
      • Maps - Cube Map
      • War Games
        • Holographic wall color
    • User Interface
      • Text modding r1_language
      • In Game
        • Scoreboard colors
      • Menus
        • Pause Menu Blur
        • Menu Background
        • Network - Menus
        • Whats new and Spotlight
        • Settings
          • Controls
          • Key Bindings
    • Sounds
      • Killsound
      • Lobby music
    • Misc
      • FF ID Color change
      • Remove Sun Flares
      • Cable - Zipline
      • Marvin - Chest screen
      • Pulse Effect
      • Sonar Detected
      • Ticks - Model
      • Nessie- Frag Model
  • Script Values
    • Effect (FX)
    • FX
      • FX - Pilot
        • FX - Pilot Weapon
          • FX - Assault Rifle
          • FX - SMG
          • FX - LMG
          • FX - Sniper
          • FX - Shotgun
          • FX - Grenadier
          • FX - Secondary & Pistols
          • FX - Anti-Titan
          • FX - Arc Tool
        • FX - Pilot Ordnance
          • FX - Arc Trap
          • FX - Firestar
          • FX - Gravity Star
        • FX - Pilot Ability
      • FX - Titans
        • FX - Ion
        • FX - Tone
        • FX - Northstar
          • FX - Railgun
          • FX - Holo Railgun
          • FX - Viper
        • FX - Monarch
          • FX - Monarch Beam
        • FX - Ronin
        • FX - Scorch
          • FX - Thermite Launcher
          • FX - Meteor First
          • FX - Firewall
        • FX - Legion
      • FX - NPC & Turret
        • FX - NPC
          • FX - Drone
          • FX - Drone Cloak
          • FX - Drone Frag
          • FX - MRVN
          • FX - Mortar
          • FX - Holo Spectre
        • FX - Turret
      • FX - Misc & Unknown
        • FX - Holo Map
        • FX - Beacon
        • FX - Skybox
          • FX - Skybox 1K
          • FX - Skybox Carrier
          • FX - Skybox Creature
          • FX - Skybox Nuke
          • FX - Skybox Station Traffic
        • FX - Skyway
        • FX - Dev
          • FX - Bug Repro
        • FX - Droppod
        • FX - Scan
      • FX - Raw Data
        • FX - EMP
        • FX - Env
        • FX - Grenade
        • FX - Harvester
          • FX - Coop Harvester FX
        • FX - HUD
          • FX - HUD AR FX
          • FX - HUD AR Impacts
          • FX - HUD AR Lines
          • FX - HUD AR Ordinance
          • FX - HUD AR Pings
          • FX - HUD AR Titandroppoint
        • FX - Impact
          • FX - Impact FX EXP Cutom
        • FX - Light
        • FX - Orbital Strike
        • FX - Projectile Plasma
        • FX - Reload
        • FX - Shell Eject
        • FX - Smoke
        • FX - Tracers
        • FX - Weapon
          • FX - Arc Cannon
          • FX - Dragonbreath
          • FX - Flamethrower
          • FX - Malta Gun
          • FX - Triple Threat
    • Sound
      • Sound - Voiceline
      • Sound - Pilot
        • Pilot Weapon
          • Assault Rifle
          • SMG
          • LMG
          • Sniper
          • Shotgun
          • Grenadier
          • Secondary & Pistol
          • Anti-Titan
        • Pilot Ordnance
        • Pilot Ability
      • Sound - Titans
        • Sound - Ion
        • Sound - Tone
        • Sound - Northstar
        • Sound - Monarch
        • Sound - Ronin
        • Sound - Scorch
        • Sound - Legion
      • Sound - Drone & NPC
        • Sound - MegaTurret
      • Sound - Misc & Unknown
        • Sound - Arc Cannon
        • Sound - Arc Tool
        • Sound - Flamethrower
        • Sound - Triplethreat
    • UI & HUD
      • Menu
        • Loadscreen
        • Private match
        • Scoreboard
  • Mods
    • Plastic Mode
    • No-HUD Mod
  • Exporting Assets
    • Exporting Maps
    • Exporting using Legion
    • Exporting Models
  • Assets
    • Texture library
Powered by GitBook
On this page
  • Creation
  • Linux / Unix
  • Windows
  • Commands
  • Usage
  • Example
  • Create VPK/Add Files
  • Extract Files
  • Display VPK Info
  • VPK Integrity/Security
  • Misc.
  • Options
  • Examples
  • Making custom vpks for a mod
  • Creating A Key Value File and VPK
  • Response File

Was this helpful?

  1. Documentation
  2. File Format

VPK - Valve Pak file

VPK (Valve Pak) files are uncompressed archives used to package game content.

PreviousTXT - Text fileNextFile Location

Last updated 5 years ago

Was this helpful?

VPK (Valve Pak) files are uncompressed archives used to package game content. Valve's post- games store , , , and many other file types in VPK files. VPKs are also used to distribute mods via the the addoninstaller tool that ships with some games, such as .

Creation

VPKs can be created with the tool vpk.exe.

The tool can be located in the bin folders for most Source games, such as the ones below. The tool is not game dependent, however it is suggested that you use the tool that corresponds to the game you are creating the vpk for. The version in one game may not be as up to date as the version in another due to game updates.

Game
Path to VPK.exe

C:\Program Files (x86)\Steam\SteamApps\common\Alien Swarm\bin

C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\bin

C:\Program Files (x86)\Steam\SteamApps\common\Left 4 Dead\bin

C:\Program Files (x86)\Steam\SteamApps\common\Counter-Strike Source\bin

C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2013\<Singleplayer or Multiplayer>\bin

C:\Program Files (x86)\Steam\SteamApps\common\Counter-Strike Global Offensive\bin

C:\Program Files (x86)\Steam\steamapps\common\Portal 2\bin

For servers installed using , it is located in the server's bin\ directory. On Linux, it is named vpk_linux32 instead of vpk.exe.

Linux / Unix

On Linux / Unix clients, the vpk file can be found replacing "C:\Program Files (x86)\Steam\SteamApps\common" for "~/.steam/steam/SteamApps/common/". However, it is named vpk_linux32 instead of vpk.exe.

If you are running on a 64-bit system, this binary will not work by default. You must tell it to use the 32-bit libraries located in the same directory. This can be done by setting the LD_LIBRARY_PATH variable. The following script, if created in the above listed bin directories, will create a wrapper to properly launch the 32-bit executable; then a link (or desktop shortcut) to vpk.sh (if saved as said name) can be created, from there:

#!/bin/bash
DIR=$(dirname "${BASH_SOURCE[0]}")
export LD_LIBRARY_PATH=$(cd "$DIR" && pwd)
exec "$DIR/vpk_linux32" "${@}"

Alternatively, if you're running 64-bit Linux, you can use this script to execute the vpk_linux32 binary successfully. Save this script to "/usr/local/bin/vpk" and set it as an executable in the file's properties, for ease of use:

#!/bin/bash
VPK_LINUX=$(find "${HOME}/.local/share/Steam" -type f -iname "vpk_linux32" -print | head -n 1)
VALVE_LIB_DIR=$(dirname "${VPK_LINUX}")
LD_LIBRARY_PATH="${VALVE_LIB_DIR}:${LD_LIBRARY_PATH}" "${VPK_LINUX}" "${@}"

Note: The "${@}" is for drag-and-drop with *.desktop files and arguments when using the vpk command via console.

Windows

On Windows, a shortcut (*.lnk) linked to the vpk.exe file in the bin folder can be created instead, making it so that you can drag-and-drop folders onto the shortcut and get a *.vpk file in return, and vice-versa.A easily-created shortcut named "vpk" can be left in the custom folder, making packaging folders into vpk's and vice-versa (while also debugging your custom files) a lot easier instead of having to do it from the command prompt.

Commands

Usage

vpk [options] <command> <command arguments...>vpk [options] <directory>vpk [options] <vpkfile>

Example

vpk -?Lists all of the help info, list of available arguments, and info about each argument.

Create VPK/Add Files

vpk <dirname>

Creates a pack file named <dirname>.vpk. Must be an existing location. The VPK will appear next to the directory.

**Tip:**Drag a folder onto the tool in Explorer to trigger this command.

vpk a <vpkfile> <filename1> <filename2> ...

Add file(s).

a <vpkfile> @<filename>

Adds the files referenced in a "response file" (not response rules). Note the @ symbol.

k vpkfile <keyvalues_filename>

Bug: They will appear inside the VPK with their full path (C:\etc\) intact - is there a way to avoid this?

vpk <directory>

Create VPK from directory structure.

**Note:**This is invoked when a directory is dragged onto the VPK tool.

Extract Files

vpk x <vpkfile> <filename1> <filename2> ...

Extract file(s).

vpk <vpkfile>

Extract all files from VPK.

**Note:**This is invoked when a .VPK file is dragged onto the VPK tool.

Display VPK Info

vpk l <vpkfile>

List contents of VPK.

vpk L <vpkfile>

List Detailed contents of VPK.

VPK Integrity/Security

vpk checksig <vpkfile>

Verify signature of specified VPK file. Requires -k to specify key file to use.

Misc.

vpk generate_keypair <keybasename>

Generate public/private key file. Output files will be named <keybasename>.publickey.vdf and <keybasename>.privatekey.vdf

**Note:**Remember: your private key should be kept private.

Options

**Tip:**Please note the case of these options. A capital letter is different than a lowercase letter.

-v

Verbose output.

-M

Produce a multi-chunk VPK. ****

**Note:**Required if creating a VPK with key values.

  • Each chunk is a file limited to around 200MB.

**Note:**Multi-chunk generations only works when creating a VPK from a response file.

**Tip:**To inspect a multi-chunk VPK open the '_dir' file.

-P

Use SteamPipe-friendly incremental build algorithm. Use with 'k' command. For optimal incremental build performance, the control file used for the previous build should exist and be named the same as theinput control file, with '.bak' appended, and each file entryshould have an 'md5' value. The 'md5' field need not be theactual MD5 of the file contents, it is just a unique identifierthat will be compared to determine if the file contents has changedbetween builds.

-c <size>

Use specified chunk size (in MB). Default is 200.

-a

Align files within chunk on n-byte boundary. Default is 1.

-K

With commands 'a' or 'k': Sign VPK with specified private key.

-k

With commands 'a' or 'k': Public key that will be distributed and used by third parties to verify signatures.With command 'checksig': Check signature using specified key file.

Examples

Listed below are some examples of using the tool and what they will do.

Making custom vpks for a mod

Content must be a subdirectory under sound/materials/models in the root dir of your VPK, or else they won't appear in hammer. IE your sounds should be located in sound/foo/thisIsASound.wav in your custom vpk, models under models/, materials under materials/, ect.

VPKs must be mounted in gameinfo.txt.

Creating A Key Value File and VPK

1. Create a folder with the correct directory structure and files that you wish to use such as mymod/resource/ui/<file.res>2. Use the command line in a prompt or a bat:vpk generate_keypair <name>vpk -M -k <name>.publickey.vdf -K <name>.privatekey.vdf "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\bin\mymod"3. In the folder where the vpk tool is located there will now be a public key vdf, a private key vdf, a vpk named mymod_000 and a vpk named mymod_dir.

Warning: Never disclose or share your private key vdf or the key. Only share the public key.

  • You must distribute your mod with both the mymod_dir and mymod_000 vpks for the keyvalue to work.

Response File

A "response file" contains a list of files to be added to a VPK. Paths are relative to the current directory of the vpk tool.

Below is a Python script which generates a response file and then builds a multi-chunk VPK. Put it in your mod folder. You will need to edit the three variables at the top.

# User settings (don't use the \ character)
target_folders = [ "materials", "models", "particles", "scenes" ]
file_types = [ "vmt", "vtf", "mdl", "phy", "vtx", "vvd", "pcf", "vcd" ]
vpk_path = "C:/Program Files (x86)/Steam/steamapps/common/SourceFilmmaker/game/bin/vpk.exe"

# Script begins
import os,subprocess
from os.path import join
response_path = join(os.getcwd(),"vpk_list.txt")

out = open(response_path,'w')
len_cd = len(os.getcwd()) + 1

for user_folder in target_folders:
	for root, dirs, files in os.walk(join(os.getcwd(),user_folder)):
		for file in files:
			if len(file_types) and file.rsplit(".")[-1] in file_types:
				out.write(os.path.join(root[len_cd:].replace("/","\\"),file) + "\n")

out.close()

subprocess.call([vpk_path, "-M", "a", "pak01", "@" + response_path])

Excluded files

Executable and archive files are discarded by the VPK tool:

.zip .reg .rar .msi .exe .dll .com .cmd .bat

Add files references in a control file.

To reduce patch sizes, chunks are never overwritten. New/modified files are instead written to a brand new chunk every time you run the tool. ****

To handle this process for portal 2 you can also use the , to automate the response file creation and the creation of the vpk files.

Source:

GCF
materials
models
particles
choreography scenes
Left 4 Dead 2
command line
SteamCMD
keyvalues
https://developer.valvesoftware.com/wiki/VPK
P2 Multichunk Tool
Alien Swarm
Team Fortress 2
Left 4 Dead
Counter-Strike: Source
Source SDK Base 2013
Counter-Strike: Global Offensive
Portal 2