• Due to recent spam attacks that heavily used compormised accounts we did reset all user passwords, AGAIN, if it happens and your account got compromised again due to re-used passwords your account will be perma-banned.

GORO Patcher

GORO Patcher 0.0.2

No permission to download
Content Author
Diviatrix

patcher.webp

v 0.0.2 Features​

  • Notes system— display markdown notes (patch notes, news, announcements) in the patcher UI
    • Configured via notes_url in goro-config.json pointing to notes.json
    • Notes are markdown files rendered to HTML on the Go side (gomarkdown/markdown)
    • Custom CSS support via notes_css_url for styling notes
    • Notes sorted by ID descending — newest first
    • Supports file://, http://, https:// protocols

Fixes​

  • External link handling — links in notes open in default browser, not inside patcher
  • Drag-and-drop prevention — dropping files onto patcher UI no longer opens them

v0.0.1 Features​

  • GRF 2.0 read/write/merge — full format implementation with 46-byte header (rAthena layout), zlib-compressed file table, EUC-KR filename decoding
  • GRF patching — merge .grf files directly or extract .zip contents into target GRF
  • Raw patching — extract zip files to game directory with backup support
  • HTTP downloader — resume support (Range headers), retry with backoff, xxhash64 verification
  • Self-update — patcher can update itself from manifest
  • Process detection — checks if game is running before patching
  • State machine — clean state transitions (idle → checking → downloading → patching → ready/error)
  • Polling-based progress — real-time progress via GetProgress() bound method
  • Crash recovery — atomic GRF save, .bak restoration, re-download on hash failure
  • Auto-check on start — patcher checks for updates automatically on launch
  • Cross-platform builds — scripts/build.sh (Linux/cross-compile) and scripts/build.bat (native Windows)
  • Hash tool — hashfile command for generating XXHash64 hashes for manifest
  • Patch validation — patcher validates applied patches against manifest on start
  • Repair — redownload and reapply from first mismatching patch when corruption detected

Technical​

  • Stack: Go + Wails v3 + vanilla HTML/CSS/JS
  • GRF format: 46-byte header, FileTableOffset relative to header end (SEEK_CUR), data blocks before file table
  • Version tracking: patch ID = version, stored in goro-patch.json with patch metadata, no separate version field in manifest
  • Config: goro-config.json with manifest_url and exe_name
  • Manifest: plist.json with patch_base_url and patches array
  • File encoding: EUC-KR filenames decoded to UTF-8 via golang.org/x/text/encoding/korean

Project Structure​

  • Source code in src/ directory
  • Build output to build/ directory
  • Documentation in doc/
  • Build script build.sh for Linux and Windows
Author
diviatrix
Downloads
0
Views
23
First release
Last update

Ratings

0.00 star(s) 0 ratings
Back
Top