Home Homebrew Pubblicato un nuovo aggiornamento per RAWeb (2025.10.07)

Pubblicato un nuovo aggiornamento per RAWeb (2025.10.07)

38
0

Pubblicato un rapido aggiornamento per RAWeb, la piattaforma sviluppata da RetroAchievements.org per la gestione di obiettivi, dati di gioco e funzionalità dedicate alla community.

L’applicazione, realizzata in Laravel sfruttando il TALL stack, si conferma così uno degli strumenti più versatili e in costante crescita per gli appassionati che vogliono monitorare i propri progressi e condividere le esperienze con altri utenti.

L’aggiornamento introduce numerose novità nella Beta Game Page, tra cui una sottile barra laterale con le classifiche visibile su desktop, un avviso per contenuti potenzialmente rischiosi per chi soffre di epilessia fotosensibile, una migliore visibilità dell’hub di gioco e un’interfaccia rivisitata per il reset dei progressi.

Corretti inoltre diversi bug, come un raro errore del server, problemi nella visualizzazione dei dati di gioco e nella gestione dei metadati, oltre a correzioni relative ai “code notes” e ai ticket.

Migliorata anche la struttura dei collegamenti tra hub di eventi con nomi incoerenti e ottimizzata la gestione dei metadati SEO per evitare duplicazioni.

Sul piano tecnico, il team ha introdotto una serie di modifiche al backend e all’ambiente di sviluppo: la sezione API “Connect” è stata riprogettata per un approccio più orientato alle azioni, mentre il sistema di integrazione continua (CI) ha ricevuto due nuove regole personalizzate ESLint e un passaggio da jsdom a happy-dom, che ha incrementato le prestazioni dei test del 25%.

Infine, sono stati risolti ulteriori errori di base PHPStan e aggiunta una colonna dedicata alla versione dell’app per il feedback pubblico nelle beta.

Requisiti

Per eseguire RAWeb localmente, sono necessari i seguenti componenti:

  • Server web locale: È necessario un server web per eseguire l’applicazione.
  • PHP 8.2: La piattaforma richiede PHP 8.2, con diverse estensioni abilitate (come curl, gmp, mysqli, pdo_mysql, gd, intl, sockets).
  • Composer: Il gestore di dipendenze PHP, necessario per installare le librerie richieste da RAWeb.
  • MariaDB 10: Il database supportato per memorizzare i dati.
  • Node.js 20 e pnpm 9: Questi strumenti sono utilizzati per la gestione dei pacchetti frontend e la build degli asset.

RAWeb è compatibile con i seguenti sistemi operativi e configurazioni:

  • Windows, macOS, Linux.
  • Diverse opzioni di configurazione sono disponibili: Docker (con Laravel Sail), XAMPP e Laravel Valet per macOS.

Opzioni di configurazione

Esistono diverse opzioni per configurare RAWeb:

  1. Docker Compose (Windows, Linux, macOS):
    Utilizzando Laravel Sail, l’ambiente di sviluppo viene creato automaticamente con i container Docker. La documentazione di Laravel Sail descrive i passaggi dettagliati. Una volta configurato, è possibile avviare i container con il comando sail up o in modalità demone con sail up -d.
  2. XAMPP (Windows, Linux, macOS):
    È necessario installare XAMPP con PHP 8.2, che include un server Apache, MySQL/MariaDB e PHP. Si dovranno abilitare alcune estensioni in php.ini (come curl, gmp, mysqli, ecc.) per garantire la compatibilità con le dipendenze di RAWeb.
  3. Laravel Valet (macOS):
    Se si utilizza Laravel Valet su macOS, è possibile configurare facilmente l’ambiente locale. Valet agisce come driver per l’ambiente di sviluppo e fornisce una configurazione web locale senza complicazioni.

Installazione di RAWeb

Una volta che il server e le dipendenze sono configurati, l’installazione di RAWeb avviene in due fasi principali:

  1. Installazione delle dipendenze: Dopo aver clonato il repository di RAWeb, eseguire composer install per installare tutte le librerie necessarie. Se si desidera utilizzare la versione locale di composer.phar invece di una globale, si può eseguire php composer.phar install.
  2. Configurazione dell’ambiente: È necessario eseguire il comando composer setup per configurare correttamente l’ambiente. Questo script imposterà le variabili di ambiente e le configurazioni iniziali. Durante questa fase, si consiglia di adattare il file .env con le credenziali del database e l’URL dell’applicazione.

Configurazione dell’ambiente (.env)

