如何在 VB.Net 中登录我的世界服务器



如何实现 VB.Net 发送包含足够信息的数据包以登录 Minecraft 服务器?我有这些代码行,但我对如何从服务器请求的接收信息一无所知:/

Dim MySocket As New TcpClient(IP, Port)
    Dim Socket As New Wrapped.Wrapped(MySocket.GetStream)
    'Handshake Packet
    Socket.writeInt("4")
    Socket.writeString("localhost")
    Socket.writeShort("25565")
    Socket.writeInt("2")

我的最后一个想法是登录到服务器并继续使用它。我已经在这个网站上阅读了一些东西,但我仍然感到困惑:http://wiki.vg/Protocol#Handshake

感谢您的任何帮助:)

您缺少数据包标头。此外,您可能希望首先在字节数组中构建数据包,例如将MemoryStreamBinaryWriter一起使用。

正确的数据包如下所示:

varint length
varint packetid (0 for handshake)
varint version (4)
length prefixed string serveraddress
UInt16 port
varint nextstate

瓦林特是这样工作的 - https://developers.google.com/protocol-buffers/docs/encoding#varints因此,它们的长度取决于它们具有的值。

相关内容

  • 没有找到相关文章

最新更新