Library / SDK
CraftJarvis/MineStudio avatar
CraftJarvis/MineStudio

MineStudio: A Toolkit for Minecraft AI Agents, From Simulator to Benchmark

MineStudio: A Streamlined Package for Minecraft AI Agent Development

410 stars32 forksPythonMIT

At a glance

What is it?
MineStudio bundles a MineRL-based simulator, a trajectory data layer, offline and online training pipelines, Ray-based distributed inference, and a benchmark harness into one Python package. It is aimed at researchers who already have a Minecraft agent idea and want the plumbing, not at people who want a finished agent.
Who is it for?
Adopt MineStudio if you are already doing Minecraft agent research and want a single package that covers trajectory storage, offline pre-training, online RL with crash recovery, and batch benchmarking, and you can accept the JDK 8 and rendering-tool requirements on a Linux machine.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 127 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What MineStudio actually packages

MineStudio is not an agent. It is a set of tools and APIs for building one, and the README lists seven components: a simulator, a trajectory data structure, a policy model template plus baseline models, an offline training pipeline, an online RL implementation, a Ray-based inference framework, and a benchmark harness. The stated goal is to let you "quickly develop Minecraft AI agents," and the repository topics (imitation-learning, reinforcement-learning, dataset, autonomous-agents) show the intended audience is people training policies rather than people playing the game. If your work is a Minecraft agent paper or a reproduction of one, the package is aimed at you. If you want a bot that plays survival mode out of the box, nothing in the README promises that. The simulator is described as "easily customizable" and built on MineRL, so the low-level environment is inherited from an existing project rather than written from scratch. That is a reasonable division of labour, and it also means MineRL's constraints become MineStudio's constraints.

The data layer is the part that changed most in v1.1.4

The 2025/05/28 release notes for v1.1.4 describe a refactor of the data component "to support more flexible data loading and processing," with trajectory modals decoupled and a documented callback mechanism for custom processing. That is the most concrete design claim in the material: instead of one fixed trajectory format that every consumer must accept, the storage and the processing steps are separated, and you write callbacks to plug in your own transformations. For anyone who has tried to reuse someone else's Minecraft trajectory dataset, this is the right axis to attack, because the usual failure is that the dataset's action space and observation layout are baked into the training loop. The README also points to a new API reference section and to example code under tests/ and minestudio/tutorials/. What the README does not give is the trajectory schema itself: field names, chunking strategy, or how segments are addressed. The phrase "arbitrary trajectory segment" appears in the component list, but no interface is quoted here. Treat the callback documentation as the thing to read before you design your own loader.

Installation: Python 3.10, JDK 8, and a rendering backend

The installation path is short but has hard prerequisites. Python 3.10 or later is required. The README recommends conda on Linux, and JDK 8 is required to run the Minecraft simulator. The quoted commands are conda create -n minestudio python=3.10 -y, then conda activate minestudio, then conda install --channel=conda-forge openjdk=8 -y. The package itself installs from PyPI with pip install MineStudio, or from source with pip install git+https://github.com/CraftJarvis/MineStudio.git. The step people will miss is rendering. The README marks it as important: the simulator requires rendering tools, VirtualGL is recommended for users with NVIDIA graphics cards, and Xvfb is recommended for everyone else, with the note that Xvfb supports CPU rendering but is "slightly slower." The install check is python -m minestudio.simulator.entry when using Xvfb, and the README shows a second form, MINESTUDIO_GPU_RENDER=1 python -m minest..., which is truncated in the supplied text but clearly sets an environment variable to switch the render path. That environment variable is the one config key visible in the material. JDK 8 specifically, not a newer JDK, is worth noting, because pinning an old Java runtime inside a conda environment is a recurring source of friction when other tools in the same environment expect a newer one.

Where the simulator and the training loops can bite you

