GunnerMBT 686 Posted February 21, 2014 Share Posted February 21, 2014 (edited) M2 Download Center This is the hidden content, please Sign In or Sign Up ( 102241 + Source ) (Password: metin2) This is the hidden content, please Sign In or Sign Up ( 10141274 ) (Password: metin2) Hi, I've been working on a more complete Eter management solution, still a work-in-progress. Introduction & description I've always hated the lack of organization when building or editing large quantities of files using the current tools, also they all lack a good UI, as a result I started making my own. It's meant to have a profile-based approach (you create your profile, which corresponds to a client) and all files regarding this and only this profile will be in the same place. This is a community-driven project, so I'll change it according to our needs. Requirements - .NET framework 4.5, previous versions won't work for the simple fact that I'm using some of the latest updates (which lack downward compatibility). FAQs Spoiler Q: Is the project Open-Source? A: No, not yet. I'll make it open-source once a stable version is released, this will guarantee that everyone works on maintainable code-base (still much work to be done). Q: Why is the main executable file packed? A: I'm trying to prevent code leakages until I make it open-source. You can easily test it in a VM and monitor its behaviour... Q: What are all those files distributed along with the executable? A: Since not everyone has the same version of .NET framework, I've included all additional dependencies (you still need .NET framework 4.5 installed). Q:Found a bug. How should I report it? A: If an exception was raised and not handled (a message will alert you), send me the errorLog.txt, aswell as thoroughdescription of your actions prior to said exception (or bug). If the bug is related to unpacking or packing any file, send me those files, aswell as your application.settings and profile.settings. Irreproducible bugs will be ignored. Q: Where are unpacked & packed files stored? A: userData/{ProfileName}/unpack & userData/{ProfileName}/pack File description Spoiler - EterTool.exe => Main executable file, packed. - System.Windows.Controls.Input.Toolkit.dll, System.Xaml.dll and WPFToolkit.dll => needed dependencies (local copies) - LzoModule.dll => .NET wrapper of the oberhumer.com LZO implementation. - msvcr120.dll => Needed dependency of LZoModule.dll, DO NOT replace this file, as some of you might have different versions of it, it might throw a "BadFormat" exception. - ApplicationUpdater.exe => Very poorly coded (didn't want to waste any time on it hehe) application updater, just so you can easily update to the latest versions (this file isn't packed). Main features list - Profile-based approach to improve organization (image) - Index preview, and item selection (both for unpacking and packing, image) - Quick unpack and repack functions (image1, image2) - Size optimizer, it finds duplicates and not compressed files (image) Planned development - Implement global quick pack & repack, it will enable users to quickly process files outside of the current profile. (implemented) - Improve Size Optimizer, adding the capability to automatically repack all needed files instead of just showing informaton. - Improve "Output log" and "Detailed log" windows. (implemented) - Improve human-error prevention and exception handling (the most importat one, at the moment) - Add support for multi-threaded unpacking & packing actions while also setting a user-defined limit, for example: -- You can add 20 files to the operations list, while only X being processed at a time, to prevent crashes. Known issues and limitations - Limitation: if an item inside the epk file is greater than 600mb (or its encryption/decryption size), the file will be ignored, this is a known limitation of the .NET framework for programs targeting x86 architectures (the real cap is somewhere between 1.2-1.6gb, but to prevent crashes I downsized it) - No support for multi-threaded actions. - Sometimes when clicking enter it won't update the GridView (FIXED) - Packing with quick unpack will output a wrong file Path How to setup your profile Spoiler - If needed, I might make a video or post some more images, but it's fairly simple: 1. Open the program, it will show up a message saying it didn't find the CWD. 2. Go to Profile Manager -> Manage 3. Change to your settings (at this stage, please include the CWD with backslashes given that Data Validation is in a very early stage) 3.1 Good example: Image // Bad example: Image2 4. Hit "Save settings" button. (You might need to restart the program after saving) 5. Go to the "Select file from CWD" group and it all should be ready, start typing a file an auto-suggestion will show up (image) 6. In order for the GridView to update, you MUST click enter on the selected file, this is the action trigger. IMPORTANT NOTE: In some files, you'll notice a message in the "Output log" window alerting you to some files with different hash than expected, this is due to the fact that most eix files are not 100% accuretly built. You can confirm the integrity of the file by extracting the same file with Tim's unpacker, you'll notice it's the same checksum. PLEASE READ THIS BEFORE USING THE SIZE OPTIMIZER. Download: Mega.co.nz This is the hidden content, please Sign In or Sign Up ~ Change-log Spoiler 1.0.14.1274 - On 21-02-2014 - Fixed Output log unreferenced object. - Fixed encoding when packing files. 1.0.15.0 - On 22-02-2014 -> Repacking now properly updates the progress UI. -> Fixed a bug where repacking would not get logged. -> Improved exception handling and minor changes in the Detailed log view. -> Other small bugfixes. Version 1.1.0.0 - On 24-02-2014 -> Fixed several memory leaks -> Improved exception handling -> Minor grammar typos fixed -> Fixed a bug where Filename CRC hash was not being correctly written (this would cause the client to not be able to read the files packed with the tool) -> Export to XML implemented (compatible with Tim's unpacker) -> You can now quickly select/deselect items on the quick unpack/repack window, aswell as set its packing type (repack window)Image Version 1.1.0.58 - On 25-02-2014 -> Fixed a bug which prevented Quick Unpack from creating valid files. -> Added 2 new options to applicationSettings (self-explanatory): - BypassUnpackingIfAlreadyUnpacked - BypassPackingIfAlreadyPacked -> You can now select which files to overwrite individually (overriding the global settings) -> Compression level changed to 999 from 1 (it will be slightly slower but the final size will be smaller) Credits & final notes Used oberhumer.com for the LZO algorithm. Thanks to: - Tim, for helping me out understand how Eter files work, general architectural design input and guidance. - Marty, for helping me find out some major bugs, aswell as pointing out various errors in my implementations. - MadTiago, MarcoTuna, Pacificador, Kforce and Alejandro, for being my test slaves . Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal 284 2 6 3 2 1 2 1 7 4 4 1 106 1 22 227 Link to comment Share on other sites More sharing options...
Bot Metin2 Dev 4873 Posted February 21, 2014 Bot Share Posted February 21, 2014 Thanks for making this OpenSource in the future github? I will test it now. 1 Link to comment Share on other sites More sharing options...
GunnerMBT 686 Posted February 21, 2014 Author Share Posted February 21, 2014 Yes, it will be open-source, once I reach a stable version. Link to comment Share on other sites More sharing options...
Mehti 76 Posted February 21, 2014 Share Posted February 21, 2014 Really good UI and property I hope you improve stability in time and have little issues. Respects Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19656 Posted February 21, 2014 Honorable Member Share Posted February 21, 2014 (edited) My antivirus has detected as a virus If you will publish the source in the future, why did you pack the exe? Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Developer PACI 919 Posted February 21, 2014 Developer Share Posted February 21, 2014 (edited) My antivirus has detected as a virus If you will publish the source in the future, why did you pack the exe? FAQs Q: Why is the main executable file packed? A: I'm trying to prevent code leakages until I make it open-source. You can easily test it in a VM and monitor its behaviour... Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal when you return 0 and server doesn't boot: Link to comment Share on other sites More sharing options...
Rumor 2604 Posted February 21, 2014 Share Posted February 21, 2014 (edited) My antivirus has detected as a virus If you will publish the source in the future, why did you pack the exe? Maybe since he doesn't want to publish the source yet he also wants to protect the exe until he publishes the source. Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19656 Posted February 21, 2014 Honorable Member Share Posted February 21, 2014 Ehm, I do not saw the FAQ, sorry. Link to comment Share on other sites More sharing options...
anorian 21 Posted February 21, 2014 Share Posted February 21, 2014 System.NullReferenceException: Nesne başvurusu bir nesnenin örneğine ayarlanmadı. konum: EterTool.ViewModels.MainViewModel.<UnpackFilesAction>b__20() konum: System.Threading.Tasks.Task.InnerInvoke() konum: System.Threading.Tasks.Task.Execute() --- Özel durumun oluşturulduğu önceki konumdan başlayan yığın izlemesinin sonu --- konum: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) konum: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) konum: System.Runtime.CompilerServices.TaskAwaiter.GetResult() konum: EterTool.ViewModels.MainViewModel.<UnpackFilesAction>d__23.MoveNext() --- Özel durumun oluşturulduğu önceki konumdan başlayan yığın izlemesinin sonu --- konum: System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__4(Object state) konum: System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) konum: MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) what i should do Link to comment Share on other sites More sharing options...
GunnerMBT 686 Posted February 21, 2014 Author Share Posted February 21, 2014 (edited) My antivirus has detected as a virus If you will publish the source in the future, why did you pack the exe? VT scan addded. System.NullReferenceException: Nesne başvurusu bir nesnenin örneğine ayarlanmadı. konum: EterTool.ViewModels.MainViewModel.<UnpackFilesAction>b__20() konum: System.Threading.Tasks.Task.InnerInvoke() konum: System.Threading.Tasks.Task.Execute() --- Özel durumun oluşturulduğu önceki konumdan başlayan yığın izlemesinin sonu --- konum: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) konum: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) konum: System.Runtime.CompilerServices.TaskAwaiter.GetResult() konum: EterTool.ViewModels.MainViewModel.<UnpackFilesAction>d__23.MoveNext() --- Özel durumun oluşturulduğu önceki konumdan başlayan yığın izlemesinin sonu --- konum: System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__4(Object state) konum: System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) konum: MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) what i should do Please read the FAQ. Send me the files, I need to be able to reproduce the issue... Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
anorian 21 Posted February 21, 2014 Share Posted February 21, 2014 VT scan addded. Please read the FAQ. Send me the files, I need to be able to reproduce the issue... all is here This is the hidden content, please Sign In or Sign Up so i waiting for solve and thanks 13 3 1 4 Link to comment Share on other sites More sharing options...
GunnerMBT 686 Posted February 21, 2014 Author Share Posted February 21, 2014 all is here This is the hidden content, please Sign In or Sign Up so i waiting for solve and thanks Which file were you trying to unpack? 2 1 Link to comment Share on other sites More sharing options...
anorian 21 Posted February 21, 2014 Share Posted February 21, 2014 Which file were you trying to unpack? oh my bad i was wrong put files to folder so thanks for replies but then when will support type 3 and 4 so just important is thats already Link to comment Share on other sites More sharing options...
Evor 72 Posted February 21, 2014 Share Posted February 21, 2014 Type3 and 4 it's just the matter of server. You shoul use python unpacker instead. Link to comment Share on other sites More sharing options...
GunnerMBT 686 Posted February 22, 2014 Author Share Posted February 22, 2014 oh my bad i was wrong put files to folder so thanks for replies but then when will support type 3 and 4 so just important is thats already There are some far more important features to implement, it will eventually support them though. Link to comment Share on other sites More sharing options...
anorian 21 Posted February 22, 2014 Share Posted February 22, 2014 There some far more important features to implement, it will eventually support them though. vuv sounds pleasing to the ear so we will see thanks Link to comment Share on other sites More sharing options...
Premium Sanchez 2464 Posted February 22, 2014 Premium Share Posted February 22, 2014 Great & useful tool, can't wait for the source. Link to comment Share on other sites More sharing options...
GunnerMBT 686 Posted February 22, 2014 Author Share Posted February 22, 2014 (edited) Change-log: Version 1.0.15.0 - On 22-02-2014 -> Repacking now properly updates the progress UI. -> Fixed a bug where repacking would not get logged. -> Improved exception handling and minor changes in the Detailed log view. -> Other small bugfixes. Regarding the size optimizer, some of you reported that it finds items which are not real duplicates, why does this happen? Simply because the EIX files are not 100% accurate, the exptected CRC hash is not correct, basically. Notice how Eter Tool tells you the exptected hash is different (image). But if you compare the output file with Tim's unpacker, it's the same, but different than the exptected by the EIX file (image). Conclusion: if you want a 100% accurate Size optimizer analysis you must unpack ALL thefiles in your client and repack them again (using my tool or any other which gets the correct CRC hash). Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal 5 1 2 1 Link to comment Share on other sites More sharing options...
CjMt2 20 Posted February 22, 2014 Share Posted February 22, 2014 When I try to extract root from official metin2 client I recive makepackscript_onlyrootnopython.txt and only non python files. From now, EtherNexus and other extractors is innutile because simply NOT WORKING Link to comment Share on other sites More sharing options...
Developer PACI 919 Posted February 22, 2014 Developer Share Posted February 22, 2014 Official's doesn't have python files in their root anymore.. They are in binary file since the last update (Belt System, Blazing Purgatory. etc). when you return 0 and server doesn't boot: Link to comment Share on other sites More sharing options...
anorian 21 Posted February 22, 2014 Share Posted February 22, 2014 (edited) Change-log: Version 1.0.15.0 - On 22-02-2014 -> Repacking now properly updates the progress UI. -> Fixed a bug where repacking would not get logged. -> Improved exception handling and minor changes in the Detailed log view. -> Other small bugfixes. Regarding the size optimizer, some of you reported that it finds items which are not real duplicates, why does this happen? Simply because the EIX files are not 100% accurate, the exptected CRC hash is not correct, basically. Notice how Eter Tool tells you the exptected hash is different (image). But if you compare the output file with Tim's unpacker, it's the same, but different than the exptected by the EIX file (image). Conclusion: if you want a 100% accurate Size optimizer analysis you must unpack ALL thefiles in your client and repack them again (using my tool or any other which gets the correct CRC hash). important things do not work so not working "export the xml file" Edited August 18, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
GunnerMBT 686 Posted February 22, 2014 Author Share Posted February 22, 2014 important things do not work so not working "export the xml file" I'm aware of it, I should start working on it tomorrow. Also, I found a huge memory leak which is already corrected. The next version will have both of these implemented and fixed. 1 Link to comment Share on other sites More sharing options...
anorian 21 Posted February 22, 2014 Share Posted February 22, 2014 I'm aware of it, I should start working on it tomorrow. Also, I found a huge memory leak which is already corrected. The next version will have both of these implemented and fixed. ah awesome so thanks we waiting with be impatient Link to comment Share on other sites More sharing options...
anorian 21 Posted February 23, 2014 Share Posted February 23, 2014 I'm aware of it, I should start working on it tomorrow. Also, I found a huge memory leak which is already corrected. The next version will have both of these implemented and fixed. what is your status to "export the xml file" Link to comment Share on other sites More sharing options...
GunnerMBT 686 Posted February 23, 2014 Author Share Posted February 23, 2014 what is your status to "export the xml file" I can't give you an ETA, since there are more pressing matters (e.g: the leaked binaries source seem to be unable to decompress data compressed with compression level 1, thus files wouldn't work). A new version should be released in the next few days though... Link to comment Share on other sites More sharing options...
Recommended Posts