Home Homebrew Rilasciato ps3netsrv-go v0.2.0 ora con supporto CHD, client netiso, miglioramenti filesystem...

[Scena PS3] Rilasciato ps3netsrv-go v0.2.0 ora con supporto CHD, client netiso, miglioramenti filesystem e ottimizzazioni prestazionali

80
0

L’aggiornamento più recente di ps3netsrv-go rappresenta un passo avanti importante per questo progetto alternativo e minimalista, nato con l’obiettivo di semplificare l’utilizzo e la distribuzione dei giochi su console PlayStation 3 modificate.

Il software continua a distinguersi per la sua leggerezza e per la facilità di compilazione, grazie all’utilizzo del linguaggio Go, che permette di generare binari indipendenti senza la necessità di librerie esterne.

Questo approccio rende ps3netsrv-go particolarmente accessibile anche su piattaforme diverse, superando uno dei limiti storici della versione originale scritta in C/C++.

Uno degli aspetti più rilevanti di questo aggiornamento è l’introduzione del supporto alle immagini CHD, un formato compresso molto diffuso nel mondo dell’emulazione.

Questa funzionalità consente di gestire immagini disco in maniera più efficiente, riducendo lo spazio occupato senza compromettere la compatibilità.

Il supporto è stato implementato attraverso l’integrazione dinamica della libreria libchdr, accompagnata da un workflow dedicato per la compilazione automatica durante il rilascio.

Inoltre, il sistema è ora in grado di riconoscere e decomprimere correttamente immagini CHD codificate come CD, migliorando ulteriormente la gestione dei contenuti.

Parallelamente, è stato introdotto un client per il protocollo netiso, che amplia le possibilità di comunicazione e interazione con la rete, mentre l’aggiunta delle descrizioni wsgd per Wireshark facilita l’analisi del traffico di rete, risultando particolarmente utile in ambito di sviluppo e debugging.

Questo dimostra come il progetto non sia solo uno strumento pratico, ma anche un laboratorio per comprendere e sperimentare protocolli di rete personalizzati.

Sul fronte tecnico, sono stati effettuati numerosi miglioramenti alla struttura interna del filesystem, ora più modulare ed estensibile, rendendo più semplice l’aggiunta di nuove funzionalità in futuro.

L’introduzione di wrapper per la gestione dei “file times” e il supporto avanzato per FileInfo e handler.File contribuiscono a una gestione più completa e precisa dei file.

Allo stesso tempo, sono state ottimizzate le letture delle immagini CHD, migliorando le prestazioni e riducendo eventuali colli di bottiglia durante l’accesso ai dati.

Non mancano interventi mirati alla stabilità, come la correzione della lettura delle directory, la gestione dei nomi file con opener e il corretto ordinamento dei parametri nelle richieste critiche.

Anche l’interfaccia a riga di comando è stata completata con l’implementazione dei comandi mancanti e vari fix, rendendo lo strumento più completo e affidabile nell’uso quotidiano. L’aggiunta di log di debug più dettagliati aiuta inoltre a individuare eventuali problemi con maggiore facilità.

Infine, il progetto beneficia di un aggiornamento generale delle dipendenze e del passaggio alla toolchain Go 1.26, che garantisce maggiore compatibilità e prestazioni migliori.

Anche la documentazione è stata migliorata, con un README più chiaro e informazioni più dettagliate sulle immagini CHD, rendendo il progetto più accessibile sia ai nuovi utenti che agli sviluppatori.

Caratteristiche

  • Scritto in Go per facilitare la compilazione incrociata e per garantire che i binari risultanti funzionino senza librerie esterne sul sistema di destinazione.
  • Attualmente, i file multipart non sono supportati.
  • Supporta timeout di scambio dati TCP per ridurre le connessioni “appese”.
  • Ora supporta la ricezione di file dalla console (abilitabile con il flag --allow-write).
  • Supporta la decrittazione delle immagini 3k3y/redump al volo, con una ricerca delle chiavi che corrisponde completamente al comportamento del ps3netsrv originale.

