Skip to content

Lizerium/LizeriumDataToolkit

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,437 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌊 Freelancer Data Toolkit 🌊

Reading, analysis, and serialization of Freelancer game data

🌐 Language: πŸ‡·πŸ‡Ί Russian | βœ… πŸ‡ΊπŸ‡Έ English (current)

Note

This project is part of the Lizerium ecosystem and belongs to the following direction:

If you are looking for related engineering and supporting tools, start there.


πŸ“Œ About the Project

This repository contains extracted and enhanced libraries for working with Freelancer game data, originally taken from the LibreLancer project and reworked into a standalone toolkit.

The project no longer depends on LibreLancer and is maintained independently.


⚠️ Important

  • This project is not intended for commercial use
  • Core components were originally sourced from the open-source LibreLancer project
  • Commercial use is at your own risk

✨ What it provides

With these libraries you can:

  • πŸ“‚ Read the entire structure of a Freelancer game installation
  • 🧠 Load all game data into memory
  • πŸ” Analyze configurations (freelancer.ini, etc.)
  • πŸ” Serialize game state into JSON
  • 🧩 Work with mods (extended support included)
  • βš™οΈ Build your own tools:
    • Mod Manager
    • Data analyzers
    • Config generators
    • Testing environments

πŸš€ Quick Start

1) Add libraries

Build the project and reference:

  • Lizerium.Librelancer.DataBridge.dll
  • LibreLancer.Base.dll

(Prebuilt binaries are available in the Releases section)


πŸ“– Example: Reading game data

using LibreLancer.Data;

var freelancerPath = "C:\\Program Files (x86)\\Freelancer";

var vfs = LibreLancer.Data.IO.FileSystem.FromPath(freelancerPath);

var ini = new FreelancerIni(vfs);
var data = new FreelancerData(ini, vfs);

data.LoadData((msg) =>
{
    Console.WriteLine(msg);
});

Console.ReadLine();

πŸ’‘ What you get

  • ini β†’ game configuration (freelancer.ini)
  • data β†’ entire game loaded into memory (structures, parameters, resources)

🧊 JSON Serialization

var settings = new JsonSerializerSettings
{
    TypeNameHandling = TypeNameHandling.Auto
};

var json = JsonConvert.SerializeObject(data, settings);
File.WriteAllText("freelancer_dump.json", json);

πŸ”„ JSON Deserialization

var settings = new JsonSerializerSettings
{
    TypeNameHandling = TypeNameHandling.Auto
};

var json = File.ReadAllText("freelancer_dump.json");
var data = JsonConvert.DeserializeObject<FreelancerData>(json, settings);

🧠 Architectural Idea

The toolkit operates as:

Freelancer Folder β†’ VFS β†’ INI β†’ Data Model β†’ JSON / Runtime
  • Virtual File System (VFS)
  • Configuration parsing
  • Full game model construction
  • Further processing

πŸ”₯ Features

  • Support for modded game versions
  • Extended data loading
  • Ability to create full game state snapshots
  • Minimal entry point β€” literally 3 lines of code

πŸ“¦ Use Cases

This project is especially useful if you:

  • develop Freelancer mods
  • build analysis tools
  • write server-side logic (FLHook / custom servers)
  • want to automate working with game resources

πŸ“‚ Screenshot


πŸ“‰ Status

The project is actively used as an internal tool, but may continue evolving.


πŸ“œ License & Origin

This project is based in part on code originally derived from the LibreLancer project, which is distributed under the MIT License

This repository contains extracted, adapted, and modified components used for reading, parsing, and serializing Freelancer game data in a standalone form.

Original copyright belongs to:

  • Callum McGing, Librelancer Contributors (2013–2026)
  • Malte Rupprecht (2011–2012)
  • Mono.Xna Team (2006)

All modifications and standalone toolkit integration in this repository are maintained separately.

CREDITS

Packages

 
 
 

Contributors

Languages

  • C# 99.9%
  • HLSL 0.1%