Started making some kind of proxy client to Minecraft. After reading a protocol, I wrote everything how it was described and still can't get json status as response. Here's code I wrote:
def shift(val, imp)
mask = (1 << (32 - imp)) - 1
return (val >> imp) & mask
end
def writeVarInt(value, sock)
while (true) do
if ((value & 0x7F) == 0) then
sock.send([value].pack('C'), 0)
return
end
sock.send([(value & 0x7F) | 0x80].pack('C'), 0)
value = shift(value, 7)
end
end
server = TCPSocket.new('connect.2b2t.org', 25565)
writeVarInt(340, server)
server.send(['127.0.0.1'].pack('A'), 0)
server.send([25565].pack('S'), 0)
writeVarInt(1, server)
puts server.recv(1024)
If needed, there is link to protocol: https://wiki.vg/Protocol#Definitions