poka.sh

Docs

PAK

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

Quake / HL PAK Preview.

At a glance

Purpose A Quake or Half-Life PAK archive: id Software's flat archive of game files with a directory at the end.
Extensions .pak
Poka parser poka-pak
Viewer poka-tree-viewer
Depth tier Parser with a shared viewer (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-26: read parsers/poka-pak/src/main.rs (299 lines) and plugin.json. The unit test the_corpus_pak_states_its_entry_count_and_declared_size checks the corpus sample.pak against a separate reader (5 entries, 427 bytes), and a second test covers an empty directory. Covers .pak. The tree checks the PACK magic and lists every directory entry as a nested folder tree with sizes, with the file count, directory offset and total data size. Judgement: B4: the archive is listed but no file is extracted or shown.

What Poka does not read

  • File contents are not extracted or shown (no BSP, model, sound or texture preview)
  • Other formats that use .pak (Unreal Engine 4 and later, Chrome resource packs and others) are refused as not PACK

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

Sources

  • parsers/poka-pak/src/main.rs
  • parsers/poka-pak/plugin.json