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’update introduce diverse migliorie orientate soprattutto alla qualità dell’esperienza utente e alla precisione dei dati.
Tra le novità più rilevanti spicca l’arricchimento delle email di riepilogo annuale, che ora includono anche le informazioni provenienti dai bonus subset giocati tramite multiset, offrendo una panoramica più completa e fedele dell’attività svolta durante l’anno.
Le pagine dei giochi beneficiano di un miglior supporto mobile, permettendo il caricamento di banner ad alta risoluzione anche da dispositivi portatili, un passo importante per rendere la piattaforma sempre più fruibile ovunque.
Sono stati risolti problemi legati al leaderboard dei giochi completati, riportando i calcoli delle classifiche a un sistema pianificato più efficiente, e sono stati corretti errori che potevano causare messaggi di autorizzazione non validi durante la gestione delle segnalazioni da parte dei moderatori.
Altri affinamenti riguardano la gestione delle email, le metriche di tempo di gioco, le query della homepage e la visualizzazione corretta dei dati storici degli utenti, con particolare attenzione alla gestione delle date in UTC per garantire coerenza nei grafici.
L’aggiornamento introduce anche cambiamenti significativi nell’applicazione di gestione interna. Gli achievement ora dispongono di una nuova scheda “Logic”, ispirata ad AutoCR, che affianca uno storico delle versioni, rendendo più chiara l’evoluzione delle regole e delle condizioni nel tempo.
Sul fronte dei giochi, è stato ampliato il supporto alla gestione delle immagini, consentendo di attribuire correttamente i crediti agli autori dei banner, permettendo agli artisti di caricare direttamente le proprie creazioni e tracciando ogni modifica effettuata, a beneficio della trasparenza e della collaborazione.
Dal punto di vista tecnico, RAWeb continua a rafforzare le proprie fondamenta. L’API V2 si arricchisce di un nuovo endpoint JSON:API dedicato agli AchievementSet, facilitando l’integrazione con servizi esterni.
A livello di database sono state introdotte nuove colonne, tabelle e ottimizzazioni strutturali, con una modernizzazione estesa degli schemi e una gestione più chiara degli utenti non classificati. Questi interventi migliorano la coerenza dei dati e preparano la piattaforma a future espansioni.
Non mancano ottimizzazioni generali e miglioramenti per sviluppatori e manutentori del progetto. Sono stati aggiornati diversi componenti, introdotto un sistema di alert per i feed, semplificate alcune operazioni di setup del progetto e migliorata sensibilmente la velocità dell’intera suite di test backend, rendendo lo sviluppo più rapido ed efficiente.
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:
- 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 comandosail upo in modalità demone consail up -d. - 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 inphp.ini(comecurl,gmp,mysqli, ecc.) per garantire la compatibilità con le dipendenze di RAWeb. - 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:
- Installazione delle dipendenze: Dopo aver clonato il repository di RAWeb, eseguire
composer installper installare tutte le librerie necessarie. Se si desidera utilizzare la versione locale di composer.phar invece di una globale, si può eseguirephp composer.phar install. - Configurazione dell’ambiente: È necessario eseguire il comando
composer setupper configurare correttamente l’ambiente. Questo script imposterà le variabili di ambiente e le configurazioni iniziali. Durante questa fase, si consiglia di adattare il file.envcon 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 esserehttp://localhost:64000. Con Valet, potrebbe esserehttps://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:
- Installazione delle dipendenze frontend: Utilizzare
pnpm installper installare le dipendenze necessarie. - Costruzione degli asset: Eseguire
pnpm buildper creare la build finale. Con Docker Sail, è possibile eseguire questi comandi tramitesail pnpm installesail pnpm build. - Creazione dei symlink per il filesystem: Per rendere accessibili i file di archiviazione, eseguire
php artisan ra:storage:link --relativeper 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:
- Esegui la migrazione: Esegui
php artisan migrateper applicare le migrazioni e configurare il database. - Popola il database con dati di test: Usa il comando
php artisan db:seedper 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:
- Docker: http://localhost:64000
- XAMPP: in base alla configurazione del vhost di Apache.
- Laravel Valet: per esempio, https://raweb.test, a seconda della configurazione del dominio.
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:
- http://localhost:64000 se stai eseguendo il server tramite Docker.
- https://raweb.test se stai utilizzando Valet.
- http://raweb.test se il vhost è configurato correttamente.
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à
- Email di riepilogo annuale: Ora includono anche i dati dei bonus subset giocati tramite multiset by
@Jamirasin #4347 - Pagine dei giochi: Su dispositivi mobili è ora supportato il caricamento di banner ad alta risoluzione by
@wescopelandin #4161
Correzioni di bug
- Classifica dei giochi completati: I calcoli di
player_stat_rankingssono tornati a essere eseguiti tramite un sistema pianificato. by@wescopelandin #4359 - Segnalazioni (Claims): Quando un moderatore riattiva una segnalazione, non viene più restituito un errore di tipo “Unauthorized” by
@wescopelandin #4311 - Email: Aggiornamento automatico di
first_update_idquando i commenti vengono eliminati by@wescopelandin #4292 - Pagine dei giochi: Gli utenti non classificati vengono esclusi dalle metriche di tempo di gioco by
@wescopelandin #4366 - Homepage: Rimossa una query molto lenta relativa alle sessioni dei giocatori by
@wescopelandin #4355 - Classifiche:
tableFiltersè stato semplificato infiltersby@Chewin #4364 - Storico utente: Forzata l’interpretazione delle date in UTC nel grafico del miglior giorno by
@Chewin #4340
Modifiche all’app di gestione
- Achievement: Aggiunta una scheda “Logic”, ispirata ad AutoCR, con storico delle versioni by
@wescopelandin #4288 - Giochi: Aggiunto il supporto ai crediti per le immagini dei banner by
@wescopelandin #4363 - Giochi: Consentito agli artisti di caricare direttamente i banner by
@wescopelandin #4368 - Giochi: Tracciate e registrate tutte le modifiche ai banner by
@wescopelandin #4376
Modifiche alle API
- API Web V2: Aggiunto un endpoint JSON:API V2 per la risorsa
AchievementSetby@wescopelandin #4299
Modifiche all’ambiente
- Database: Aggiunto il campo
author_yield_unlocksalla tabella degli achievement. by@wescopelandin #4357 - Database: Aggiunta la colonna virtuale
unlocked_effective_ataplayer_achievementsby@wescopelandin #4356 - Database: Aggiunta la tabella
user_moderation_actionsby@wescopelandin #4209 - Database: Rimosso
users.Untrackedin favore diusers.unranked_atby@wescopelandin #4362 - Database: Modernizzazione estesa degli schemi del database by
@wescopelandin #4304, #4314, #4313, #4305, #4322, #4329, #4342, #4318, #4310, #4315, #4303, #4321, #4333, e #4343 - Database: Sincronizzazione corretta della tabella
unranked_usersconusers.unranked_atby@wescopelandin #4367 - Dipendenze: Aggiornamento di Inertia all’ultima versione by
@wescopelandin #4354 - Varie: Aggiunto un sistema di alert per i feed by
@wescopelandin #4261 - Setup del progetto: Aggiunta la generazione delle chiavi Passport nella fase di configurazione by
@driscin #4302 - Setup del progetto: Ridotta la quantità di dati seed, migliorandone la qualità by
@Jamirasin #4358 - Ricerca: Aggiunto il comando di utilità
ra:search:rebuildby@wescopelandin #4345 - Testing: Velocizzata in modo significativo l’intera suite di test backend by
@wescopelandin #4371
Changelog completo: 2025.12.31 → 2026.01.07
Download: Source code RAWeb 2026.01.07






![[Scena PS3] PSP Debug su PS3 grazie ad un nuovo plugin](https://www.biteyourconsole.net/wp-content/uploads/plug.jpg)
![[Scena DS/2DS/3DS] Rilasciato TWiLight Menu++ v27.22.0](https://www.biteyourconsole.net/wp-content/uploads/TwiLight.jpg)
