Python-将登录数据包发送到Minecraft服务器 [英] Python - send login packet to Minecraft Server

查看:350
本文介绍了Python-将登录数据包发送到Minecraft服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法从python向Minecraft服务器发送登录数据包?
这是我现在所拥有的:

import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
addr = ("localhost", 25565)
client.connect(addr)
client.sendall(chr(0x02))
client.sendall(chr(0xFD))
client.sendall(chr(0xCD)) # After sending this line server still don't kick me
client.sendall(chr(0x06)+str(117)+str(70)+str(-46)) # And now server kicks me :-(
client.sendall(chr(0x03)+str("Hello World"))
print client.recv(4096)
client.close()


希望有一种方法可以做到这一点:-).

顺便说一句,我想发送具有非高级用户名(或不存在的用户名)的登录数据包,如果可能的话:-))

解决方案

一种替代方法是使用else-else的python库为您提供帮助-例如采石场或其他在此处提及的地方.另请参阅与此相关的问题.

Is there a way to send a login packet to minecraft server from python?
Here is what i have right now:

import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
addr = ("localhost", 25565)
client.connect(addr)
client.sendall(chr(0x02))
client.sendall(chr(0xFD))
client.sendall(chr(0xCD)) # After sending this line server still don't kick me
client.sendall(chr(0x06)+str(117)+str(70)+str(-46)) # And now server kicks me :-(
client.sendall(chr(0x03)+str("Hello World"))
print client.recv(4096)
client.close()


Hope there is a way to do this :-).

EDIT:

BTW, I'd like to send login packets with non-premium username (or one that doesn't exists), if it is possible :-) )

解决方案

An alternative would be to use someone-else's python library that does it for you - like quarry or others mentioned here. Also see this related question.

这篇关于Python-将登录数据包发送到Minecraft服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