【问题标题】:Cannot connect to Minecraft Server无法连接到 Minecraft 服务器
【发布时间】:2020-05-21 13:56:39
【问题描述】:

当我尝试使用稍微修改过的 Minecraft 客户端连接到 Minecraft 服务器时出现此错误,该客户端是从这里用 Java 从头开始​​制作的: 原版 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)

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

【问题讨论】:

  • 请发布带有完整堆栈跟踪的完整异常。您的代码中的哪一行抛出了它?
  • 错误来自服务器...

标签: java client minecraft


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 2020-07-03
    • 2019-10-08
    • 2020-01-24
    • 1970-01-01
    • 2011-12-29
    • 2018-12-09
    • 2020-05-05
    相关资源
    最近更新 更多