SMPQ(1)

✨ SMPQ β€” StormLib MPQ archiving utility ✨

okay bestie, welcome to SMPQ(1), aka the StormLib MPQ archiving utility, version 1.7 πŸ’– this is the general commands manual entry for it, and yes it lives in section 1 of the manual. sit down, get comfy, we're gonna archive some stuff πŸŽ€


🌸 SYNOPSIS 🌸

smpq [action] [options] [archive] [files]

πŸ¦‹ NAME πŸ¦‹

SMPQ β€” the StormLib MPQ archiving utility, version 1.7. that's the whole name, she's lowkey iconic πŸ’…


πŸ’… ACTION πŸ’…

pick ONE of these, that's your vibe for the run, bestie:

  • -c, --create β€” make a brand new archive and put the file(s) in it πŸŽ€
  • -a, --append, --add β€” add more file(s) to an archive that already exists
  • -d, -r, --delete, --remove β€” yeet file(s) out of the archive πŸ’€
  • -R, --rename β€” rename a file inside the archive, glow-up era
  • -l, --list β€” list out the file(s) in the archive
  • -e, -x, --extract β€” pull file(s) out of the archive
  • -i, --info β€” show info about the archive
  • -h, -u, --help, --usage β€” show this help/usage info, the classic
  • -V, --license, --version β€” show version + license info πŸ‘‘

πŸŽ€ OPTIONS πŸŽ€

  • -L, --listfile <file> β€” an extra external listfile (heads up: this one is NOT used when you're appending a file)
  • -n, --no-system-listfiles β€” don't load the system listfile(s) (again, not used when appending a file)
  • -N, --no-archive-listfile β€” don't use or create an archive listfile, which means file names just won't be read or stored, periodt
  • -A, --no-attributes β€” don't allow file attributes to be used (that's time, checksum, hash)
  • -M, --mpq-version <version> β€” pick the MPQ archive version (default: it uses the new version 4)
    • 1 β€” supports archive sizes up to 4GB πŸ“
    • 2 β€” supports archives greater than 4GB (introduced in World of Warcraft: The Burning Crusade)
    • 3 β€” (introduced in World of Warcraft: Cataclysm Beta)
    • 4 β€” (introduced in World of Warcraft: Cataclysm)
  • -S, --sector-crc β€” store/check a CRC for each sector, but it's ignored if the file has no compression or is a single unit
  • -q, --quiet β€” be quiet, no output at all, silent treatment era πŸ™ˆ
  • -f, -o, --force, --overwrite β€” allow overwriting file(s)
  • -v, --verbose β€” turn on verbose output, spill the tea
  • -O, --locale <id> β€” set the locale id (default: neutral = 0)
ngl, for all the locale ids you gotta check [MS-LCID] section 2.2: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/

🌈 OPTIONS FOR APPENDING FILE(S) TO ARCHIVE 🌈

  • -m, --max-file-count <count> β€” set the max file count of the archive (it's a power of 2, and 0 means autodetect) (default: 0)
  • -E, --encrypt β€” store it encrypted πŸ”’
  • -F, --fix-key β€” the encryption key gets adjusted according to the file size in the archive (and yes, you need -E for this one)
  • -D, --deletion-marker β€” set the deletion marker
  • -U, --single-unit β€” add the file as a single unit, and no, it cannot be encrypted
  • -C, --compression <method> β€” the compression method (default: ZLIB):
    • none β€” none compression
    • IMPLODE β€” Pkware Data Compression IMPLODE method, which is OBSOLETE (it was used only in Diablo I)
    • PKWARE β€” Pkware Data compression
    • HUFFMANN β€” Huffmann compression (introduced in Starcraft I)
    • ADPCM_MONO β€” IMA ADPCM compression for 1-channel (mono) WAVE files β€” lossy compression, only for WAVE files (and now it is not used)
    • ADPCM_STEREO β€” IMA ADPCM compression for 2-channel (stereo) WAVE files β€” lossy compression, only for WAVE files (and now it is not used)
    • ZLIB β€” ZLIB compression (introduced in Warcraft III)
    • BZIP2 β€” BZIP2 compression (introduced in World of Warcraft: The Burning Crusade)
    • SPARSE β€” SPARSE compression (introduced in Starcraft II)
    • LZMA β€” LZMA compression (introduced in Starcraft II)
    • HUFFMANN+ADPCM_MONO β€” Huffmann and IMA ADPCM together, for 1-channel (mono) WAVE files
    • HUFFMANN+ADPCM_STEREO β€” Huffmann and IMA ADPCM together, for 2-channel (stereo) WAVE files
    • ZLIB+PKWARE β€” ZLIB and Pkware Data compression together
    • BZIP2+PKWARE β€” BZIP2 and Pkware Data compression together
    • SPARSE+ZLIB β€” SPARSE and ZLIB compression together
    • SPARSE+PKWARE β€” SPARSE and Pkware Data compression together
    • SPARSE+BZIP2 β€” SPARSE and BZIP2 compression together
    • SPARSE+ZLIB+PKWARE β€” SPARSE, ZLIB and Pkware Data compression together
    • SPARSE+BZIP2+PKWARE β€” SPARSE, BZIP2 and Pkware Data compression together

🧚 OPTIONS FOR EXTRACTING FILE(S) FROM ARCHIVE 🧚

  • -P, --partial β€” the archive is partial (default: autodetect) β€” partial archives were used by the trial version of World of Warcraft, fun fact ⭐
  • -X, --not-encrypted β€” the archive is not encrypted (default: autodetect) β€” encrypted archives are what Starcraft II installation has
  • -p β€” open more (patched) archives with a directory prefix (that's prefix:archive), and when a file lives in more than one archive, it gets extracted from the last one

πŸ‘‘ USAGE WITH MORE (PATCHED) ARCHIVES πŸ‘‘

smpq -l|-x [options] [archive] -p [prefix1:archive1] [prefix2:archive2] ... -- [files]

πŸ’œ EXAMPLES πŸ’œ

Create an empty archive archive.mpq:

smpq -c archive.mpq

Create archive archive.mpq with two files file1.txt and file2.txt:

smpq -c archive.mpq file1.txt file2.txt

Extract all files from archive archive.mpq to the current directory:

smpq -x archive.mpq

Extract the files with the extension .txt from archive archive.mpq:

smpq -x archive.mpq '*.txt'

Show information about archive archive.mpq:

smpq -i archive.mpq

🌟 AUTHOR 🌟

SMPQ is written by Pali RohΓ‘r <pali.rohar@gmail.com> β€” thank you bestie 🫢


πŸ“œ LICENSE πŸ“œ

SMPQ is distributed under the GNU GPL v3. slay, legally.


and that's the whole page, fr fr πŸ’– source + version: SMPQ β€” StormLib MPQ archiving utility, and the date on this one is Apr 14 2026, filed under SMPQ(1). okay love u, go archive something, bye πŸ¦‹βœ¨

πŸ“¦ where this page comes from