无法连接到Minecraft服务器

时间:2020-05-17 12:48:43

标签: java client minecraft

当我尝试从此处使用Java从头开始制作的经过稍微修改的Minecraft客户端尝试连接到Minecraft服务器时,出现此错误: Minecraft原始Java客户端代码:Java sending handshake packets to minecraft server 我对以上代码的修改后的版本:https://pastebin.com/FmsBzKnm 错误来自这里某处...


        socket.close();
        Socket socket2 = new Socket();

        while (!socket2.isConnected()) {
            socket2.connect(host, 4000);
            Thread.sleep(500);
        }

        DataOutputStream out2 = new DataOutputStream(socket2.getOutputStream());
        DataInputStream in2 = new DataInputStream(socket2.getInputStream());

        int packetId2 = getHandshakeAndReturn(version, address, port, 2, out2, in2);
        byte[] test = new byte[readVarInt(in2)];
        in2.readFully(test);
        System.out.println(new String(test));

运行此命令时出现此错误:

Internal Exception: io.netty.handler.codec.DecoderException: 
java.lang.IndexOutOfBoundsException: 
readerIndex(1) + length(1) exceeds writerIndex(1): 
PooledUnsafeDirectByteBuf(ridx: 1, widx: 1, cap: 1)

注意:此错误来自我连接的服务器,而不是我的代码本身。服务器由于上述错误而断开了我的连接。

1 个答案:

答案 0 :(得分:0)

没关系,问题解决了。握手状态2登录后,我发送了错误的字节。