1 个不稳定版本
0.1.0 | 2019年3月1日 |
---|
615 在 游戏
78KB
1.5K SLoC
SC2-Proxy,星际争霸II机器人API管理层
用法
首先,您需要安装《星际争霸II》,或者在 Linux 系统中,必须下载二进制文件。还需要地图文件。
然后需要一个配置文件来配置代理,因此创建一个名为 sc2_proxy.toml
的文件,内容如下
[match_defaults.game]
map_name = "Automaton LE"
如果您只是想测试,可以使用 cargo run
来启动。然后连接两个机器人到地址 127.0.0.1:8642
,两个机器人只使用 join_game 命令。将环境变量 RUST_LOG
设置为 sc2_proxy=info
也是明智的,否则即使游戏结果也不会被记录。
对于任何实际应用,您可能想要 cargo build --release
,然后使用 ./target/release/sc2-proxy
(或在 Windows 上使用 target/release/sc2-proxy.exe
)。这要快得多,特别是对于需要执行大量数据包检查的设置。它也是一个静态二进制文件,因此可以轻松部署到匹配服务器,如果您正在运行机器人排行榜。例如,请参阅 sc2_proxy.production.toml
的 sc2 机器人排行榜的生产配置。
特性
- 启动一个或多个 SC2 进程
- 管理端口配置
- 抽象游戏托管
- 最小开销
- 也适用于渲染界面
- 资源管理和限制,强制执行游戏规则
- 禁用调试/作弊命令
- 远程控制端点
- TCP 上的 JSON
- 动态配置
- 带外请求和数据
未来目标
- 自动保存回放
- SC2 进程池
- 重用过程
- 启动时预加载?
- 资源管理和限制,强制执行游戏规则
- 每位参与者使用的时间
- API调用次数
- APM限制
- 路径网格视觉修复
- 限制允许的单位
- 隐藏玩家名字
- 指标,例如时间、开销和请求数量
- 自动化测试套件
- Linux可执行文件
- 零售客户端
- 命令行界面
- 机器可读输出模式
- 远程控制端点
- 实现更大的命令集
- 实时统计
- CLI工具
非目标
- 完整的API抽象层
- 自动动作捆绑
- 动作结果状态跟踪
依赖项
~15–26MB
~438K SLoC