java - 无法连接到 Minecraft 服务器

标签 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)

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

最佳答案

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

关于java - 无法连接到 Minecraft 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61852041/

相关文章:

java - 为什么 var-arg 参数的类型是 "over approximated"?

java - 使用 Hibernate 查找数据库大小

java - RestTemplate 测试时出现错误请求

java - 使用executorservice控制运行时进程

python - JIRA API - Python Lib - Create_Issue - 选项 ID 'null' 无效

java - Web 服务客户端和 SSL

java - 是否可以通过Java中的NTP客户端同步系统时钟?

java - Minecraft Forge 自定义播放器命令问题

java - 如何打包 forge mod 的依赖项,同时避免类冲突?

android - 仅当我有一个打开的特定应用程序时,才可以在 Android 中执行服务吗?