跳转到主要内容

Source服务器、RCON、A2S、VDF、Steam Web API以及各种其他Valve产品和服务使用的Python实现。

项目描述

PyPI PyPIPythonVersions Travis Coveralls

Python-valve

Python-valve是一个Python库,旨在提供对各种Valve产品和服务的一个统一的接口,包括

  • Source服务器

    • A2S服务器查询

    • RCON

  • Source主服务器

  • Steam Web API

  • 本地Steam客户端

  • Valve数据格式/键值 (.vdf)

要开始使用,请使用pip安装Python-valve: pip install python-valve

RCON示例

在这个示例中,我们连接到Source服务器的远程控制台并向它发送一个简单的echo命令。

from valve.source.rcon import RCON

SERVER_ADDRESS = ("...", 27015)
PASSWORD = "top_secret"

with RCON(SERVER_ADDRESS, PASSWORD) as rcon:
    print(rcon("echo Hello, world!"))

服务器查询示例

在这个示例中,我们通过列出所有在运行地图ctf_2fort的欧洲和亚洲的《反恐精英2》服务器,以及每个服务器上按分数排序的玩家,演示了Source主服务器和A2S查询的实现。

import valve.source
import valve.source.a2s
import valve.source.master_server

with valve.source.master_server.MasterServerQuerier() as msq:
    try:
        for address in msq.find(region=[u"eu", u"as"],
                                gamedir=u"tf",
                                map=u"ctf_2fort"):
            with valve.source.a2s.ServerQuerier(address) as server:
                info = server.info()
                players = server.players()
            print("{player_count}/{max_players} {server_name}".format(**info))
            for player in sorted(players["players"],
                                 key=lambda p: p["score"], reverse=True):
                print("{score} {name}".format(**player))
    except valve.source.NoResponseError:
        print "Master server request timed out!"

版本控制

Python-valve使用语义版本控制。目前,Python-valve尚未达到1.0版本的发布。因此,每个小版本都可能包含破坏性更改。因此,当在setup.pyrequirements.txt中将Python-valve指定为需求时,建议指定具体的版本号。例如:python-valve==0.2.0

测试

Python-valve使用Pytest来运行其测试套件。单元测试覆盖率始终在提高。还包括了功能测试,这些测试针对真实的Source服务器运行。

如果在处理 Python-valve,请使用以下命令安装测试依赖项并运行测试:

pip install -e .[test]
py.test tests/ --cov valve/

文档

文档使用 Sphinx 编写,并托管在 Read the Docs

如果在处理 Python-valve,请使用以下命令安装文档依赖项,构建文档并在浏览器中打开。

pip install -e .[docs]
(cd docs/ && make html)
xdg-open docs/_build/html/index.html

Python 2

Python-valve 支持 Python 2.7!然而,请注意,Python 2.7 将在 2020 年后不再维护。Python-valve 可能 在 2020 年之前的一个重大版本中取消对 Python 2.7 的支持,以便利用新的、不向后兼容的 Python 3 功能。

强烈建议新的 Python-valve 项目使用 Python 3。

商标

Valve、Valve 标志、半条命、半条命标志、Lambda 标志、Steam、Steam 标志、团队 fortress、团队 fortress 标志、反作用力、击败之日、击败之日标志、反恐精英、反恐精英标志、Source、Source 标志、反恐精英:条件零、传送门、传送门标志、Dota、Dota 2 标志和古代防御者是 Valve 公司的商标和/或注册商标。

对这些内容的任何引用仅用于识别目的。Valve 公司与 Python-valve 或任何 Python-valve 贡献者没有任何关联。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分发

python-valve-0.2.1.tar.gz (43.7 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面