Two limitations are stated rather than implied. First, the README says plainly that "this repository is under development," which is a warning about API stability, not a formality. A v1.1.4 release that refactors the data component and decouples trajectory modals is evidence that interfaces still move. Second, the simulator needs a rendering backend, which rules out a plain headless container unless you add Xvfb, and Xvfb is CPU rendering, so throughput will be lower than the VirtualGL path. That is a real constraint for anyone planning large-scale environment rollouts. The online training component is described as supporting "memory-based policies and simulator crash recovery," and the fact that crash recovery is called out as a feature tells you the simulator does crash under load; the package handles it, but you should expect it. There is also an offline training pipeline described as "straightforward," which is a modest word choice, and no convergence results, sample counts, or wall-clock numbers appear in the README. Nothing here lets you estimate training cost in advance. The benchmark component is described as automating and batch-testing "diverse Minecraft tasks," but the task list is not in the supplied material, so you cannot tell from this README whether the benchmark covers the tasks you care about.

How it differs from wiring MineRL together yourself

The obvious alternative is to use MineRL directly, which is what MineStudio's simulator is based on. The difference in approach is scope. MineRL gives you the environment and the human demonstration data format; you then choose your own trajectory storage, your own training loop, your own evaluation harness, and your own way of running many environments in parallel. MineStudio's bet is that those choices are common enough across Minecraft agent projects to be worth packaging: a trajectory structure with segment retrieval, an offline pre-training pipeline, an online RL implementation with crash recovery, Ray-based parallel and distributed inference, and a batch benchmark runner. If you only need a Gym-style environment and you already have a training stack you like, MineRL alone is less to adopt and less to keep current. If you are starting from zero on the training side, the packaged pipeline removes a month of glue code, at the cost of accepting an interface that the maintainers are still refactoring. A second comparison point is the model side: MineStudio ships a policy model template and "a gallery of baseline models," so you can start from a working baseline rather than an empty file, which MineRL does not provide.

Maintenance, versions, and the MIT licence

The code is MIT licensed, which is permissive and places few obligations on downstream use; the README links the LICENSE file at the repository root. Note that the licence badge covers the code. The README separately advertises a released dataset on Hugging Face, and dataset licences are frequently different from code licences, so check the dataset card before you build on it. I am not giving legal advice; read the actual licence texts. On maintenance, the release history in the supplied material shows v1.0.6 in March 2025 and v1.1.4 in June 2025, with the repository's last push dated 2026-05-12, so there is activity after the last tagged release. Upgrading between minor versions is the risk area: the v1.1.4 notes describe a data refactor and decoupled trajectory modals, which is exactly the kind of change that breaks custom callbacks written against the previous layout. If you write your own data processing, pin the version and read the release notes before moving. The package is on PyPI, so pinning is a one-line change in your requirements.

Who this is for, and what to check before you commit

The fit is narrow and clear: a research group or solo researcher training Minecraft policies, comfortable on Linux with conda, who wants the simulator, the data layer, the training loops, the Ray inference path, and the benchmark runner from one install. The misfit is equally clear: production systems that need a frozen API, environments without a rendering backend, and anyone who wants a playable agent rather than a training framework. The way to decide is to run the install exactly as written, including conda install --channel=conda-forge openjdk=8 -y, then confirm the simulator starts with python -m minestudio.simulator.entry under Xvfb before you write a single line of training code. If that command fails on your machine, the rest of the package is unreachable and the JDK 8 plus rendering requirement is the blocker to solve first. After that, read the data callbacks page and the tests directory, because the callback interface is the part that v1.1.4 changed and the part your own code will depend on most.

Editorial conclusion

Adopt MineStudio if you are already doing Minecraft agent research and want a single package that covers trajectory storage, offline pre-training, online RL with crash recovery, and batch benchmarking, and you can accept the JDK 8 and rendering-tool requirements on a Linux machine. Do not adopt it if you need a stable API surface or a headless CI environment without Xvfb or VirtualGL, since the README states the repository is under development and the simulator needs a rendering backend. Before committing, verify three things yourself: that your Python is 3.10 or later, that openjdk=8 installs from conda-forge in your environment, and that the rendering path you pick (Xvfb for CPU or VirtualGL for NVIDIA) actually starts the simulator via python -m minestudio.simulator.entry.

Official sources

  1. CraftJarvis/MineStudio on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes