2013-05-20 81 views
0

這可能是一個令人困惑的問題... 但以比如戰場2爲例。 它是否有可能通過Python將聊天消息發送到遊戲?我問這個問題的原因是因爲我看到消息從各種遊戲的任何地方出現,並且想知道它是否可能。現在,我理解數據包的方式就是這樣...使用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

是的,從技術上來說是可能。但不是很可行。

你對數據包的說法基本上是正確的,你可以閱讀更多關於here

但是,除了數據包之外,還有完整的協議網絡來決定它們去哪裏以及誰接收它們,你可以閱讀關於這個here

這意味着如果您要模擬與遊戲服務器的連接,您可能會向該服務器發送數據,但很可能服務器不支持隨機連接,只是簡單地發送消息,而服務器期望接收由其他遊戲客戶端創建的連接,除非您能夠正確模擬客戶端的響應和請求,否則它可能不起作用。

這意味着您的想法是使用Python直接連接到服務器並以類似於您所建議的格式發送消息將不起作用。


但是,服務器絕對支持服務器消息,從服務器本身發送到遊戲中的消息,通常如果有人舉辦遊戲,他們可以發送消息作爲遊戲的遊戲服務器(主機)。或者,如果它是專用服務器,則它們可能不在遊戲本身中,並通過管理控制檯將消息發送給遊戲中的玩家。

這很有可能是許多'插件'或方法掛鉤到這個控件是可用的,這意味着你可以發送消息到運行遊戲服務器的應用程序,告訴它應該發送消息到遊戲中。

這將會減少仿真和更多遊戲管理系統的實現。

重要的是要指出,許多遊戲是不同的,他們的操作是不同的,這意味着這可能會或可能不會工作,這取決於可用的選項。我的經驗是像Battlefield2這樣的遊戲(我沒有玩過)通常都會內置這些工具。


具體來說,有了BattleField2,我發現你可能會喜歡一些鏈接。

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

+0

這是一個挺不可思議的答案。非常感謝你做的這些。最好的答案,只要它是可用的。 再次感謝! – Daaksin

相關問題