
Tarayıcıda Minecraft Oyna, prismarine-web-client ile
prismarine-web-client<\/a> (PrismarineJS\/prismarine-web-client)<\/span><\/h3>
Tarayıcınızda çalışan Minecraft web istemcisi<\/p>
<\/div>
GitHub'da Yıldız Ver ↗<\/a>
<\/div>
⭐ 539 yıldız<\/span>💻 JavaScript<\/span>📄 MIT<\/span><\/div>
<\/div>
<! - gh-polish-end - >
Okul Chromebook'undan, ödünç alınan bir dizüstü bilgisayardan veya oyun kurulı olmayan herhangi bir cihazdan bir Minecraft sunucusuna katılmak istediyseniz? prismarine-web-client tam bu sorunu çözer. Tarayıcı sekmesi içinde gerçek bir Minecraft istemcisi çalıştırır ve hiçbir yerel kurulum gerektirmeden gerçek Minecraft sunuculara<\/a> bağlanır.<\/p>
prismarine-web-client Nedir<\/h2>
Bu basitleştirilmiş bir 2D klonu veya Flash döneminden kalma bir taklit değildir. İyi kurulmuş iki PrismarineJS kütüphanesi üzerine inşa edilen gerçek bir tarayıcı tabanlı istemcidir: mineflayer Minecraft protokolünü ve istemci mantığını yönetirken, prismarine-viewer 3D dünyayı render eder. Birlikte gerçekten çalışan bir şey oluştururlar.<\/p>
Proje GitHub'da 539 yıldız ve MIT lisansı ile konumlanmıştır, bu da istediğiniz gibi özgürce kullanabileceğiniz, fork edebileceğiniz ve değiştirebileceğiniz anlamına gelir. JavaScript ile yazılmıştır, bu da tarayıcıda çalıştırılmasının neden mümkün olduğunun bir nedenidir. PrismarineJS ekosistemi yıllar boyunca var olmuş ve birçok topluluk otomasyon aracı ile botunu güçlendirmiştir, bu nedenle kopuk bağımlılığı olan hafta sonu deneyi değildir.<\/p>
GitHub Pages'da barındırılan canlı bir demo mevcuttur. Şu anda Chrome veya Firefox'ta masaüstünde açın ve hiçbir şey kurmadan bir sunucuya bağlanın. Bu en basit kullanım durumu ve kendi barındırılmasıyla uğraşmadan önce ne ile uğraştığınızı anlamak için iyi bir yoldur.<\/p>
Arkasındaki Teknoloji (Ve Neden Akıllıca)<\/h2>
İşte gerçekten ilginç olan kısım. Minecraft protokolü TCP üzerinde çalışır ve tarayıcılar sadece ham TCP soketleri açamaz. Peki bir tarayıcı tabanlı istemci gerçek bir Minecraft sunucusuna nasıl bağlanır?<\/p>

prismarine-web-client tarafından render edilen 3D Minecraft dünyasını gösteren tarayıcı sekmesi, bloklar ve oyuncu varlıkları ile<\/figcaption><\/figure>
Cevap, paketin yerel olarak çalıştırdığı bir proxy katmanıdır. Tarayıcınız WebSocket üzerinden bu proxy'ye bağlanır. Proxy daha sonra WebSocket trafiğini TCP'ye çevirir ve hedeflediğiniz Minecraft sunucusuna her şeyi iletir. Sunucunun perspektifinden, bu sadece normal şekilde bağlanan başka bir istemcidir. Bunun bir tarayıcı sekmesinden yapıldığını bilmez.<\/p>
Bu mimari akıllıdır çünkü istemci kodu çoğunlukla tarayıcınızda çalışır (mineflayer mantığı, 3D rendering), proxy ise tarayıcıların temel olarak yapamadığı tek şeyi yönetir. Temiz bir bölünüştür. Proxy hafiftir ve npm paketinde paketlenmiştir, bu nedenle ayrı olarak ayarlanacak hiçbir şey yoktur.<\/p>
Değer katması: birinin bu proxy'yi bir yerde çalıştırması gerekir. Barındırılan demoda bir sunucu tarafında çalışan var. Kendi barındırma için, kendi makinenizde çalışır.<\/p>
Kendiniz Ayarlama<\/h2>
Node.js yüklüyse, tüm kurulum yaklaşık bir dakika sürer. Paketi küresel olarak yükleyin ve başlatın:<\/p>

