Anyone interested in a new .pak tool?

Discussion in 'Starbound Modding' started by Qix, May 4, 2016.

  1. Qix

    Qix Space Hobo

    I'm jumping into Starbound modding and realized pretty quickly that automating certain things is kind of a pain - namely, building up of .(mod)pak files.

    I was looking at some of the guides here and came across a tool that showed easy support for showing modpack contents - but it only worked on Windows.

    Alas, the OS X and linux tools lists were empty.

    So I poked around a little more and found several neat libraries that can already open the .pak file format, and I quickly realized it's pretty impressively fleshed out. Looks like a not-so-childish implementation of a B-tree based block filesystem, complete with pages. Neat! No wonder the game loads so fast.

    I work quite a lot with FUSE and figured it'd be cool to make an open source tool that could mount .pak files as regular directories on both OS X and linux - meaning, you can browse .pak files like they were regular files on your computer. It'd look exactly the same as if you unpacked them, worked with the files, and then re-packed them - without actually having to unpack/re-pack them. Plus, you don't have to waste any extra space on your hard drive.

    Also, I guess a pain point is the extraction/packing times of some of the larger mods/main asset files. This tool wouldn't have that problem :)

    Anyway, I don't really want to jump too deep into it unless it'd be used. I just finished the mmap-ing portion of it to make it super fast and already played around with a Java implementation of the FUSE bits using a pre-existing library, though they didn't have any write functionality in there and it was kind of slow (poorly written). But it worked, and it was awesome.

    Would this be of interest to the community?
     
    magewish4 likes this.
  2. The | Suit

    The | Suit Agent S. Forum Moderator

    I think a lot of users will appreciate it, especially since Pak Gui is out of date currently.
     
    Qix likes this.
  3. Qix

    Qix Space Hobo

    Cool, well that's motivating :)

    I should also note that it wouldn't work on Windows - not by choice, but because FUSE isn't supported. Maybe with the next version of windows, but I doubt it.
     
  4. The | Suit

    The | Suit Agent S. Forum Moderator

    Oh - well it will still be users for Mac and Linux - though the user base will be quite a bit smaller.
     
  5. Qix

    Qix Space Hobo

    Yeah, though if there are any Python developers for windows, the entire program will essentially be a library with just a tiny bit of FUSE functionality. They could easily just use the .pak file stuff and adapt it to whatever tool they'd want to make.
     
  6. The | Suit

    The | Suit Agent S. Forum Moderator

  7. I'd love to see this, if not just to get some more insight on how Starbound's B-tree filesystem works.
    I've looked at source for other projects, but I'm afraid I just don't really get it.
     

Share This Page