Il file .env contiene valori predefiniti sensati, ma potrebbero essere necessarie alcune modifiche:

  • Credenziali del database: Impostare i valori per la connessione al database locale (DB_*).
  • Configurazione dell’URL dell’applicazione: Impostare l’URL dell’applicazione (APP_URL). Per esempio, se si usa Docker, l’URL potrebbe essere http://localhost:64000. Con Valet, potrebbe essere https://raweb.test.

Se si sta utilizzando un ambiente Docker, non sono necessarie ulteriori configurazioni specifiche, poiché l’applicazione rileverà automaticamente la configurazione del container Laravel Sail.

Se si utilizza XAMPP o Valet, sarà necessario regolare l’URL dell’applicazione e configurare correttamente i virtual host o il dominio.

Costruzione e configurazione del frontend

Per generare gli asset frontend:

  1. Installazione delle dipendenze frontend: Utilizzare pnpm install per installare le dipendenze necessarie.
  2. Costruzione degli asset: Eseguire pnpm build per creare la build finale. Con Docker Sail, è possibile eseguire questi comandi tramite sail pnpm install e sail pnpm build.
  3. Creazione dei symlink per il filesystem: Per rendere accessibili i file di archiviazione, eseguire php artisan ra:storage:link --relative per creare i collegamenti simbolici necessari. Anche questo comando è disponibile tramite Sail (sail artisan ra:storage:link --relative).

Configurazione del database

Dopo aver configurato l’ambiente e costruito gli asset, è necessario preparare il database:

  1. Esegui la migrazione: Esegui php artisan migrate per applicare le migrazioni e configurare il database.
  2. Popola il database con dati di test: Usa il comando php artisan db:seed per popolare il database con i dati di test. Puoi eseguire anche questo comando tramite Sail (sail artisan db:seed).

Accesso all’applicazione

A seconda dell’ambiente scelto, puoi accedere all’applicazione nel seguente modo:

Utilizzo per lo sviluppo di obiettivi

Se desideri sviluppare obiettivi localmente, puoi aggiungere un file host.txt nella directory di RALibRetro accanto al file RAIntegration.dll. Questo file deve contenere l’URL del tuo server locale, che potrebbe essere uno dei seguenti:

Sicurezza

Per gestire eventuali vulnerabilità di sicurezza, consulta la Security Policy di RetroAchievements.org, che fornisce indicazioni su come gestire i rischi e proteggere la piattaforma.

In questo modo, puoi configurare e utilizzare RAWeb per gestire obiettivi, giochi e funzionalità della community direttamente dal tuo server locale.

Changelog

Nuove funzionalità

  • Beta Game Page: Aggiunta una sottile barra laterale con le classifiche, solo per desktop by @wescopeland in #3989
  • Beta Game Page: Aggiunto un avviso per contenuti potenzialmente rischiosi per l’epilessia fotosensibile by @wescopeland in #3990
  • Beta Game Page: Migliorata la visibilità dell’hub by @wescopeland in #3988
  • Beta Game Page: Riprogettata l’esperienza utente (UX) per il reset dei progressi by @wescopeland in #3979

Correzioni di bug

  • Beta Game Page: Corretta una rara anomalia del server by @wescopeland in #3986
  • Beta Game Page: Nelle statistiche di tempo di gioco, mostra sempre “Dati insufficienti” se non sono presenti dati by @wescopeland in #3959
  • Beta Game Page: Corretta la visualizzazione degli hub evento nei metadati by @wescopeland in #3995
  • Code Notes: Corretto un parametro di uscita non inizializzato (code notes) by @Jamiras in #3999
  • Games: Evitata la doppia codifica dei metadati SEO by @Jamiras in #3991
  • Hubs: Corretta la costruzione delle relazioni per i breadcrumb degli hub evento con nomi incoerenti by @wescopeland in #3994
  • Tickets: Corretto un parametro di uscita non inizializzato (tickets) by @Jamiras in #4001

Modifiche API

  • Connect: Ristrutturato il parametro ?r=latestintegration in un design orientato alle azioni by @Jamiras in #3993

Modifiche ambientali

  • CI: Aggiunte due regole ESLint personalizzate by @wescopeland in #3996
  • CI: Passaggio da jsdom a happy-dom, aumento delle prestazioni della suite di test di circa il 25% by @wescopeland in #3997
  • Misc: Corretto un altro ciclo di errori di baseline di PHPStan by @wescopeland in #3969
  • Public Betas: Aggiunta la colonna app_version alla tabella dei feedback delle beta by @wescopeland in #3984

Download: Source code RAWeb 2025.10.07

Fonte: github.com