In the last few weeks, i have been developing LUNI, learning how it works, improving it and doing some research.
Because the project is really messy right now, I will not contribute to the public repo right now, but i figured some of the reserach I did and concepts I made could be shared to help others finding their way through the source code.
So for anyone interested, here is
I might add additional research as I go along, I hope this helps some people, if you have additional questions or ideas, I would be glad to discuss them.
NOTE: I am not an “official” LUNI developer, I cannot speak for this project, but I am working with the LUNI source to create a server.
That communication process is very nice and easy to understand, and the session states are also interesting. I actually understand each part of the packet header thanks to the docs by humanoid, but I’m still trying to work with LDF, especially in world_2a.bin. I’ve got the decompressed version thanks to Jon’s script, but I don’t understand how all of the keys and their values work. Might you be able to explain this to me?
If you mean LDF Key/Values in general, Appendix A of the docs explains that quite well.
[L:4] - number of keys [L:1] - key length in bytes [L:V] - key, wchar [L:1] - data type (see below) [L:according to data type] - data
Is the basic structure of a LDF part.
Now there is a list of data types:
0 : String (variable wstring?) 1 : s32 3 : Float (32bit, signed) 5 : u32 7 : Boolean (8bit, 0 or 1) 8 : s64 9 : s64, Used only for (object?) IDs? 13 : bytes?
for each key/value pair that you want to encode, just write
– the length of your key string *2 (bytelength) in one byte
– the key itself with wchar_t’s / as wstring
– the data type as 1 byte
– the data itself
for the data itself, just write them out with the specified length or for variable length data types, prepend the data with a u32/unsigned long length specifier.
Okay, the data type section was the part that I totally missed. Thanks for explaining it all to me 🙂 hopefully now I can work with world_2a.bin in its decompressed form.
You must be logged in to reply to this topic.