这可能是一个令人困惑的问题...... 但是以游戏Battlefield2为例。 是否可以通过Python向游戏发送聊天消息?我问这个的原因是因为我看到消息从各种游戏中的任何地方出现,并想知道它是否可能。现在,我理解数据包的方式是这样的......
这是一小部分数据,包含发件人IP地址和收件人IP地址。数据包中包含的是数据。所以,理论上......如果聊天消息的“数据包名称”如下:
SRV_CHAT|<Sender_Info>|<Message Text>
(For example): SRV_CHAT|10.1.1.5,Player1|hello, how's the game?
这是否意味着我可以创建一个Python脚本来将自己的消息发送到局域网游戏并让它出现?如果可能,我如何解析实际的数据包信息以发现任何参数?我的意思是,发现那里包含的数据......
这只是我长期以来的一个想法和问题。
谢谢!
答案 0 :(得分:0)
是的,技术上是可能的。但不太可行。
您对数据包所说的内容基本上是正确的,您可以阅读有关here的更多信息。
但是,除了数据包之外,还有整个协议网络可以确定它们的去向以及接收它们的人,您可以阅读here。
这意味着如果您设法模拟与游戏服务器的连接,您可能会将数据发送到该服务器,但很可能服务器不支持随机连接只是发送消息,并且服务器希望接收连接这是由其他游戏客户端制作的,除非您可以正确模拟客户端的响应和请求,否则它可能无法正常工作。
这意味着您使用Python直接连接到服务器并以与您建议的格式相似的格式发送消息的想法是不可行的。
然而。服务器最肯定地支持服务器消息,从服务器本身发送到游戏中的消息,通常如果某人主持游戏,他们可以发送消息作为游戏的游戏服务器(主机)。或者,如果它是专用服务器,它们可能不在游戏本身,并通过管理控制台向游戏中的玩家发送消息。
很可能有很多“插件”或方法可以挂钩到这个控件,这意味着你可以向运行游戏服务器的应用程序发送消息,告诉它应该向游戏发送消息。 / p>
这将减少游戏管理系统的仿真和实施。
重要的是要注意,许多游戏是不同的,并且它们的操作是不同的,这意味着这可能会或可能不会起作用,具体取决于可用的选项。根据我的经验,像Battlefield2这样的游戏(我还没玩过)通常会内置这些工具。
特别是在BattleField2中,我发现了一些您可能喜欢的链接。
http://www.gamefront.com/files/listing/pub2/Battlefield_2/Official_Server_Files/Dedicated_Server/ http://www.bf2cc.com/