I have coded a simple C# application (.net 3.5) to use as a front end to my current API (PK2ReaderApi.dll). I have made the API a DLL for easy future updating when bugs are found. You will need to install the
in order to run the program. Using the program is pretty simple:1. Run "PK2Export.exe"
2. Use "File->Open" to select a PK2
3. Right click on an entry to extract it
More detailed information is available in the" _readme.txt" file. In this test, I'd simply like to get an overall response of how the application feels, does it seem to perform well, and of course, does it actually work for your extraction tasks. If you used any of my previous PK2 tools, you can compare them to those as well or any other existing PK2 tools out there.
I have included a brand new feature for testing, and that is PK2 defragmentation. Over time, PK2s that are patched a lot become fragmented with old file entries that are no longer used. This "wasted space" is never reclaimed due to how their PK2 code is setup. After so many patches, Joymax will simply redistribute new optimized PK2 files as part of their Legend installs (although that is due to how their DownloadServer is setup as well).
Using the "Defragment" option is really easy. Simple open a PK2 and select "Tools->Defragment". Hit Yes to start the process. Only media.pk2 should be defragmented on the official servers because the rest of the PK2 files are not patched often enough. In fact, you probably won't save any space for them and will just waste time. In the last screenshot, you can see how swsro would greatly benefit from this tool. I saved almost 300mb in unused entries from their files!
A new PK2 file is created in the program directory. To use it, simply rename it to the original PK2 name and place it in your Silkroad directory. Please backup your old PK2 files in case there are any bugs found! While I have done a bit of testing myself, more widespread usage is needed to determine if there are bugs or not. That is why I have new threads for testing programs and why a lot of my tools stay in the forever beta state.
Also included is a Blowfish key file system so you can easily use this extractor with other private server PK2 files. I have included the keys for mysro, swsro, and zszc in addition to regular Silkroad. Those are the only versions I could actually find up to date downloads for and test with. To switch the key, simply open "key.txt" and change the file name to the correct version you want. See my guide here for how to find the Blowfish key yourself:

That's about it for now, this program is a simple extractor to test the new API. Any bugs with the C# GUI aren't as problematic as problems in the DLL. It's important to take care of any possible bugs now before I move on to my PK2 writer API. Please test this as much as you can and post any results or comments. It would be greatly appreciated.
Screens:




Virus Scan:

Download: Attached (Binary only) Source project will be released after more testing + PK2WriterApi is done and tested. However, you can easily decompile the C# application to get the interface for PK2ReaderApi.dll and play with it yourself if you wanted to.
Thanks!
Edit:






