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.

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?

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.