
Minecraft im Browser spielen mit prismarine-web-client
prismarine-web-client (PrismarineJS/prismarine-web-client)
Minecraft-Web-Client, der in Ihrem Browser läuft
Wollten Sie schon immer einen Minecraft-Server von einem Schulchromebook, einem geliehenen Laptop oder einer anderen Maschine ohne installiertes Spiel betreten? prismarine-web-client löst genau dieses Problem. Es läuft ein echter Minecraft-Client in einem Browser-Tab und verbindet sich mit echten Minecraft-Servern - keine lokale Installation erforderlich.
Was prismarine-web-client ist
Dies ist kein vereinfachter 2D-Klon oder eine antiquierte Flash-Approximation von Minecraft. Es handelt sich um einen echten Browser-basierten Client, der auf zwei bewährten PrismarineJS-Bibliotheken aufbaut: mineflayer verwaltet das Minecraft-Protokoll und die Client-Logik, während prismarine-viewer die 3D-Welt rendert. Zusammen schaffen sie etwas, das wirklich funktioniert.
Das Projekt hat 539 Sterne auf GitHub mit einer MIT-Lizenz, was bedeutet, dass Sie es kostenlos verwenden, forken und beliebig ändern können. Es ist in JavaScript geschrieben, was teilweise der Grund ist, warum die Ausführung im Browser überhaupt möglich ist. Das PrismarineJS-Ökosystem gibt es seit Jahren und unterstützt viele Community-Automatisierungstools und Bots, daher ist dies kein Wochenend-Experiment mit defekten Abhängigkeiten.
Es gibt eine Live-Demo auf GitHub Pages. Öffnen Sie sie jetzt in Chrome oder Firefox auf einem Desktop und verbinden Sie sich mit einem Server, ohne etwas zu installieren. Das ist der einfachste Anwendungsfall und ehrlich gesagt eine gute Möglichkeit, zu verstehen, womit Sie es zu tun haben, bevor Sie sich selbst hosten.
Die Technik dahinter (und warum sie clever ist)
Hier wird es wirklich interessant. Das Minecraft-Protokoll läuft über TCP, und Browser können einfach keine rohen TCP-Sockets öffnen. Wie verbindet sich ein Browser-basierter Client also überhaupt mit einem echten Minecraft-Server?

Die Antwort ist eine Proxy-Schicht, die das Paket lokal ausführt. Ihr Browser verbindet sich über WebSocket mit diesem Proxy. Der Proxy übersetzt dann diesen WebSocket-Verkehr in TCP und leitet alles an den Minecraft-Server weiter, auf den Sie abzielen. Aus Sicht des Servers ist es nur ein anderer Client, der sich normal verbindet. Er hat keine Ahnung, dass Sie dies von einem Browser-Tab aus tun.
Diese Architektur ist clever, weil der Client-Code größtenteils in Ihrem Browser läuft (die mineflayer-Logik, das 3D-Rendering), während der Proxy das eine tut, was Browser grundlegend nicht können. Es ist eine saubere Aufteilung. Der Proxy ist leicht und im npm-Paket enthalten, daher gibt es nichts Zusätzliches, das separat eingerichtet werden muss.
Wichtig zu beachten: Jemand muss diesen Proxy irgendwo ausführen. Die gehostete Demo hat einen Server-seitig laufenden Proxy. Für das Self-Hosting läuft es auf Ihrer eigenen Maschine.
Selbst einrichten
Wenn Sie Node.js installiert haben, dauert das gesamte Setup etwa eine Minute. Installieren Sie das Paket global und starten Sie es:

npm install -g prismarine-web-client
prismarine-web-client<! - gh-code-end - >
Öffnen Sie danach http://localhost:8080 in Ihrem Browser. Sie sehen einen Verbindungsbildschirm, der nach einer Serveradresse und einem Benutzernamen fragt. Geben Sie diese ein und klicken Sie auf Verbindung.
Es gibt ein paar Dinge, die Sie wissen sollten, bevor Sie starten. Dies startet den Proxy-Server auf Ihrer lokalen Maschine. Jeder auf dieser Maschine kann ihn über localhost verwenden, aber er ist nicht für andere erreichbar, es sei denn, Sie geben den Port frei. Wenn Sie ihn mit Freunden im gleichen lokalen Netzwerk teilen möchten, müssten Sie an Ihre LAN-IP binden und sie können sich mit der Adresse Ihrer Maschine auf Port 8080 verbinden. Machbar, aber erfordert grundlegende Netzwerkkenntnisse.
Zur Entwicklung oder wenn Sie sich den Code ansehen möchten, klonen Sie das Repository und führen Sie aus:
<! - gh-code-start - >npm install
npm start<! - gh-code-end - >
Dies startet Express und Webpack im Watch-Modus. Speichern Sie eine Datei, es wird in wenigen Sekunden neu erstellt, und Sie aktualisieren, um Änderungen zu sehen. Das Projekt stellt auch einige nützliche Globale auf dem window-Objekt zur Verfügung, zum Debuggen, einschließlich bot, viewer und worldView. Wenn Sie Chrome DevTools öffnen und bot.chat('test') in der Konsole eingeben, können Sie den Chat direkt im Spiel nutzen. Das ist eine schöne Funktion für alle, die erkunden möchten, wie die Dinge funktionieren.
Was gerade funktioniert
Version 1.6.0 bewältigt die Kernschleife zum Erkunden gut. Die Blöcke werden korrekt gerendert, Bewegungen funktionieren in Echtzeit, Mobs und andere Spieler erscheinen, und Sie können Blöcke platzieren und abbauen. Für beiläufiges Erkunden oder leichtes Bauen ohne den vollständigen Java-Client ist es genuinely funktional.

