介绍概述
GymCraft 是一个面向强化学习、LLM Agent 和自动化实验的 NeoForge 模组。它可以把 Minecraft 中的 Mob 实体包装成 Gymnasium 风格环境,让外部 Python 程序通过 gRPC 观察世界、执行动作并获得奖励。
GymCraft 是智能体开发与研究工具,不是传统的内容扩展模组。使用它通常需要同时运行 Minecraft 模组和 Python Agent。
主要特色
Gymnasium 风格接口:Python 客户端提供熟悉的 reset() 和 step() 工作流。
控制任意 Mob:使用环境工具为现有 Mob 挂载训练环境,也可以使用具有玩家外观和属性的模拟玩家。
完整世界交互:支持移动、寻路、注视、跳跃、战斗、挖掘、放置方块、使用物品、拾取和丢弃物品、聊天及菜单操作。
结构化观测:可读取自身状态、世界信息、附近实体、方块、掉落物、菜单、感兴趣方块和聊天消息。
顺序动作批次**:一个 step 可以按顺序执行多项动作,并共享统一的超时控制。
LLM 友好:内置紧凑观测文本、Minecraft 风格动作 DSL、上下文管理和 Chat Completions 兼容封装。
多人和专用服务器支持:可通过游戏内工具、命令、RCON 和远程 gRPC 客户端控制环境。
中英文界面:提供英文与简体中文物品、实体和操作提示。
内置环境
| parkour_mob | 跳跃并在脚下搭建方块,学习到达目标高度。 |
|---|
| iron_mining | 从空手开始采集木材、制作工具并取得粗铁。 |
| iron_golem_warden | 建造和治疗铁傀儡,击败监守者。 |
| general | 面向开放任务的综合环境,提供更完整的动作与世界观测。 |
快速开始
安装与你的 Minecraft 版本匹配的 NeoForge 和 GymCraft 模组 JAR;
启动世界或服务器。GymCraft 会同时启动 gRPC 服务,默认地址为 localhost:50051;
在创造模式的 GymCraft 标签页取得环境工具和 UUID 复制器;
按住 Shift 滚动滚轮选择环境类型,使用环境工具右键 Mob 创建环境;
使用 UUID 复制器右键同一实体,取得连接所需的实体 UUID;
安装 Python 客户端:
pip install -U gymcraft
运行一个 Q-learning 跑酷演示:
gymcraft-demo parkour <entity_uuid> --episodes 200
或者让兼容 Chat Completions 的语言模型控制智能体:
gymcraft-demo llm-chat <entity_uuid> --task "找到最近的箱子并查看里面的物品"
使用:
gymcraft-demo --help
可以查看全部内置演示和参数。