【问题标题】:How to run steam game, connect to the server and execute console cmd using python steam lib?如何使用 python steam lib 运行 Steam 游戏、连接到服务器并执行控制台 cmd?
【发布时间】:2020-07-23 02:42:25
【问题描述】:

我正在使用this 库与steam 通信。我需要“运行”一个游戏,连接到游戏服务器并执行控制台命令(我实际上想用他们的 steam64 ID 获取玩家列表)。文档没有太多关于此的信息。

编辑: 我有一个使用消息(?)接口发布好友请求的示例代码。我想我应该用它来执行游戏命令:

from steam.enums import EResult
from steam.core.msg import MsgProto
from steam.enums.emsg import EMsg

message = MsgProto(EMsg.ClientAddFriend)
message.body.steamid_to_add = 76561197960265728

# client is a SteamClient() object
resp = client.send_message_and_wait(message, EMsg.ClientAddFriendResponse)

但是如何运行游戏并连接到服务器呢?

【问题讨论】:

  • How to Ask 你尝试了什么?代码编写服务也不行。
  • 对不起,但我真的不知道我应该尝试写什么。关于它的文档并不多。如果您给我一个包含有关它的信息的文档的链接-您将真正帮助我。我有一个示例代码,所以我可以将其添加到编辑中。

标签: python steam


【解决方案1】:

docs提到这个方法

steam.client.builtins.gameservers.SteamGameServers(steam).query(filter_text, 
    max_servers=10, 
    timeout=30, 
    **kw)

返回一个看起来像

的服务器列表
[{'auth_players': 0, 'server_ip': '1.2.3.4', 'server_port': 27015},
 {'auth_players': 6, 'server_ip': '1.2.3.4', 'server_port': 27016},
 ...
]

【讨论】:

  • 我知道。它使用主服务器查询协议。我可以使用服务器查询协议 (A2S) 获取玩家列表,但它不返回玩家的 steam64 id
猜你喜欢
  • 2019-10-24
  • 1970-01-01
  • 2015-01-20
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多