Giter Club home page Giter Club logo

Comments (11)

birjj avatar birjj commented on July 29, 2024 1

Unfortunately I have long since stopped using the project myself (and shut down my AWS account, so I can't easily boot up a test server). The following is mostly guess-work.

The error Chunk size is 28 but only 11 was read ; partial packet : {"name":"login_start","params":{"username":"Heptap0ds"}} seems to indicate that we have a protocol issue (we only read 11 of the 28 available chunks for the login packet). I'm assuming this would mostly happen if there is a mismatch between the version of node-minecraft-protocol the server is using, and the Minecraft client that is attempting to connect.

What version of minecraft-protocol is installed on the server (npm list minecraft-protocol)? What version of Minecraft are you attempting to connect using?


If you want to, you can try updating minecraft-protocol to the latest version (currently 1.36.2, which supports Minecraft 1.19) and see if that solves the problem.

npm update minecraft-protocol
sudo systemctl restart minecraft-proxy

from aws-minecraft-proxy.

tecbeat avatar tecbeat commented on July 29, 2024 1

Thank you very much then I will open an issue and link here then.

[Edit]: 1.19.1 -1.19.3 do not work yet according to this issue or have not been merged.

from aws-minecraft-proxy.

birjj avatar birjj commented on July 29, 2024 1

Huh, that would explain it. They could certainly clarify their list of supported versions (which currently includes "1.19").

Unfortunately there isn't much for this project to do until they support the newest version of Minecraft. I'll close this issue for now. Thanks for bringing it to my attention though!

from aws-minecraft-proxy.

tecbeat avatar tecbeat commented on July 29, 2024

In fact it is the protocol version unfortunately minecraft still can not communicate properly because of an object error. I will now fork the proxy once and locally convert it to the new version. And as soon as it works put a mergerequest here. Is there anything to consider when I take a closer look at the repo here?

from aws-minecraft-proxy.

birjj avatar birjj commented on July 29, 2024

I'd assume the problem lies in minecraft-protocol. This project creates an instance of their server, and then start the AWS server when they tell us a client has logged in. Something goes wrong in-between those events.

Either there's an issue with how we use minecraft-protocol (e.g. a mismatch between the installed version and the version of Minecraft client that is trying to connect, as described in my earlier comment) or there's an issue inside minecraft-protocol (in which case an issue should be raised in their repo). It'll take some debugging to figure out which it is.

from aws-minecraft-proxy.

tecbeat avatar tecbeat commented on July 29, 2024

Hi it took me some time to understand the basics. But now I have a clean error message and can go into debugging. If the error message is already familiar to you, it saves me a lot of work.

Error from ::ffff:127.0.0.1 RangeError [ERR_OUT_OF_RANGE]: Deserialization error for login.toServer : Read error for undefined : The value of "offset" is out of range. It must be >= 0 and <= 27. Received -896763878

code: 'ERR_OUT_OF_RANGE',
field: 'login.toServer'

And the reference to Object.packet_login_start (eval at compile (node_modules\protodef\src\compiler.js:258:12))

And still many thanks for the help.

from aws-minecraft-proxy.

birjj avatar birjj commented on July 29, 2024

That's definitely a protocol issue. Did you get around to upgrading the version of minecraft-protocol? What's the current output of npm list minecraft-protocol, and what version of Minecraft is attempting to connect?

from aws-minecraft-proxy.

tecbeat avatar tecbeat commented on July 29, 2024

I'm using the latest version so [email protected]. On npmjs.com 1.18 and 1.19 are listed, I tried it with those two.

from aws-minecraft-proxy.

birjj avatar birjj commented on July 29, 2024

In that case the problem likely should be reported to node-minecraft-protocol.

Just to be sure, could you test out a minimal example and see if you can login with a basic minecraft-protocol server? Running the below on your local machine should create a simple server, which you can then try to connect to on localhost:25565.

# setup the npm folder
mkdir aws-minecraft-proxy-19
cd aws-minecraft-proxy-19
npm init --yes
npm install --save minecraft-protocol
# create our index.js
cat <<EOF > index.js
const mc = require("minecraft-protocol");
const server = mc.createServer({
  "online-mode": true,
  port: 25565,
  keepAlive: false,
  beforePing: data => {
    data.players.max = 0;
    data.version.protocol = 1; // set a known-bad protocol so the user gets an error showing the version name
    data.description.text = "Test server for aws-minecraft-proxy#19";
    data.version.name = "Inactive";
    return data;
  }
});
server.on("login", client => {
  console.log("Player", client.username, "(", client.uuid, ") connected");
  client.end("Successfully connected");
});
server.on("listening", () => {
  console.log("Listening on: 25565");
});
EOF
# run (try to connect to the server on localhost:25565)
node index.js

from aws-minecraft-proxy.

tecbeat avatar tecbeat commented on July 29, 2024

I have executed your code exactly as suggested and additionally as shown in the screenshot. Unfortunately, with both the same error. In addition, I have tried different versions but still had no success. Now I will look at other mc proxies like the problem solved and maybe I can adapt it. Also I managed to set up the proxy local, so now it's easier to just run the index.js and quickly access the proxy in Minecraft itself via localhost.

Screenshot 2023-01-03 120139

from aws-minecraft-proxy.

birjj avatar birjj commented on July 29, 2024

If the same error happens with the simple test code, then it is almost certainly an issue with minecraft-protocol, and not related to this project. You might be able to get more help by opening an issue in their repo.

from aws-minecraft-proxy.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.