-
Notifications
You must be signed in to change notification settings - Fork 0
Features
asdfmonster261 edited this page May 4, 2026
·
6 revisions
- 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
- 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
.binfile 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.binsidecar 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 Nsplitsbase_game.bininto.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_mtto decompress across all available cores; respects the "Reduce system load" checkbox -
Silent install —
/Sflag runs a completely headless install with no UI; combines with/D=PATHto 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
.xprJSON files
-
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.xarchiveso old builds can be replayed viaarchive depot --app/--depot/--manifest -
Per-buildid timeupdated — both
current_buildidandprevious_buildidcarry atimeupdatedtimestamp so the GUI / CLI display knows when the build dropped -
CM session keepalive — the polling countdown sleeps via
gevent.sleepso the Steam CM heartbeat greenlet keeps firing during long restart-delay windows; sessions don't time out across cycles -
Outage recovery —
SessionDeadfailures 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 responses —
query_app_info_batchyields 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.allgenerates both engines side-by-side (undergse_config_<appid>/{emulator,coldclient}/) and fetches DLCs/achievements only once across both -
MultiUp uploads — push the resulting
.7zarchives 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/--manifestto retrieve any historical build the account had access to (replays themanifest_historyrecords from above)
-
Icon injection — embed a custom
.icointo 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.platformselects 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 —
--checkvalidates settings without building,--jsonemits machine-readable results,--quietsuppresses progress, distinct exit codes (0/3/4) signal outcome class; see CLI-Reference#scripting