Esecuzione del server

Per avviare il server, eseguire il comando: ps3netsrv-go server oppure specificare una directory root personalizzata con il flag --root: ps3netsrv-go server --root=/home/user/games

Configurazione

  • Il server supporta la configurazione tramite variabili d’ambiente e flag della riga di comando.
  • È possibile utilizzare anche un file di configurazione con chiavi di configurazione che corrispondono ai nomi dei flag della riga di comando senza il prefisso --.
  • I file di configurazione vengono cercati nell’ordine:
    1. Flag --config o variabile d’ambiente PS3NETSRV_CONFIG_FILE
    2. File config.ini nella directory corrente.
    3. Directory specifica del sistema operativo per i file di configurazione utente.

Suggerimenti per l’esposizione del server

  • Limitare l’accesso per indirizzo IP con il flag --client-whitelist.
  • Limitare il numero di client con il flag --max-clients.
  • Impostare timeout di connessione inattiva con il flag --read-timeout.
  • Per esporre il server su NAT, è possibile utilizzare tunnel TCP di ngrok o un tunnel SSH inverso a un host con IP pubblico.

Sicurezza

  • Per assicurare la connessione usando TLS, si possono usare terminatori TLS configurati con autenticazione TLS reciproca, notando che il terminatore desiderato deve supportare la “wrapping” di connessioni TCP semplici a TLS con certificato client.

Changelog

  • 1553a9b Aggiunto il supporto alle immagini CHD tramite libchdr caricata dinamicamente.
  • 4b64fc9 Aggiunto il workflow di compilazione di libchdr.
  • 0a2f665 Aggiunto il client del protocollo netiso.
  • 23984f8 Aggiunte le descrizioni wsgd per Wireshark.
  • 5f5744f Uso più ampio di strings.EqualFold.
  • 82c94b0 Compilata libchdr nel workflow di rilascio.
  • 718e5f9 Corretta la lettura delle voci di directory.
  • 7da1bf0 Corretta la gestione dei nomi file con opener e il reporting delle statistiche chd.
  • 60f8855 Corretto l’ordinamento dei parametri nelle richieste nella gestione ReadCD2048Critical.
  • 7ea44aa Implementati i comandi rimanenti nella cli, alcune correzioni.
  • cbeec5f Migliorato il README.
  • 324533a Migliorate le informazioni chd.
  • b84eec9 Integrati i “file times” come wrapper/opener fs.
  • 3b58776 Cercato un file .chd se viene richiesto .chd.iso.
  • 614cae3 Unita la pull request #27 da xakep666/compressed-images.
  • 58f0b56 Unita la pull request #33 da xakep666/filesystem-middelwares.
  • 8453ffe Unita la pull request #34 da xakep666/client.
  • bf85cd9 Unita la pull request #35 da xakep666/fix-release-workflow.
  • 1f4a090 Aggiunti più log di debug.
  • fde784a Ottimizzate le letture CHD allineate.
  • 8333175 Riempito il ConsoleID nel settore informazioni del disco con zeri.
  • ce7f53d Riconosciute e decompresse correttamente le immagini CHD codificate come CD.
  • a68e39b Rifattorizzata l’implementazione interna del filesystem per renderla più facilmente estendibile.
  • 30adebf Rimosso il requisito ReadAt nell’interfaccia interna File.
  • 43ccfe6 Rimosso il precache CHD.
  • 64052e4 Supporto di unwrapping per fs.FileInfo e handler.File.
  • 6b95c3d Aggiornato il README.
  • 03e9777 Aggiornate le dipendenze.
  • d09ab6f Aggiornate le dipendenze e la toolchain di rilascio a Go 1.26.

Download

Windows

macOS

Linux (pacchetti)

Linux (archivi)

Altri

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: Xbox Series

Vedi altri prodotti Xbox Series

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

Ultimo aggiornamento 2026-04-14 / Link di affiliazione / Immagini da Amazon Product Advertising API

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.