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.
Questa nuova versione si è resa necessaria per correggere due problemi importanti: il primo riguardava un errore di divisione per zero che poteva verificarsi nella gestione degli utenti; il secondo correggeva la gestione delle risposte inoltrate nei report dei messaggi, assicurando che venissero instradate correttamente.
Si tratta di interventi mirati ma fondamentali per mantenere la piattaforma stabile, affidabile e sempre più facile da utilizzare.
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 (2025.10.15-B)
- user: Corretto un errore di division by zero (divisione per zero) grazie a
@wescopelandin #4168 - messages: Corretto l’inoltro delle risposte nei report, ora vengono instradate correttamente, grazie a
@wescopelandin #4169
Changelog (2025.10.15)
- chore: Aggiornamento a Laravel 12 by
@wescopelandin #4108
Changelog (2025.10.14)
Nuove funzionalità
- Authentication: Memorizzati i token di reset della password nella tabella
password_reset_tokensby@Jamirasin #4107 - Beta Game Page: Consentito l’ordinamento delle leaderboard in base al proprio rank by
@Chewin #4078 - Beta Game Page: Rivisitata l’UX dei pulsanti contributor nella barra laterale by
@wescopelandin #4093 - Discord Mail: Aggiunto un convertitore da shortcode a markdown e collegato al forwarding su Discord by
@wescopelandin #4090 - Events: Aggiunti conteggi ai gruppi della checklist dei giochi by
@Jamirasin #4106 - Forums: Aggiunto supporto per URL del tipo
/game/X?set=Yby@wescopelandin #4079 e #4124 - Localization: Aggiunte le lingue turco (tr_TR) e portoghese (pt_PT) in #4098
- Moderation: Aggiunto il ruolo “Muted” su Discord quando gli utenti vengono silenziati by
@wescopelandin #4099 - Moderation: Aumentata la visibilità sociale degli stati Muted/Banned by
@wescopelandin #4111 - User Profiles: Aggiornato il label 404 se l’utente è bannato by
@wescopelandin #4110 - User Settings: Aggiunta la sezione Reset Entire Account per utenti non tracciati by
@wescopelandin #4096
Correzioni
- Beta Game Page: Modificata la query dei crediti dei maintainer per ignorare l’autore corrente by
@wescopelandin #4127 - Beta Game Page: Resa condizionale la visualizzazione dell’etichetta del rapporto punti by
@wescopelandin #4114 - Beta Game Page: Resi più reattivi i tooltip dei sottoinsiemi by
@wescopelandin #4121 - Beta Game Page: Corretti i label “subscribe” mancanti su mobile by
@wescopelandin #4104 - Beta Game Page: Corretti alcuni problemi della modalità chiara by
@wescopelandin #4094 - Game Pages: Prevenuta un’eccezione durante l’iterazione di array vuoti by
@Jamirasin #4126 - Localization: Sincronizzato correttamente il
vi_VNby@wescopelandin #4097 - User Tooltip Cards: Prevenuta un’eccezione nella visualizzazione della scheda utente di account recentemente resettati by
@Jamirasin #4113
Modifiche all’app di gestione
- Credits: Risolto un errore del server che poteva verificarsi durante l’aggiunta massiva di crediti per gli achievement by
@wescopelandin #4128 - User Roles: Consentito ai moderatori di assegnare o rimuovere il ruolo CR by
@wescopelandin #4117
Modifiche API
- Connect API: Spostata la gestione dei token di connessione all’interno di un trait by
@Jamirasin #4105 - Connect API: Aggiunte le azioni
StartSessionActioneGetPlayerGameUnlocksActionby@Jamirasin #4102
Modifiche ambientali
- Connect API: Rimosso il codice V2 obsoleto by
@wescopelandin #4100 - I18n: Suddivisi i bundle i18n sul server by
@wescopelandin #4119 - PHPStan: Completata la correzione degli errori di baseline e rimosso il file di baseline by
@wescopelandin #4095 - Vitest: Abilitata l’opzione skipFull sul coverage reporter by
@wescopelandin #4115 - Vitest: Portata la copertura UI al 100% by
@wescopelandin #4116
Download: Source code RAWeb 2025.11.15-B
Fonte: github.com


![[Scena Switch] Rilasciato FuseCheck v1.0.1: Più chiarezza e sicurezza per il ritorno all’OFW su Nintendo Switch](https://www.biteyourconsole.net/wp-content/uploads/FuseChecker-238x178.webp)


![[Scena Switch] Rilasciato FuseCheck v1.0.1: Più chiarezza e sicurezza per il ritorno all’OFW su Nintendo Switch](https://www.biteyourconsole.net/wp-content/uploads/FuseChecker-100x75.webp)
![[Scena Switch] Rilasciato RussellNX v1.6.0](https://www.biteyourconsole.net/wp-content/uploads/GameMaker-1.jpg)
![[Scena PSX] Rilasciato Tonyhax v1.4.4](https://www.biteyourconsole.net/wp-content/uploads/TonyHAX1.jpg)
![[Scena PS Vita] Rilasciato Hassey Collection v0.9](https://www.biteyourconsole.net/wp-content/uploads/HasseyCollection-100x75.webp)