Was noch nicht da ist: Inventarverwaltung, Truhen und Container, Sounds und die meisten Kampfinteraktionen. Die Roadmap des Projekts listet alle diese als geplant auf. Wenn Sie sich also vollständiges Survival-Gameplay mit Crafting, Verzauberung und Villager-Handel vorstellen, wird Version 1.6.0 das nicht abdecken.
Das ist keine Kritik. Eine Minecraft-Welt in Echtzeit in einem Browser-Tab zu rendern, der mit einem Live-Server verbunden ist, ist technisch beeindruckend für sich allein. Der Unterschied zwischen "funktionierendem Erkundungs-Client" und "vollständiger Java-Client-Parität" ist enorm, und das, was sie geliefert haben, ist solide für das, was es tun soll.
Ein praktischer Tipp, während Sie bereits im Browser sind: Wenn Sie auf Blöcke stoßen, die Sie nicht erkennen, ist das Block-Suchtool auf Minecraft.How nützlich für schnelle Abfragen ohne Umschalten auf eine andere App.
Dinge, die Sie stolpern lassen
Versionskompatibilität ist das größte Fallstrick. prismarine-web-client funktioniert mit bestimmten Minecraft-Protokollversionen über die mineflayer-Schicht darunter. Wenn der Server, mit dem Sie sich verbinden, eine nicht unterstützte Version ausführt, erhalten Sie einen Verbindungsfehler ohne klare Erklärung. Überprüfen Sie das GitHub des Projekts auf die Versionen, die die aktuelle Version unterstützt, da sich diese Liste ändert, wenn das PrismarineJS-Team die Protokollunterstützung aktualisiert.

Einige andere häufige Probleme, die Sie kennen sollten:
- Premium-Server-Authentifizierung. Online-Mode-Server (bei denen Ihr Konto gegen Mojang/Microsoft überprüft wird) sind durch diese Einrichtung komplexer zu verbinden. Die Demo und die meisten Self-Hosted-Bereitstellungen funktionieren am saubersten mit Offline-Mode-Servern, wo Sie einen beliebigen Benutzernamen wählen und sich direkt verbinden.
- Leistung in überlasteten Bereichen. Dies ist ein echtes 3D-Renderer im Browser-Tab. Dichtes Gelände, hohe Entitätsanzahlen und überlastete Server belasten die CPU Ihres Browsers deutlich stärker als offene Bereiche mit wenigen Entitäten.
- Nur Desktop-Browser. Chrome und Firefox auf dem Desktop sind die bestätigten Plattformen. Mobile Browser-Unterstützung ist nicht vorhanden, und angesichts der Komplexität des Steuerschemas und der Rendering-Anforderungen kommt sie bald nicht.
- Halten Sie den Proxy am Laufen. Wenn Sie Self-Host verwenden und der Prozess stirbt, kann die Browser-Seite nicht mit etwas verbunden werden. Wenn Sie dies regelmäßig verwenden, lohnt sich die Einrichtung als persistenter Hintergrund-Service dem zusätzlichen Schritt.
Eine Sache, bei der ich vorher falsch lag: Ich nahm an, dies funktioniert nur mit winzigen LAN- oder Personalservern. Es verbindet sich mit jedem Server, den der Proxy über TCP erreichen kann, einschließlich größerer öffentlicher Server, solange die Minecraft-Version passt und Authentifizierung kein Problem ist.
Lohnt sich Ihre Zeit oder nicht
Das hängt ganz davon ab, wofür Sie es brauchen. Als "Spielen Sie Minecraft überall, ohne den Client zu installieren"-Lösung funktioniert es innerhalb seiner aktuellen Grenzen. Erkundung und grundlegende Blockinteraktion sind genuinely nutzbar. Vollständiger Survival-Modus, noch nicht.

Für Server-Administratoren, die eine leichte Möglichkeit haben möchten, ihren Server von einer Maschine ohne das Spiel zu betreten, ist dies tatsächlich ganz praktisch. Kein Launcher, keine Kontoprompt auf Offline-Mode-Servern, einfach einen Browser öffnen und verbinden. Überprüfen, ob ein Build richtig aussieht oder ob Mobs richtig spawnen, erfordert nicht das volle Client-Erlebnis.
Und während Sie bereits im Browser sind, wenn Sie nach einem Skin suchen, den Sie auf einem Server verwenden möchten, hat der Skin-Browser auf Minecraft.How eine solide Sammlung zum Erkunden.
Die wichtigsten Alternativen zu kennen: Eaglercraft ist das anerkannteste Browser-Minecraft-Projekt, obwohl es seine eigene Geschichte und Kompatibilitätsfragen gibt. Für reines Welt-Viewing ohne Spielen ist prismarine-viewer als eigenständige Bibliothek separat zu beachten. Und mineflayer, auf dem dieses Projekt aufbaut, ist der Standard für das Schreiben von Minecraft-Bots statt manuelles Spielen.
Für ein MIT-lizenziertes Open-Source-Projekt, das etwas so technisch Interessantes tut, scheinen 539 Sterne unter dem Radar zu fliegen. Wenn der Anwendungsfall passt, sind die fünf Minuten zum Ausprobieren gut investiert.
<! - gh-polish-start - > <! - gh-polish-end - >

