Minecraft client written in Javascript

Overview

webmc

Discord Try it on gitpod Build and Deploy JavaScript Style Guide

About

Webmc is minecraft client written in Javascript. From web browser this client connects to websocket proxy and then to real minecraft server, so you can play minecraft in the browser.

Demo

Live demo with no installation: https://minecraft.js.org.

Developing on webmc

webmc developer's guide

Screenshots

hypixel nether end

Comments
  • Doesn’t work

    Doesn’t work

    I’ve been trying to play for 20 minutes now. It doesn’t connect to server, is it because I’m on iPad? Hi (same thing happening with https://classic.minecraft.net/(desktop turn on with apple keyboard))

    opened by TheOneWhoIsCool 14
  • The demo never connects

    The demo never connects

    opened by gwhizoftv 12
  • What is the problem?

    What is the problem?

    internal/modules/cjs/loader.js:984 throw err; ^

    Error: Cannot find module 'helmet' Require stack:

    • C:\Users\Administrator\Desktop\webmc\index.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:981:15) at Function.Module._load (internal/modules/cjs/loader.js:863:27) at Module.require (internal/modules/cjs/loader.js:1043:19) at require (internal/modules/cjs/helpers.js:77:18) at Object. (C:\Users\Administrator\Desktop\webmc\index.js:3:16) at Module._compile (internal/modules/cjs/loader.js:1157:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1177:10) at Module.load (internal/modules/cjs/loader.js:1001:32) at Function.Module._load (internal/modules/cjs/loader.js:900:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\Users\Administrator\Desktop\webmc\index.js' ] }
    opened by sudi703 9
  • Waiting for Proxy

    Waiting for Proxy

    I'm getting "Waiting for Proxy" on https://minecraft.js.org. Should this be working?

    Update: If I wait long enough, I get a message telling me it's "connecting." But it never does.

    opened by ldhandley 8
  • Stuck on loading assets screen

    Stuck on loading assets screen

    Running in Firefox on an iPad Air 4 iOS 14.4. Running vanilla mc server 1.16.5 offline mode. Running web-minecraft latest commit in dev mode.

    I suspect something funky is happening with WebKit html rendering over something like Chromium. In the web-minecraft logs I can see that my character is connecting, and in the minecraft server logs I see that the client connects successfully.

    Let me know what other information you would like from me, I am happy to help in debugging all that I can, I absolutely love this project idea!!

    wontfix 
    opened by EricAndrechek 6
  • Risky Repository Name

    Risky Repository Name

    Hi, great work you got here!

    Just a quick reminder to maybe change the name of the repository to something unrelated to Minecraft unless you've made sure Microsoft is fine with it. I had a project of a web-based Minecraft two years ago too, but when it got too much attention, Microsoft struck it down with a DMCA copyright strike... I spent six months on this project only to see it taken down simply because Microsoft wasn't happy with the name "mc", and said that I was using texture packs related to Minecraft, I was devastated. Also, Microsoft also claimed that I was "fishing for real Minecraft accounts", even though my project was nowhere deployed online. So you might want to watch out for that aspect too.

    In conclusion, I'm here to congratulate you on the good work you've put into this, and also to remind you that maybe it's not a good idea to keep the name "Minecraft" as the project name. If you don't agree with me, feel free to close this issue! :raised_hands:

    opened by shaoruu 5
  • Premium account support

    Premium account support

    It is need to be added premium account support to play on 'online-mode=true' servers. Premium password will be stored encrypted in cookies or localStorage.

    enhancement 
    opened by michaljaz 5
  • I cant

    I cant "npm run build"

    cmd : sudo npm run build result:

    [email protected] prebuild /home/lsannier/Desktop/web-minecraft node src/server/prebuild

    Generated blocksDefinitions: /home/lsannier/Desktop/web-minecraft/src/server/../client/static/assets/blocks/blocksDef.json

    internal/modules/cjs/loader.js:983 throw err; ^

    Error: Cannot find module '../build/Release/canvas.node' Require stack:

    • /home/lsannier/Desktop/web-minecraft/node_modules/canvas/lib/bindings.js
    • /home/lsannier/Desktop/web-minecraft/node_modules/canvas/lib/canvas.js
    • /home/lsannier/Desktop/web-minecraft/node_modules/canvas/index.js
    • /home/lsannier/Desktop/web-minecraft/src/server/atlasCreator.js
    • /home/lsannier/Desktop/web-minecraft/src/server/itemsAtlas.js
    • /home/lsannier/Desktop/web-minecraft/src/server/prebuild.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15) at Function.Module._load (internal/modules/cjs/loader.js:862:27) at Module.require (internal/modules/cjs/loader.js:1040:19) at require (internal/modules/cjs/helpers.js:72:18) at Object. (/home/lsannier/Desktop/web-minecraft/node_modules/canvas/lib/bindings.js:3:18) at Module._compile (internal/modules/cjs/loader.js:1151:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1171:10) at Module.load (internal/modules/cjs/loader.js:1000:32) at Function.Module._load (internal/modules/cjs/loader.js:899:14) at Module.require (internal/modules/cjs/loader.js:1040:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/lsannier/Desktop/web-minecraft/node_modules/canvas/lib/bindings.js', '/home/lsannier/Desktop/web-minecraft/node_modules/canvas/lib/canvas.js', '/home/lsannier/Desktop/web-minecraft/node_modules/canvas/index.js', '/home/lsannier/Desktop/web-minecraft/src/server/atlasCreator.js', '/home/lsannier/Desktop/web-minecraft/src/server/itemsAtlas.js', '/home/lsannier/Desktop/web-minecraft/src/server/prebuild.js' ] } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] prebuild: node src/server/prebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] prebuild script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-01-30T08_46_25_105Z-debug.log

    good first issue 
    opened by fox3000foxy 5
  • stuff

    stuff

    add crafting and also add mobs add the ability to hit entities (like punching them and killing them) and fix the block placements like when you place them they are delayed and sometimes don't place. another issue is when you die and respawn you cant break blocks you don't take damage. And also fix the servers frome kicking you off the server or not connecting

    opened by Mikey12006441 3
  • Consider using prismarine-viewer and contributing to it

    Consider using prismarine-viewer and contributing to it

    prismarine-viewer is a library maintained by the prismarineJS community that provides functions to render a minecraft world. It seems like you implemented some part of it, but you also implemented some features that are missing in prismarine-viewer and you are missing some other features. Both projects could be benefit if you decide to use prismarine-viewer for your rendering.

    https://github.com/PrismarineJS/prismarine-viewer

    https://prismarine.js.org/prismarine-viewer/

    wontfix 
    opened by Karang 3
  • Doc to connect to a specific server instance

    Doc to connect to a specific server instance

    Hi @michaljaz ,

    I'd like to connect this client to a self-hosted Minecraft server. From the URL of the demo instance (server=95.111.249.143:10000&nick=RestSeal&proxy=production, I gather:

    • server is where I can indicate server IP and port
    • nick self-explanatory
    • proxy I'm not too sure here what's needed.

    From the dev doc, I see that it's using webmcproxy.glitch.me. But what is this? A WebSocket proxy afaiu ?

    How do you configure this? Deploy one? Using your code? What are the requirement, can any WS proxy be used?

    It'd be nice to put a few lines in the README to explain how to use it.

    opened by nodje 2
  • Game won't load properly

    Game won't load properly

    I went to one of my friend's servers in this game and it got stuck at "Waiting for proxy". Please fix this! This doesn't just happen when I go to my friend's server. It happens every time I open the website.

    opened by drok28 0
  • Stated simpilar plzz?

    Stated simpilar plzz?

    Hello, to connect to a server you said to download ngrok and paper mc but I can't download anything (This is for my school chromebook). Is there any way to access servers without downloading anything? I changed the server IP to play.pvplegacy.net and it connected but kept telling me to log in. I have a real minecraft account, but how do I log in without downloading anything?

    Part 2: I wanted to use the offline mode but where is server.properties? Sorry, can you state this as a way a non developer can understand? I tried searching for server.properties in the files but couldn't find anything. Thank you.

    opened by AriGham 1
  • Connect to custom server?

    Connect to custom server?

    I tried connecting to a cracked minecraft server(no Mojang acc needed) but it got stuck on loading terrain. The server was mc.herobrine.org at port 25565. Any help would be appreciated!

    opened by DakshG07 3
Owner
Michał Jażdżyk
18 years old fullstack dev (discord: drmike#8135)
Michał Jażdżyk
A Minecraft launcher written in Rust, with an Electron frontend.

RustMine A Minecraft launcher written in Rust, with an Electron frontend. Why? I thought it would be fun to use two of my most familiar languages, Rus

sussyimpostor 1 Oct 16, 2022
A tool to simplify importing custom assets in Minecraft

BAMO - Block And Move On A tool to simplify importing custom assets in Minecraft Currently only allows you to quickly prototype models in-game, but fu

Tom Mudway 3 Jul 15, 2022
Minecraft 1.8.9 mod which steals the access token and more things from the targetted user and sends to a backend server for processing. Disclaimer: For educational purposes only.

R.A.T Retrieve Access Token Check DxxxxY/TokenAuth to login into an MC account with a name, token and uuid combo. Features Grabs the username, uuid, t

null 45 Jan 9, 2023
Servidor de Minecraft

Servidor de Minecraft Explore a documentação » Report Bug · Request Feature Sobre o Projeto Esse projeto é um servidor de Minecraft que foi desenvolvi

ndev 6 Jun 14, 2022
✨ Your Minecraft related projects are now easier.

?? MineAPI - Simple Minecraft API Provider ?? Get Started Fill in the src/config.json file completely. Make sure your Node.js version is v16.16.0. Ope

MineAPI 8 Nov 1, 2022
Minecraft modpack that port Create: Above and Beyond to Fabric Toolchain.

English Cabricality Create: Above and Beyond but for Fabric 1.18.2 using Create 0.5. Cabricality aims to port the CAB experience to Fabric, but not 1:

DM Earth 43 Dec 23, 2022
OAC (Odin Anti Cheat) is a anti cheat made for minecraft bedrock.

?? Over 350 Downloads v1.0 + v1.1! ?? OAC Anti-cheat! Dedicated on protecting your minecraft realms and world from hackers. With a dedicated team we h

HateTheGoat 8 Oct 25, 2022
Unofficial API client for the Tidbyt API. Use this client to control Tidbyt devices and integrate with other services.

Tidbyt Client for Node.js Unofficial API client for the Tidbyt API. Use this client to control Tidbyt devices and integrate with other services. Insta

Nicholas Penree 19 Dec 17, 2022
An opensource 360° media viewer written in JavaScript using Electron and Marzipano

open360viewer open360viewer is an opensource 360° media viewer. It is based on electron and marzipano. It currently supports opening equirectangular 3

null 4 Oct 9, 2022
Anagolay Network Javascript SDK written in Typescript

Anagolay Network Javascript SDK written in Typescript. This repo will contain the bindings to Anagolay Network with the sane defaults for pallet usage

Anagolay Network 4 Nov 26, 2022
A free and open-source Automatic Account Creator (AAC) written in Javascript Stack;

A free and open-source Automatic Account Creator (AAC) written in Javascript Stack. ????‍?? Techs Front-end Vue.js Vuex-module-decorators Vuetify.js N

null 24 Dec 17, 2022
Script written in JavaScript (Node) that uploads CGM readings from LibreLink Up to Nightscout

Nightscout LibreLink Up Uploader/Sidecar Simple Script written in JavaScript (Node) that uploads CGM readings from LibreLink Up to Nightscout. The upl

Timo Schlüter 87 Jan 7, 2023
A simple inefficient and buggy JSON parser written in JavaScript. Just a fun project

A simple inefficient and buggy JSON parser written in JavaScript This JSON parser isn't guaranteed to work properly. Its recommended to use builtin JS

Pranav Baburaj 2 Feb 20, 2022
Simple weather app written in HTML, CSS, and JavaScript using the OpenWeather API for fetching weather and geolocation information

Description Simple weather app written in HTML, CSS, and JavaScript using the OpenWeather API for fetching weather and geolocation information. Acknow

Gleb Korzan 4 Feb 23, 2022
A simple cmatrix-like terminal decoration written in JavaScript that supports window resizing.

jsmatrix A simple cmatrix-like terminal decoration written in JavaScript that supports window resizing. Getting Started Dependencies NodeJS Any termin

Fülöp Tibor 7 Mar 27, 2022
The 2D Game Engine written on JavaScript.

CherryEngine The 2D Game Engine written in JavaScript. NEW UPDATE Version 1.2 Added: TypeObjectError.js Changed: static methods are not static now, yo

> sazix 4 Oct 26, 2022
A 3-D software rasterizer written from scratch in nothing but JavaScript

itch.io • Play in the browser Tmp3D is a 3-D software rasterizer written from scratch in nothing but plain-old JavaScript, just for kicks. It makes us

Emre 43 Nov 27, 2022
A Flood-Fill Algorithm written in JavaScript

flood https://magnogen.net/flood A Flood-Fill Algorithm for Creative Coders This is the source code for a section of my website. You're welcome to sno

Magnogen 5 Dec 22, 2022