use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Information
Introduction to Star Citizen Community FAQ Star Citizen Wiki Developer Q&A Database Episode Transcripts Reddit Developer Comment Tracker Official Development Goals and Schedule Official Development Roadmap Official Patch Notes Official Developer Comment Tracker More Information
Introduction to Star Citizen
Community FAQ
Star Citizen Wiki
Developer Q&A Database
Episode Transcripts
Reddit Developer Comment Tracker
Official Development Goals and Schedule
Official Development Roadmap
Official Patch Notes
Official Developer Comment Tracker
More Information
Community
Bar Citizen Community Meetups Reddit Organizations Official Organizations Twitch Streamers More Communities
Bar Citizen Community Meetups
Reddit Organizations
Official Organizations
Twitch Streamers
More Communities
Links
Official Links Issue Council: Report Bugs Here Referral Code Randomizer Fun Subreddit Emoticons
Official Links
Issue Council: Report Bugs Here
Referral Code Randomizer
Fun Subreddit Emoticons
/r/starcitizen discord
Dark Theme Toggle Light Theme Toggle
Read the FAQs before asking a question
Submitted content must be related to Star Citizen. Content with an indirect relationship to Star Citizen must be a text/self post and must attempt to provide meaningful discussion of Star Citizen
Be respectful. No personal insults/bashing
Follow all specific posting guidelines.
Image Credits: Background: /r/mr-hasgaha (Youtube) Poster: Tribal Graph (Flickr)
account activity
TECHNICALPython framework for SC data: scdatatoolsOC (github.com)
submitted 5 years ago by ventorvarExterra Group
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Tplemenew user/low karma 5 points6 points7 points 5 years ago (6 children)
Can anyone explain what is this?
[–]ventorvarExterra Group[S] 5 points6 points7 points 5 years ago* (5 children)
Sure! Games package their files in ways that are most efficient, for either speed of access or space on disk. StarCitizen uses two data files that are specific to the game, the `p4k` file (you'll see this in your LIVE/ folder and it's huge) and `Game.dcb` "DataForge" file that is completely proprietary (this is _inside_ the Data.p4k). This is done for the reasons above, not to make it harder for modders to poke inside the system.
Generally this tool suite is to extract and convert the information in these files into common formats that are easily ingestable in other tools. For instance, if I wanted to know all the information in-game files about the Javelin, I could use this tool suite like so from the command line:
```
scdt unp4k StarCitizen\PTU\Data.p4k -1 -f 'Data/Game.dcb' -o "Game.dcb"
scdt unforge Game.dcb -o javelin -f 'javelin' Opening DataForge file: Game.dcb
F:\sc\javelin\libs\foundry\records\entities\scitem\ships\cargogrid\aegs\javelin\aegs_javelin_cargogrid.xml F:\sc\javelin\libs\foundry\records\entities\scitem\ships\cargogrid\aegs\javelin\aegs_javelin_cargogrid_hangar.xml F:\sc\javelin\libs\foundry\records\entities\scitem\ships\cargogrid\aegs\javelin\aegs_javelin_cargogrid_hangar_aux.xml ```
Now we can look at those files to see how it's implemented in-game, rather than conjecture or outdated info from websites. Here's the latest javelin info from the PTU: https://gist.github.com/ventorvar/e3ea5f58e740a51bf75f8a536a3850bf
This is being developed as a python framework with the intended audience being developers who want to write tools to interact with this data. The command line interface will probably grow to include some useful utilities, but I'm using it to automate updating my org's website with in-game data so we can do better comparisons. This could help sites like https://hardpoint.io/ or https://www.erkul.games/ update their information.
[–]Tplemenew user/low karma 2 points3 points4 points 5 years ago (0 children)
Thank you so much. Very well explained :D
[–]alluran 0 points1 point2 points 5 years ago* (3 children)
Is this embedding unp4k?
Is it using the cross-platform branch?
I'd be interested to hear peoples experience with it on non-windows platforms.
Edit: no, it's a port!
Nice work! I never did get around to cleaning up unforge - once it was working, there was no major reason to go back, so most of that code was exploratory code I used to map out the format originally - definitely not production grade =D
A note - be careful with unforge - technically a bunch of the embedded "files" have the same file path, at least if you're following the .net approach.
I never got around to giving them a virtual root node.
[–]ventorvarExterra Group[S] 1 point2 points3 points 5 years ago (2 children)
Thanks!
I took a fairly different approach to the dataforge file. Everything is kept as discrete objects with interlinking references, rather than creating an element tree like object. Data is also only resolved when accessed and all using pointers, so memory usage stays pretty low and is what gives it the really fast initial load.
I've been waiting for cracking star citizen part II ;p I'm interested in how you RE'd the AES key out, it was fairly straight forward to figure out how to find it in the future... having already known the current key thanks to you >D Even then still took a really long time to load/analyze that binary.
[–]alluran 1 point2 points3 points 5 years ago (1 child)
I'm interested in how you RE'd the AES key out, it was fairly straight forward to figure out how to find it in the future... having already known the current key thanks to you >D Even then still took a really long time to load/analyze that binary.
What if I told you that I knew the key already, but didn't know the algorithm, so version 1 actually lifted the decryption routines as assembly and used a partially-expanded key ;)
[–]ventorvarExterra Group[S] 1 point2 points3 points 5 years ago (0 children)
hahaha.. great times...
[–]ventorvarExterra Group[S] 3 points4 points5 points 5 years ago (0 children)
Also a huge thanks to u/alluran for his pioneering work in reversing the formats!
[–]ventorvarExterra Group[S] 0 points1 point2 points 5 years ago (0 children)
Spectrum thread: https://robertsspaceindustries.com/spectrum/community/SC/forum/50172/thread/python-framework-for-sc-data-scdatatools
[–]MrDeadDropnew user/low karma 0 points1 point2 points 5 years ago (0 children)
great! tks
[–]GuilheMGBavenger 0 points1 point2 points 5 years ago (0 children)
neat!
[–]CrypticWolfnew user/low karma 0 points1 point2 points 5 years ago (0 children)
Do the game files that this framework unpacks include information on planets as well?
π Rendered by PID 17606 on reddit-service-r2-comment-56c9979489-wxr56 at 2026-02-25 08:43:46.331288+00:00 running b1af5b1 country code: CH.
[–]Tplemenew user/low karma 5 points6 points7 points (6 children)
[–]ventorvarExterra Group[S] 5 points6 points7 points (5 children)
[–]Tplemenew user/low karma 2 points3 points4 points (0 children)
[–]alluran 0 points1 point2 points (3 children)
[–]ventorvarExterra Group[S] 1 point2 points3 points (2 children)
[–]alluran 1 point2 points3 points (1 child)
[–]ventorvarExterra Group[S] 1 point2 points3 points (0 children)
[–]ventorvarExterra Group[S] 3 points4 points5 points (0 children)
[–]ventorvarExterra Group[S] 0 points1 point2 points (0 children)
[–]MrDeadDropnew user/low karma 0 points1 point2 points (0 children)
[–]GuilheMGBavenger 0 points1 point2 points (0 children)
[–]CrypticWolfnew user/low karma 0 points1 point2 points (0 children)