Чтение, анализ и сериализация данных игр серии Freelancer
Note
Этот проект является частью экосистемы Lizerium и относится к направлению:
Если вы ищете связанные инженерные и вспомогательные инструменты, начните оттуда.
Этот репозиторий представляет собой выделенные и доработанные библиотеки для работы с данными игры Freelancer, извлечённые из проекта LibreLancer и переработанные в самостоятельный инструмент.
Проект больше не зависит от LibreLancer и поддерживается отдельно.
- 📌 О проекте
⚠️ Важно- ✨ Что это даёт
- 🚀 Быстрый старт
- 📖 Пример чтения данных игры
- 🧊 JSON сериализация
- 🔄 JSON десериализация
- 🧠 Архитектурная идея
- 🔥 Особенности
- 📦 Где использовать
- 📂 Скриншот
- 📉 Статус
- 📜 License & Origin
- Проект не используется в коммерческих целях
- Исходные компоненты были взяты из открытого проекта LibreLancer
- Использование в коммерции — на ваш страх и риск
С помощью этих библиотек можно:
- 📂 Читать структуру игры Freelancer целиком
- 🧠 Загружать все игровые данные в память
- 🔍 Анализировать конфигурации (
freelancer.iniи др.) - 🔁 Сериализовать состояние игры в JSON
- 🧩 Работать с модами (поддержка доработана)
- ⚙️ Строить свои инструменты:
- Mod Manager
- Анализаторы данных
- Генераторы конфигов
- Тестовые среды
Собери проект и подключи:
Lizerium.Librelancer.DataBridge.dllLibreLancer.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→ вся игра в памяти (структуры, параметры, ресурсы)
var settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto
};
var json = JsonConvert.SerializeObject(data, settings);
File.WriteAllText("freelancer_dump.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 / кастомные сервера)
- хочешь автоматизировать работу с ресурсами игры
Проект активно используется как внутренний инструмент, но может дорабатываться дальше.
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.
