Il developer SvenGDK ha aggiornato LibProsperoPKG, la libreria open source sviluppata in C# 14 per .NET 10 dedicata alla creazione e gestione dei pacchetti PlayStation 5, introducendo numerose novità che ne ampliano le funzionalità e migliorano l’affidabilità.

A pochi giorni dal debutto del progetto, è già disponibile un importante aggiornamento che introduce nuove funzionalità, migliorando la compatibilità e risolvendo diversi problemi emersi nelle prime versioni, confermando la volontà dell’autore di trasformare la libreria in uno strumento di riferimento per sviluppatori e modder della scena PS5.
Last update for today. A native Linux .so & macOS .dylib library is now also available for testing.https://t.co/BVOPAyuZsp
— SvenGDK (@SvenGDK) July 2, 2026
Tra le novità più rilevanti spicca l’introduzione di un codec UCP completamente compatibile a livello byte per i file trophy2/.ucp e uds/.ucp, una caratteristica che garantisce una gestione più precisa dei file legati ai trofei.
La libreria integra inoltre un nuovo validatore per npbind.dat, fondamentale per verificare la correttezza di questi file durante il processo di packaging, e un generatore dedicato ai file fself, ampliando ulteriormente gli strumenti disponibili per lo sviluppo.
L’aggiornamento porta anche significativi miglioramenti alle prestazioni grazie alle ottimizzazioni apportate all’encoder Kraken, utilizzato nella compressione dei dati, rendendo più efficiente la generazione dei pacchetti.
Un’altra novità importante riguarda la creazione completa dei file sce_suppl in formato ZIP lungo l’intera pipeline di compilazione, permettendo di automatizzare una fase che in precedenza richiedeva interventi aggiuntivi.
Grande attenzione è stata dedicata anche alla correzione dei bug. È stato infatti risolto un problema che provocava la rimozione silenziosa di numerosi metadati durante la costruzione dei pacchetti, coinvolgendo elementi come license, np, self, deltainfo, keymap_rp, changeinfo, pronunciation e trophy.
Corretti inoltre i problemi relativi ai file naps_meta_300, 301, 302 e 308, migliorando l’affidabilità complessiva del processo di creazione dei file PKG.
Sul fronte della compatibilità multipiattaforma, LibProsperoPKG compie un ulteriore passo avanti introducendo le librerie native .so per Linux e .dylib per macOS.
Sebbene questi file riportino ancora la numerazione della versione 1.0, sono già compilati utilizzando il codice sorgente della versione 1.2, offrendo agli utenti dei sistemi operativi alternativi a Windows un supporto molto più completo.
In evidenza
- Pipeline completamente integrata. Cartella → layout PFS interno → crittografia AES-XTS → PFS esterno → container dei metadati \x7FCNT → immagine di debug \x7FFIH finalizzata, dall’inizio alla fine.
- Completamente autonoma. Il modello di progetto GP5, il generatore delle immagini PFS, la crittografia AES-XTS, la firma RSA-3072 dei metadati e la generazione dell’immagine di debug finale vengono gestiti interamente dalla libreria.
- Lettura e scrittura. Consente di analizzare, ispezionare e modificare pacchetti PS5 esistenti (\x7FCNT / \x7FFIH), oltre a crearne di nuovi.
- Generazione delle texture. Il ricodificatore delle immagini DDS (BC7) utilizzate per icone e immagini nella cartella sce_sys si basa su Magick.NET.
Requisiti
| Componente | Requisito |
|---|---|
| Toolchain | .NET 10 SDK o versione successiva |
| Linguaggio | C# 14 |
| Dipendenza NuGet | Magick.NET-Q8-AnyCPU |
Compilazione
cd LibProsperoPKG/src/LibProsperoPkg
dotnet build -c Release
Questo comando genera il file LibProsperoPkg.dll.
Per creare un pacchetto NuGet: dotnet pack -c Release
Guida rapida
Aggiungere un riferimento al progetto (oppure al file LibProsperoPkg.dll compilato o al pacchetto NuGet) e creare un pacchetto partendo da una cartella dell’applicazione già preparata:
using LibProsperoPkg;
var options = new ProsperoBuildOptions
{
Mode = ProsperoPackageMode.Application,
OutputFormat = ProsperoOutputFormat.DebugImage, // Installabile su console in modalità debug
SourceFolder = @"/path/to/prepared/app", // Deve contenere la cartella sce_sys/
OutputFolder = @"/path/to/output",
ContentId = "UP9000-PPSA00000_00-PROSPERO00000000",
TitleId = "PPSA00000",
Title = "My PS5 Application",
Version = "01.00",
};
ProsperoBuildResult result = ProsperoPackageBuilder.Build(options, Console.WriteLine);
Console.WriteLine($"Pacchetto creato in: {result.OutputPath}");
foreach (var warning in result.Warnings)
Console.WriteLine($"Avviso: {warning}");
Analisi di un pacchetto esistente
using LibProsperoPkg.PKG;
ProsperoPkg pkg = ProsperoPkgReader.Read(@"/path/to/some.pkg");
Console.WriteLine($"Tipo: {pkg.Type}");
Console.WriteLine($"Content ID: {pkg.Header.ContentId}");
Console.WriteLine($"Elementi: {pkg.Entries.Count}");
API pubbliche in sintesi
| Namespace | Tipi principali |
|---|---|
LibProsperoPkg |
ProsperoPackageBuilder, ProsperoBuildOptions, ProsperoBuildResult, ProsperoPackageMode, ProsperoOutputFormat, InnerImageForm |
LibProsperoPkg.PKG |
ProsperoPkgBuilder, ProsperoPkgReader, ProsperoPkgWriter, ProsperoFihBuilder, ProsperoPkgSigner, ProsperoDdsEncoder, ProsperoPkg, ProsperoPkgHeader |
LibProsperoPkg.PFS |
ProsperoPfsLayout, ProsperoPfsImage, ProsperoPfsc |
LibProsperoPkg.GP5 |
Gp5Creator, Gp5Project e relativo modello degli elementi. |
LibProsperoPkg.Keys |
ProsperoKeys |
LibProsperoPkg.PlayGo |
ProsperoPlayGo |
Per informazioni più approfondite sullo stato delle funzionalità e sulla documentazione tecnica del formato PKG per PS5, consultare la cartella docs/.
Documentazione
- docs/README.md – Indice della documentazione.
- docs/getting-started.md – Installazione, compilazione e creazione del primo pacchetto.
- docs/api-overview.md – Panoramica delle API pubbliche suddivise per namespace.
- docs/implementation-status.md – Stato delle funzionalità implementate e di quelle ancora mancanti.
- docs/ps5-pkg-format.md – Approfondimento tecnico sul formato PKG della PS5 e sul processo di creazione.
Limitazioni
LibProsperoPkg genera un pacchetto completo e coerente, la cui struttura e il contenitore dei metadati possono essere letti e ricostruiti correttamente tramite il lettore integrato.
Tuttavia, due componenti dell’immagine finale dipendono da informazioni generate direttamente dalla console e vengono quindi ricreate con un approccio best effort anziché essere riprodotte in modo identico: la tabella dei digest dell’immagine finale e l’archivio dei metadati di installazione presente nella parte conclusiva del pacchetto.
La libreria è pensata principalmente per console in modalità debug, dove i controlli sull’immagine finale risultano meno restrittivi. L’accettazione del pacchetto sulla console rimane comunque vincolata all’hardware.
Per maggiori dettagli è possibile consultare docs/implementation-status.md.
Changelog v1.1
- Codec UCP con corrispondenza byte per byte per i file
trophy2/.ucpeuds/.ucp. - Validatore per
npbind.dat. - Generatore di file fself.
- Corretto un problema per cui i metadati relativi a
license,np,self,deltainfo,keymap_rp,changeinfo,pronunciationetrophyvenivano rimossi silenziosamente durante la generazione dei pacchetti.
Changelog v1.2
- Ottimizzazioni all’encoder Kraken.
- I file ZIP di
sce_supplora vengono generati automaticamente lungo l’intero processo di creazione del pacchetto. - Corretti i problemi relativi ai file
naps_meta_300,naps_meta_301,naps_meta_302enaps_meta_308. - Aggiunte le librerie native
.soe.dylibper Linux e macOS (attualmente riportano ancora la versione 1.0, ma sono basate sul codice sorgente della versione 1.2).
Download disponibili
- Windows x64
- File: libprosperopkg-win-x64.zip
- Dimensione: 10,8 MB
- SHA-256:
73c395aeb9915c134a396af718cc0600f2d5eed4417379f500d53d0a2dd2d57b
- Windows ARM64
- File: libprosperopkg-win-arm64.zip
- Dimensione: 9,83 MB
- SHA-256:
cfc694719ef5b9821d9187884791523890a5e4e0bc929273c6c282c393519f7f
- Linux x64
- File: libprosperopkg-linux-x64.zip
- Dimensione: 17,8 MB
- SHA-256:
9e05647419c985bd4590438cb49d3f272d1cbb93d242da6456b0939f92b791fd
- Linux ARM64
- File: libprosperopkg-linux-arm64.zip
- Dimensione: 17,3 MB
- SHA-256:
803dd910988b932ef98b1b7c75f9423bf8bfd2edbd7040c8dd1e64dc5dce7688
- macOS ARM64 (Apple Silicon)
- File: libprosperopkg-osx-arm64.zip
- Dimensione: 14 MB
- SHA-256:
5b5be509ba5390f8640d0bd5af2c05c2ea7d3803ff25723026ceb4f5a9ed4d27
- Libreria .NET
- File: LibProsperoPkg.dll
- Dimensione: 410 KB
- SHA-256:
93e76a5358578fa27462f74db384fd16fec44f58e21fb95841a71d9bec098d1c
- Codice sorgente
- File: Source code (zip)
- File: Source code (tar.gz)
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: PS5
Vedi altri prodotti PS5
Ultimo aggiornamento 2026-07-15 / Link di affiliazione / Immagini da Amazon Product Advertising API
![[Scena DS] GimliDS si aggiorna alla versione 1.7: Migliorati salvataggi su SD, memoria, compatibilità Turrican e gestione EasyFlash](https://www.biteyourconsole.net/wp-content/uploads/GimliDS1900-238x178.webp)


![[Scena DS] GimliDS si aggiorna alla versione 1.7: Migliorati salvataggi su SD, memoria, compatibilità Turrican e gestione EasyFlash](https://www.biteyourconsole.net/wp-content/uploads/GimliDS1900-100x75.webp)

