请求SC2匹配并启动客户端进行人工和/或人工智能/机器人游戏的接口

sc2gameLobb的Python项目详细描述


pypi构建状态coverage statuscrates.io

在梯子上玩星际争霸2作为人类或人工智能对抗其他人类人工智能

关于

这个储存库的目标是使星际争霸2的玩家,人工智能开发者和熟练的程序员都能创建 在星际争霸2比赛中与他人竞争的玩家。策略是创建一个更加友好的用户界面 界面使大多数人都可以轻松设置比赛并与之比赛

理由:为什么要创建这个存储库?

现在有一个只面向人工智能开发人员的梯形图,sc2ai.net。当那个项目处于活动状态时 截至2018年7月6日的开发,其路线图不支持阻碍开发人员努力的几个关键功能 (比如我们的)创建公开可见的人工智能。下面是这个梯形图支持的几个特性 sc2ai.net可能不会。

  • 在自己的机器上和别人在自己的机器上玩。你不再受别人的限制 正在与游戏中的其他玩家共享系统资源的计算机。
  • 支持人工智能对人工智能,人工智能对人类和人类对人类的游戏。
  • 人工智能开发人员无需共享源代码或任何可执行文件。
  • 非程序员或对特定语言熟练程度较低的程序员可以设置的快速、用户友好的设置 起来。无需手动搜索+编辑文件。

简要功能概述

此SC2大堂套餐的主要功能如下:

  1. 发出匹配请求,以便其他可用的玩家或静态机器人可以与您匹配。当被匹配时 对抗对手,如果没有有效的对手可以与您在队列中进行匹配,则会自动匹配您 而不是其他公开的机器人算法或暴雪的内置机器人,这取决于你的估计 熟练程度。
  2. 启动一个星际争霸2客户端,该客户端将与其他星际争霸2客户端(如 需要)。比赛一直进行到结束。
  3. 每个使用sc2gamelobby的玩家都会将结果报告回梯形图。梯形图验证每个玩家报告的结果 根据自己对比赛的熟悉程度,准确确定合适的比赛结果并更新阶梯 相应地。

通过与Internet上可用的Django服务器的TCP连接与梯形图服务器进行通信。它是 可以与替代阶梯通信,但我们已经建立了 服务器从正常的SC2游戏厅游戏模式开始。

安装

系统要求
  • sc2gamelobby被证明同时使用了linux(使用wine)和windows。虽然没有在OSX上进行测试,因为OSX也很广泛 使用PYSC2、SC2Gamel进行测试预计obby也可以正常工作。注意:Linux不是一个正式的平台 星际争霸2的暴雪支持,但它确实可以工作,无论是使用无头设置还是使用全图形的常规设置。
  • 作为一个人,你自己的系统必须能够支持星际争霸2客户端应用程序(实际播放的窗口 游戏)参考标准《星际争霸2》游戏要求。
  • 作为一个人工智能,除了人类游戏的要求,以及任何其他资源,你的人工智能可能需要。如果 你的人工智能架构可以运行,这是允许在这个阶梯上运行的。

说明

  1. 正常安装星际争霸2。重要信息如果使用默认路径以外的安装目标路径,请确保 环境变量sc2path与自定义安装路径的路径一起设置。
  2. 安装任何(?)与您的系统兼容的python版本。
  3. 按照下面的说明使用conda或pip安装sc2gamelobby。
< Buff行情>

注意:您也可以通过其他方式安装此软件包,但您可能必须管理您的环境以确保 依赖项在您的系统上可用。如果您不熟悉这些实用程序,请按照安装 作者提供的说明可在Internet上找到。

conda

在命令行中,输入标准的conda 与系统设置兼容。一定要瞄准目标环境!

< Buff行情>

示例:conda install sc2gamelobby-n<;您的开发环境名称>;

Pip

在命令行中,输入一个兼容的标准安装命令 使用您的系统设置。

< Buff行情>

示例:pip install sc2gamelobby

依赖关系

此sc2gamelobby包不打算与python版本>;=3.5一起运行。包依赖项在中定义 需求.txt。 使用上述安装方法时,依赖项将自动安装。

验证有效安装

如果设置完全成功,则以下测试命令应按如下方式工作:

测试命令:python-m sc2gamelobby--help

usage: __main__.py [-h] [--nogui] [--search PLAYERS] [--history] [-l] [-p]
...
PURPOSE: front-end interface to easily and reliably match against opponents
and run Starcraft2 opponents.
...
version: 1.0.0

测试命令:>;python-m sc2gamelobby--版本

...
4.4.0
   base-version: 65895
      data-hash: BF41339C22AE2EDEBEEADC8C75028F7D
     fixed-hash:
          label: 4.4.0
    replay-hash:
        version: 65895

测试命令:python-m sc2gamelobby--search mapexplorer

<PlayerRecord mapexplorer ai>
           type : <PlayerDesigns ai>
     difficulty : None
        initCmd : sc2ai.agents.newExplorer
         rating : 0
        created : 2018-05-28

故障排除

ERROR: A connection could not be made. <Ladder versentiedge> may not be available or you may not be connected to the internet.

这意味着无法访问您试图与之通信的梯形图服务器实例。可能不是 联机或您与Internet的连接可能受到破坏。

<;如果/当报告此类问题时,保留对其他问题的处理权>;

建议使用

太好了,现在你准备好了与人类和人工智能对手的攀岩比赛!请参阅特定于python的或非python的特定用法文档。祝你好运!

进一步开发和扩充

在代码中添加新功能?

这是一个开放使用的存储库。请随意分叉并发出拉取请求。功能增强,特别是 特别感谢开发的功能和错误修复。

预期有用,有待开发的功能
  • 用户友好的图形用户界面前端,抽象命令行实用程序。
  • 网页浏览r集成以执行匹配请求。
  • 来自数据挖掘匹配结果的公共网页统计。
  • 1v1以外的其他游戏模式。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java对ServiceListener和ServiceTracker调用提供了哪些排序保证?   java找不到方法格式的符号(DateTimeFormatter)?   mysql有没有一种方法可以将TCPDump输出到一个文件中,并用Java对其进行过滤,每5秒钟用新数据覆盖一次该文件?   java如何最好地配置用户上传支持文件的上传位置   java我在Android上使用OData4j,我无法获取实体   JPA实体关系简单示例中的java获取错误   JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager   Eclipse中javaoo代码分析   java MethodVisitor抛出类格式错误   java为什么在从ViewModel调用时,改型排队不起作用?   调试小程序Java控制台:删除跟踪消息大小限制   java复杂安卓活动动画   java如何在使用JDOM2解析XML时忽略注释内容   java通过循环创建文本字段   即使在bufferedwriter关闭后也未发现java文件异常   单链表恢复中的java错误