prismarine-web-client tarafından render edilen 3D Minecraft dünyasını gösteren tarayıcı sekmesi, bloklar ve oyuncu varlıkları ile<\/figcaption><\/figure>
<! - gh-code-start - >code<\/span><\/div>npm install -g prismarine-web-client
prismarine-web-client<\/code><\/pre><\/div><! - gh-code-end - >
Bundan sonra, http:\/\/localhost:8080<\/code> adresini tarayıcınızda açın. Sunucu adresini ve kullanıcı adını sorun bir bağlantı ekranı göreceksiniz. Bunları girin ve bağlan'a basın.<\/p>
Başlamadan önce anlamanız gereken birkaç şey var. Bu, yerel makinenizde proxy sunucusu başlatır. Aynı makinedeki herkes localhost üzerinden kullanabilir, ancak portu açığa çıkarmadığınız sürece başkaları tarafından ulaşılamaz. Bunu yerel ağ üzerindeki arkadaşlarınızla paylaşmak istiyorsanız, LAN IP'sine bağlamanız ve makine adresinizin 8080 portuna bağlanmalarını sağlamanız gerekir. Mümkün, ancak temel ağ bilgisi gerektirir.<\/p>
Geliştirme için veya koda dalmak istiyorsanız, depoyu klonlayın ve çalıştırın:<\/p>
<! - gh-code-start - >
code<\/span><\/div>npm install
npm start<\/code><\/pre><\/div><! - gh-code-end - >
Bu, express ve webpack'i watch modunda başlatır. Bir dosyayı kaydedin, birkaç saniye içinde yeniden derler ve değişiklikleri görmek için yenile. Proje ayrıca hata ayıklama için window<\/code> nesnesinde bir avuç kullanışlı global açığa çıkarır, bot<\/code>, viewer<\/code> ve worldView<\/code> dahil olmak üzere. Chrome DevTools'u açarsanız ve konsolda bot.chat('test')<\/code> yazarsanız, doğrudan oradan oyun içi sohbeti kullanabilirsiniz. Bu, işlerin nasıl çalıştığını araştırmak isteyen herkes için güzel bir dokunuş.<\/p>
Şu Anda Neler Çalışıyor<\/h2>
1.6.0 sürümü keşif için ana döngüyü iyi yönetir. Bloklarıyla doğru şekilde render edilir, hareket gerçek zamanlı olarak çalışır, moblar ve diğer oyuncular görünür ve blokları yerleştirebilir ve kırabilirsiniz. Tam Java istemcisi olmadan rahat keşif veya hafif inşaat için gerçekten işlevseldir.<\/p>

