extractor
Извлечение и конвертация предметов и других данных для игры Star Citizen.
Извлечение данных из файлов полученных от Data.p4k
ВАЖНО Начиная с патча 3.20.0 структура Data.p4k
была изменена и многие данные удалены из архива. Команды ниже могут не работать.
Data_3.18.0\Libs\Foundry\Records\entities\spaceships
Data_3.18.0\Libs\Foundry\Records\entities\groundvehicles
Data_3.18.0/Localization/english/global.ini
Сгенерировать JSON с предметами:
extractor convert --dir data/spaceships/ | jq . > data/spaceships.json
extractor convert --dir data/groundvehicles/ | jq . > data/groundvehicles.json
Корабли
Конвертировать сырой список кораблей в pydantic модель и сохранить в файл:
extractor vehicles parse --file data/spaceships.json --output data/spaceships_parsed.json --vehicle-type space_ship --unique -i data/Data_3.18.0/Localization/english/global.ini
Наземный транспорт
Конвертировать сырой список наземного транспорта в pydantic модель и сохранить в файл:
extractor vehicles parse --file data/groundvehicles.json --output data/groundvehicles_parsed.json --vehicle-type ground_vehicle --unique -i data/Data_3.18.0/Localization/english/global.ini
Просмотр
Вывести список кораблей и наземной техники:
extractor read -f data/spaceships_parsed.json -k name_en -t json > data/spaceships_names.json
extractor read -f data/groundvehicles_parsed.json -k name_en -t json > data/groundvehicles_names.json
Извлечение данных с robertsspaceindustries.com
Скопировать матрицу кораблей и наземного транспорта с сайта Star Citizen в файл:
curl https://robertsspaceindustries.com/ship-matrix/index | jq . > data/matrix.json
Конвертировать сырой список кораблей в pydantic модель и сохранить в файл:
extractor matrix parse --file data/matrix.json --output data/matrix_parsed.json
Наполнение БД
Добавить в БД версию патча:
extractor fulfill patches --version 3.18 --released-at 2023-03-10
Добавить в БД производителей кораблей и наземного транспорта:
extractor fulfill manufacturers --version 3.18 --file data/groundvehicles_parsed.json --file data/spaceships_parsed.json --file data/matrix_parsed.json
Локализовать производителей кораблей и наземного транспорта:
extractor localization manufacturers --file data/global-ru.ini
Подчистить от артефактов:
extractor clean manufacturers
Добавить в БД корабли и наземный транспорт:
extractor fulfill vehicles --version 3.18 --file data/groundvehicles_parsed.json --file data/spaceships_parsed.json
К сожалению матрица кораблей с сайта data/matrix_parsed.json
не содержит идентификаторов позволяющих сопоставить корабли из дата-файла. Поэтому необходимо использовать ручной способ заполнения БД:
extractor fulfill vehicles --version 3.18 --manual --file data/matrix_parsed.json
Описание
Извлечение и конвертация предметов и других данных для игры Star Citizen.