0

这可能是一个令人困惑的问题......但以游戏 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 脚本来将我自己的消息发送到 LAN 游戏并让它出现?如果可能的话,我该如何剖析实际的数据包信息以发现任何参数?我的意思是发现其中包含的数据...

这只是我长期以来的一个想法和一个问题。

谢谢!

4

1 回答 1

0

是的,这在技术上是可行的。但不是很可行。

您所说的有关数据包的内容基本上是正确的,您可以在此处阅读更多信息。

但是,除了数据包之外,还有整个协议网络可以确定它们的去向以及接收者,您可以在此处阅读有关内容。

这意味着如果您设法模拟与游戏服务器的连接,您可能会向该服务器发送数据,但很可能服务器不支持仅发送消息的随机连接,并且服务器希望接收已建立的连接由其他游戏客户端,除非您可以正确模拟客户端的响应和请求,否则它可能无法正常工作。

这意味着您使用 Python 直接连接到服务器并以类似于您建议的格式发送消息的想法将行不通。


然而。服务器绝对支持服务器消息,即从服务器本身发送到游戏中的消息,通常如果有人托管游戏,他们可以作为游戏的游戏服务器(主机)发送消息。或者,如果是专用服务器,它们可能不在游戏中,而是通过管理控制台向游戏中的玩家发送消息。

很可能有许多“插件”或方法可以连接到这个控件,这意味着您可以向运行游戏服务器的应用程序发送一条消息,告诉它应该向游戏发送一条消息。

这将是更少的模拟和更多的游戏管理系统的实施。

重要的是要注意,许多游戏是不同的,它们的操作也不同,这意味着这可能会或可能不会起作用,这取决于可用的选项。根据我的经验,像《战地风云2》(我没玩过)这样的游戏通常都内置了这些工具。


特别是在 BattleField2 中,我发现您可能会喜欢一些链接。

http://www.gamefront.com/files/listing/pub2/Battlefield_2/Official_Server_Files/Dedicated_Server/ http://www.bf2cc.com/

于 2013-05-20T07:49:29.573 回答