Sorry about the delay in my replying in this thread. I was going to make another post soon with something different for this forum, as I did post something on RZ already, but I have been really busy lately.
Quote:
Originally Posted by kevin_owner
About the new formats instead of using the .pk2 files. Can't you just call the GFXFileManager's method's to get the files you want? and if they decide to change the file format you just copy the new GFXFilemanager?
|
If you implement a new format and don't account for that, then yes, someone could just use the new DLL's API to easily obtain the files.
Making a new file format to try and protect files to prevent people from getting access to them is really complex, as you need to change GFXFileManager.dll, sro_client.exe, Silkroad.exe, as well as implement another custom security DLL to enforce the changes.
There's a lot of possibilities though, but it'd be another tl;dr post to talk about that in depth.
Quote:
Originally Posted by PortalDark
pushedx
with this kind of API, could it be used to compress even more the client?(lets say using a compressing method like 7z)
|
Yes, you can implement LZMA compression for the data files, but you have to take into account the extra processing overhead required at runtime. There are trade-offs for everything, but it is certainly doable. As part of another post I'll do, I'll cover this a little more. For as many files as there are on Silkroad, zlib would probably be better as a persistent file format if you intended on leaving the files compressed due to a lot less processing overhead.
Quote:
Originally Posted by PortalDark
kgb packer can compress 1gb into 10-15mb of data(i tested with other MMO client, it takes around of 10h to compress it but to unpack, its pretty fast)
nut thats not the point
to clean the client of unused stuff, you need patience, time and lots of reading hours
|
On my RZ thread, which I can't link here, jMerlin and myself talked about a cool idea using HTTP processing. The idea would be that you distribute a client with the minimal amount of files, then allow the client to simply download the files it needs as they are loaded. What would result would be a minimal distributed client, strongly compressed files that are sent over HTTP (which allows for cloud hosting / static content caching), and the ability for people to try out new servers without having to download all the extra useless stuff that isn't even used. There would be certain technical issues to overcome, but it is something that would be worth looking into.