[Release] SRO Archive Explorer - PK2 browser, 3D model/map/effect viewer, skill brows

06/26/2026 16:44 Borntotroll#1
SRO Archive Explorer
Standalone Silkroad Online PK2 archive browser, viewer, and reverse-engineering tool

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

Description

Archive Explorer is a desktop inspection tool for Silkroad Online client archives. It opens PK2 archives directly, lets you browse and search the archive tree, previews many legacy Silkroad formats, and helps inspect original game data without relying on external PK2 command-line tools.

This is mainly built for asset research, tooling, and reverse-engineering workflows. It is useful for checking models, textures, particles, maps, dungeons, skill data, UI files, text tables, and archive contents before moving confirmed behavior into a runtime client or exporter.

Important note: This is still in active development so not every section is 100% perfect but most of it already works relatively well. If you're interested you can join hands and create bug reports or bring up fixing/improvement PRs in gitlab.

Repository

[Only registered and activated users can see links. Click Here To Register...]

Current Features
  • Open and browse PK2 archives directly.
  • Search archive files and filter by asset type.
  • Extract files, folders, or full archives.
  • Add files/folders into an archive.
  • Create new PK2 archives from folders.
  • Save editable text/code files back into writable archives.
  • Preview text, code, tables, UTF-8, UTF-16, EUC-KR, GBK, Big5, and related encoded text.
  • Preview DDS and DDJ textures with alpha/background controls.
  • Preview image and audio files.
  • View BSR/BMS 3D models with resolved meshes, materials, textures, resources, and animations.
  • View CPD compound files with parts, resources, effects, attachments, transforms, and enhancement previews.
  • View EFP particle effects with 3D playback, emitter timelines, frame data, diagnostics, and JSON export.
  • View DOF dungeon scenes with blocks, objects, lights, starts, effects, and model visibility.
  • View map regions with terrain, water, object placement, resolved models, and world-area metadata.
  • Inspect BAN animation files and BSK skeleton files as structured data.
  • Inspect BMT materials and IFO-like structured data.
  • Browse classic Chinese and European skill trees with icons, levels, effects, animation rows, and linked resources.
  • Build viewable catalogs for characters, items, map objects, map regions, dungeons, particles, and interfaces.

Supported Preview Types
  • Textures: DDS, DDJ, PNG, JPG, BMP, GIF, WEBP
  • Audio: OGG, OGA, WAV
  • Models: BSR, BMS
  • Compounds: CPD
  • Particles: EFP
  • Maps: .m region files
  • Dungeons: DOF
  • UI: 2DT interface layouts
  • Animation/Skeleton: BAN, BSK
  • Materials/Data: BMT and documented Silkroad binary/text formats
  • Text tables/code: TXT, INI, CFG, DAT, shader/code-like text files

Install / Run

Code:
git clone https://gitlab.com/eltown/sro-archive-explorer.git
cd sro-archive-explorer
npm install
npm run smoke
npm run dev
Or just load it up at browser...
Code:
https://srtool.little.town
Notes
  • Default archive key is 169841.
  • This repository does not include official game archives or private game data.
  • The tool is intended for inspection/research. It is not a full game client.
  • The old native Vulkan helper has been removed; previews are handled inside the Electron app.

Screenshot Gallery


06/26/2026 16:48 concucu#2
thanks
06/26/2026 17:07 NESTA3!!#3
good job!
06/26/2026 17:34 serseri2041#4
good job bro.
06/27/2026 01:00 lellekerd#5
Nice work!
06/28/2026 02:29 Battlemonster#6
great thanks alot
06/28/2026 09:58 CrystalCoder#7
amazing hope other peoples will learn from you dude nice work
06/28/2026 22:44 Borntotroll#8
Update:
- Added NVM navigation meshes with a world-area overview browser, lazy-loaded per-region
thumbnails, direct chunk selection, 3D visual blocker editing, hover feedback,
mouse-wheel zoom, object visibility toggles, and tile-flag save support.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
06/29/2026 03:50 sonzenbi#9
holy :hyperhmm:
06/30/2026 02:00 Borntotroll#10
2026-06-30 Updates:

- Added a browser/Vite build that installs a browser-side Archive Explorer API, opens local PK2 files through the browser file picker, and keeps workspace UI state in `localStorage`.
- Added a read-only in-memory browser PK2 archive implementation so existing parser and preview code can run without Electron IPC or Node filesystem access.
- Added generic Docker packaging for the browser build with static nginx serving, `/healthz`, and no host-specific domain/proxy configuration.
- File browser filtered results can now be sorted by filename or file size, ascending or descending. Filename sorting uses the basename only, not the full archive path.
- Filtered file results no longer render archive sections with zero matches, and capped-result summaries no longer ask the user to narrow the search.
- Navmesh editing now shows terrain tile blocker edits as tile-sized overlays instead of repainting the whole owning nav cell.
- Navmesh terrain, object surfaces, object pass edges, blocked edges, and rail edges now use separated overlay lifts, render order, and opacity so the colors read more clearly.
- The Objects toggle now also hides object navmesh overlays and disables object-edge editing while object display is off.
- EasyFX preview tuning removed the fake plate fallback for missing `RenderMesh` geometry and added an adaptive particle viewport pixel budget for very wide previews.
- Dense EasyFX timelines now start collapsed and cap marker rendering; standalone particle preview avoids extra composite passes where they are not needed.
- EasyFX submit-pass tuning improved source-order rendering, static emit live counts, mesh depth-write behavior, and `ViewBillboard` update cost.
06/30/2026 08:09 *Deadly#11
Having navmesh & map .m .o2 .t exporting as new regionid would be awesome especially for areas that are 4x4 or bigger, as exporting a 4x4 from an existing like 8x8 is quite hard.
06/30/2026 21:20 SubZero**#12
Great work
07/02/2026 11:02 bamag#13
Hi, I’m using your tool to view a model’s animation, and it looks fine. However, when I import it into the game, there’s an issue with part of the model during attacks. For example, the tail is supposed to rotate with the rear end, but it keeps getting stuck on the legs and gets pulled out of shape.
By the way,the bsr was originally of VSRO, but I extracted it and moved it to CSRO-R. Could there be a conflict between these two versions? Is there a simple way to fix this?
07/11/2026 12:09 soginz#14
:reeee: