Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Rappelz > Rappelz Private Server
You last visited: Today at 22:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RELEASE] DataCore v3

Discussion on [RELEASE] DataCore v3 within the Rappelz Private Server forum part of the Rappelz category.

Reply
 
Old   #1
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
nulled

Nulled
SilentWisdom is offline  
Thanks
12 Users
Old 01/19/2016, 18:46   #2
 
.BlackCat.'s Avatar
 
elite*gold: 70
Join Date: Dec 2012
Posts: 278
Received Thanks: 156
Good job . Can I add to the Download center?
.BlackCat. is offline  
Old 01/19/2016, 18:49   #3
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
ofc
SilentWisdom is offline  
Thanks
1 User
Old 01/19/2016, 19:01   #4
 
TheOnlyOneRaskim's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 978
Received Thanks: 1,011
Nicely done. Hopefully you will wake up too.
TheOnlyOneRaskim is offline  
Old 02/20/2016, 14:59   #5
 
MrStubborn's Avatar
 
elite*gold: 0
Join Date: Oct 2012
Posts: 130
Received Thanks: 13
Quote:
Originally Posted by SilentWisdom View Post
  • The Haters -- Without all of you I would have just been another guy making lua scripts and pretending to be a developer, thanks for always pushing me!
LOL then i must find more haters, so you can make more tools like this
MrStubborn is offline  
Thanks
2 Users
Old 03/02/2016, 09:35   #6
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
Minor Updates

Announcing DataCore v3.0.0.3
  • Load overload: bool decodeNames added
    • false is a performance increase for programs that do not need to display decoded names to the user
    • true is a performance loss but allows for displaying decoded names to the user
  • File Method: GetFileBytes(string dataDirectory, int dataId, long offset, int length) added
    • Returns the collection of bytes that represents a file in the data.*** storage system. (handy for doing hash calculations on the files byte[])

WARNING!!! IMPORTANT!!!

