
Gioca a Minecraft nel Browser con prismarine-web-client
prismarine-web-client (PrismarineJS/prismarine-web-client)
Client web Minecraft che gira nel tuo browser
Hai mai voluto unirti a un server Minecraft da un Chromebook scolastico, un laptop preso in prestito o qualsiasi computer che non ha il gioco installato? prismarine-web-client risolve esattamente questo problema. Esegue un vero client Minecraft all'interno di una scheda del browser e si connette a server Minecraft reali, senza richiedere installazioni locali da parte del giocatore.
Cos'è prismarine-web-client
Non è un clone 2D semplificato o un'approssimazione di Minecraft dell'era Flash. È un vero client basato su browser costruito su due librerie PrismarineJS consolidate: mineflayer gestisce il protocollo Minecraft e la logica del client, mentre prismarine-viewer renderizza il mondo 3D. Insieme creano qualcosa che funziona veramente.
Il progetto ha 539 stelle su GitHub con licenza MIT, il che significa che è gratuito da usare, forkare e modificare come preferisci. È scritto in JavaScript, il che è in parte il motivo per cui è possibile eseguirlo in un browser. L'ecosistema PrismarineJS esiste da anni e alimenta molti strumenti di automazione della comunità e bot, quindi non è un esperimento del fine settimana con una catena di dipendenze rotta.
C'è una demo dal vivo ospitata su GitHub Pages. Aprila in Chrome o Firefox su un desktop adesso e connettiti a un server senza installare nulla. È il caso d'uso più semplice e, sinceramente, un buon modo per capire con cosa hai a che fare prima di preoccuparti di auto-hosting.
La Tecnologia Dietro (E Perché È Intelligente)
È qui che diventa genuinamente interessante. Il protocollo Minecraft funziona su TCP, e i browser semplicemente non possono aprire socket TCP grezze. Allora, come si connette un client basato su browser a un server Minecraft reale?

La risposta è uno strato proxy che il pacchetto esegue localmente. Il tuo browser si connette a questo proxy tramite WebSocket. Il proxy traduce quindi quel traffico WebSocket in TCP e invia tutto al server Minecraft che stai puntando. Dal punto di vista del server, è solo un altro client che si connette normalmente. Non ha idea che stai facendo questo da una scheda del browser.
Questa architettura è intelligente perché il codice del client funziona principalmente nel tuo browser (la logica mineflayer, il rendering 3D), mentre il proxy gestisce l'unica cosa che i browser fondamentalmente non possono fare. È una divisione netta. Il proxy è leggero e raggruppato con il pacchetto npm, quindi non c'è nulla di extra da configurare separatamente.
Vale la pena notare: qualcuno deve eseguire quel proxy da qualche parte. La demo ospitata ne ha uno in esecuzione lato server. Per l'auto-hosting, viene eseguito sulla tua macchina.
Configurarlo Tu Stesso
Se hai Node.js installato, l'intera configurazione richiede circa un minuto. Installa il pacchetto globalmente e avvialo:

npm install -g prismarine-web-client
prismarine-web-client<! - gh-code-end - >
Dopo di ciò, apri http://localhost:8080 nel tuo browser. Vedrai una schermata di connessione che chiede un indirizzo del server e un nome utente. Inserisci questi e premi connetti.
Alcune cose da capire prima di iniziare. Questo avvia il server proxy sulla tua macchina locale. Chiunque su quella macchina può usarlo tramite localhost, ma non sarà raggiungibile da altri a meno che non esponi la porta. Se vuoi condividerlo con amici sulla stessa rete locale, devi eseguire il binding al tuo IP LAN e farli connettere all'indirizzo della tua macchina sulla porta 8080. Fattibile, ma richiede conoscenze di rete di base.
Per lo sviluppo o se vuoi approfondire il codice, clona il repo ed esegui:
<! - gh-code-start - >npm install
npm start<! - gh-code-end - >
Questo avvia express e webpack in modalità watch. Salva un file e si ricompila in pochi secondi, aggiorna per vedere i cambiamenti. Il progetto espone anche una manciata di globali utili sull'oggetto window per il debug, inclusi bot, viewer e worldView. Se apri Chrome DevTools e digiti bot.chat('test') nella console, puoi usare la chat in-game direttamente da lì. È un bel tocco per chiunque voglia esplorare come funzionano le cose.
Cosa Funziona Adesso
La versione 1.6.0 gestisce bene il ciclo principale per l'esplorazione. Guarda, i blocchi si renderizzano correttamente, il movimento funziona in tempo reale, i mob e gli altri giocatori compaiono, e puoi posizionare e rompere i blocchi. Per l'esplorazione casuale o la costruzione leggera senza il client Java completo, è genuinamente funzionale.

