Jump to content

EterPack Archiver - PackMakerLite


Recommended Posts

  • Honorable Member

M2 Download Center

This is the hidden content, please
( Internal 2.5 )

This is the hidden content, please
( Last Release )

This is an archiver I've created, and it looks quite stable so far.

The PackMakerLite (PML) supports type 0-1-2-3-4-5-6 (type 4-5 only pack, type 6 only unpack).

As a summarize, the metin2 types are handled like this:

  • Type 0 - only storage (no encryption/compression; it can be read fully from the .epk)
  • Type 1 - compressed - lzo(file)
  • Type 2 - compressed and encrypted - xtea(lzo(file))
  • Type 3 - encrypted with Panama - you must save an .iv key server-side in the panama/ folder. (content readable only after auth phase) The official used it only for patch2.
  • Type 4 - encrypted with a mix of ciphers (cshybridcrypt) - you must save a .dat key server-side in the package/ folder. (content readable only after auth phase) Practically all the metin2_patch files.
  • Type 5 - like type 4, but a server-side map/<map_name> is also provided. (content readable only after accessing the <map_name> map as a player) The official used it only for the catacomb data.
  • Type 6 - compressed and encrypted - xtea(snappy(file)) [thanks @metin2team]

Usage:
 

Spoiler

085806detqN3R.png

 

Its settings (xtea keys, extensions, pack types to use) can be changed inside PackMakerLite.json:
 

Spoiler

085806WrdE6yM.png

 

You can actually integrate the tool in the menu context (running the .reg files) for packing folders and unpacking .eix files.
 

Spoiler

085806BxEU3fl.png085806Z588o1Q.png

 

Remove "--nolog" from the .bat files if you want to see the logs again.


Last but not least: since the client handles all the filenames in lowercase, this tools automatically converts them as well.

  • Metin2 Dev 285
  • kekw 2
  • Eyes 5
  • Love 238
  • Love 18
  • Good 130
  • Lmao 3
  • Scream 8
  • Think 14
  • Smile Tear 4
  • Confused 4
  • Cry 1
  • Sad 6
  • Not Good 1
  • Angry 10
  • Dislove 9
Link to comment
Share on other sites

2 hours ago, martysama0134 said:

Type 5 - like type 4, but a server-side map/<map_name> is also provided. (content readable only after accessing the <map_name> map as a player) The official used it only for the catacomb data.

 

ahahahahaha, thats really funny. 

 

Thanks for great tool it's so usefull.

  • Metin2 Dev 2
Link to comment
Share on other sites

  • 4 weeks later...
  • Honorable Member

UPDATED

  • v1.3 added install.bat for installing everything (must be runned as admin)
  • v1.4 added "force_filename_lowercase" config field
  • v1.5 fixed packing of non all-lower-named packs
  • v1.6 fixed extraction of 0kb files
  • v1.7 fixed extraction of 2-len packs names
Edited by martysama0134
  • Love 6
Link to comment
Share on other sites

  • Bronze

49315301.jpg

https://metin2.download/picture/D7S5e96o86GP5ufpXoxVy5IEdLjtcoli/.png -> Very nice idea. Congratulations!

So this is useless for people who use FOXFS or people who removed panama & package & hybridcrypt from their source ?

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 1
  • Good 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...
  • 3 months later...
  • 2 months later...
  • 4 months later...
  • Honorable Member
3 hours ago, shotyourself said:

@martysama0134 last version working perfectly also! thanks a lot buddy! ❤️

 

 

I forgot to mention I updated it:

 

v2.0 added "ignore_full_name" config field, and allowed writing comments inside the .json setting file

kpwTJ9N.png

 

Edited by Metin2 Dev
Core X - External 2 Internal
  • Love 2
Link to comment
Share on other sites

  • Web Developer

After packing with type 6, it doesn't unpack, I get: LZObject: not a valid data

 

Will you ever add lz4, specially lz4 hc?

Edited by Karbust

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...
  • Honorable Member

In the last update, i've implemented the multithreading in the archive. It's currently extremely fast.
For packing, what it took 180s now is done in 5s.

For unpacking, what it took 180s now is done in 30s if the folders are missing, otherwise 6s.

i.e. I also improved the original single-thread algorithm so it's faster than the older versions.

 

I noticed 2 weird things though:

1) On parallel mode, some prints are skipped, so if you need to debug something, disable both --nolog and --parallel.

2) Redirecting the output to file (>.txt) on parallel mode slowers the process as if it were single thread back again.

 

FULL CHANGELOG
v1.3 added install.bat for installing everything (must be runned as admin)
v1.4 added "force_filename_lowercase" config field
v1.5 fixed packing of non all-lower-named packs
v1.6 fixed extraction of 0kb files
v1.7 fixed extraction of 2-len packs names
v1.8 fixed packing/unpacking files/folders with spaces in filenames (issue present only in the .bats)
v1.9 added type6 and header mcsp decryption
v2.0 added "ignore_full_name" config field, and allowed writing comments inside the .json setting file
v2.1 added "eter_magic_mcoz","eter_magic_epkd","eter_magic_mcsp" fields
v2.2 added "parallel" in .json, and --parallel as argument for multithreading packing/unpacking
v2.3 added global .json load from %userprofile% if the local ones are missing
v2.4 fixed type6 unpacking in parallel mode
v2.5 improved parallel speed when packing by 20x
 

  • Metin2 Dev 1
  • Love 14
  • Good 2
Link to comment
Share on other sites

  • 7 months later...
  • 2 weeks later...

Could you add the output function?
I wanted him to unzip the files in another folder, which I can select via the command line.

I find it somewhat disorganized to leave the files unzipped inside the pack folder of the client.

Link to comment
Share on other sites



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.