If you have previously included DataCore in an application be mindful that your core.Load(string filePath) will thrown an error as it will need the new overload! (e.g. core.Load(string filePath, bool decodeNames)
SilentWisdom is offline  
Thanks
1 User
Old 03/05/2016, 15:10   #7
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
v3.0.0.3 Bug Fixes Released
  • Save overload: bool encodeNames added
  • Updated functionality of method: UpdateFileEntry()
    • Originally intended to accept decoded fileName as part of string filePath
    • Updated to accept encoded fileName as part of string filePath
  • Added proper encoding to method: GetFileBytes()

WARNING!!! IMPORTANT!!!

If you have previously included DataCore in an application be mindful that your core.Save(ref index, string filePath) will thrown an error as it will need the new overload! (e.g. core.Save(ref index, string filePath, bool encodeNames)
SilentWisdom is offline  
Old 04/22/2016, 14:40   #8
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
Announcing DataCore v3.0.0.4
  • Core.Import/UpdateFileEntry methods switched from OnTotal* events to OnCurrent*
  • Core.UpdateFileEntry() overload added with argument (ref List blankIndex) to update files while tracking orphaned space
  • Restructured code in Import/UpdateFileEntry methods
  • Core.Create() method now reports a totalProgress/totalStatus
  • Core.Load() method now reports a TotalStatus message and CurrentProgress values
  • Core.Load() reportInterval (int) argument added, controls amount of bytes to process before reporting position to caller (progress reporting)
  • Core.Load() overloads for data.000 and data.blk merged
  • Structures.EventArgs.CurrentEventArgs changed to long from int
  • IndexEntry class moved from DataCore namepsace to DataCore.Structures
  • BlankIndexEntry and IndexEntry merged
  • Core.Save() now reports progress via OnTotal/OnCurrent events
  • Core.Save() changed from bool to void (bool always returned true)
  • Core.Save() (all overloads) code optimized
  • Core.Save() overload added to properly save .blk index as a .000 would be
  • Added new Core.GetEntriesByDataId() overload to search BlankIndex
  • Added Core.GetClosestEntry(ref List index, int dataId, int minSize, int maxSize) method to get the closest matching IndexEntry from the data.blk

WARNING!!! The Load/Save arguments have changed since the last release! Make sure to update your project calls to these methods accordingly

This also goes for including the IndexEntry structure into your class, as noted above you can no longer call it by: using DataCore; but instead by adding a new using: using DataCore.Structures;
SilentWisdom is offline  
Thanks
2 Users
Old 08/07/2016, 22:49   #9
 
elite*gold: 0
Join Date: Sep 2013
Posts: 32
Received Thanks: 1
Great tool!

I am currently working on a program to use the DataCore and I found some bugs:
First and most annoying: while the core runs any function the program doesn't respond.
This leads into problem #2: the progress-Events won't be called.
(This means, that the window can not get focus back - if lost - the button inside the program cant be clicked/focused/whatever else you can do with buttons, any ToolTips won't appear, and progressbars - controlled by the progress-Events - won't change - until the core finished working on his function and is ready again - for example dumping files)

The third bug is that the core.Save-Method always throws a IO.PathNotFound-Exception even if the given path exists.

Dumping, exporting files and building the data.001-8 Files work fine. (I havn't worked with deleting and updating enough to say anything about these functions but as far as I am they are working fine too )

Again big THANKS for the great work!


(I apologize for any grammar/spelling mistakes, but I am not a native speaker)
Rappler007 is offline  
Old 08/08/2016, 01:30   #10
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
Quote:
Originally Posted by Rappler007 View Post
Great tool!

I am currently working on a program to use the DataCore and I found some bugs:
First and most annoying: while the core runs any function the program doesn't respond.

This leads into problem #2: the progress-Events won't be called.
(This means, that the window can not get focus back - if lost - the button inside the program cant be clicked/focused/whatever else you can do with buttons, any ToolTips won't appear, and progressbars - controlled by the progress-Events - won't change - until the core finished working on his function and is ready again - for example dumping files)

Firstly, you must understand: The DataCore is not multi-threaded by nature this is assumed to be handled inside of your programs code. I suggest using the TASK API.

Example: Task.Run(() => { core.Load(); });

P.S.

Running the function inside a task is the same as using a backgroundworker or thread. If you attempt to directly report event information to a control create on the program thread you will get a "Cross-Thread Operation" exception. So when you write your reporting events do it like so:

Example: core.ErrorOccured += (o,x) => { this.Invoke(new MethodInvoker(delegate {errorLabel.Text = x.Error; }))};

this.Invoke can only be used from the base thread the program is started on!


The third bug is that the core.Save-Method always throws a IO.PathNotFound-Exception even if the given path exists.

I guess I left the naming convention here for the path argument a bit ambiguous. The argument: buildPath expects the whole path like (C:/Rappelz/data.000)

Dumping, exporting files and building the data.001-8 Files work fine. (I havn't worked with deleting and updating enough to say anything about these functions but as far as I am they are working fine too )

Again big THANKS for the great work!


(I apologize for any grammar/spelling mistakes, but I am not a native speaker)
Thanks for your concerns if there is anything else I can do to help please let me know.

P.S.

v3.0.0.4 Bug Fixes and Minor Updates Release
  • Secondary Save() overload removed
  • Primary Save() arguments clarified
    • Arguments: (ref List<IndexEntry> index, string buildDirectory, bool isBlankIndex, bool encodeNames)
    • buildDirectory example: C:\Rappelz\
    • isBlankIndex = true will save a data.blk (blk [blank] functionality not implemented yet)
  • Internal bool NamesHashed added to Core.cs (tracks if caller loads data.000 with names hashed/unhashed (not for callers use)
  • GetEntry(ref List<IndexEntry> index, string inName) now accepts Hashed/Unhashed names
  • GetEntry(ref List<IndexEntry> index, string inName) summary text updated accordingly
  • GetFileEntry removed
  • New methods to generate file hashes (MD5/SHA512) added
    • GetFileMD5(ref List<IndexEntry> index, string dataDirectory, string fileName)
    • GetFileMD5(string dataDirectory, int dataId, long offset, int length, string fileExt)
    • GetFileSHA512(ref List<IndexEntry> index, string dataDirectory, string fileName)
    • GetFileSHA512(string dataDirectory, int dataId, long offset, int length, string fileExt)

Binaries will no longer be released here! Download them from the github in the OP
SilentWisdom is offline  
Thanks
2 Users
Old 02/15/2017, 15:57   #11
 
elite*gold: 0
Join Date: Dec 2014
Posts: 12
Received Thanks: 0
can you give me DataCore.dll please
[ProGramer]sFa7 is offline  
Old 02/16/2017, 16:48   #12
 
Dark Blaze's Avatar
 
elite*gold: 0
Join Date: Mar 2016
Posts: 297
Received Thanks: 89
Quote:
Originally Posted by [ProGramer]sFa7 View Post
can you give me DataCore.dll please
Dark Blaze is offline  
Old 02/16/2017, 21:44   #13
 
SilentWisdom's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 479
Received Thanks: 639
It is best to use releases from the github or to download the repo and compile.
SilentWisdom is offline  
Reply




All times are GMT +1. The time now is 22:41.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.