prismarine-web-client tarafından render edilen 3D Minecraft dünyasını gösteren tarayıcı sekmesi, bloklar ve oyuncu varlıkları ile<\/figcaption><\/figure>
Henüz orada olmayan: envanter yönetimi, sandıklar ve kaplar, sesler ve çoğu dövüş etkileşimi. Projenin yol haritası tüm bunları planlı olarak listeler. Yani eğer tam survival oyun oynama, zanaat, büyülü ve köylü ticareti pictürlüyorsanız, 1.6.0 sürümü bunu karşılamayacaktır.<\/p>
Bu bir eleştiri değil. Tarayıcı sekmesi içinde gerçek zamanlı bir Minecraft dünyasını render etmek, canlı bir sunucuya bağlanmak, teknik olarak kendi başına etkileyicidir. "Çalışan keşif istemcisi" ile "tam Java istemci paritesi" arasındaki boşluk muazzamdır ve sevkedikleri şey bunu yapmak için istediği şey için soliddir.<\/p>
Okul Chromebook'undan, ödünç alınan bir dizüstü bilgisayardan veya oyun kurulı olmayan herhangi bir cihazdan bir Minecraft sunucusuna katılmak istediyseniz? prismarine-web-client tam bu sorunu çözer. Tarayıcı sekmesi içinde gerçek bir Minecraft istemcisi çalıştırır ve hiçbir yerel kurulum gerektirmeden gerçek Minecraft sunuculara<\/a> bağlanır.<\/p>
Bu basitleştirilmiş bir 2D klonu veya Flash döneminden kalma bir taklit değildir. İyi kurulmuş iki PrismarineJS kütüphanesi üzerine inşa edilen gerçek bir tarayıcı tabanlı istemcidir: mineflayer Minecraft protokolünü ve istemci mantığını yönetirken, prismarine-viewer 3D dünyayı render eder. Birlikte gerçekten çalışan bir şey oluştururlar.<\/p>
Proje GitHub'da 539 yıldız ve MIT lisansı ile konumlanmıştır, bu da istediğiniz gibi özgürce kullanabileceğiniz, fork edebileceğiniz ve değiştirebileceğiniz anlamına gelir. JavaScript ile yazılmıştır, bu da tarayıcıda çalıştırılmasının neden mümkün olduğunun bir nedenidir. PrismarineJS ekosistemi yıllar boyunca var olmuş ve birçok topluluk otomasyon aracı ile botunu güçlendirmiştir, bu nedenle kopuk bağımlılığı olan hafta sonu deneyi değildir.<\/p>
GitHub Pages'da barındırılan canlı bir demo mevcuttur. Şu anda Chrome veya Firefox'ta masaüstünde açın ve hiçbir şey kurmadan bir sunucuya bağlanın. Bu en basit kullanım durumu ve kendi barındırılmasıyla uğraşmadan önce ne ile uğraştığınızı anlamak için iyi bir yoldur.<\/p>
İşte gerçekten ilginç olan kısım. Minecraft protokolü TCP üzerinde çalışır ve tarayıcılar sadece ham TCP soketleri açamaz. Peki bir tarayıcı tabanlı istemci gerçek bir Minecraft sunucusuna nasıl bağlanır?<\/p>
Cevap, paketin yerel olarak çalıştırdığı bir proxy katmanıdır. Tarayıcınız WebSocket üzerinden bu proxy'ye bağlanır. Proxy daha sonra WebSocket trafiğini TCP'ye çevirir ve hedeflediğiniz Minecraft sunucusuna her şeyi iletir. Sunucunun perspektifinden, bu sadece normal şekilde bağlanan başka bir istemcidir. Bunun bir tarayıcı sekmesinden yapıldığını bilmez.<\/p>
Bu mimari akıllıdır çünkü istemci kodu çoğunlukla tarayıcınızda çalışır (mineflayer mantığı, 3D rendering), proxy ise tarayıcıların temel olarak yapamadığı tek şeyi yönetir. Temiz bir bölünüştür. Proxy hafiftir ve npm paketinde paketlenmiştir, bu nedenle ayrı olarak ayarlanacak hiçbir şey yoktur.<\/p>
Değer katması: birinin bu proxy'yi bir yerde çalıştırması gerekir. Barındırılan demoda bir sunucu tarafında çalışan var. Kendi barındırma için, kendi makinenizde çalışır.<\/p>
Node.js yüklüyse, tüm kurulum yaklaşık bir dakika sürer. Paketi küresel olarak yükleyin ve başlatın:<\/p>
Bundan sonra, Başlamadan önce anlamanız gereken birkaç şey var. Bu, yerel makinenizde proxy sunucusu başlatır. Aynı makinedeki herkes localhost üzerinden kullanabilir, ancak portu açığa çıkarmadığınız sürece başkaları tarafından ulaşılamaz. Bunu yerel ağ üzerindeki arkadaşlarınızla paylaşmak istiyorsanız, LAN IP'sine bağlamanız ve makine adresinizin 8080 portuna bağlanmalarını sağlamanız gerekir. Mümkün, ancak temel ağ bilgisi gerektirir.<\/p>
Geliştirme için veya koda dalmak istiyorsanız, depoyu klonlayın ve çalıştırın:<\/p>
<! - gh-code-start - > Bu, express ve webpack'i watch modunda başlatır. Bir dosyayı kaydedin, birkaç saniye içinde yeniden derler ve değişiklikleri görmek için yenile. Proje ayrıca hata ayıklama için 1.6.0 sürümü keşif için ana döngüyü iyi yönetir. Bloklarıyla doğru şekilde render edilir, hareket gerçek zamanlı olarak çalışır, moblar ve diğer oyuncular görünür ve blokları yerleştirebilir ve kırabilirsiniz. Tam Java istemcisi olmadan rahat keşif veya hafif inşaat için gerçekten işlevseldir.<\/p>
Henüz orada olmayan: envanter yönetimi, sandıklar ve kaplar, sesler ve çoğu dövüş etkileşimi. Projenin yol haritası tüm bunları planlı olarak listeler. Yani eğer tam survival oyun oynama, zanaat, büyülü ve köylü ticareti pictürlüyorsanız, 1.6.0 sürümü bunu karşılamayacaktır.<\/p>
Bu bir eleştiri değil. Tarayıcı sekmesi içinde gerçek zamanlı bir Minecraft dünyasını render etmek, canlı bir sunucuya bağlanmak, teknik olarak kendi başına etkileyicidir. "Çalışan keşif istemcisi" ile "tam Java istemci paritesi" arasındaki boşluk muazzamdır ve sevkedikleri şey bunu yapmak için istediği şey için soliddir.<\/p>
prismarine-web-client Nedir<\/h2>
Arkasındaki Teknoloji (Ve Neden Akıllıca)<\/h2>

Kendiniz Ayarlama<\/h2>

npm install -g prismarine-web-client
prismarine-web-client<\/code><\/pre><\/div><! - gh-code-end - >
http:\/\/localhost:8080<\/code> adresini tarayıcınızda açın. Sunucu adresini ve kullanıcı adını sorun bir bağlantı ekranı göreceksiniz. Bunları girin ve bağlan'a basın.<\/p>
npm install
npm start<\/code><\/pre><\/div><! - gh-code-end - >
window<\/code> nesnesinde bir avuç kullanışlı global açığa çıkarır, bot<\/code>, viewer<\/code> ve worldView<\/code> dahil olmak üzere. Chrome DevTools'u açarsanız ve konsolda bot.chat('test')<\/code> yazarsanız, doğrudan oradan oyun içi sohbeti kullanabilirsiniz. Bu, işlerin nasıl çalıştığını araştırmak isteyen herkes için güzel bir dokunuş.<\/p>
Şu Anda Neler Çalışıyor<\/h2>





