红宝石和Minecraft包

2024-09-30 14:15:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建一个包,并将其发送到Minecraft服务器。这个包裹需要以特定的方式包装。我用python处理了这个问题,但是ruby似乎给了我一个错误。在

下面是打包它的Python代码:

def short(data):
    return pack('>h',data)
def shortchar(data):
    return pack('>H',ord(data))
def string16(data):
    chars = ''.join([shortchar(i) for i in data])
    return short(len(data))+chars

packetbytes = '\x02\x33' + string16(name) + string16(host) + '\x00\x00\x63\xdd'

鲁比,我该怎么做?在


Tags: 代码服务器datareturndef错误方式pack
1条回答
网友
1楼 · 发布于 2024-09-30 14:15:34

试试这个:

def string_16(data)
  [data.size].pack('s>') + data.split('').map(&:ord).pack('S>*')
end

packet_bytes = "\x02\x33" + string_16(name) + string_16(host) + "\x00\x00\x63\xdd"

相关问题 更多 >

    热门问题