LEGO® Universe Newly Imagined
Menu
  • Home
  • Download
    • Music
    • Server Progress
  • Forums
  • Info
    • People
    • World
    • FAQ
    • Objects
  • Tutorial
    • Compile in Visual Studio
    • Server 0.3
    • Server 0.4 (Pre-2)
    • Server 0.5.1
  • Home
  • Download
    • Music
    • Server Progress
  • Forums
  • Info
    • People
    • World
    • FAQ
    • Objects
  • Tutorial
    • Compile in Visual Studio
    • Server 0.3
    • Server 0.4 (Pre-2)
    • Server 0.5.1

LUNI Research


Home › Forums › General Discussion › LUNI Research

  • This topic has 3 replies, 2 voices, and was last updated 9 years, 8 months ago by Timtech.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • August 29, 2015 at 7:30 pm #164
    Xiphoseer
    Moderator

    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

    • A process communication diagram for how LUNI connects with the client right now
    • My proposal for session states to be used in LUNI to create a precise understanding of the state the client is in at any given time

    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.

    August 30, 2015 at 12:39 pm #415
    Timtech
    Keymaster

    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?

    August 31, 2015 at 5:39 am #431
    Xiphoseer
    Moderator

    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.

    August 31, 2015 at 8:40 am #443
    Timtech
    Keymaster

    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.

  • Author
    Posts
Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.
Log In

Comments are currently closed.

Preferred Language


  • English (en) English (en)
  • Deutsch (de) Deutsch (de)
  • Español (es) Español (es)

Search the Forums


Recent Topics


  • Happy New Year
  • FORUMS CLOSED

Forums

  • General Discussion

Important Sites

  • LU Server Projects Github online
  • Community Discord online
  • Search the LUNIverse

    Please Note

    The LEGO Group has not endorsed or authorized the operation of this game and is not liable for any safety issues in relation to the operation of this game.

    Copyright © 2015-2021 LUNI™ Server Project

    Hosted by TimTech Software