PrismarineJS / PrismarineJS/node-minecraft-protocol

Oficial client with microsoft auth is not connect to 1.12.2 vanilla server via ./node_modules/minecraft-protocol/examples/proxy

Open
#1,030 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
1.4k
Forks
290
Avg merge
4d 8h
Merged PRs (30d)
7

Description

Versions

  • minecraft-protocol: 1.35.1
  • server: vanilla 1.12.2
  • node: 16.16.0

Detailed description of a problem

Oficial client with microsoft auth is not connect to 1.12.2 vanilla server via ./node_modules/minecraft-protocol/examples/proxy

For detailed see section "Expected behavior"

Current code

// none )))

Expected behavior

Obviously connect to the server through a proxy)))

Additional context

in minecraft server folder:

  • set online-mode=false in server.properties file
  • start minecraft server with command java -Xmx1024M -Xms1024M -jar server.1.12.2.jar nogui

in custom folder

rm -rf ~/.minecraft
rm -rf ./*
npm install minecraft-protocol
cd ./node_modules/minecraft-protocol/examples/proxy
node ./proxy.js localhost 1.12.2

then start oficial minecraft-launcher
then install and start minecraft client 1.12.2
then add server and proxy in client

  • server: localhost:25565
  • proxy: localhost:25566

then test connect to server [success]
then test connect to server via proxy [error]
in server console:

[11:24:11] [Server thread/INFO]: Starting minecraft server version 1.12.2
[11:24:11] [Server thread/INFO]: Loading properties
[11:24:11] [Server thread/INFO]: Default game type: SURVIVAL
[11:24:11] [Server thread/INFO]: Generating keypair
[11:24:11] [Server thread/INFO]: Starting Minecraft server on *:25565
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/...../server/server.1.12.2.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[11:24:11] [Server thread/INFO]: Using epoll channel type
[11:24:11] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[11:24:11] [Server thread/WARN]: The server will make no attempt to authenticate usernames. Beware.
[11:24:11] [Server thread/WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[11:24:11] [Server thread/WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[11:24:11] [Server thread/INFO]: Preparing level "world"
[11:24:11] [Server thread/INFO]: Loaded 488 advancements
[11:24:11] [Server thread/INFO]: Preparing start region for level 0
[11:24:12] [Server thread/INFO]: Preparing spawn area: 28%
[11:24:13] [Server thread/INFO]: Preparing spawn area: 99%
[11:24:13] [Server thread/INFO]: Done (2,271s)! For help, type "help" or "?"

in proxy console:

Incoming connection (::ffff:127.0.0.1)
Connection error by server (::ffff:127.0.0.1)  Error: ForbiddenOperationException
    at call (/....../node_modules/yggdrasil/src/utils.js:35:40)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async refresh (/....../node_modules/yggdrasil/src/Client.js:43:18)
Error: ForbiddenOperationException
    at call (/....../node_modules/yggdrasil/src/utils.js:35:40)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async refresh (/....../node_modules/yggdrasil/src/Client.js:43:18)
Connection closed by client (::ffff:127.0.0.1)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the connection through node-minecraft-protocol/examples/proxy using the listed Minecraft, Node, and server versions. Start at examples/proxy/proxy.js, then trace the ForbiddenOperationException through yggdrasil/src/utils.js and yggdrasil/src/Client.js. Done means the official 1.12.2 client connects through the proxy to the vanilla server without that error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
authentication, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.