Jump to content

rambo97x

Member
  • Posts

    1
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by rambo97x

  1. On 2/3/2014 at 3:41 AM, Shogun said:

    M2 Download Center

     

    Hidden Content

    • Give reaction to this post to see the hidden content.
    ( Internal )

     

    I am proud to release exclusively for metin2dev -with the blessing from its author Tim Niederhausen- the latest version of the original FileArchiver command line tool, which is now divided into two Windows executables:


    FileArchiver_Eterpack (r3869)
    This command line tool can pack and unpack EterPack (epk) files. Types 0, 1, 2 and 3 are supported for the packing function. Parameters are configured through xml files:

     

     

     
    FileArchiver_Eterpack.exe rootpack.xml


    Optionally you can drag and drop the xml file over FileArchiver_Eterpack.exe in Windows Vista and higher.
    Unpacking
    Example XML: unpack root.epk to the folder root_unpacked. ArchivePath is the path to the packed file (without extension) and OutputPath is the folder where files should be written.

     
    <ScriptFile>
    <ExtractEterPack ArchivePath="root" OutputPath="root_unpacked/" CreateXml="No" />
    </ScriptFile>


    Example XML: unpack a series of epk files, creating a xml file that we can use to pack them back later with FA. CreateXml and XmlPath elements are self explanatory here.

     
    <ScriptFile>
    <ExtractEterPack ArchivePath="yt2/pack/uiloading" OutputPath="yt2_unpacked/" CreateXml="Yes" XmlPath="uiloading_pack.xml" />
    <ExtractEterPack ArchivePath="yt2/pack/etc" OutputPath="yt2_unpacked/" CreateXml="Yes" XmlPath="etc_pack.xml" />
    <ExtractEterPack ArchivePath="yt2/pack/uiscript" OutputPath="yt2_unpacked/" CreateXml="Yes" XmlPath="uiscript_pack.xml" />
    </ScriptFile>


    Packing

    Example XML: Create uiloading.epk with Type 2 (LZO packed and XTEA key); note how ArchivePath is the path to write the packed file, ArchivedPath is the absolute path of each file in the Metin2 virtual filesystem, while CDATA is the actual location of the file in our PC (relative or absolute)

     
    <ScriptFile>
    <CreateEterPack ArchivePath="../bin/pack/uiloading">
    <File ArchivedPath="d:/ymir work/uiloading/loading0.jpg" Type="2"><![CDATA[uiloading/loading0.jpg]]></File>
    <File ArchivedPath="d:/ymir work/uiloading/loading1.jpg" Type="2"><![CDATA[uiloading/loading1.jpg]]></File>
    <File ArchivedPath="d:/ymir work/uiloading/loading2.jpg" Type="2"><![CDATA[uiloading/loading2.jpg]]></File>
    <File ArchivedPath="d:/ymir work/uiloading/loading3.jpg" Type="2"><![CDATA[uiloading/loading3.jpg]]></File>
    <File ArchivedPath="d:/ymir work/uiloading/loading4.jpg" Type="2"><![CDATA[uiloading/loading4.jpg]]></File>
    <File ArchivedPath="d:/ymir work/uiloading/loading5.jpg" Type="2"><![CDATA[uiloading/loading5.jpg]]></File>
    <File ArchivedPath="d:/ymir work/uiloading/loading6.jpg" Type="2"><![CDATA[uiloading/loading6.jpg]]></File>
    <File ArchivedPath="d:/ymir work/uiloading/loading7.jpg" Type="2"><![CDATA[uiloading/loading7.jpg]]></File>
    </CreateEterPack>
    </ScriptFile>


    Example XML: Create a Type 3 (Panama) file. IvPath contains the path to a 32 byte file that will be used as key. Obviously, you should not share this file. This encryption requires a server part which is explained below.

     
    <ScriptFile>
    <CreateEterPack ArchivePath="../bin/pack/metin2_mypatch" IvPath="iv/mypatch.iv">
    <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1.gr2]]></File>
    <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1.dds" Type="3"><![CDATA[pc/assassin/assassin_5_1.dds]]></File>
    <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1_lod_01.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1_lod_01.gr2]]></File>
    <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1_lod_02.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1_lod_02.gr2]]></File>
    <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1_lod_03.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1_lod_03.gr2]]></File>
    </CreateEterPack>
    </ScriptFile>


    Panama encryption: serverside setup

    Once you have your Panama encrypted packs, you need to upload the keys to auth/panama along with a text file called panama.lst containing a list of files to be decrypted with their respective key file, separated by tabs.

    Example panama.lst file:

     
    pack/mypatch     mypatch.iv
    pack/terrainmaps terrainmaps.iv
    pack/tree        tree.iv
    


    Caveats: you can not encrypt the root with panama. Also, if a pack encrypted with panama contains armors or hairstyles, these may not appear in the character selection screen.

    FileArchiver_Proto (r2806)
    This tool also takes an xml file as parameter and is intended to read and write clientside item_proto and mob_proto files.
    Example XML: Read a clientside, packed item_proto and write it to to a xml file

     
    <ScriptFile>
    <ReadItemProto ItemProtoPath="item_proto" OutputPath="item_proto.xml" />
    </ScriptFile>


    Example XML: Write back, once edited, our XML file as a packed item_proto file.

     
    <ScriptFile>
    <WriteItemProto ItemProtoPath="item_proto" InputPath="item_proto.xml" />
    </ScriptFile>


    Now for the mob_proto (Only use the Proto archiver for this one!!!):
    To extract it from the client use this XML

     
    <ScriptFile>
    	<mob_proto_extract path="mob_proto" output="mob_proto.xml" />
    </ScriptFile>
    


    To pack it back use this one:

     
    <ScriptFile>
            <mob_proto_create path="mob_proto.xml" output="mob_proto_edited" />
    </ScriptFile>
    


    For questions and comments, you can post in this same thread.

     

     

    thx

    • Metin2 Dev 1
×
×
  • 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.