Quello che non c'è ancora: gestione dell'inventario, forzieri e contenitori, suoni e la maggior parte delle interazioni di combattimento. La roadmap del progetto elenca tutti questi come pianificati. Quindi, se stai immaginando il gameplay di sopravvivenza completo con craft, incantesimi e commercio con i villici, la versione 1.6.0 non coprirà questo.
Non è una critica. Renderizzare un mondo Minecraft in tempo reale all'interno di una scheda del browser, connesso a un server dal vivo, è tecnicamente impressionante di per sé. Il divario tra "client di esplorazione funzionante" e "parità completa con il client Java" è enorme, e quello che hanno distribuito è solido per quello che si propone di fare.
Un uso pratico mentre sei già in modalità browser: se incontri blocchi che non riconosci, lo strumento di ricerca dei blocchi su Minecraft.How è utile per ricerche rapide senza necessità di passare a un'altra app.
Cose Che Ti Faranno Inciampare
La compatibilità della versione è il più grande tranello. prismarine-web-client funziona con versioni specifiche del protocollo Minecraft attraverso lo strato mineflayer sottostante. Se il server a cui ti stai connettendo esegue una versione non supportata, riceverai un errore di connessione senza una spiegazione chiara. Controlla il GitHub del progetto per vedere quali versioni la versione corrente supporta, perché questo elenco cambia man mano che il team PrismarineJS aggiorna il supporto del protocollo.

Alcuni altri problemi comuni che vale la pena conoscere in anticipo:
- Autenticazione server premium. I server in modalità online (quelli che verificano il tuo account rispetto a Mojang/Microsoft) sono più complessi da connettere tramite questa configurazione. La demo e la maggior parte delle distribuzioni auto-ospitate funzionano in modo più pulito con i server in modalità offline in cui scegli un nome utente e ti connetti direttamente.
- Prestazioni in aree affollate. Questo è un vero renderer 3D che funziona in una scheda del browser. Terreni densi, grandi numeri di entità e server affollati spingeranno notevolmente più forte la CPU del tuo browser rispetto alle aree aperte con poche entità.
- Solo browser desktop. Chrome e Firefox su desktop sono le piattaforme confermate. Il supporto per i browser mobile non c'è, e date la complessità dello schema di controllo e le esigenze di rendering, non arriverà presto.
- Mantieni il proxy in esecuzione. Se stai auto-hosting e il processo muore, la pagina del browser non può connettersi a nulla. Se lo usi regolarmente, configurarlo come servizio di background persistente vale lo sforzo extra.
Una cosa che avevo sbagliato prima di provarlo: assumevo che funzionasse solo con piccoli server LAN o personali. Si connette a qualsiasi server che il proxy può raggiungere su TCP, inclusi quelli pubblici più grandi, purché la versione di Minecraft corrisponda e l'autenticazione non sia un ostacolo.
Vale la Pena del Tuo Tempo o No
Dipende interamente da quello di cui hai bisogno. Come soluzione "gioca a Minecraft ovunque senza installare il client", funziona entro i suoi attuali limiti. L'esplorazione e l'interazione di base con i blocchi sono genuinamente utilizzabili. Modalità di sopravvivenza completa, non ancora.

Per gli amministratori di server che vogliono un modo leggero per accedere al loro server da una macchina senza il gioco installato, questo è in realtà piuttosto pratico. Nessun launcher, nessun prompt di account sui server in modalità offline, basta aprire un browser e connettersi. Verificare se una costruzione ha un aspetto corretto o se i mob si generano correttamente non richiede l'esperienza completa del client.
E mentre sei già nel browser, se stai cercando uno skin da usare su un server, il browser skin su Minecraft.How ha una collezione solida da esplorare.
Le principali alternative che vale la pena conoscere: Eaglercraft è il progetto Minecraft browser più riconosciuto, anche se ha la sua storia e domande di compatibilità che lo circondano. Per la pura visualizzazione del mondo senza giocare, prismarine-viewer come libreria standalone vale la pena conoscere separatamente. E mineflayer, su cui questo progetto si basa, è il riferimento per lo scripting dei bot Minecraft piuttosto che il gioco manuale.
Per un progetto open-source con licenza MIT che fa qualcosa di tecnicamente interessante come questo, 539 stelle sembrano volare sotto il radar. Se il caso d'uso si adatta, i cinque minuti per provarlo sono ben spesi.
<! - gh-polish-start - > <! - gh-polish-end - >

