Comments (11)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
from aws-minecraft-proxy.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-minecraft-proxy.