Skip to content

Lizerium/LizeriumDataToolkit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,421 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 Freelancer Data Toolkit 🌊

Чтение, анализ и сериализация данных игр серии Freelancer


Note

Этот проект является частью экосистемы Lizerium и относится к направлению:

Если вы ищете связанные инженерные и вспомогательные инструменты, начните оттуда.

📌 О проекте

Этот репозиторий представляет собой выделенные и доработанные библиотеки для работы с данными игры Freelancer, извлечённые из проекта LibreLancer и переработанные в самостоятельный инструмент.

Проект больше не зависит от LibreLancer и поддерживается отдельно.


⚠️ Важно

  • Проект не используется в коммерческих целях
  • Исходные компоненты были взяты из открытого проекта LibreLancer
  • Использование в коммерции — на ваш страх и риск

✨ Что это даёт

С помощью этих библиотек можно:

  • 📂 Читать структуру игры Freelancer целиком
  • 🧠 Загружать все игровые данные в память
  • 🔍 Анализировать конфигурации (freelancer.ini и др.)
  • 🔁 Сериализовать состояние игры в JSON
  • 🧩 Работать с модами (поддержка доработана)
  • ⚙️ Строить свои инструменты:
    • Mod Manager
    • Анализаторы данных
    • Генераторы конфигов
    • Тестовые среды

🚀 Быстрый старт

1) Подключение библиотек

Собери проект и подключи:

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

(Готовые сборки доступны в разделе Releases)


📖 Пример чтения данных игры

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();

💡 Что ты получаешь

  • ini → конфигурация игры (freelancer.ini)
  • dataвся игра в памяти (структуры, параметры, ресурсы)

🧊 JSON сериализация

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

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

🔄 JSON десериализация

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

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

🧠 Архитектурная идея

Инструмент работает как:

Freelancer Folder → VFS → INI → Data Model → JSON / Runtime
  • Виртуальная файловая система (VFS)
  • Парсинг конфигураций
  • Построение полной модели игры
  • Дальнейшая обработка

🔥 Особенности

  • Поддержка модифицированных версий игры
  • Расширенная загрузка данных
  • Возможность полного snapshot'а состояния игры
  • Минимальный вход — буквально 3 строки кода

📦 Где использовать

Этот проект особенно полезен если ты:

  • разрабатываешь моды для Freelancer
  • делаешь инструменты анализа
  • пишешь серверную логику (FLHook / кастомные сервера)
  • хочешь автоматизировать работу с ресурсами игры

📂 Скриншот


📉 Статус

Проект активно используется как внутренний инструмент, но может дорабатываться дальше.


📜 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

About

Чтение, анализ и сериализация данных игр серии Freelancer (https://librelancer.net)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C# 99.9%
  • HLSL 0.1%