Nuovo Aggiornamento per RAWeb: Installazione, configurazione e nuove funzionalità per RetroAchievements.org




Pubblicato un nuovo aggiornamento per RAWeb, la piattaforma di RetroAchievements.org che gestisce obiettivi, dati di gioco e funzionalità per la community.


Si tratta di un’applicazione Laravel (TALL stack), che consente agli utenti di interagire con la piattaforma RetroAchievements per tracciare i progressi nei giochi e condividerli con altri membri della community.

Tra le novità introdotte, la pagina di visualizzazione delle conversazioni nei messaggi è stata migrata a React, è stata aggiunta la sincronizzazione automatica dei titoli, delle descrizioni e delle badge degli obiettivi con gli eventi attivi, e sono stati implementati tooltip dedicati per gli Hub.

Inoltre, RABot ora può cambiare automaticamente i nickname su Discord quando un utente aggiorna il proprio nome, mentre il motore di ricerca ora supporta gli Hub moderni.

Sono stati risolti numerosi bug, tra cui il corretto reset delle statistiche a zero nei giochi completati, una condizione di gara nell’API Connect che causava errori al server, e la duplicazione degli emulatori nel modulo di creazione ticket.

Sono stati inoltre apportati miglioramenti all’interfaccia utente, come la gestione delle colonne nella lista giochi per gli utenti non autenticati, la correzione dell’effetto “tap behind” sui dispositivi mobili e l’ottimizzazione dei pulsanti del paginatore.

Il ranking globale dei punti ora mostra la classifica corretta nella prima riga quando non è applicato l’ordinamento predefinito, e sono stati risolti problemi di visualizzazione nello stile “Unlocked” della home in modalità chiara.

Ulteriori correzioni riguardano la gestione dello stato client-side nella navigazione degli Hub, errori del server nella ricerca dell’app di gestione, un’ombreggiatura eccessiva nei menu a tendina della navbar e problemi di overflow su Android nelle impostazioni.

Inoltre, gli utenti bannati vengono ora disconnessi forzatamente, mentre nei profili utente è stato corretto un problema che poteva esporre lo username stabile nelle richieste di set.

La Management Console ha ricevuto una nuova colonna “Previously Used By” per le richieste di cambio nome utente, mentre nell’API Connect è stato aggiunto il supporto alla delegazione tramite ULID per HorizonXI.

Infine, a livello ambientale, i Junior Developers sono stati rimossi dalla lista delle preferenze di Pierce nei messaggi.

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.

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.

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.

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).

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).

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

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:

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.

Nuove funzionalità

  • Messaggi: Migrata la pagina di visualizzazione delle conversazioni a React.
  • Eventi: Sincronizzati automaticamente titolo, descrizione e badge degli obiettivi con gli eventi attivi.
  • Hub: Aggiunto un tooltip dedicato per gli Hub al passaggio del mouse.
  • RABot: Modifica automaticamente i nickname su Discord quando un utente cambia nome.
  • Ricerca: Aggiunto il supporto per gli Hub moderni.

Correzioni di bug

  • Giochi completati: corretto il reset delle statistiche a zero.
  • API Connect: Risolta una condizione di gara in submitlbentry che causava errori al server.
  • Modulo di creazione ticket: Eliminata la duplicazione degli emulatori.
  • Liste giochi: Nascosta l’opzione per la colonna “Progress” agli utenti non autenticati.
  • Liste giochi: Corretto l’effetto “tap behind” nei drawers su dispositivi mobili.
  • Liste giochi: Applicato appearance-none ai pulsanti dello spinner del paginatore.
  • Classifica globale dei punti: Risolto l’errore che mostrava un posizionamento errato nella prima riga con ordinamenti non predefiniti.
  • Home: Corretto il problema di stile “Unlocked” in modalità chiara.
  • Hub: Rimosso lo stato lato client durante la navigazione.
  • App di gestione: Risolto un errore del server nella ricerca.
  • Navbar: Ridotta l’ombreggiatura eccessiva nei menu a tendina.
  • Impostazioni: Risolto un problema di overflow su Android.
  • Ticket: Ora i ticket vengono eliminati in modo soft quando un obiettivo viene eliminato in modo soft.
  • Cronologia utente: Corretto il collegamento all’avatar corretto dell’utente.
  • Profili utente: Impedita l’esposizione dello username stabile nei set richiesti.
  • Utenti: Ora gli utenti bannati vengono disconnessi forzatamente.
  • Utenti: Corretto un errore del server nella gestione dei permalink.

Modifiche alla Console di gestione

  • Aggiunta la colonna “Previously Used By” alla tabella delle richieste di cambio nome utente.

Modifiche API

  • API Connect: aggiunto il supporto alla delegazione tramite ULID [HorizonXI].

Modifiche all’ambiente

  • Messaggi: Rimossi i Junior Developers dalla lista delle preferenze di Pierce.

Download: Source code RAWeb 2025.02.27

Fonte: x.com





Source link

***** l’articolo pubblicato è ritenuto affidabile e di qualità*****

Visita il sito e gli articoli pubblicati cliccando sul seguente link

Source link