Skip to content

Features

asdfmonster261 edited this page May 4, 2026 · 6 revisions

Features

Update Patch mode

  • Two diff engines — HDiffPatch 4.12.2 and JojoDiff 0.8.1
  • Directory patching — handles multi-file games; tracks new, modified, and deleted files
  • Engine-specific presets — named compression presets tuned for each engine
  • Multi-threading — parallel patch generation for directory mode
  • Source version verification — checksums of original files are embedded; patcher aborts with a clear message if the user has the wrong game version
  • Post-patch verification — CRC32C, MD5, or filesize checksums confirm the update applied correctly
  • Change summary — patcher window shows a N modified · M added · K removed header at launch
  • Target discovery — end-users can locate their game via manual browse, Windows Registry, or INI file
  • Extra file bundling — ship additional files (DLC, configs, redistributables) inside the patch exe
  • Run before/after — execute arbitrary commands before patching starts or after it succeeds
  • Backup — optionally create a full backup of the game folder before applying the patch

Repack mode

  • Solid archive — entire game directory compressed into an XPACK01 blob using XZ/LZMA2 or Zstandard
  • Two codecs — LZMA (lzma) and Zstandard (zstd); selectable per project
  • Multi-threaded compression — MT encoder for both codecs; thread count derived automatically from CPU core count at runtime
  • Optional components — extra folders offered as checkboxes or radio-button groups during install; each group has an enable/disable toggle; components can declare dependencies on other components (transitive chains supported); per-component download size shown next to each label; a per-component flag shows an antivirus / Smart App Control warning when that component is selected
  • External component sidecars — per-component toggle to store a component's compressed stream in a separate .bin file distributed alongside the installer exe; components sharing the same group are written into the same sidecar
  • Large game support — archives exceeding 3.5 GB auto-split into a base_game.bin sidecar alongside the exe (configurable threshold; also controllable via --split-bin); the 4 GB exe size limit is never reached regardless of game size
  • Multi-part bin splitting--max-part-size-mb N splits base_game.bin into .001, .002, ... parts of size N MB for distribution on file hosts with upload caps; installer seamlessly reads across parts with a single-file experience and CRC32-verifies every part before install to catch corrupted downloads
  • Multi-threaded installation — LZMA installer uses lzma_stream_decoder_mt to decompress across all available cores; respects the "Reduce system load" checkbox
  • Silent install/S flag runs a completely headless install with no UI; combines with /D=PATH to set the install directory from the command line
  • Repair / reinstall detection — installer detects an existing install and offers a Repair or Reinstall option; repair re-extracts only files that fail CRC verification
  • CRC32 integrity verification — every file is checksummed at build time and verified on extraction
  • Uninstaller — optionally embeds a standalone uninstaller and registers the app in Add/Remove Programs
  • Shortcuts — Desktop and Start Menu shortcuts with configurable target and display name
  • Repack project files — save and reload all settings as .xpr JSON files

Archive mode

  • One-shot Steam login — QR-code or password flow saves a refresh token to archive_credentials.json (chmod 600); subsequent runs reuse it without re-prompting
  • Polling driver — watch any number of appids, sleep between checks (--restart-delay), download only when the public-branch buildid changes
  • Per-build manifest history — every (buildid, branch, platform, depot_id, manifest_gid) tuple is recorded in the .xarchive so old builds can be replayed via archive depot --app/--depot/--manifest
  • Per-buildid timeupdated — both current_buildid and previous_buildid carry a timeupdated timestamp so the GUI / CLI display knows when the build dropped
  • CM session keepalive — the polling countdown sleeps via gevent.sleep so the Steam CM heartbeat greenlet keeps firing during long restart-delay windows; sessions don't time out across cycles
  • Outage recoverySessionDead failures trigger a disconnect + relogin loop bounded by --max-retries; if both that and a follow-up restart-delay retry fail, an alert fires through whichever notify channels are configured (Telegram / Discord)
  • Streaming PICS responsesquery_app_info_batch yields per-app updates as Steam's chunked responses arrive, so a 67-app poll renders a per-app progress bar instead of a single batch tick
  • Crack pipeline — optional --crack {coldclient,gse,all} wraps the download with the SteamStub unpacker tree and Goldberg emu deploy. all generates both engines side-by-side (under gse_config_<appid>/{emulator,coldclient}/) and fetches DLCs/achievements only once across both
  • MultiUp uploads — push the resulting .7z archives to MultiUp.io, group multi-part archives under one MultiUp project, optionally consolidate the per-part download URLs into a single PrivateBin paste
  • BBCode template editor — full-featured editor with format toolbar (B/I/U/S, lists, links, sizes, spoilers, YouTube), 120-swatch colour picker, placeholder chips, and live preview that toggles between raw text and forum-rendered HTML
  • Telegram + Discord notifications — pre-build, post-build, or both; force-download warning included when applicable
  • Archive depot historical pulls — DepotDownloader-style archive depot --app/--depot/--manifest to retrieve any historical build the account had access to (replays the manifest_history records from above)

Shared

  • Icon injection — embed a custom .ico into the output executable (patch + repack)
  • Backdrop image — optional PNG/JPEG/BMP background drawn behind the UI; displayed at fixed 616:353 aspect ratio (patch + repack)
  • Smart UAC elevation — automatically relaunches as administrator if write access is denied (patch + repack stubs)
  • Metadata fields — app note, copyright, contact, company info, custom window title, custom output exe name/version
  • Drag-and-drop — drop folders and files directly onto path fields in the GUI
  • x64 and x86 stubs — target both 32-bit and 64-bit Windows installs (patch + repack)
  • Linux and Windows x64 build hosts — same code path on both; sys.platform selects the right engine binaries at runtime
  • GUI + CLI — dark-themed PySide6 GUI when run with no arguments; full CLI for all three modes
  • Keyboard shortcuts — Ctrl+B build, Ctrl+N new project, Ctrl+O load project, Ctrl+S save project
  • Window state persistence — window size, splitter ratio, and active mode tab are saved across sessions
  • Build-output log — colour-coded per-step progress; clears automatically on each new build
  • Scripting friendly--check validates settings without building, --json emits machine-readable results, --quiet suppresses progress, distinct exit codes (0/3/4) signal outcome class; see CLI-Reference#scripting

Clone this wiki locally